valtech-components 2.0.326 → 2.0.329

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 (29) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/components/atoms/button/button.component.mjs +18 -18
  3. package/esm2022/lib/components/atoms/display/display.component.mjs +13 -16
  4. package/esm2022/lib/components/atoms/text/text.component.mjs +19 -19
  5. package/esm2022/lib/components/atoms/title/title.component.mjs +7 -7
  6. package/esm2022/lib/components/atoms/title/types.mjs +6 -2
  7. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +6 -6
  8. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +6 -17
  9. package/esm2022/lib/components/organisms/form/form.component.mjs +1 -1
  10. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +66 -1
  11. package/esm2022/lib/shared/utils/simple-content.mjs +119 -0
  12. package/esm2022/public-api.mjs +3 -3
  13. package/fesm2022/valtech-components.mjs +413 -680
  14. package/fesm2022/valtech-components.mjs.map +1 -1
  15. package/lib/components/atoms/button/button.component.d.ts +3 -3
  16. package/lib/components/atoms/display/display.component.d.ts +2 -3
  17. package/lib/components/atoms/text/text.component.d.ts +3 -3
  18. package/lib/components/atoms/title/title.component.d.ts +1 -2
  19. package/lib/components/atoms/title/types.d.ts +10 -4
  20. package/lib/components/molecules/alert-box/alert-box.component.d.ts +3 -3
  21. package/lib/components/molecules/language-selector/language-selector.component.d.ts +1 -3
  22. package/lib/services/lang-provider/lang-provider.service.d.ts +50 -0
  23. package/lib/shared/utils/simple-content.d.ts +120 -0
  24. package/package.json +3 -2
  25. package/public-api.d.ts +1 -2
  26. package/esm2022/lib/services/content.service.mjs +0 -327
  27. package/esm2022/lib/shared/utils/reactive-content.mjs +0 -117
  28. package/lib/services/content.service.d.ts +0 -296
  29. package/lib/shared/utils/reactive-content.d.ts +0 -109
package/README.md CHANGED
@@ -59,7 +59,7 @@ export class YourComponent {
59
59
 
60
60
  ## 🌍 Reactive Internationalization (i18n)
61
61
 
62
- The library includes a powerful reactive internationalization system with **ContentService** that automatically updates content when the language changes. It supports both **global content** (reusable across components) and **component-specific content**.
62
+ The library includes a powerful reactive internationalization system with **LangService** that automatically updates content when the language changes. It supports both **global content** (reusable across components) and **component-specific content**.
63
63
 
64
64
  ### Key Features
65
65
 
@@ -2,12 +2,13 @@ import { CommonModule } from '@angular/common';
2
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { IonButton, IonIcon, IonSpinner, IonText } from '@ionic/angular/standalone';
4
4
  import { Subscription, of } from 'rxjs';
5
+ import { interpolateStaticContent } from '../../../shared/utils/simple-content';
5
6
  import { ActionType, ComponentStates } from '../../types';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../../services/download.service";
8
9
  import * as i2 from "../../../services/icons.service";
9
10
  import * as i3 from "../../../services/navigation.service";
10
- import * as i4 from "../../../services/content.service";
11
+ import * as i4 from "../../../services/lang-provider/lang-provider.service";
11
12
  import * as i5 from "@angular/common";
12
13
  /**
13
14
  * val-button
@@ -51,10 +52,10 @@ import * as i5 from "@angular/common";
51
52
  * @output onClick - Emits when the button is clicked
52
53
  */
53
54
  export class ButtonComponent {
54
- constructor(download, icon, navigation, contentService) {
55
+ constructor(download, icon, navigation, langService) {
55
56
  this.download = download;
56
57
  this.navigation = navigation;
57
- this.contentService = contentService;
58
+ this.langService = langService;
58
59
  this.states = ComponentStates;
59
60
  this.subscriptions = new Subscription();
60
61
  /**
@@ -76,26 +77,25 @@ export class ButtonComponent {
76
77
  setupDisplayText() {
77
78
  if (this.props.text) {
78
79
  // Static text takes precedence
79
- this.displayText$ = of(this.props.text);
80
+ if (this.props.contentInterpolation) {
81
+ // Static text with interpolation
82
+ const interpolatedText = interpolateStaticContent(this.props.text, this.props.contentInterpolation);
83
+ this.displayText$ = of(interpolatedText);
84
+ }
85
+ else {
86
+ // Simple static text
87
+ this.displayText$ = of(this.props.text);
88
+ }
80
89
  }
81
90
  else if (this.props.contentKey && this.props.contentClass) {
82
91
  // Reactive content from language service
83
92
  if (this.props.contentInterpolation) {
84
93
  // With interpolation
85
- this.displayText$ = this.contentService.fromContentWithInterpolation({
86
- className: this.props.contentClass,
87
- key: this.props.contentKey,
88
- fallback: this.props.contentFallback,
89
- interpolation: this.props.contentInterpolation,
90
- });
94
+ this.displayText$ = this.langService.getContentWithInterpolation(this.props.contentClass, this.props.contentKey, this.props.contentInterpolation, this.props.contentFallback);
91
95
  }
92
96
  else {
93
97
  // Simple reactive content
94
- this.displayText$ = this.contentService.fromContent({
95
- className: this.props.contentClass,
96
- key: this.props.contentKey,
97
- fallback: this.props.contentFallback,
98
- });
98
+ this.displayText$ = this.langService.getContent(this.props.contentClass, this.props.contentKey, this.props.contentFallback);
99
99
  }
100
100
  }
101
101
  else {
@@ -119,7 +119,7 @@ export class ButtonComponent {
119
119
  }
120
120
  this.onClick.emit(this.props.token);
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.DownloadService }, { token: i2.IconService }, { token: i3.NavigationService }, { token: i4.ContentService }], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.DownloadService }, { token: i2.IconService }, { token: i3.NavigationService }, { token: i4.LangService }], target: i0.ɵɵFactoryTarget.Component }); }
123
123
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
124
124
  <ion-button
125
125
  [type]="props.type"
@@ -161,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
161
161
  <ion-text *ngIf="props.state !== states.WORKING">{{ displayText$ | async }}</ion-text>
162
162
  </ion-button>
163
163
  `, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}\n"] }]
164
- }], ctorParameters: () => [{ type: i1.DownloadService }, { type: i2.IconService }, { type: i3.NavigationService }, { type: i4.ContentService }], propDecorators: { props: [{
164
+ }], ctorParameters: () => [{ type: i1.DownloadService }, { type: i2.IconService }, { type: i3.NavigationService }, { type: i4.LangService }], propDecorators: { props: [{
165
165
  type: Input
166
166
  }], onClick: [{
167
167
  type: Output
@@ -204,4 +204,4 @@ export function createButtonProps(contentConfig, styleConfig = {}) {
204
204
  handler: styleConfig.handler,
205
205
  };
206
206
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRixPQUFPLEVBQWMsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtwRCxPQUFPLEVBQUUsVUFBVSxFQUF1QyxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUEyQi9GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFvQjFCLFlBQ1UsUUFBeUIsRUFDakMsSUFBaUIsRUFDVCxVQUE2QixFQUM3QixjQUE4QjtRQUg5QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUV6QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF2QnhDLFdBQU0sR0FBRyxlQUFlLENBQUM7UUFRakIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzNDOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFPbEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxh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TyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFDdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVDsyS0F3REQsS0FBSztzQkFESixLQUFLO2dCQU9OLE9BQU87c0JBRE4sTUFBTTs7QUEyRVQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixhQUFrQyxFQUNsQyxjQUVJLEVBQUU7SUFFTixPQUFPO1FBQ0wsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVO1FBQ3BDLFlBQVksRUFBRSxhQUFhLENBQUMsWUFBWTtRQUN4QyxlQUFlLEVBQUUsYUFBYSxDQUFDLGVBQWU7UUFDOUMsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLG9CQUFvQjtRQUN4RCxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssSUFBSSxTQUFTO1FBQ3JDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLFFBQVE7UUFDbEMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLElBQUksZUFBZSxDQUFDLE9BQU87UUFDbkQsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1FBQ3RCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtRQUN0QixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDdEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQzFCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87S0FDN0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblR5cGUsIEJ1dHRvbkNvbnRlbnRDb25maWcsIEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tYnV0dG9uXG4gICAgICBbdHlwZV09XCJwcm9wcy50eXBlXCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gICAgICBbZXhwYW5kXT1cInByb3BzLmV4cGFuZFwiXG4gICAgICBbZmlsbF09XCJwcm9wcy5maWxsXCJcbiAgICAgIFtzaXplXT1cInByb3BzLnNpemVcIlxuICAgICAgW2hyZWZdPVwicHJvcHMuaHJlZlwiXG4gICAgICBbdGFyZ2V0XT1cInByb3BzLnRhcmdldFwiXG4gICAgICBbc2hhcGVdPVwicHJvcHMuc2hhcGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgIFtuZ0NsYXNzXT1cIltwcm9wcy5zaXplXVwiXG4gICAgPlxuICAgICAgPGlvbi1pY29uICpuZ0lmPVwicHJvcHMuaWNvblwiIFtzbG90XT1cInByb3BzLmljb24uc2xvdFwiIFtuYW1lXT1cInByb3BzLmljb24ubmFtZVwiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkdcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwicHJvcHMuc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HXCI+e3sgZGlzcGxheVRleHQkIHwgYXN5bmMgfX08L2lvbi10ZXh0PlxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYnV0dG9uXG4gKlxuICogQSBjdXN0b21pemFibGUgYnV0dG9uIHN1cHBvcnRpbmcgaWNvbnMsIGxvYWRpbmcgc3RhdGUsIG5hdmlnYXRpb24sIGFuZCByZWFjdGl2ZSBjb250ZW50LlxuICogU3VwcG9ydHMgYm90aCBzdGF0aWMgdGV4dCBhbmQgcmVhY3RpdmUgY29udGVudCBmcm9tIHRoZSBjb250ZW50IHNlcnZpY2UuXG4gKiBGb2xsb3dzIHRoZSBzYW1lIGNvbnRlbnQgcGF0dGVybiBhcyB2YWwtdGV4dCBmb3IgY29uc2lzdGVuY3kuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIHRleHQ6XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICB0ZXh0OiAnU2F2ZScsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICBjb250ZW50S2V5OiAnc2F2ZScsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50JyxcbiAqICAgY29udGVudEZhbGxiYWNrOiAnU2F2ZScsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQgd2l0aCBpbnRlcnBvbGF0aW9uOlxuICogPHZhbC1idXR0b24gW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3NhdmVDb3VudCcsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50JyxcbiAqICAgY29udGVudEludGVycG9sYXRpb246IHsgY291bnQ6IDUgfSxcbiAqICAgY29udGVudEZhbGxiYWNrOiAnU2F2ZSBJdGVtcycsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnXG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBpbnB1dCBwcm9wczogQnV0dG9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgYnV0dG9uICh0ZXh0L2NvbnRlbnQsIGNvbG9yLCBpY29uLCBzdGF0ZSwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IHByb3ZpZGVzIHRoZSB0ZXh0IGNvbnRlbnQgdG8gZGlzcGxheS5cbiAgICogVGhpcyB3aWxsIGJlIGVpdGhlciBzdGF0aWMgdGV4dCBvciByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGxhbmd1YWdlIHNlcnZpY2UuXG4gICAqL1xuICBkaXNwbGF5VGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHJvcHMhOiBCdXR0b25NZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkb3dubG9hZDogRG93bmxvYWRTZXJ2aWNlLFxuICAgIGljb246IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbmF2aWdhdGlvbjogTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBEaXNwbGF5VGV4dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSB0ZXh0IGNvbnRlbnQgb2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICogUHJpb3JpdHk6IHN0YXRpYyB0ZXh0ID4gcmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb24gPiByZWFjdGl2ZSBjb250ZW50XG4gICAqIFRoaXMgZm9sbG93cyB0aGUgc2FtZSBwYXR0ZXJuIGFzIHZhbC10ZXh0IGNvbXBvbmVudC5cbiAgICovXG4gIHByaXZhdGUgc2V0dXBEaXNwbGF5VGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50ZXh0KSB7XG4gICAgICAvLyBTdGF0aWMgdGV4dCB0YWtlcyBwcmVjZWRlbmNlXG4gICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IG9mKHRoaXMucHJvcHMudGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmNvbnRlbnRLZXkgJiYgdGhpcy5wcm9wcy5jb250ZW50Q2xhc3MpIHtcbiAgICAgIC8vIFJlYWN0aXZlIGNvbnRlbnQgZnJvbSBsYW5ndWFnZSBzZXJ2aWNlXG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50SW50ZXJwb2xhdGlvbikge1xuICAgICAgICAvLyBXaXRoIGludGVycG9sYXRpb25cbiAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmZyb21Db250ZW50V2l0aEludGVycG9sYXRpb24oe1xuICAgICAgICAgIGNsYXNzTmFtZTogdGhpcy5wcm9wcy5jb250ZW50Q2xhc3MsXG4gICAgICAgICAga2V5OiB0aGlzLnByb3BzLmNvbnRlbnRLZXksXG4gICAgICAgICAgZmFsbGJhY2s6IHRoaXMucHJvcHMuY29udGVudEZhbGxiYWNrLFxuICAgICAgICAgIGludGVycG9sYXRpb246IHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2ltcGxlIHJlYWN0aXZlIGNvbnRlbnRcbiAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmZyb21Db250ZW50KHtcbiAgICAgICAgICBjbGFzc05hbWU6IHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICAgIGtleTogdGhpcy5wcm9wcy5jb250ZW50S2V5LFxuICAgICAgICAgIGZhbGxiYWNrOiB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjayxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZhbGxiYWNrIHRvIGVtcHR5IHN0cmluZyBpZiBubyB2YWxpZCBjb250ZW50IGNvbmZpZ3VyYXRpb25cbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ3ZhbC1idXR0b246IE5vIHZhbGlkIGNvbnRlbnQgY29uZmlndXJhdGlvbiBwcm92aWRlZC4gVXNlIGVpdGhlciBcInRleHRcIiBmb3Igc3RhdGljIHRleHQgb3IgXCJjb250ZW50S2V5XCIgKyBcImNvbnRlbnRDbGFzc1wiIGZvciByZWFjdGl2ZSBjb250ZW50LidcbiAgICAgICk7XG4gICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IG9mKHRoaXMucHJvcHMuY29udGVudEZhbGxiYWNrIHx8ICcnKTtcbiAgICB9XG4gIH1cblxuICBjbGlja0hhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGUgPT09IHRoaXMuc3RhdGVzLkRJU0FCTEVEKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuYWN0aW9uVHlwZSA9PT0gQWN0aW9uVHlwZS5BUFBfTkFWSUdBVElPTikge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uLm5hdmlnYXRlQnlVcmwodGhpcy5wcm9wcy5saW5rKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5kb3dubG9hZCkge1xuICAgICAgdGhpcy5kb3dubG9hZC5kb3dubG9hZExpbmtGcm9tQnJvd3Nlcih0aGlzLnByb3BzLmRvd25sb2FkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5oYW5kbGVyKSB7XG4gICAgICB0aGlzLnByb3BzLmhhbmRsZXIodGhpcy5wcm9wcy5yZWYpO1xuICAgIH1cblxuICAgIHRoaXMub25DbGljay5lbWl0KHRoaXMucHJvcHMudG9rZW4pO1xuICB9XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSByZWFjdGl2ZSBidXR0b24gcHJvcHMgZnJvbSBjb250ZW50IGNvbmZpZ3VyYXRpb24uXG4gKiBUaGlzIHByb3ZpZGVzIGEgY29udmVuaWVudCB3YXkgdG8gY3JlYXRlIHZhbC1idXR0b24gcHJvcHMgd2l0aCByZWFjdGl2ZSBjb250ZW50LlxuICogRm9sbG93cyB0aGUgc2FtZSBwYXR0ZXJuIGFzIGNyZWF0ZVRleHRQcm9wcyBmb3IgY29uc2lzdGVuY3kuXG4gKlxuICogQHBhcmFtIGNvbnRlbnRDb25maWcgLSBDb250ZW50IGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBzdHlsZUNvbmZpZyAtIE9wdGlvbmFsIHN0eWxlIGFuZCBiZWhhdmlvciBjb25maWd1cmF0aW9uXG4gKiBAcmV0dXJucyBCdXR0b25NZXRhZGF0YSB3aXRoIGNvbnRlbnQgcHJvcGVydGllcyBzZXRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gY29tcG9uZW50XG4gKiBzYXZlQnV0dG9uUHJvcHM6IEJ1dHRvbk1ldGFkYXRhID0gY3JlYXRlQnV0dG9uUHJvcHMoe1xuICogICBjb250ZW50S2V5OiAnc2F2ZScsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50J1xuICogfSwge1xuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQnV0dG9uUHJvcHMoXG4gIGNvbnRlbnRDb25maWc6IEJ1dHRvbkNvbnRlbnRDb25maWcsXG4gIHN0eWxlQ29uZmlnOiBQYXJ0aWFsPFxuICAgIFBpY2s8QnV0dG9uTWV0YWRhdGEsICdjb2xvcicgfCAndHlwZScgfCAnc3RhdGUnIHwgJ3NpemUnIHwgJ2ZpbGwnIHwgJ2ljb24nIHwgJ2V4cGFuZCcgfCAnc2hhcGUnIHwgJ2hhbmRsZXInPlxuICA+ID0ge31cbik6IEJ1dHRvbk1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICBjb250ZW50S2V5OiBjb250ZW50Q29uZmlnLmNvbnRlbnRLZXksXG4gICAgY29udGVudENsYXNzOiBjb250ZW50Q29uZmlnLmNvbnRlbnRDbGFzcyxcbiAgICBjb250ZW50RmFsbGJhY2s6IGNvbnRlbnRDb25maWcuY29udGVudEZhbGxiYWNrLFxuICAgIGNvbnRlbnRJbnRlcnBvbGF0aW9uOiBjb250ZW50Q29uZmlnLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgIGNvbG9yOiBzdHlsZUNvbmZpZy5jb2xvciB8fCAncHJpbWFyeScsXG4gICAgdHlwZTogc3R5bGVDb25maWcudHlwZSB8fCAnYnV0dG9uJyxcbiAgICBzdGF0ZTogc3R5bGVDb25maWcuc3RhdGUgfHwgQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgc2l6ZTogc3R5bGVDb25maWcuc2l6ZSxcbiAgICBmaWxsOiBzdHlsZUNvbmZpZy5maWxsLFxuICAgIGljb246IHN0eWxlQ29uZmlnLmljb24sXG4gICAgZXhwYW5kOiBzdHlsZUNvbmZpZy5leHBhbmQsXG4gICAgc2hhcGU6IHN0eWxlQ29uZmlnLnNoYXBlLFxuICAgIGhhbmRsZXI6IHN0eWxlQ29uZmlnLmhhbmRsZXIsXG4gIH07XG59XG4iXX0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRixPQUFPLEVBQWMsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUF1QyxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUEyQi9GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFvQjFCLFlBQ1UsUUFBeUIsRUFDakMsSUFBaUIsRUFDVCxVQUE2QixFQUM3QixXQUF3QjtRQUh4QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUV6QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXZCbEMsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQVFqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLM0M7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQU9sQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFB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b21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGVTdGF0aWNDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3NpbXBsZS1jb250ZW50JztcbmltcG9ydCB7IEFjdGlvblR5cGUsIEJ1dHRvbkNvbnRlbnRDb25maWcsIEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tYnV0dG9uXG4gICAgICBbdHlwZV09XCJwcm9wcy50eXBlXCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gICAgICBbZXhwYW5kXT1cInByb3BzLmV4cGFuZFwiXG4gICAgICBbZmlsbF09XCJwcm9wcy5maWxsXCJcbiAgICAgIFtzaXplXT1cInByb3BzLnNpemVcIlxuICAgICAgW2hyZWZdPVwicHJvcHMuaHJlZlwiXG4gICAgICBbdGFyZ2V0XT1cInByb3BzLnRhcmdldFwiXG4gICAgICBbc2hhcGVdPVwicHJvcHMuc2hhcGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgIFtuZ0NsYXNzXT1cIltwcm9wcy5zaXplXVwiXG4gICAgPlxuICAgICAgPGlvbi1pY29uICpuZ0lmPVwicHJvcHMuaWNvblwiIFtzbG90XT1cInByb3BzLmljb24uc2xvdFwiIFtuYW1lXT1cInByb3BzLmljb24ubmFtZVwiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkdcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwicHJvcHMuc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HXCI+e3sgZGlzcGxheVRleHQkIHwgYXN5bmMgfX08L2lvbi10ZXh0PlxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYnV0dG9uXG4gKlxuICogQSBjdXN0b21pemFibGUgYnV0dG9uIHN1cHBvcnRpbmcgaWNvbnMsIGxvYWRpbmcgc3RhdGUsIG5hdmlnYXRpb24sIGFuZCByZWFjdGl2ZSBjb250ZW50LlxuICogU3VwcG9ydHMgYm90aCBzdGF0aWMgdGV4dCBhbmQgcmVhY3RpdmUgY29udGVudCBmcm9tIHRoZSBjb250ZW50IHNlcnZpY2UuXG4gKiBGb2xsb3dzIHRoZSBzYW1lIGNvbnRlbnQgcGF0dGVybiBhcyB2YWwtdGV4dCBmb3IgY29uc2lzdGVuY3kuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIHRleHQ6XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICB0ZXh0OiAnU2F2ZScsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICBjb250ZW50S2V5OiAnc2F2ZScsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50JyxcbiAqICAgY29udGVudEZhbGxiYWNrOiAnU2F2ZScsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQgd2l0aCBpbnRlcnBvbGF0aW9uOlxuICogPHZhbC1idXR0b24gW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3NhdmVDb3VudCcsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50JyxcbiAqICAgY29udGVudEludGVycG9sYXRpb246IHsgY291bnQ6IDUgfSxcbiAqICAgY29udGVudEZhbGxiYWNrOiAnU2F2ZSBJdGVtcycsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnXG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBpbnB1dCBwcm9wczogQnV0dG9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgYnV0dG9uICh0ZXh0L2NvbnRlbnQsIGNvbG9yLCBpY29uLCBzdGF0ZSwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IHByb3ZpZGVzIHRoZSB0ZXh0IGNvbnRlbnQgdG8gZGlzcGxheS5cbiAgICogVGhpcyB3aWxsIGJlIGVpdGhlciBzdGF0aWMgdGV4dCBvciByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGxhbmd1YWdlIHNlcnZpY2UuXG4gICAqL1xuICBkaXNwbGF5VGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHJvcHMhOiBCdXR0b25NZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkb3dubG9hZDogRG93bmxvYWRTZXJ2aWNlLFxuICAgIGljb246IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbmF2aWdhdGlvbjogTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBEaXNwbGF5VGV4dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSB0ZXh0IGNvbnRlbnQgb2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICogUHJpb3JpdHk6IHN0YXRpYyB0ZXh0ID4gcmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb24gPiByZWFjdGl2ZSBjb250ZW50XG4gICAqIFRoaXMgZm9sbG93cyB0aGUgc2FtZSBwYXR0ZXJuIGFzIHZhbC10ZXh0IGNvbXBvbmVudC5cbiAgICovXG4gIHByaXZhdGUgc2V0dXBEaXNwbGF5VGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50ZXh0KSB7XG4gICAgICAvLyBTdGF0aWMgdGV4dCB0YWtlcyBwcmVjZWRlbmNlXG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50SW50ZXJwb2xhdGlvbikge1xuICAgICAgICAvLyBTdGF0aWMgdGV4dCB3aXRoIGludGVycG9sYXRpb25cbiAgICAgICAgY29uc3QgaW50ZXJwb2xhdGVkVGV4dCA9IGludGVycG9sYXRlU3RhdGljQ29udGVudCh0aGlzLnByb3BzLnRleHQsIHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24pO1xuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IG9mKGludGVycG9sYXRlZFRleHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2ltcGxlIHN0YXRpYyB0ZXh0XG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gb2YodGhpcy5wcm9wcy50ZXh0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMuY29udGVudEtleSAmJiB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcykge1xuICAgICAgLy8gUmVhY3RpdmUgY29udGVudCBmcm9tIGxhbmd1YWdlIHNlcnZpY2VcbiAgICAgIGlmICh0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKSB7XG4gICAgICAgIC8vIFdpdGggaW50ZXJwb2xhdGlvblxuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IHRoaXMubGFuZ1NlcnZpY2UuZ2V0Q29udGVudFdpdGhJbnRlcnBvbGF0aW9uKFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEtleSxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEZhbGxiYWNrXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaW1wbGUgcmVhY3RpdmUgY29udGVudFxuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IHRoaXMubGFuZ1NlcnZpY2UuZ2V0Q29udGVudChcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcyxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRLZXksXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2tcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbGJhY2sgdG8gZW1wdHkgc3RyaW5nIGlmIG5vIHZhbGlkIGNvbnRlbnQgY29uZmlndXJhdGlvblxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAndmFsLWJ1dHRvbjogTm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uIHByb3ZpZGVkLiBVc2UgZWl0aGVyIFwidGV4dFwiIGZvciBzdGF0aWMgdGV4dCBvciBcImNvbnRlbnRLZXlcIiArIFwiY29udGVudENsYXNzXCIgZm9yIHJlYWN0aXZlIGNvbnRlbnQuJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gb2YodGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2sgfHwgJycpO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0ZSA9PT0gdGhpcy5zdGF0ZXMuRElTQUJMRUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5hY3Rpb25UeXBlID09PSBBY3Rpb25UeXBlLkFQUF9OQVZJR0FUSU9OKSB7XG4gICAgICB0aGlzLm5hdmlnYXRpb24ubmF2aWdhdGVCeVVybCh0aGlzLnByb3BzLmxpbmspO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmRvd25sb2FkKSB7XG4gICAgICB0aGlzLmRvd25sb2FkLmRvd25sb2FkTGlua0Zyb21Ccm93c2VyKHRoaXMucHJvcHMuZG93bmxvYWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmhhbmRsZXIpIHtcbiAgICAgIHRoaXMucHJvcHMuaGFuZGxlcih0aGlzLnByb3BzLnJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodGhpcy5wcm9wcy50b2tlbik7XG4gIH1cbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIHJlYWN0aXZlIGJ1dHRvbiBwcm9wcyBmcm9tIGNvbnRlbnQgY29uZmlndXJhdGlvbi5cbiAqIFRoaXMgcHJvdmlkZXMgYSBjb252ZW5pZW50IHdheSB0byBjcmVhdGUgdmFsLWJ1dHRvbiBwcm9wcyB3aXRoIHJlYWN0aXZlIGNvbnRlbnQuXG4gKiBGb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm4gYXMgY3JlYXRlVGV4dFByb3BzIGZvciBjb25zaXN0ZW5jeS5cbiAqXG4gKiBAcGFyYW0gY29udGVudENvbmZpZyAtIENvbnRlbnQgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHN0eWxlQ29uZmlnIC0gT3B0aW9uYWwgc3R5bGUgYW5kIGJlaGF2aW9yIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIEJ1dHRvbk1ldGFkYXRhIHdpdGggY29udGVudCBwcm9wZXJ0aWVzIHNldFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb21wb25lbnRcbiAqIHNhdmVCdXR0b25Qcm9wczogQnV0dG9uTWV0YWRhdGEgPSBjcmVhdGVCdXR0b25Qcm9wcyh7XG4gKiAgIGNvbnRlbnRLZXk6ICdzYXZlJyxcbiAqICAgY29udGVudENsYXNzOiAnTXlDb21wb25lbnQnXG4gKiB9LCB7XG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIGljb246IHsgbmFtZTogJ3NhdmUnLCBzbG90OiAnc3RhcnQnIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCdXR0b25Qcm9wcyhcbiAgY29udGVudENvbmZpZzogQnV0dG9uQ29udGVudENvbmZpZyxcbiAgc3R5bGVDb25maWc6IFBhcnRpYWw8XG4gICAgUGljazxCdXR0b25NZXRhZGF0YSwgJ2NvbG9yJyB8ICd0eXBlJyB8ICdzdGF0ZScgfCAnc2l6ZScgfCAnZmlsbCcgfCAnaWNvbicgfCAnZXhwYW5kJyB8ICdzaGFwZScgfCAnaGFuZGxlcic+XG4gID4gPSB7fVxuKTogQnV0dG9uTWV0YWRhdGEge1xuICByZXR1cm4ge1xuICAgIGNvbnRlbnRLZXk6IGNvbnRlbnRDb25maWcuY29udGVudEtleSxcbiAgICBjb250ZW50Q2xhc3M6IGNvbnRlbnRDb25maWcuY29udGVudENsYXNzLFxuICAgIGNvbnRlbnRGYWxsYmFjazogY29udGVudENvbmZpZy5jb250ZW50RmFsbGJhY2ssXG4gICAgY29udGVudEludGVycG9sYXRpb246IGNvbnRlbnRDb25maWcuY29udGVudEludGVycG9sYXRpb24sXG4gICAgY29sb3I6IHN0eWxlQ29uZmlnLmNvbG9yIHx8ICdwcmltYXJ5JyxcbiAgICB0eXBlOiBzdHlsZUNvbmZpZy50eXBlIHx8ICdidXR0b24nLFxuICAgIHN0YXRlOiBzdHlsZUNvbmZpZy5zdGF0ZSB8fCBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICBzaXplOiBzdHlsZUNvbmZpZy5zaXplLFxuICAgIGZpbGw6IHN0eWxlQ29uZmlnLmZpbGwsXG4gICAgaWNvbjogc3R5bGVDb25maWcuaWNvbixcbiAgICBleHBhbmQ6IHN0eWxlQ29uZmlnLmV4cGFuZCxcbiAgICBzaGFwZTogc3R5bGVDb25maWcuc2hhcGUsXG4gICAgaGFuZGxlcjogc3R5bGVDb25maWcuaGFuZGxlcixcbiAgfTtcbn1cbiJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
2
+ import { Component, inject, Input } from '@angular/core';
3
3
  import { IonText } from '@ionic/angular/standalone';
4
- import { Subscription, of } from 'rxjs';
4
+ import { of, Subscription } from 'rxjs';
5
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../../services/content.service";
7
- import * as i2 from "@angular/common";
7
+ import * as i1 from "@angular/common";
8
8
  /**
9
9
  * val-display
10
10
  *
@@ -21,9 +21,9 @@ import * as i2 from "@angular/common";
21
21
  * @input props: DisplayMetadata - Configuration for the display (content/contentConfig, color, size)
22
22
  */
23
23
  export class DisplayComponent {
24
- constructor(contentService) {
25
- this.contentService = contentService;
24
+ constructor() {
26
25
  this.subscriptions = new Subscription();
26
+ this.langService = inject(LangService);
27
27
  }
28
28
  ngOnInit() {
29
29
  this.initializeDisplayContent();
@@ -39,25 +39,22 @@ export class DisplayComponent {
39
39
  }
40
40
  // Use reactive content if configured
41
41
  if (this.props.contentConfig) {
42
- this.displayContent$ = this.contentService.fromContent({
43
- className: this.props.contentConfig.className || '_global',
44
- key: this.props.contentConfig.key,
45
- fallback: this.props.contentConfig.fallback || this.props.contentConfig.key,
46
- interpolation: this.props.contentConfig.interpolation,
47
- });
42
+ this.displayContent$ = this.langService.getContent(this.props.contentConfig.className || '_global', this.props.contentConfig.key, this.props.contentConfig.fallback || this.props.contentConfig.key
43
+ // interpolation: this.props.contentConfig.interpolation,
44
+ );
48
45
  return;
49
46
  }
50
47
  // No content configured - use empty string
51
48
  this.displayContent$ = of('');
52
49
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayComponent, deps: [{ token: i1.ContentService }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
51
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DisplayComponent, isStandalone: true, selector: "val-display", inputs: { props: "props" }, ngImport: i0, template: `
55
52
  <ion-text [color]="props.color">
56
53
  <p [class]="props.size">
57
54
  {{ displayContent$ | async }}
58
55
  </p>
59
56
  </ion-text>
60
- `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.small{font-size:1.5rem;line-height:2rem;font-weight:800}@media (min-width: 768px){.small{font-size:2rem;line-height:2.5rem}}.medium{font-size:2rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.medium{font-size:2.5rem;line-height:3rem}}.large{font-size:2.5rem;line-height:3rem;font-weight:800}@media (min-width: 768px){.large{font-size:3rem;line-height:3.5rem}}.xlarge{font-size:3rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.xlarge{font-size:4.375rem;line-height:4.125rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
57
+ `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.small{font-size:1.5rem;line-height:2rem;font-weight:800}@media (min-width: 768px){.small{font-size:2rem;line-height:2.5rem}}.medium{font-size:2rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.medium{font-size:2.5rem;line-height:3rem}}.large{font-size:2.5rem;line-height:3rem;font-weight:800}@media (min-width: 768px){.large{font-size:3rem;line-height:3.5rem}}.xlarge{font-size:3rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.xlarge{font-size:4.375rem;line-height:4.125rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
61
58
  }
62
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayComponent, decorators: [{
63
60
  type: Component,
@@ -68,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
68
65
  </p>
69
66
  </ion-text>
70
67
  `, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.small{font-size:1.5rem;line-height:2rem;font-weight:800}@media (min-width: 768px){.small{font-size:2rem;line-height:2.5rem}}.medium{font-size:2rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.medium{font-size:2.5rem;line-height:3rem}}.large{font-size:2.5rem;line-height:3rem;font-weight:800}@media (min-width: 768px){.large{font-size:3rem;line-height:3.5rem}}.xlarge{font-size:3rem;line-height:2.5rem;font-weight:800}@media (min-width: 768px){.xlarge{font-size:4.375rem;line-height:4.125rem}}\n"] }]
71
- }], ctorParameters: () => [{ type: i1.ContentService }], propDecorators: { props: [{
68
+ }], ctorParameters: () => [], propDecorators: { props: [{
72
69
  type: Input
73
70
  }] } });
74
71
  /**
@@ -127,4 +124,4 @@ export function createDisplayProps(contentConfig, styleConfig = {}) {
127
124
  size: styleConfig.size || 'medium',
128
125
  };
129
126
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFjLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFpQnBEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQWUzQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFiMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBYVUsQ0FBQztJQUV0RCxRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUVELHFDQUFxQztRQUNyQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztnQkFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxTQUFTO2dCQUMxRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRztnQkFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHO2dCQUMzRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYTthQUN0RCxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELDJDQUEyQztRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQTdDVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0F4QmpCOzs7Ozs7R0FNVCw2a0dBUFMsWUFBWSxvRkFBRSxPQUFPOzs0RkF5QnBCLGdCQUFnQjtrQkE1QjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7OztHQU1UO21GQStCRCxLQUFLO3NCQURKLEtBQUs7O0FBb0NSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxhQUFtQyxFQUNuQyxjQUFnRSxFQUFFO0lBRWxFLE9BQU87UUFDTCxhQUFhLEVBQUU7WUFDYixHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTO1lBQ2xDLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQWE7U0FDM0M7UUFDRCxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssSUFBSSxNQUFNO1FBQ2xDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLFFBQVE7S0FDbkMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IERpc3BsYXlDb250ZW50Q29uZmlnLCBEaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWRpc3BsYXknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXRleHQgW2NvbG9yXT1cInByb3BzLmNvbG9yXCI+XG4gICAgICA8cCBbY2xhc3NdPVwicHJvcHMuc2l6ZVwiPlxuICAgICAgICB7eyBkaXNwbGF5Q29udGVudCQgfCBhc3luYyB9fVxuICAgICAgPC9wPlxuICAgIDwvaW9uLXRleHQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Rpc3BsYXkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1kaXNwbGF5XG4gKlxuICogRGlzcGxheXMgcHJvbWluZW50IHRleHQgb3IgdGl0bGVzIHdpdGggY3VzdG9tIGNvbG9yIGFuZCBzaXplLlxuICogU3VwcG9ydHMgYm90aCBzdGF0aWMgYW5kIHJlYWN0aXZlIGNvbnRlbnQgcGF0dGVybnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0YXRpYyBjb250ZW50XG4gKiA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogJ1RpdGxlJywgY29sb3I6ICdkYXJrJywgc2l6ZTogJ2xhcmdlJyB9XCI+PC92YWwtZGlzcGxheT5cbiAqXG4gKiAvLyBSZWFjdGl2ZSBjb250ZW50XG4gKiA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudENvbmZpZzogeyBrZXk6ICd3ZWxjb21lLnRpdGxlJyB9LCBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAneGxhcmdlJyB9XCI+PC92YWwtZGlzcGxheT5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IERpc3BsYXlNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBkaXNwbGF5IChjb250ZW50L2NvbnRlbnRDb25maWcsIGNvbG9yLCBzaXplKVxuICovXG5leHBvcnQgY2xhc3MgRGlzcGxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGlzcGxheUNvbnRlbnQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAvKipcbiAgICogRGlzcGxheSBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0Rpc3BsYXlNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRlbnQgLSBTdGF0aWMgdGV4dCB0byBkaXNwbGF5ICh0YWtlcyBwcmVjZWRlbmNlIG92ZXIgY29udGVudENvbmZpZykuXG4gICAqIEBwcm9wZXJ0eSBjb250ZW50Q29uZmlnIC0gUmVhY3RpdmUgY29udGVudCBjb25maWd1cmF0aW9uLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgdGV4dCBjb2xvciAoSW9uaWMgY29sb3Igc3RyaW5nKS5cbiAgICogQHByb3BlcnR5IHNpemUgLSBUaGUgdGV4dCBzaXplICgnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZScpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHM6IERpc3BsYXlNZXRhZGF0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemVEaXNwbGF5Q29udGVudCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVEaXNwbGF5Q29udGVudCgpIHtcbiAgICAvLyBTdGF0aWMgY29udGVudCB0YWtlcyBwcmVjZWRlbmNlXG4gICAgaWYgKHRoaXMucHJvcHMuY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXlDb250ZW50JCA9IG9mKHRoaXMucHJvcHMuY29udGVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVXNlIHJlYWN0aXZlIGNvbnRlbnQgaWYgY29uZmlndXJlZFxuICAgIGlmICh0aGlzLnByb3BzLmNvbnRlbnRDb25maWcpIHtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gdGhpcy5jb250ZW50U2VydmljZS5mcm9tQ29udGVudCh7XG4gICAgICAgIGNsYXNzTmFtZTogdGhpcy5wcm9wcy5jb250ZW50Q29uZmlnLmNsYXNzTmFtZSB8fCAnX2dsb2JhbCcsXG4gICAgICAgIGtleTogdGhpcy5wcm9wcy5jb250ZW50Q29uZmlnLmtleSxcbiAgICAgICAgZmFsbGJhY2s6IHRoaXMucHJvcHMuY29udGVudENvbmZpZy5mYWxsYmFjayB8fCB0aGlzLnByb3BzLmNvbnRlbnRDb25maWcua2V5LFxuICAgICAgICBpbnRlcnBvbGF0aW9uOiB0aGlzLnByb3BzLmNvbnRlbnRDb25maWcuaW50ZXJwb2xhdGlvbixcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIE5vIGNvbnRlbnQgY29uZmlndXJlZCAtIHVzZSBlbXB0eSBzdHJpbmdcbiAgICB0aGlzLmRpc3BsYXlDb250ZW50JCA9IG9mKCcnKTtcbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgcmVhY3RpdmUgZGlzcGxheSBwcm9wcyBmcm9tIGNvbnRlbnQgY29uZmlndXJhdGlvbi5cbiAqIFRoaXMgcHJvdmlkZXMgYSBjb252ZW5pZW50IHdheSB0byBjcmVhdGUgdmFsLWRpc3BsYXkgcHJvcHMgd2l0aCByZWFjdGl2ZSBjb250ZW50LlxuICpcbiAqIEBwYXJhbSBjb250ZW50Q29uZmlnIC0gQ29udGVudCBjb25maWd1cmF0aW9uIGZvciByZWFjdGl2ZSBjb250ZW50XG4gKiBAcGFyYW0gc3R5bGVDb25maWcgLSBPcHRpb25hbCBzdHlsZSBjb25maWd1cmF0aW9uIChjb2xvciBhbmQgc2l6ZSlcbiAqIEByZXR1cm5zIERpc3BsYXlNZXRhZGF0YSB3aXRoIGNvbnRlbnQgcHJvcGVydGllcyBzZXRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gY29tcG9uZW50XG4gKiB0aXRsZVByb3BzOiBEaXNwbGF5TWV0YWRhdGEgPSBjcmVhdGVEaXNwbGF5UHJvcHMoe1xuICogICBrZXk6ICd0aXRsZScsXG4gKiAgIGNsYXNzTmFtZTogJ0hlYWRlckNvbXBvbmVudCcsXG4gKiAgIGZhbGxiYWNrOiAnRGVmYXVsdCBUaXRsZSdcbiAqIH0sIHtcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ2xhcmdlJ1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gV2l0aCBpbnRlcnBvbGF0aW9uXG4gKiBncmVldGluZ1Byb3BzOiBEaXNwbGF5TWV0YWRhdGEgPSBjcmVhdGVEaXNwbGF5UHJvcHMoe1xuICogICBrZXk6ICdncmVldGluZycsXG4gKiAgIGNsYXNzTmFtZTogJ1VzZXJDb21wb25lbnQnLFxuICogICBmYWxsYmFjazogJ0hlbGxvIScsXG4gKiAgIGludGVycG9sYXRpb246IHsgbmFtZTogJ0pvaG4nLCBjb3VudDogNSB9XG4gKiB9LCB7XG4gKiAgIGNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAqICAgc2l6ZTogJ21lZGl1bSdcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFVzaW5nIGRlZmF1bHQgc3R5bGUgdmFsdWVzXG4gKiBzaW1wbGVQcm9wczogRGlzcGxheU1ldGFkYXRhID0gY3JlYXRlRGlzcGxheVByb3BzKHtcbiAqICAga2V5OiAnd2VsY29tZU1lc3NhZ2UnLFxuICogICBjbGFzc05hbWU6ICdIb21lQ29tcG9uZW50J1xuICogfSk7IC8vIFdpbGwgdXNlIGRlZmF1bHQgY29sb3I6ICdkYXJrJyBhbmQgc2l6ZTogJ21lZGl1bSdcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGlzcGxheVByb3BzKFxuICBjb250ZW50Q29uZmlnOiBEaXNwbGF5Q29udGVudENvbmZpZyxcbiAgc3R5bGVDb25maWc6IFBhcnRpYWw8UGljazxEaXNwbGF5TWV0YWRhdGEsICdjb2xvcicgfCAnc2l6ZSc+PiA9IHt9XG4pOiBEaXNwbGF5TWV0YWRhdGEge1xuICByZXR1cm4ge1xuICAgIGNvbnRlbnRDb25maWc6IHtcbiAgICAgIGtleTogY29udGVudENvbmZpZy5rZXksXG4gICAgICBjbGFzc05hbWU6IGNvbnRlbnRDb25maWcuY2xhc3NOYW1lLFxuICAgICAgZmFsbGJhY2s6IGNvbnRlbnRDb25maWcuZmFsbGJhY2ssXG4gICAgICBpbnRlcnBvbGF0aW9uOiBjb250ZW50Q29uZmlnLmludGVycG9sYXRpb24sXG4gICAgfSxcbiAgICBjb2xvcjogc3R5bGVDb25maWcuY29sb3IgfHwgJ2RhcmsnLFxuICAgIHNpemU6IHN0eWxlQ29uZmlnLnNpemUgfHwgJ21lZGl1bScsXG4gIH07XG59XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7O0FBZ0JwRjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFpQjNCO1FBZlEsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBYW5DLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTNCLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsT0FBTztRQUNULENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUc7WUFDakUseURBQXlEO2FBQzFELENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUVELDJDQUEyQztRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQS9DVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0F4QmpCOzs7Ozs7R0FNVCw2a0dBUFMsWUFBWSxvRkFBRSxPQUFPOzs0RkF5QnBCLGdCQUFnQjtrQkE1QjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7OztHQU1UO3dEQStCRCxLQUFLO3NCQURKLEtBQUs7O0FBc0NSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxhQUFtQyxFQUNuQyxjQUFnRSxFQUFFO0lBRWxFLE9BQU87UUFDTCxhQUFhLEVBQUU7WUFDYixHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTO1lBQ2xDLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTtZQUNoQyxhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQWE7U0FDM0M7UUFDRCxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssSUFBSSxNQUFNO1FBQ2xDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLFFBQVE7S0FDbkMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uVGV4dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEaXNwbGF5Q29udGVudENvbmZpZywgRGlzcGxheU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kaXNwbGF5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uVGV4dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10ZXh0IFtjb2xvcl09XCJwcm9wcy5jb2xvclwiPlxuICAgICAgPHAgW2NsYXNzXT1cInByb3BzLnNpemVcIj5cbiAgICAgICAge3sgZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfX1cbiAgICAgIDwvcD5cbiAgICA8L2lvbi10ZXh0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kaXNwbGF5LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGlzcGxheVxuICpcbiAqIERpc3BsYXlzIHByb21pbmVudCB0ZXh0IG9yIHRpdGxlcyB3aXRoIGN1c3RvbSBjb2xvciBhbmQgc2l6ZS5cbiAqIFN1cHBvcnRzIGJvdGggc3RhdGljIGFuZCByZWFjdGl2ZSBjb250ZW50IHBhdHRlcm5zLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdGF0aWMgY29udGVudFxuICogPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6ICdUaXRsZScsIGNvbG9yOiAnZGFyaycsIHNpemU6ICdsYXJnZScgfVwiPjwvdmFsLWRpc3BsYXk+XG4gKlxuICogLy8gUmVhY3RpdmUgY29udGVudFxuICogPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnRDb25maWc6IHsga2V5OiAnd2VsY29tZS50aXRsZScgfSwgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3hsYXJnZScgfVwiPjwvdmFsLWRpc3BsYXk+XG4gKlxuICogQGlucHV0IHByb3BzOiBEaXNwbGF5TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgZGlzcGxheSAoY29udGVudC9jb250ZW50Q29uZmlnLCBjb2xvciwgc2l6ZSlcbiAqL1xuZXhwb3J0IGNsYXNzIERpc3BsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGRpc3BsYXlDb250ZW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtEaXNwbGF5TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250ZW50IC0gU3RhdGljIHRleHQgdG8gZGlzcGxheSAodGFrZXMgcHJlY2VkZW5jZSBvdmVyIGNvbnRlbnRDb25maWcpLlxuICAgKiBAcHJvcGVydHkgY29udGVudENvbmZpZyAtIFJlYWN0aXZlIGNvbnRlbnQgY29uZmlndXJhdGlvbi5cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHRleHQgY29sb3IgKElvbmljIGNvbG9yIHN0cmluZykuXG4gICAqIEBwcm9wZXJ0eSBzaXplIC0gVGhlIHRleHQgc2l6ZSAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBEaXNwbGF5TWV0YWRhdGE7XG5cbiAgcHJpdmF0ZSBsYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZURpc3BsYXlDb250ZW50KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURpc3BsYXlDb250ZW50KCkge1xuICAgIC8vIFN0YXRpYyBjb250ZW50IHRha2VzIHByZWNlZGVuY2VcbiAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gb2YodGhpcy5wcm9wcy5jb250ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBVc2UgcmVhY3RpdmUgY29udGVudCBpZiBjb25maWd1cmVkXG4gICAgaWYgKHRoaXMucHJvcHMuY29udGVudENvbmZpZykge1xuICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnQoXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudENvbmZpZy5jbGFzc05hbWUgfHwgJ19nbG9iYWwnLFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDb25maWcua2V5LFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDb25maWcuZmFsbGJhY2sgfHwgdGhpcy5wcm9wcy5jb250ZW50Q29uZmlnLmtleVxuICAgICAgICAvLyBpbnRlcnBvbGF0aW9uOiB0aGlzLnByb3BzLmNvbnRlbnRDb25maWcuaW50ZXJwb2xhdGlvbixcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTm8gY29udGVudCBjb25maWd1cmVkIC0gdXNlIGVtcHR5IHN0cmluZ1xuICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gb2YoJycpO1xuICB9XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSByZWFjdGl2ZSBkaXNwbGF5IHByb3BzIGZyb20gY29udGVudCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBwcm92aWRlcyBhIGNvbnZlbmllbnQgd2F5IHRvIGNyZWF0ZSB2YWwtZGlzcGxheSBwcm9wcyB3aXRoIHJlYWN0aXZlIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnRDb25maWcgLSBDb250ZW50IGNvbmZpZ3VyYXRpb24gZm9yIHJlYWN0aXZlIGNvbnRlbnRcbiAqIEBwYXJhbSBzdHlsZUNvbmZpZyAtIE9wdGlvbmFsIHN0eWxlIGNvbmZpZ3VyYXRpb24gKGNvbG9yIGFuZCBzaXplKVxuICogQHJldHVybnMgRGlzcGxheU1ldGFkYXRhIHdpdGggY29udGVudCBwcm9wZXJ0aWVzIHNldFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb21wb25lbnRcbiAqIHRpdGxlUHJvcHM6IERpc3BsYXlNZXRhZGF0YSA9IGNyZWF0ZURpc3BsYXlQcm9wcyh7XG4gKiAgIGtleTogJ3RpdGxlJyxcbiAqICAgY2xhc3NOYW1lOiAnSGVhZGVyQ29tcG9uZW50JyxcbiAqICAgZmFsbGJhY2s6ICdEZWZhdWx0IFRpdGxlJ1xuICogfSwge1xuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBzaXplOiAnbGFyZ2UnXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBXaXRoIGludGVycG9sYXRpb25cbiAqIGdyZWV0aW5nUHJvcHM6IERpc3BsYXlNZXRhZGF0YSA9IGNyZWF0ZURpc3BsYXlQcm9wcyh7XG4gKiAgIGtleTogJ2dyZWV0aW5nJyxcbiAqICAgY2xhc3NOYW1lOiAnVXNlckNvbXBvbmVudCcsXG4gKiAgIGZhbGxiYWNrOiAnSGVsbG8hJyxcbiAqICAgaW50ZXJwb2xhdGlvbjogeyBuYW1lOiAnSm9obicsIGNvdW50OiA1IH1cbiAqIH0sIHtcbiAqICAgY29sb3I6ICdzZWNvbmRhcnknLFxuICogICBzaXplOiAnbWVkaXVtJ1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gVXNpbmcgZGVmYXVsdCBzdHlsZSB2YWx1ZXNcbiAqIHNpbXBsZVByb3BzOiBEaXNwbGF5TWV0YWRhdGEgPSBjcmVhdGVEaXNwbGF5UHJvcHMoe1xuICogICBrZXk6ICd3ZWxjb21lTWVzc2FnZScsXG4gKiAgIGNsYXNzTmFtZTogJ0hvbWVDb21wb25lbnQnXG4gKiB9KTsgLy8gV2lsbCB1c2UgZGVmYXVsdCBjb2xvcjogJ2RhcmsnIGFuZCBzaXplOiAnbWVkaXVtJ1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEaXNwbGF5UHJvcHMoXG4gIGNvbnRlbnRDb25maWc6IERpc3BsYXlDb250ZW50Q29uZmlnLFxuICBzdHlsZUNvbmZpZzogUGFydGlhbDxQaWNrPERpc3BsYXlNZXRhZGF0YSwgJ2NvbG9yJyB8ICdzaXplJz4+ID0ge31cbik6IERpc3BsYXlNZXRhZGF0YSB7XG4gIHJldHVybiB7XG4gICAgY29udGVudENvbmZpZzoge1xuICAgICAga2V5OiBjb250ZW50Q29uZmlnLmtleSxcbiAgICAgIGNsYXNzTmFtZTogY29udGVudENvbmZpZy5jbGFzc05hbWUsXG4gICAgICBmYWxsYmFjazogY29udGVudENvbmZpZy5mYWxsYmFjayxcbiAgICAgIGludGVycG9sYXRpb246IGNvbnRlbnRDb25maWcuaW50ZXJwb2xhdGlvbixcbiAgICB9LFxuICAgIGNvbG9yOiBzdHlsZUNvbmZpZy5jb2xvciB8fCAnZGFyaycsXG4gICAgc2l6ZTogc3R5bGVDb25maWcuc2l6ZSB8fCAnbWVkaXVtJyxcbiAgfTtcbn1cbiJdfQ==
@@ -3,8 +3,9 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
3
  import { IonText } from '@ionic/angular/standalone';
4
4
  import { of, Subscription } from 'rxjs';
5
5
  import { ProcessLinksPipe } from '../../../shared/pipes/process-links.pipe';
6
+ import { interpolateStaticContent, shouldUseReactiveContent } from '../../../shared/utils/simple-content';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../../services/content.service";
8
+ import * as i1 from "../../../services/lang-provider/lang-provider.service";
8
9
  import * as i2 from "../../../services/link-processor.service";
9
10
  /**
10
11
  * val-text
@@ -106,8 +107,8 @@ import * as i2 from "../../../services/link-processor.service";
106
107
  * @input props: TextMetadata - Configuration for the text (content, styling, and reactive content options)
107
108
  */
108
109
  export class TextComponent {
109
- constructor(contentService, linkProcessor) {
110
- this.contentService = contentService;
110
+ constructor(langService, linkProcessor) {
111
+ this.langService = langService;
111
112
  this.linkProcessor = linkProcessor;
112
113
  this.subscription = new Subscription();
113
114
  }
@@ -124,26 +125,25 @@ export class TextComponent {
124
125
  setupDisplayContent() {
125
126
  if (this.props.content) {
126
127
  // Static content takes precedence
127
- this.displayContent$ = of(this.props.content);
128
+ if (this.props.contentInterpolation) {
129
+ // Static content with interpolation
130
+ const interpolatedContent = interpolateStaticContent(this.props.content, this.props.contentInterpolation);
131
+ this.displayContent$ = of(interpolatedContent);
132
+ }
133
+ else {
134
+ // Simple static content
135
+ this.displayContent$ = of(this.props.content);
136
+ }
128
137
  }
129
- else if (this.props.contentKey && this.props.contentClass) {
138
+ else if (shouldUseReactiveContent(this.props)) {
130
139
  // Reactive content from language service
131
140
  if (this.props.contentInterpolation) {
132
141
  // With interpolation
133
- this.displayContent$ = this.contentService.fromContentWithInterpolation({
134
- className: this.props.contentClass,
135
- key: this.props.contentKey,
136
- fallback: this.props.contentFallback,
137
- interpolation: this.props.contentInterpolation,
138
- });
142
+ this.displayContent$ = this.langService.getContentWithInterpolation(this.props.contentClass, this.props.contentKey, this.props.contentInterpolation, this.props.contentFallback);
139
143
  }
140
144
  else {
141
145
  // Simple reactive content
142
- this.displayContent$ = this.contentService.fromContent({
143
- className: this.props.contentClass,
144
- key: this.props.contentKey,
145
- fallback: this.props.contentFallback,
146
- });
146
+ this.displayContent$ = this.langService.getContent(this.props.contentClass, this.props.contentKey, this.props.contentFallback);
147
147
  }
148
148
  }
149
149
  else {
@@ -168,7 +168,7 @@ export class TextComponent {
168
168
  processedContent = processedContent.replace(/<strong>(.*?)<\/strong>/gi, '<span class="partial-bold">$1</span>');
169
169
  return processedContent;
170
170
  }
171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextComponent, deps: [{ token: i1.ContentService }, { token: i2.LinkProcessorService }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextComponent, deps: [{ token: i1.LangService }, { token: i2.LinkProcessorService }], target: i0.ɵɵFactoryTarget.Component }); }
172
172
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TextComponent, isStandalone: true, selector: "val-text", inputs: { props: "props" }, ngImport: i0, template: `
173
173
  <ion-text [color]="props.color">
174
174
  @if (props.processLinks) {
@@ -208,7 +208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
208
208
  }
209
209
  </ion-text>
210
210
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.small{font-size:.75rem;line-height:1.25rem;font-weight:400}.small.bold{font-size:.75rem;line-height:1.25rem;font-weight:700}.medium{font-size:.875rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.medium{font-size:1rem;line-height:1.5rem}}.medium.bold{font-size:.875rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.medium.bold{font-size:1rem;line-height:1.5rem}}.large{font-size:1rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.large{font-size:1.125rem;line-height:1.5rem}}.large.bold{font-size:1rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.large.bold{font-size:1.125rem;line-height:1.5rem}}.xlarge{font-size:1.125rem;line-height:1.5rem;font-weight:400}@media (min-width: 768px){.xlarge{font-size:1.5rem;line-height:2rem}}.xlarge.bold{font-size:1.125rem;line-height:1.5rem;font-weight:700}@media (min-width: 768px){.xlarge.bold{font-size:1.5rem;line-height:2rem}}:host ::ng-deep .partial-bold{font-weight:700}\n"] }]
211
- }], ctorParameters: () => [{ type: i1.ContentService }, { type: i2.LinkProcessorService }], propDecorators: { props: [{
211
+ }], ctorParameters: () => [{ type: i1.LangService }, { type: i2.LinkProcessorService }], propDecorators: { props: [{
212
212
  type: Input
213
213
  }] } });
214
214
  /**
@@ -263,4 +263,4 @@ export function createTextProps(contentConfig, styleConfig = {}) {
263
263
  allowPartialBold: styleConfig.allowPartialBold || false,
264
264
  };
265
265
  }
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7QUE0QjVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBaUN4QixZQUNVLGNBQThCLEVBQzlCLGFBQW1DO1FBRG5DLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFKckMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBS3ZDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLGtDQUFrQztZ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Z0JBQWdCLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixJQUFJLEtBQUs7S0FDeEQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25UZXh0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBMaW5rUHJvY2Vzc29yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xpbmstcHJvY2Vzc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0xpbmtzUGlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9wcm9jZXNzLWxpbmtzLnBpcGUnO1xuaW1wb3J0IHsgVGV4dENvbnRlbnRDb25maWcsIFRleHRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0LCBBc3luY1BpcGUsIFByb2Nlc3NMaW5rc1BpcGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tdGV4dCBbY29sb3JdPVwicHJvcHMuY29sb3JcIj5cbiAgICAgIEBpZiAocHJvcHMucHJvY2Vzc0xpbmtzKSB7XG4gICAgICAgIDxwXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzLnNpemVcIlxuICAgICAgICAgIFtjbGFzcy5ib2xkXT1cInByb3BzLmJvbGRcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfCBwcm9jZXNzTGlua3M6IHByb3BzLmxpbmtDb25maWdcIlxuICAgICAgICA+PC9wPlxuICAgICAgfSBAZWxzZSBpZiAoXG4gICAgICAgIChwcm9wcy5hbGxvd1BhcnRpYWxCb2xkICYmIChkaXNwbGF5Q29udGVudCQgfCBhc3luYyk/LmluY2x1ZGVzKCc8Yj4nKSkgfHxcbiAgICAgICAgKGRpc3BsYXlDb250ZW50JCB8IGFzeW5jKT8uaW5jbHVkZXMoJzxzdHJvbmc+JylcbiAgICAgICkge1xuICAgICAgICA8cCBbY2xhc3NdPVwicHJvcHMuc2l6ZVwiIFtjbGFzcy5ib2xkXT1cInByb3BzLmJvbGRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NQYXJ0aWFsQm9sZChkaXNwbGF5Q29udGVudCQgfCBhc3luYylcIj48L3A+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHAgW2NsYXNzXT1cInByb3BzLnNpemVcIiBbY2xhc3MuYm9sZF09XCJwcm9wcy5ib2xkXCI+e3sgZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfX08L3A+XG4gICAgICB9XG4gICAgPC9pb24tdGV4dD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG4vKipcbiAqIHZhbC10ZXh0XG4gKlxuICogRW5oYW5jZWQgdGV4dCBjb21wb25lbnQgdGhhdCBzdXBwb3J0cyBib3RoIHN0YXRpYyBjb250ZW50IGFuZCByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGxhbmd1YWdlIHNlcnZpY2UuXG4gKiBUaGUgY29tcG9uZW50IGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB3aGVuIHRoZSBsYW5ndWFnZSBjaGFuZ2VzIGlmIHVzaW5nIHJlYWN0aXZlIGNvbnRlbnQuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIGNvbnRlbnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudDogJ1N0YXRpYyB0ZXh0JyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ21lZGl1bScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3dlbGNvbWVNZXNzYWdlJyxcbiAqICAgY29udGVudENsYXNzOiAnSG9tZUNvbXBvbmVudCcsXG4gKiAgIGNvbnRlbnRGYWxsYmFjazogJ1dlbGNvbWUhJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ2xhcmdlJyxcbiAqICAgYm9sZDogdHJ1ZVxuICogfVwiPjwvdmFsLXRleHQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBSZWFjdGl2ZSBjb250ZW50IHdpdGggaW50ZXJwb2xhdGlvbjpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGV4dCBbcHJvcHNdPVwie1xuICogICBjb250ZW50S2V5OiAnZ3JlZXRpbmcnLFxuICogICBjb250ZW50Q2xhc3M6ICdVc2VyQ29tcG9uZW50JyxcbiAqICAgY29udGVudEludGVycG9sYXRpb246IHsgbmFtZTogJ0pvaG4nLCBjb3VudDogNSB9LFxuICogICBjb2xvcjogJ3NlY29uZGFyeScsXG4gKiAgIHNpemU6ICdtZWRpdW0nLFxuICogICBib2xkOiBmYWxzZVxuICogfVwiPjwvdmFsLXRleHQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGF1dG9tYXRpYyBsaW5rIHByb2Nlc3Npbmc6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudDogJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20gb3IgZ28gdG8gL3Byb2ZpbGUgZm9yIG1vcmUgaW5mbycsXG4gKiAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAqICAgbGlua0NvbmZpZzoge1xuICogICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiOiB0cnVlLFxuICogICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiOiBmYWxzZSxcbiAqICAgICBsaW5rQ2xhc3M6ICdjdXN0b20tbGluaycsXG4gKiAgICAgZXh0ZXJuYWxMaW5rQ2xhc3M6ICdleHRlcm5hbCcsXG4gKiAgICAgaW50ZXJuYWxMaW5rQ2xhc3M6ICdpbnRlcm5hbCdcbiAqICAgfSxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ21lZGl1bSdcbiAqIH1cIj48L3ZhbC10ZXh0PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwYXJ0aWFsIGJvbGQgc3VwcG9ydDpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGV4dCBbcHJvcHNdPVwie1xuICogICBjb250ZW50OiAnSG9sYSA8Yj5WaWN0b3I8L2I+LCBjw7NtbyBlc3TDoXM/IFRhbWJpw6luIHB1ZWRlcyB1c2FyIDxzdHJvbmc+c3Ryb25nPC9zdHJvbmc+JyxcbiAqICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAqICAgY29sb3I6ICdkYXJrJyxcbiAqICAgc2l6ZTogJ21lZGl1bScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQgd2l0aCBwYXJ0aWFsIGJvbGQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3dlbGNvbWVXaXRoTmFtZScsXG4gKiAgIGNvbnRlbnRDbGFzczogJ1VzZXJDb21wb25lbnQnLFxuICogICBjb250ZW50SW50ZXJwb2xhdGlvbjogeyBuYW1lOiAnPGI+SnVhbjwvYj4nIH0sXG4gKiAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHNpemU6ICdsYXJnZScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFVzaW5nIENvbnRlbnRTZXJ2aWNlIGhlbHBlcjpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbXBvbmVudFxuICogY29udGVudCA9IGluamVjdChDb250ZW50U2VydmljZSk7XG4gKiBjb21wb25lbnRDb250ZW50ID0gdGhpcy5jb250ZW50LmZvckNvbXBvbmVudCgnTXlDb21wb25lbnQnKTtcbiAqXG4gKiB0ZXh0UHJvcHMgPSB7XG4gKiAgIGNvbnRlbnQ6IHRoaXMuY29tcG9uZW50Q29udGVudC5nZXRUZXh0KCd0aXRsZScpLCAvLyBzeW5jXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHNpemU6ICdsYXJnZScsXG4gKiAgIGJvbGQ6IHRydWVcbiAqIH07XG4gKiAvLyBPciB3aXRoIHJlYWN0aXZlIGJpbmRpbmc6XG4gKiB0aXRsZSQgPSB0aGlzLmNvbXBvbmVudENvbnRlbnQuZ2V0KCd0aXRsZScpO1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBUZXh0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgdGV4dCAoY29udGVudCwgc3R5bGluZywgYW5kIHJlYWN0aXZlIGNvbnRlbnQgb3B0aW9ucylcbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUZXh0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7VGV4dE1ldGFkYXRhfVxuICAgKlxuICAgKiBGb3Igc3RhdGljIGNvbnRlbnQ6XG4gICAqIEBwcm9wZXJ0eSBjb250ZW50IC0gVGhlIHRleHQgdG8gZGlzcGxheSAodGFrZXMgcHJlY2VkZW5jZSBvdmVyIHJlYWN0aXZlIGNvbnRlbnQpXG4gICAqXG4gICAqIEZvciByZWFjdGl2ZSBjb250ZW50OlxuICAgKiBAcHJvcGVydHkgY29udGVudEtleSAtIFRoZSBjb250ZW50IGtleSB0byByZXRyaWV2ZSBmcm9tIGxhbmd1YWdlIHNlcnZpY2VcbiAgICogQHByb3BlcnR5IGNvbnRlbnRDbGFzcyAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZSBmb3IgY29udGVudCBsb29rdXBcbiAgICogQHByb3BlcnR5IGNvbnRlbnRGYWxsYmFjayAtIE9wdGlvbmFsIGZhbGxiYWNrIHRleHQgaWYgY29udGVudCBpcyBub3QgZm91bmRcbiAgICogQHByb3BlcnR5IGNvbnRlbnRJbnRlcnBvbGF0aW9uIC0gT3B0aW9uYWwgdmFsdWVzIHRvIGludGVycG9sYXRlIGludG8gY29udGVudFxuICAgKlxuICAgKiBGb3Igc3R5bGluZzpcbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHRleHQgY29sb3IgKElvbmljIGNvbG9yIHN0cmluZylcbiAgICogQHByb3BlcnR5IHNpemUgLSBUaGUgdGV4dCBzaXplICgnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZScpXG4gICAqIEBwcm9wZXJ0eSBib2xkIC0gV2hldGhlciB0aGUgdGV4dCBpcyBib2xkXG4gICAqIEBwcm9wZXJ0eSBwcm9jZXNzTGlua3MgLSBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBhbmQgY29udmVydCBsaW5rcyBpbiB0ZXh0IChkZWZhdWx0OiBmYWxzZSlcbiAgICogQHByb3BlcnR5IGxpbmtDb25maWcgLSBDb25maWd1cmF0aW9uIGZvciBsaW5rIHByb2Nlc3NpbmcgKGNvbG9ycywgdGFyZ2V0IGJlaGF2aW9yLCBldGMuKVxuICAgKiBAcHJvcGVydHkgYWxsb3dQYXJ0aWFsQm9sZCAtIFdoZXRoZXIgdG8gYWxsb3cgcGFydGlhbCBib2xkIHVzaW5nIDxiPiBvciA8c3Ryb25nPiB0YWdzIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBUZXh0TWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgdGhhdCBwcm92aWRlcyB0aGUgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBUaGlzIHdpbGwgYmUgZWl0aGVyIHN0YXRpYyBjb250ZW50IG9yIHJlYWN0aXZlIGNvbnRlbnQgZnJvbSB0aGUgbGFuZ3VhZ2Ugc2VydmljZS5cbiAgICovXG4gIGRpc3BsYXlDb250ZW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGlua1Byb2Nlc3NvcjogTGlua1Byb2Nlc3NvclNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBEaXNwbGF5Q29udGVudCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgdGhlIGNvbnRlbnQgb2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICogUHJpb3JpdHk6IHN0YXRpYyBjb250ZW50ID4gcmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb24gPiByZWFjdGl2ZSBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIHNldHVwRGlzcGxheUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuY29udGVudCkge1xuICAgICAgLy8gU3RhdGljIGNvbnRlbnQgdGFrZXMgcHJlY2VkZW5jZVxuICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSBvZih0aGlzLnByb3BzLmNvbnRlbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5jb250ZW50S2V5ICYmIHRoaXMucHJvcHMuY29udGVudENsYXNzKSB7XG4gICAgICAvLyBSZWFjdGl2ZSBjb250ZW50IGZyb20gbGFuZ3VhZ2Ugc2VydmljZVxuICAgICAgaWYgKHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24pIHtcbiAgICAgICAgLy8gV2l0aCBpbnRlcnBvbGF0aW9uXG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gdGhpcy5jb250ZW50U2VydmljZS5mcm9tQ29udGVudFdpdGhJbnRlcnBvbGF0aW9uKHtcbiAgICAgICAgICBjbGFzc05hbWU6IHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICAgIGtleTogdGhpcy5wcm9wcy5jb250ZW50S2V5LFxuICAgICAgICAgIGZhbGxiYWNrOiB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjayxcbiAgICAgICAgICBpbnRlcnBvbGF0aW9uOiB0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbXBsZSByZWFjdGl2ZSBjb250ZW50XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gdGhpcy5jb250ZW50U2VydmljZS5mcm9tQ29udGVudCh7XG4gICAgICAgICAgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcyxcbiAgICAgICAgICBrZXk6IHRoaXMucHJvcHMuY29udGVudEtleSxcbiAgICAgICAgICBmYWxsYmFjazogdGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2ssXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjayB0byBlbXB0eSBzdHJpbmcgaWYgbm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICd2YWwtdGV4dDogTm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uIHByb3ZpZGVkLiBVc2UgZWl0aGVyIFwiY29udGVudFwiIGZvciBzdGF0aWMgdGV4dCBvciBcImNvbnRlbnRLZXlcIiArIFwiY29udGVudENsYXNzXCIgZm9yIHJlYWN0aXZlIGNvbnRlbnQuJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gb2YodGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2sgfHwgJycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHBhcnRpYWwgYm9sZCB0YWdzIGluIHRoZSBjb250ZW50LlxuICAgKiBDb252ZXJ0cyA8Yj4gYW5kIDxzdHJvbmc+IHRhZ3MgdG8gcHJvcGVybHkgc3R5bGVkIGJvbGQgc3BhbnMuXG4gICAqXG4gICAqIEBwYXJhbSBjb250ZW50IC0gVGhlIGNvbnRlbnQgc3RyaW5nIHRvIHByb2Nlc3NcbiAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNvbnRlbnQgd2l0aCBib2xkIHN0eWxpbmdcbiAgICovXG4gIHByb2Nlc3NQYXJ0aWFsQm9sZChjb250ZW50OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbnRlbnQpIHJldHVybiAnJztcblxuICAgIC8vIFByb2Nlc3MgPGI+IHRhZ3NcbiAgICBsZXQgcHJvY2Vzc2VkQ29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgvPGI+KC4qPyk8XFwvYj4vZ2ksICc8c3BhbiBjbGFzcz1cInBhcnRpYWwtYm9sZFwiPiQxPC9zcGFuPicpO1xuXG4gICAgLy8gUHJvY2VzcyA8c3Ryb25nPiB0YWdzXG4gICAgcHJvY2Vzc2VkQ29udGVudCA9IHByb2Nlc3NlZENvbnRlbnQucmVwbGFjZSgvPHN0cm9uZz4oLio/KTxcXC9zdHJvbmc+L2dpLCAnPHNwYW4gY2xhc3M9XCJwYXJ0aWFsLWJvbGRcIj4kMTwvc3Bhbj4nKTtcblxuICAgIHJldHVybiBwcm9jZXNzZWRDb250ZW50O1xuICB9XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSByZWFjdGl2ZSB0ZXh0IHByb3BzIGZyb20gY29udGVudCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBwcm92aWRlcyBhIGNvbnZlbmllbnQgd2F5IHRvIGNyZWF0ZSB2YWwtdGV4dCBwcm9wcyB3aXRoIHJlYWN0aXZlIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnRDb25maWcgLSBDb250ZW50IGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBzdHlsZUNvbmZpZyAtIE9wdGlvbmFsIHN0eWxlIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIFBhcnRpYWwgVGV4dE1ldGFkYXRhIHdpdGggY29udGVudCBwcm9wZXJ0aWVzIHNldFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb21wb25lbnRcbiAqIHRpdGxlUHJvcHM6IFRleHRNZXRhZGF0YSA9IHtcbiAqICAgLi4uY3JlYXRlVGV4dFByb3BzKHtcbiAqICAgICBjb250ZW50S2V5OiAndGl0bGUnLFxuICogICAgIGNvbnRlbnRDbGFzczogJ0hlYWRlckNvbXBvbmVudCdcbiAqICAgfSwge1xuICogICAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgICAgc2l6ZTogJ2xhcmdlJyxcbiAqICAgICBib2xkOiB0cnVlXG4gKiAgIH0pXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwYXJ0aWFsIGJvbGQgc3VwcG9ydDpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbXBvbmVudFxuICogZ3JlZXRpbmdQcm9wczogVGV4dE1ldGFkYXRhID0ge1xuICogICAuLi5jcmVhdGVUZXh0UHJvcHMoe1xuICogICAgIGNvbnRlbnRLZXk6ICdncmVldGluZycsXG4gKiAgICAgY29udGVudENsYXNzOiAnVXNlckNvbXBvbmVudCcsXG4gKiAgICAgY29udGVudEludGVycG9sYXRpb246IHsgbmFtZTogJzxiPkp1YW48L2I+JyB9XG4gKiAgIH0sIHtcbiAqICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICogICAgIHNpemU6ICdtZWRpdW0nLFxuICogICAgIGJvbGQ6IGZhbHNlLFxuICogICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWVcbiAqICAgfSlcbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRleHRQcm9wcyhcbiAgY29udGVudENvbmZpZzogVGV4dENvbnRlbnRDb25maWcsXG4gIHN0eWxlQ29uZmlnOiBQYXJ0aWFsPFBpY2s8VGV4dE1ldGFkYXRhLCAnY29sb3InIHwgJ3NpemUnIHwgJ2JvbGQnIHwgJ2FsbG93UGFydGlhbEJvbGQnPj4gPSB7fVxuKTogUGFydGlhbDxUZXh0TWV0YWRhdGE+IHtcbiAgcmV0dXJuIHtcbiAgICBjb250ZW50S2V5OiBjb250ZW50Q29uZmlnLmNvbnRlbnRLZXksXG4gICAgY29udGVudENsYXNzOiBjb250ZW50Q29uZmlnLmNvbnRlbnRDbGFzcyxcbiAgICBjb250ZW50RmFsbGJhY2s6IGNvbnRlbnRDb25maWcuY29udGVudEZhbGxiYWNrLFxuICAgIGNvbnRlbnRJbnRlcnBvbGF0aW9uOiBjb250ZW50Q29uZmlnLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgIGNvbG9yOiBzdHlsZUNvbmZpZy5jb2xvciB8fCAnZGFyaycsXG4gICAgc2l6ZTogc3R5bGVDb25maWcuc2l6ZSB8fCAnbWVkaXVtJyxcbiAgICBib2xkOiBzdHlsZUNvbmZpZy5ib2xkIHx8IGZhbHNlLFxuICAgIGFsbG93UGFydGlhbEJvbGQ6IHN0eWxlQ29uZmlnLmFsbG93UGFydGlhbEJvbGQgfHwgZmFsc2UsXG4gIH07XG59XG4iXX0=
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUE0QjFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBaUN4QixZQUNVLFdBQXdCLEVBQ3hCLGFBQW1DO1FBRG5DLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUpyQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFLdkMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQjtRQUN6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QUFZO1FBQ3hDLGVBQWUsRUFBRSxhQUFhLENBQUMsZUFBZTtRQUM5QyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsb0JBQW9CO1FBQ3hELEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxJQUFJLE1BQU07UUFDbEMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLElBQUksUUFBUTtRQUNsQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksSUFBSSxLQUFLO1FBQy9CLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLO0tBQ3hELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uVGV4dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMaW5rUHJvY2Vzc29yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xpbmstcHJvY2Vzc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0xpbmtzUGlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9wcm9jZXNzLWxpbmtzLnBpcGUnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGVTdGF0aWNDb250ZW50LCBzaG91bGRVc2VSZWFjdGl2ZUNvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc2ltcGxlLWNvbnRlbnQnO1xuaW1wb3J0IHsgVGV4dENvbnRlbnRDb25maWcsIFRleHRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0LCBBc3luY1BpcGUsIFByb2Nlc3NMaW5rc1BpcGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tdGV4dCBbY29sb3JdPVwicHJvcHMuY29sb3JcIj5cbiAgICAgIEBpZiAocHJvcHMucHJvY2Vzc0xpbmtzKSB7XG4gICAgICAgIDxwXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzLnNpemVcIlxuICAgICAgICAgIFtjbGFzcy5ib2xkXT1cInByb3BzLmJvbGRcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfCBwcm9jZXNzTGlua3M6IHByb3BzLmxpbmtDb25maWdcIlxuICAgICAgICA+PC9wPlxuICAgICAgfSBAZWxzZSBpZiAoXG4gICAgICAgIChwcm9wcy5hbGxvd1BhcnRpYWxCb2xkICYmIChkaXNwbGF5Q29udGVudCQgfCBhc3luYyk/LmluY2x1ZGVzKCc8Yj4nKSkgfHxcbiAgICAgICAgKGRpc3BsYXlDb250ZW50JCB8IGFzeW5jKT8uaW5jbHVkZXMoJzxzdHJvbmc+JylcbiAgICAgICkge1xuICAgICAgICA8cCBbY2xhc3NdPVwicHJvcHMuc2l6ZVwiIFtjbGFzcy5ib2xkXT1cInByb3BzLmJvbGRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NQYXJ0aWFsQm9sZChkaXNwbGF5Q29udGVudCQgfCBhc3luYylcIj48L3A+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHAgW2NsYXNzXT1cInByb3BzLnNpemVcIiBbY2xhc3MuYm9sZF09XCJwcm9wcy5ib2xkXCI+e3sgZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfX08L3A+XG4gICAgICB9XG4gICAgPC9pb24tdGV4dD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG4vKipcbiAqIHZhbC10ZXh0XG4gKlxuICogRW5oYW5jZWQgdGV4dCBjb21wb25lbnQgdGhhdCBzdXBwb3J0cyBib3RoIHN0YXRpYyBjb250ZW50IGFuZCByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGxhbmd1YWdlIHNlcnZpY2UuXG4gKiBUaGUgY29tcG9uZW50IGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB3aGVuIHRoZSBsYW5ndWFnZSBjaGFuZ2VzIGlmIHVzaW5nIHJlYWN0aXZlIGNvbnRlbnQuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIGNvbnRlbnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudDogJ1N0YXRpYyB0ZXh0JyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ21lZGl1bScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3dlbGNvbWVNZXNzYWdlJyxcbiAqICAgY29udGVudENsYXNzOiAnSG9tZUNvbXBvbmVudCcsXG4gKiAgIGNvbnRlbnRGYWxsYmFjazogJ1dlbGNvbWUhJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ2xhcmdlJyxcbiAqICAgYm9sZDogdHJ1ZVxuICogfVwiPjwvdmFsLXRleHQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBSZWFjdGl2ZSBjb250ZW50IHdpdGggaW50ZXJwb2xhdGlvbjpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGV4dCBbcHJvcHNdPVwie1xuICogICBjb250ZW50S2V5OiAnZ3JlZXRpbmcnLFxuICogICBjb250ZW50Q2xhc3M6ICdVc2VyQ29tcG9uZW50JyxcbiAqICAgY29udGVudEludGVycG9sYXRpb246IHsgbmFtZTogJ0pvaG4nLCBjb3VudDogNSB9LFxuICogICBjb2xvcjogJ3NlY29uZGFyeScsXG4gKiAgIHNpemU6ICdtZWRpdW0nLFxuICogICBib2xkOiBmYWxzZVxuICogfVwiPjwvdmFsLXRleHQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGF1dG9tYXRpYyBsaW5rIHByb2Nlc3Npbmc6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudDogJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20gb3IgZ28gdG8gL3Byb2ZpbGUgZm9yIG1vcmUgaW5mbycsXG4gKiAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAqICAgbGlua0NvbmZpZzoge1xuICogICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiOiB0cnVlLFxuICogICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiOiBmYWxzZSxcbiAqICAgICBsaW5rQ2xhc3M6ICdjdXN0b20tbGluaycsXG4gKiAgICAgZXh0ZXJuYWxMaW5rQ2xhc3M6ICdleHRlcm5hbCcsXG4gKiAgICAgaW50ZXJuYWxMaW5rQ2xhc3M6ICdpbnRlcm5hbCdcbiAqICAgfSxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgc2l6ZTogJ21lZGl1bSdcbiAqIH1cIj48L3ZhbC10ZXh0PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwYXJ0aWFsIGJvbGQgc3VwcG9ydDpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGV4dCBbcHJvcHNdPVwie1xuICogICBjb250ZW50OiAnSG9sYSA8Yj5WaWN0b3I8L2I+LCBjw7NtbyBlc3TDoXM/IFRhbWJpw6luIHB1ZWRlcyB1c2FyIDxzdHJvbmc+c3Ryb25nPC9zdHJvbmc+JyxcbiAqICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAqICAgY29sb3I6ICdkYXJrJyxcbiAqICAgc2l6ZTogJ21lZGl1bScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQgd2l0aCBwYXJ0aWFsIGJvbGQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRleHQgW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3dlbGNvbWVXaXRoTmFtZScsXG4gKiAgIGNvbnRlbnRDbGFzczogJ1VzZXJDb21wb25lbnQnLFxuICogICBjb250ZW50SW50ZXJwb2xhdGlvbjogeyBuYW1lOiAnPGI+SnVhbjwvYj4nIH0sXG4gKiAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHNpemU6ICdsYXJnZScsXG4gKiAgIGJvbGQ6IGZhbHNlXG4gKiB9XCI+PC92YWwtdGV4dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFVzaW5nIENvbnRlbnRTZXJ2aWNlIGhlbHBlcjpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbXBvbmVudFxuICogY29udGVudCA9IGluamVjdChDb250ZW50U2VydmljZSk7XG4gKiBjb21wb25lbnRDb250ZW50ID0gdGhpcy5jb250ZW50LmZvckNvbXBvbmVudCgnTXlDb21wb25lbnQnKTtcbiAqXG4gKiB0ZXh0UHJvcHMgPSB7XG4gKiAgIGNvbnRlbnQ6IHRoaXMuY29tcG9uZW50Q29udGVudC5nZXRUZXh0KCd0aXRsZScpLCAvLyBzeW5jXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHNpemU6ICdsYXJnZScsXG4gKiAgIGJvbGQ6IHRydWVcbiAqIH07XG4gKiAvLyBPciB3aXRoIHJlYWN0aXZlIGJpbmRpbmc6XG4gKiB0aXRsZSQgPSB0aGlzLmNvbXBvbmVudENvbnRlbnQuZ2V0KCd0aXRsZScpO1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBUZXh0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgdGV4dCAoY29udGVudCwgc3R5bGluZywgYW5kIHJlYWN0aXZlIGNvbnRlbnQgb3B0aW9ucylcbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUZXh0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7VGV4dE1ldGFkYXRhfVxuICAgKlxuICAgKiBGb3Igc3RhdGljIGNvbnRlbnQ6XG4gICAqIEBwcm9wZXJ0eSBjb250ZW50IC0gVGhlIHRleHQgdG8gZGlzcGxheSAodGFrZXMgcHJlY2VkZW5jZSBvdmVyIHJlYWN0aXZlIGNvbnRlbnQpXG4gICAqXG4gICAqIEZvciByZWFjdGl2ZSBjb250ZW50OlxuICAgKiBAcHJvcGVydHkgY29udGVudEtleSAtIFRoZSBjb250ZW50IGtleSB0byByZXRyaWV2ZSBmcm9tIGxhbmd1YWdlIHNlcnZpY2VcbiAgICogQHByb3BlcnR5IGNvbnRlbnRDbGFzcyAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZSBmb3IgY29udGVudCBsb29rdXBcbiAgICogQHByb3BlcnR5IGNvbnRlbnRGYWxsYmFjayAtIE9wdGlvbmFsIGZhbGxiYWNrIHRleHQgaWYgY29udGVudCBpcyBub3QgZm91bmRcbiAgICogQHByb3BlcnR5IGNvbnRlbnRJbnRlcnBvbGF0aW9uIC0gT3B0aW9uYWwgdmFsdWVzIHRvIGludGVycG9sYXRlIGludG8gY29udGVudFxuICAgKlxuICAgKiBGb3Igc3R5bGluZzpcbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHRleHQgY29sb3IgKElvbmljIGNvbG9yIHN0cmluZylcbiAgICogQHByb3BlcnR5IHNpemUgLSBUaGUgdGV4dCBzaXplICgnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZScpXG4gICAqIEBwcm9wZXJ0eSBib2xkIC0gV2hldGhlciB0aGUgdGV4dCBpcyBib2xkXG4gICAqIEBwcm9wZXJ0eSBwcm9jZXNzTGlua3MgLSBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBhbmQgY29udmVydCBsaW5rcyBpbiB0ZXh0IChkZWZhdWx0OiBmYWxzZSlcbiAgICogQHByb3BlcnR5IGxpbmtDb25maWcgLSBDb25maWd1cmF0aW9uIGZvciBsaW5rIHByb2Nlc3NpbmcgKGNvbG9ycywgdGFyZ2V0IGJlaGF2aW9yLCBldGMuKVxuICAgKiBAcHJvcGVydHkgYWxsb3dQYXJ0aWFsQm9sZCAtIFdoZXRoZXIgdG8gYWxsb3cgcGFydGlhbCBib2xkIHVzaW5nIDxiPiBvciA8c3Ryb25nPiB0YWdzIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBUZXh0TWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgdGhhdCBwcm92aWRlcyB0aGUgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBUaGlzIHdpbGwgYmUgZWl0aGVyIHN0YXRpYyBjb250ZW50IG9yIHJlYWN0aXZlIGNvbnRlbnQgZnJvbSB0aGUgbGFuZ3VhZ2Ugc2VydmljZS5cbiAgICovXG4gIGRpc3BsYXlDb250ZW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGFuZ1NlcnZpY2U6IExhbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGlua1Byb2Nlc3NvcjogTGlua1Byb2Nlc3NvclNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBEaXNwbGF5Q29udGVudCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgdGhlIGNvbnRlbnQgb2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICogUHJpb3JpdHk6IHN0YXRpYyBjb250ZW50ID4gcmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb24gPiByZWFjdGl2ZSBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIHNldHVwRGlzcGxheUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuY29udGVudCkge1xuICAgICAgLy8gU3RhdGljIGNvbnRlbnQgdGFrZXMgcHJlY2VkZW5jZVxuICAgICAgaWYgKHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24pIHtcbiAgICAgICAgLy8gU3RhdGljIGNvbnRlbnQgd2l0aCBpbnRlcnBvbGF0aW9uXG4gICAgICAgIGNvbnN0IGludGVycG9sYXRlZENvbnRlbnQgPSBpbnRlcnBvbGF0ZVN0YXRpY0NvbnRlbnQodGhpcy5wcm9wcy5jb250ZW50LCB0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSBvZihpbnRlcnBvbGF0ZWRDb250ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbXBsZSBzdGF0aWMgY29udGVudFxuICAgICAgICB0aGlzLmRpc3BsYXlDb250ZW50JCA9IG9mKHRoaXMucHJvcHMuY29udGVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzaG91bGRVc2VSZWFjdGl2ZUNvbnRlbnQodGhpcy5wcm9wcykpIHtcbiAgICAgIC8vIFJlYWN0aXZlIGNvbnRlbnQgZnJvbSBsYW5ndWFnZSBzZXJ2aWNlXG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50SW50ZXJwb2xhdGlvbikge1xuICAgICAgICAvLyBXaXRoIGludGVycG9sYXRpb25cbiAgICAgICAgdGhpcy5kaXNwbGF5Q29udGVudCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnRXaXRoSW50ZXJwb2xhdGlvbihcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcyEsXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50S2V5ISxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEZhbGxiYWNrXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaW1wbGUgcmVhY3RpdmUgY29udGVudFxuICAgICAgICB0aGlzLmRpc3BsYXlDb250ZW50JCA9IHRoaXMubGFuZ1NlcnZpY2UuZ2V0Q29udGVudChcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcyEsXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50S2V5ISxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFja1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjayB0byBlbXB0eSBzdHJpbmcgaWYgbm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICd2YWwtdGV4dDogTm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uIHByb3ZpZGVkLiBVc2UgZWl0aGVyIFwiY29udGVudFwiIGZvciBzdGF0aWMgdGV4dCBvciBcImNvbnRlbnRLZXlcIiArIFwiY29udGVudENsYXNzXCIgZm9yIHJlYWN0aXZlIGNvbnRlbnQuJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gb2YodGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2sgfHwgJycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHBhcnRpYWwgYm9sZCB0YWdzIGluIHRoZSBjb250ZW50LlxuICAgKiBDb252ZXJ0cyA8Yj4gYW5kIDxzdHJvbmc+IHRhZ3MgdG8gcHJvcGVybHkgc3R5bGVkIGJvbGQgc3BhbnMuXG4gICAqXG4gICAqIEBwYXJhbSBjb250ZW50IC0gVGhlIGNvbnRlbnQgc3RyaW5nIHRvIHByb2Nlc3NcbiAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNvbnRlbnQgd2l0aCBib2xkIHN0eWxpbmdcbiAgICovXG4gIHByb2Nlc3NQYXJ0aWFsQm9sZChjb250ZW50OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbnRlbnQpIHJldHVybiAnJztcblxuICAgIC8vIFByb2Nlc3MgPGI+IHRhZ3NcbiAgICBsZXQgcHJvY2Vzc2VkQ29udGVudCA9IGNvbnRlbnQucmVwbGFjZSgvPGI+KC4qPyk8XFwvYj4vZ2ksICc8c3BhbiBjbGFzcz1cInBhcnRpYWwtYm9sZFwiPiQxPC9zcGFuPicpO1xuXG4gICAgLy8gUHJvY2VzcyA8c3Ryb25nPiB0YWdzXG4gICAgcHJvY2Vzc2VkQ29udGVudCA9IHByb2Nlc3NlZENvbnRlbnQucmVwbGFjZSgvPHN0cm9uZz4oLio/KTxcXC9zdHJvbmc+L2dpLCAnPHNwYW4gY2xhc3M9XCJwYXJ0aWFsLWJvbGRcIj4kMTwvc3Bhbj4nKTtcblxuICAgIHJldHVybiBwcm9jZXNzZWRDb250ZW50O1xuICB9XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSByZWFjdGl2ZSB0ZXh0IHByb3BzIGZyb20gY29udGVudCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBwcm92aWRlcyBhIGNvbnZlbmllbnQgd2F5IHRvIGNyZWF0ZSB2YWwtdGV4dCBwcm9wcyB3aXRoIHJlYWN0aXZlIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnRDb25maWcgLSBDb250ZW50IGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBzdHlsZUNvbmZpZyAtIE9wdGlvbmFsIHN0eWxlIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIFBhcnRpYWwgVGV4dE1ldGFkYXRhIHdpdGggY29udGVudCBwcm9wZXJ0aWVzIHNldFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb21wb25lbnRcbiAqIHRpdGxlUHJvcHM6IFRleHRNZXRhZGF0YSA9IHtcbiAqICAgLi4uY3JlYXRlVGV4dFByb3BzKHtcbiAqICAgICBjb250ZW50S2V5OiAndGl0bGUnLFxuICogICAgIGNvbnRlbnRDbGFzczogJ0hlYWRlckNvbXBvbmVudCdcbiAqICAgfSwge1xuICogICAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgICAgc2l6ZTogJ2xhcmdlJyxcbiAqICAgICBib2xkOiB0cnVlXG4gKiAgIH0pXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwYXJ0aWFsIGJvbGQgc3VwcG9ydDpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbXBvbmVudFxuICogZ3JlZXRpbmdQcm9wczogVGV4dE1ldGFkYXRhID0ge1xuICogICAuLi5jcmVhdGVUZXh0UHJvcHMoe1xuICogICAgIGNvbnRlbnRLZXk6ICdncmVldGluZycsXG4gKiAgICAgY29udGVudENsYXNzOiAnVXNlckNvbXBvbmVudCcsXG4gKiAgICAgY29udGVudEludGVycG9sYXRpb246IHsgbmFtZTogJzxiPkp1YW48L2I+JyB9XG4gKiAgIH0sIHtcbiAqICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICogICAgIHNpemU6ICdtZWRpdW0nLFxuICogICAgIGJvbGQ6IGZhbHNlLFxuICogICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWVcbiAqICAgfSlcbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRleHRQcm9wcyhcbiAgY29udGVudENvbmZpZzogVGV4dENvbnRlbnRDb25maWcsXG4gIHN0eWxlQ29uZmlnOiBQYXJ0aWFsPFBpY2s8VGV4dE1ldGFkYXRhLCAnY29sb3InIHwgJ3NpemUnIHwgJ2JvbGQnIHwgJ2FsbG93UGFydGlhbEJvbGQnPj4gPSB7fVxuKTogUGFydGlhbDxUZXh0TWV0YWRhdGE+IHtcbiAgcmV0dXJuIHtcbiAgICBjb250ZW50S2V5OiBjb250ZW50Q29uZmlnLmNvbnRlbnRLZXksXG4gICAgY29udGVudENsYXNzOiBjb250ZW50Q29uZmlnLmNvbnRlbnRDbGFzcyxcbiAgICBjb250ZW50RmFsbGJhY2s6IGNvbnRlbnRDb25maWcuY29udGVudEZhbGxiYWNrLFxuICAgIGNvbnRlbnRJbnRlcnBvbGF0aW9uOiBjb250ZW50Q29uZmlnLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgIGNvbG9yOiBzdHlsZUNvbmZpZy5jb2xvciB8fCAnZGFyaycsXG4gICAgc2l6ZTogc3R5bGVDb25maWcuc2l6ZSB8fCAnbWVkaXVtJyxcbiAgICBib2xkOiBzdHlsZUNvbmZpZy5ib2xkIHx8IGZhbHNlLFxuICAgIGFsbG93UGFydGlhbEJvbGQ6IHN0eWxlQ29uZmlnLmFsbG93UGFydGlhbEJvbGQgfHwgZmFsc2UsXG4gIH07XG59XG4iXX0=
@@ -2,8 +2,8 @@ import { AsyncPipe, CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input, inject } from '@angular/core';
3
3
  import { IonText } from '@ionic/angular/standalone';
4
4
  import { of } from 'rxjs';
5
- import { ContentService } from '../../../services/content.service';
6
- import { createComponentContentHelper, shouldUseReactiveContent, } from '../../../shared/utils/reactive-content';
5
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
6
+ import { extractContentConfig, shouldUseReactiveContent } from '../../../shared/utils/simple-content';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
9
9
  /**
@@ -45,14 +45,14 @@ import * as i1 from "@angular/common";
45
45
  */
46
46
  export class TitleComponent {
47
47
  constructor() {
48
- this.contentService = inject(ContentService);
48
+ this.langService = inject(LangService);
49
49
  }
50
50
  ngOnInit() {
51
- this.contentHelper = createComponentContentHelper(this.contentService);
52
51
  // Always convert to Observable for consistent template handling
53
52
  if (shouldUseReactiveContent(this.props)) {
54
- // Use reactive content
55
- this.displayContent$ = this.contentHelper.resolveContent(this.props);
53
+ // Use reactive content with LangService
54
+ const config = extractContentConfig(this.props);
55
+ this.displayContent$ = this.langService.getContent(config.className, config.key, config.fallback);
56
56
  }
57
57
  else {
58
58
  // Convert static content to Observable
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
97
97
  }], ctorParameters: () => [], propDecorators: { props: [{
98
98
  type: Input
99
99
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFFTCw0QkFBNEIsRUFDNUIsd0JBQXdCLEdBQ3pCLE1BQU0sd0NBQXdDLENBQUM7OztBQXlCaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBbUJ6QjtRQUxRLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBS2pDLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZFLGdFQUFnRTtRQUNoRSxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pDLHVCQUF1QjtZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQXVCLENBQUM7UUFDN0YsQ0FBQzthQUFNLENBQUM7WUFDTix1Q0FBdUM7WUFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDOytHQWpDVSxjQUFjO21HQUFkLGNBQWMsaUdBdkRmOzs7Ozs7Ozs7Ozs7OztHQWNULHdzR0FmUyxZQUFZLGtMQUFFLE9BQU87OzRGQXdEcEIsY0FBYztrQkEzRDFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLFlBQ2pDOzs7Ozs7Ozs7Ozs7OztHQWNULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNO3dEQW1EL0MsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25UZXh0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50Q29udGVudEhlbHBlcixcbiAgY3JlYXRlQ29tcG9uZW50Q29udGVudEhlbHBlcixcbiAgc2hvdWxkVXNlUmVhY3RpdmVDb250ZW50LFxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvcmVhY3RpdmUtY29udGVudCc7XG5pbXBvcnQgeyBUaXRsZU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC10aXRsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvblRleHQsIEFzeW5jUGlwZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10ZXh0IFtjb2xvcl09XCJwcm9wcy5jb2xvclwiPlxuICAgICAgQGlmICghcHJvcHMuYm9sZCkge1xuICAgICAgICA8cCBbbmdDbGFzc109XCJbcHJvcHMuc2l6ZV1cIiBbY2xhc3MudGhpbl09XCJwcm9wcy50aGluXCI+XG4gICAgICAgICAge3sgZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfX1cbiAgICAgICAgPC9wPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxiPlxuICAgICAgICAgIDxwIFtjbGFzc109XCJwcm9wcy5zaXplXCI+XG4gICAgICAgICAgICB7eyBkaXNwbGF5Q29udGVudCQgfCBhc3luYyB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9iPlxuICAgICAgfVxuICAgIDwvaW9uLXRleHQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3RpdGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbi8qKlxuICogdmFsLXRpdGxlXG4gKlxuICogQSBzdHlsZWQgdGl0bGUgb3IgaGVhZGluZywgd2l0aCBvcHRpb25zIGZvciBzaXplLCBjb2xvciwgYW5kIGJvbGRuZXNzLlxuICogU3VwcG9ydHMgYm90aCBzdGF0aWMgY29udGVudCBhbmQgcmVhY3RpdmUgY29udGVudCBmcm9tIHRoZSBsYW5ndWFnZSBzZXJ2aWNlLlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyBjb250ZW50OlxuICogYGBgaHRtbFxuICogPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiAnTXkgVGl0bGUnLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJ3ByaW1hcnknLCBib2xkOiB0cnVlIH1cIj48L3ZhbC10aXRsZT5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRpdGxlIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRlbnRDb25maWc6IHsga2V5OiAncGFnZVRpdGxlJywgZmFsbGJhY2s6ICdEZWZhdWx0IFRpdGxlJyB9LFxuICogICBzaXplOiAnbGFyZ2UnLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBib2xkOiB0cnVlXG4gKiB9XCI+PC92YWwtdGl0bGU+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBSZWFjdGl2ZSBjb250ZW50IHdpdGggaW50ZXJwb2xhdGlvbjpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGl0bGUgW3Byb3BzXT1cIntcbiAqICAgY29udGVudENvbmZpZzoge1xuICogICAgIGtleTogJ3dlbGNvbWVUaXRsZScsXG4gKiAgICAgaW50ZXJwb2xhdGlvbjogeyBuYW1lOiAnSm9obicgfSxcbiAqICAgICBmYWxsYmFjazogJ1dlbGNvbWUhJ1xuICogICB9LFxuICogICBzaXplOiAnbGFyZ2UnLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBib2xkOiB0cnVlXG4gKiB9XCI+PC92YWwtdGl0bGU+XG4gKiBgYGBcbiAqXG4gKiBAaW5wdXQgcHJvcHM6IFRpdGxlTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgdGl0bGUgKGNvbnRlbnQsIGNvbG9yLCBzaXplLCBib2xkLCB0aGluKVxuICovXG5leHBvcnQgY2xhc3MgVGl0bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGl0bGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtUaXRsZU1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udGVudCAtIFN0YXRpYyB0aXRsZSB0ZXh0ICh0YWtlcyBwcmVjZWRlbmNlIG92ZXIgcmVhY3RpdmUgY29udGVudCkuXG4gICAqIEBwcm9wZXJ0eSBjb250ZW50Q29uZmlnIC0gUmVhY3RpdmUgY29udGVudCBjb25maWd1cmF0aW9uLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgdGl0bGUgY29sb3IgKElvbmljIGNvbG9yIHN0cmluZykuXG4gICAqIEBwcm9wZXJ0eSBzaXplIC0gVGhlIHRpdGxlIHNpemUgKCdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJykuXG4gICAqIEBwcm9wZXJ0eSBib2xkIC0gV2hldGhlciB0aGUgdGl0bGUgaXMgYm9sZC5cbiAgICogQHByb3BlcnR5IHRoaW4gLSBXaGV0aGVyIHRoZSB0aXRsZSBpcyB0aGluIChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm9wczogVGl0bGVNZXRhZGF0YTtcblxuICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlID0gaW5qZWN0KENvbnRlbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjb250ZW50SGVscGVyOiBDb21wb25lbnRDb250ZW50SGVscGVyO1xuXG4gIGRpc3BsYXlDb250ZW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbnRlbnRIZWxwZXIgPSBjcmVhdGVDb21wb25lbnRDb250ZW50SGVscGVyKHRoaXMuY29udGVudFNlcnZpY2UpO1xuXG4gICAgLy8gQWx3YXlzIGNvbnZlcnQgdG8gT2JzZXJ2YWJsZSBmb3IgY29uc2lzdGVudCB0ZW1wbGF0ZSBoYW5kbGluZ1xuICAgIGlmIChzaG91bGRVc2VSZWFjdGl2ZUNvbnRlbnQodGhpcy5wcm9wcykpIHtcbiAgICAgIC8vIFVzZSByZWFjdGl2ZSBjb250ZW50XG4gICAgICB0aGlzLmRpc3BsYXlDb250ZW50JCA9IHRoaXMuY29udGVudEhlbHBlci5yZXNvbHZlQ29udGVudCh0aGlzLnByb3BzKSBhcyBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENvbnZlcnQgc3RhdGljIGNvbnRlbnQgdG8gT2JzZXJ2YWJsZVxuICAgICAgY29uc3Qgc3RhdGljQ29udGVudCA9IHRoaXMucHJvcHMuY29udGVudCB8fCAnJztcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gb2Yoc3RhdGljQ29udGVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUF5QnRHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQWtCekI7UUFKUSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUkzQixDQUFDO0lBRWhCLFFBQVE7UUFDTixnRUFBZ0U7UUFDaEUsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6Qyx3Q0FBd0M7WUFDeEMsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRyxDQUFDO2FBQU0sQ0FBQztZQUNOLHVDQUF1QztZQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7K0dBL0JVLGNBQWM7bUdBQWQsY0FBYyxpR0F2RGY7Ozs7Ozs7Ozs7Ozs7O0dBY1Qsd3NHQWZTLFlBQVksa0xBQUUsT0FBTzs7NEZBd0RwQixjQUFjO2tCQTNEMUIsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsWUFDakM7Ozs7Ozs7Ozs7Ozs7O0dBY1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07d0RBbUQvQyxLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvbGFuZy1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IGV4dHJhY3RDb250ZW50Q29uZmlnLCBzaG91bGRVc2VSZWFjdGl2ZUNvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc2ltcGxlLWNvbnRlbnQnO1xuaW1wb3J0IHsgVGl0bGVNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGl0bGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25UZXh0LCBBc3luY1BpcGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tdGV4dCBbY29sb3JdPVwicHJvcHMuY29sb3JcIj5cbiAgICAgIEBpZiAoIXByb3BzLmJvbGQpIHtcbiAgICAgICAgPHAgW25nQ2xhc3NdPVwiW3Byb3BzLnNpemVdXCIgW2NsYXNzLnRoaW5dPVwicHJvcHMudGhpblwiPlxuICAgICAgICAgIHt7IGRpc3BsYXlDb250ZW50JCB8IGFzeW5jIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8Yj5cbiAgICAgICAgICA8cCBbY2xhc3NdPVwicHJvcHMuc2l6ZVwiPlxuICAgICAgICAgICAge3sgZGlzcGxheUNvbnRlbnQkIHwgYXN5bmMgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvYj5cbiAgICAgIH1cbiAgICA8L2lvbi10ZXh0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90aXRsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG4vKipcbiAqIHZhbC10aXRsZVxuICpcbiAqIEEgc3R5bGVkIHRpdGxlIG9yIGhlYWRpbmcsIHdpdGggb3B0aW9ucyBmb3Igc2l6ZSwgY29sb3IsIGFuZCBib2xkbmVzcy5cbiAqIFN1cHBvcnRzIGJvdGggc3RhdGljIGNvbnRlbnQgYW5kIHJlYWN0aXZlIGNvbnRlbnQgZnJvbSB0aGUgbGFuZ3VhZ2Ugc2VydmljZS5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgY29udGVudDpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogJ015IFRpdGxlJywgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICdwcmltYXJ5JywgYm9sZDogdHJ1ZSB9XCI+PC92YWwtdGl0bGU+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBSZWFjdGl2ZSBjb250ZW50OlxuICogYGBgaHRtbFxuICogPHZhbC10aXRsZSBbcHJvcHNdPVwie1xuICogICBjb250ZW50Q29uZmlnOiB7IGtleTogJ3BhZ2VUaXRsZScsIGZhbGxiYWNrOiAnRGVmYXVsdCBUaXRsZScgfSxcbiAqICAgc2l6ZTogJ2xhcmdlJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgYm9sZDogdHJ1ZVxuICogfVwiPjwvdmFsLXRpdGxlPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgUmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb246XG4gKiBgYGBodG1sXG4gKiA8dmFsLXRpdGxlIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRlbnRDb25maWc6IHtcbiAqICAgICBrZXk6ICd3ZWxjb21lVGl0bGUnLFxuICogICAgIGludGVycG9sYXRpb246IHsgbmFtZTogJ0pvaG4nIH0sXG4gKiAgICAgZmFsbGJhY2s6ICdXZWxjb21lISdcbiAqICAgfSxcbiAqICAgc2l6ZTogJ2xhcmdlJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgYm9sZDogdHJ1ZVxuICogfVwiPjwvdmFsLXRpdGxlPlxuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBUaXRsZU1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHRpdGxlIChjb250ZW50LCBjb2xvciwgc2l6ZSwgYm9sZCwgdGhpbilcbiAqL1xuZXhwb3J0IGNsYXNzIFRpdGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRpdGxlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7VGl0bGVNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRlbnQgLSBTdGF0aWMgdGl0bGUgdGV4dCAodGFrZXMgcHJlY2VkZW5jZSBvdmVyIHJlYWN0aXZlIGNvbnRlbnQpLlxuICAgKiBAcHJvcGVydHkgY29udGVudENvbmZpZyAtIFJlYWN0aXZlIGNvbnRlbnQgY29uZmlndXJhdGlvbi5cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHRpdGxlIGNvbG9yIChJb25pYyBjb2xvciBzdHJpbmcpLlxuICAgKiBAcHJvcGVydHkgc2l6ZSAtIFRoZSB0aXRsZSBzaXplICgnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZScpLlxuICAgKiBAcHJvcGVydHkgYm9sZCAtIFdoZXRoZXIgdGhlIHRpdGxlIGlzIGJvbGQuXG4gICAqIEBwcm9wZXJ0eSB0aGluIC0gV2hldGhlciB0aGUgdGl0bGUgaXMgdGhpbiAob3B0aW9uYWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHM6IFRpdGxlTWV0YWRhdGE7XG5cbiAgcHJpdmF0ZSBsYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgZGlzcGxheUNvbnRlbnQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEFsd2F5cyBjb252ZXJ0IHRvIE9ic2VydmFibGUgZm9yIGNvbnNpc3RlbnQgdGVtcGxhdGUgaGFuZGxpbmdcbiAgICBpZiAoc2hvdWxkVXNlUmVhY3RpdmVDb250ZW50KHRoaXMucHJvcHMpKSB7XG4gICAgICAvLyBVc2UgcmVhY3RpdmUgY29udGVudCB3aXRoIExhbmdTZXJ2aWNlXG4gICAgICBjb25zdCBjb25maWcgPSBleHRyYWN0Q29udGVudENvbmZpZyh0aGlzLnByb3BzKTtcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gdGhpcy5sYW5nU2VydmljZS5nZXRDb250ZW50KGNvbmZpZy5jbGFzc05hbWUsIGNvbmZpZy5rZXksIGNvbmZpZy5mYWxsYmFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENvbnZlcnQgc3RhdGljIGNvbnRlbnQgdG8gT2JzZXJ2YWJsZVxuICAgICAgY29uc3Qgc3RhdGljQ29udGVudCA9IHRoaXMucHJvcHMuY29udGVudCB8fCAnJztcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRlbnQkID0gb2Yoc3RhdGljQ29udGVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -17,7 +17,11 @@
17
17
  * ```typescript
18
18
  * const props = createTitleProps(
19
19
  * { size: 'large', color: 'primary', bold: true },
20
- * { contentConfig: { key: 'pageTitle', fallback: 'Default Title' } }
20
+ * {
21
+ * contentKey: 'pageTitle',
22
+ * contentClass: 'MyComponent',
23
+ * contentFallback: 'Default Title'
24
+ * }
21
25
  * );
22
26
  * ```
23
27
  */
@@ -27,4 +31,4 @@ export function createTitleProps(styleConfig, contentConfig) {
27
31
  ...contentConfig,
28
32
  };
29
33
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3RpdGxlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsV0FBb0UsRUFDcEUsYUFBK0Q7SUFFL0QsT0FBTztRQUNMLEdBQUcsV0FBVztRQUNkLEdBQUcsYUFBYTtLQUNqQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVUZXh0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvcmVhY3RpdmUtY29udGVudCc7XG5cbi8qKlxuICogUHJvcHMgZm9yIHZhbC10aXRsZSBjb21wb25lbnQuXG4gKiBTdXBwb3J0cyBib3RoIHN0YXRpYyBjb250ZW50IGFuZCByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGxhbmd1YWdlIHNlcnZpY2UuXG4gKlxuICogQHByb3BlcnR5IGNvbnRlbnQgLSBTdGF0aWMgdGl0bGUgdGV4dCB0byBkaXNwbGF5ICh0YWtlcyBwcmVjZWRlbmNlIG92ZXIgcmVhY3RpdmUgY29udGVudCkuXG4gKiBAcHJvcGVydHkgY29udGVudENvbmZpZyAtIFJlYWN0aXZlIGNvbnRlbnQgY29uZmlndXJhdGlvbiAodXNlZCB3aGVuIGNvbnRlbnQgaXMgbm90IHByb3ZpZGVkKS5cbiAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSB0aXRsZSBjb2xvciAoSW9uaWMgY29sb3Igc3RyaW5nKS5cbiAqIEBwcm9wZXJ0eSBzaXplIC0gVGhlIHRpdGxlIHNpemUgKCdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJykuXG4gKiBAcHJvcGVydHkgYm9sZCAtIFdoZXRoZXIgdGhlIHRpdGxlIGlzIGJvbGQuXG4gKiBAcHJvcGVydHkgdGhpbiAtIFdoZXRoZXIgdGhlIHRpdGxlIGlzIHRoaW4gKG9wdGlvbmFsKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaXRsZU1ldGFkYXRhIGV4dGVuZHMgUmVhY3RpdmVUZXh0TWV0YWRhdGEge1xuICBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG4gIGNvbG9yOiBDb2xvcjtcbiAgYm9sZDogYm9vbGVhbjtcbiAgdGhpbj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgdGl0bGUgcHJvcHMgd2l0aCByZWFjdGl2ZSBjb250ZW50IHN1cHBvcnQuXG4gKlxuICogQHBhcmFtIHN0eWxlQ29uZmlnIC0gVGl0bGUgc3R5bGluZyBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0gY29udGVudENvbmZpZyAtIENvbnRlbnQgY29uZmlndXJhdGlvbiAoc3RhdGljIG9yIHJlYWN0aXZlKVxuICogQHJldHVybnMgQ29tcGxldGUgVGl0bGVNZXRhZGF0YSBvYmplY3RcbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgY29udGVudDpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHByb3BzID0gY3JlYXRlVGl0bGVQcm9wcyhcbiAqICAgeyBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJ3ByaW1hcnknLCBib2xkOiB0cnVlIH0sXG4gKiAgIHsgY29udGVudDogJ1N0YXRpYyBUaXRsZScgfVxuICogKTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcm9wcyA9IGNyZWF0ZVRpdGxlUHJvcHMoXG4gKiAgIHsgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICdwcmltYXJ5JywgYm9sZDogdHJ1ZSB9LFxuICogICB7IGNvbnRlbnRDb25maWc6IHsga2V5OiAncGFnZVRpdGxlJywgZmFsbGJhY2s6ICdEZWZhdWx0IFRpdGxlJyB9IH1cbiAqICk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRpdGxlUHJvcHMoXG4gIHN0eWxlQ29uZmlnOiBQaWNrPFRpdGxlTWV0YWRhdGEsICdzaXplJyB8ICdjb2xvcicgfCAnYm9sZCcgfCAndGhpbic+LFxuICBjb250ZW50Q29uZmlnOiBQaWNrPFRpdGxlTWV0YWRhdGEsICdjb250ZW50JyB8ICdjb250ZW50Q29uZmlnJz5cbik6IFRpdGxlTWV0YWRhdGEge1xuICByZXR1cm4ge1xuICAgIC4uLnN0eWxlQ29uZmlnLFxuICAgIC4uLmNvbnRlbnRDb25maWcsXG4gIH07XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3RpdGxlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLFdBQW9FLEVBQ3BFLGFBQWlHO0lBRWpHLE9BQU87UUFDTCxHQUFHLFdBQVc7UUFDZCxHQUFHLGFBQWE7S0FDakIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlVGV4dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3NpbXBsZS1jb250ZW50JztcblxuLyoqXG4gKiBQcm9wcyBmb3IgdmFsLXRpdGxlIGNvbXBvbmVudC5cbiAqIFN1cHBvcnRzIGJvdGggc3RhdGljIGNvbnRlbnQgYW5kIHJlYWN0aXZlIGNvbnRlbnQgZnJvbSB0aGUgbGFuZ3VhZ2Ugc2VydmljZS5cbiAqXG4gKiBAcHJvcGVydHkgY29udGVudCAtIFN0YXRpYyB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgKHRha2VzIHByZWNlZGVuY2Ugb3ZlciByZWFjdGl2ZSBjb250ZW50KS5cbiAqIEBwcm9wZXJ0eSBjb250ZW50S2V5IC0gQ29udGVudCBrZXkgZm9yIHJlYWN0aXZlIGNvbnRlbnQgbG9va3VwLlxuICogQHByb3BlcnR5IGNvbnRlbnRDbGFzcyAtIENvbXBvbmVudCBjbGFzcyBuYW1lIGZvciBjb250ZW50IGxvb2t1cC5cbiAqIEBwcm9wZXJ0eSBjb250ZW50RmFsbGJhY2sgLSBGYWxsYmFjayB0ZXh0IGlmIGNvbnRlbnQgaXMgbm90IGZvdW5kLlxuICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIHRpdGxlIGNvbG9yIChJb25pYyBjb2xvciBzdHJpbmcpLlxuICogQHByb3BlcnR5IHNpemUgLSBUaGUgdGl0bGUgc2l6ZSAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnKS5cbiAqIEBwcm9wZXJ0eSBib2xkIC0gV2hldGhlciB0aGUgdGl0bGUgaXMgYm9sZC5cbiAqIEBwcm9wZXJ0eSB0aGluIC0gV2hldGhlciB0aGUgdGl0bGUgaXMgdGhpbiAob3B0aW9uYWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpdGxlTWV0YWRhdGEgZXh0ZW5kcyBSZWFjdGl2ZVRleHRNZXRhZGF0YSB7XG4gIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbiAgY29sb3I6IENvbG9yO1xuICBib2xkOiBib29sZWFuO1xuICB0aGluPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aXRsZSBwcm9wcyB3aXRoIHJlYWN0aXZlIGNvbnRlbnQgc3VwcG9ydC5cbiAqXG4gKiBAcGFyYW0gc3R5bGVDb25maWcgLSBUaXRsZSBzdHlsaW5nIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBjb250ZW50Q29uZmlnIC0gQ29udGVudCBjb25maWd1cmF0aW9uIChzdGF0aWMgb3IgcmVhY3RpdmUpXG4gKiBAcmV0dXJucyBDb21wbGV0ZSBUaXRsZU1ldGFkYXRhIG9iamVjdFxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyBjb250ZW50OlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJvcHMgPSBjcmVhdGVUaXRsZVByb3BzKFxuICogICB7IHNpemU6ICdsYXJnZScsIGNvbG9yOiAncHJpbWFyeScsIGJvbGQ6IHRydWUgfSxcbiAqICAgeyBjb250ZW50OiAnU3RhdGljIFRpdGxlJyB9XG4gKiApO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGUgUmVhY3RpdmUgY29udGVudDpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHByb3BzID0gY3JlYXRlVGl0bGVQcm9wcyhcbiAqICAgeyBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJ3ByaW1hcnknLCBib2xkOiB0cnVlIH0sXG4gKiAgIHtcbiAqICAgICBjb250ZW50S2V5OiAncGFnZVRpdGxlJyxcbiAqICAgICBjb250ZW50Q2xhc3M6ICdNeUNvbXBvbmVudCcsXG4gKiAgICAgY29udGVudEZhbGxiYWNrOiAnRGVmYXVsdCBUaXRsZSdcbiAqICAgfVxuICogKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGl0bGVQcm9wcyhcbiAgc3R5bGVDb25maWc6IFBpY2s8VGl0bGVNZXRhZGF0YSwgJ3NpemUnIHwgJ2NvbG9yJyB8ICdib2xkJyB8ICd0aGluJz4sXG4gIGNvbnRlbnRDb25maWc6IFBpY2s8VGl0bGVNZXRhZGF0YSwgJ2NvbnRlbnQnIHwgJ2NvbnRlbnRLZXknIHwgJ2NvbnRlbnRDbGFzcycgfCAnY29udGVudEZhbGxiYWNrJz5cbik6IFRpdGxlTWV0YWRhdGEge1xuICByZXR1cm4ge1xuICAgIC4uLnN0eWxlQ29uZmlnLFxuICAgIC4uLmNvbnRlbnRDb25maWcsXG4gIH07XG59XG4iXX0=