valtech-components 2.0.283 → 2.0.286

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.
@@ -63,14 +63,52 @@ export class CustomContentDemoComponent {
63
63
  this.saveTextSync = this.content.getText('save');
64
64
  // Tu contenido global personalizado
65
65
  this.dashboardTextSync = this.content.getText('dashboard');
66
- // Contenido específico del componente
67
- this.languageDescSync = this.content.getText('Language', 'description');
66
+ // Contenido específico del componente - SOLUCIÓN TEMPORAL
67
+ // En lugar de usar getText, acceder directamente
68
+ try {
69
+ const langService = this.content.langService;
70
+ const languageContent = langService.content['Language'];
71
+ const currentLang = langService.selectedLang?.value || 'es';
72
+ const classContent = languageContent?.Content?.[currentLang];
73
+ this.languageDescSync = classContent?.['description'] || 'No encontrado';
74
+ }
75
+ catch (error) {
76
+ this.languageDescSync = `Error: ${error}`;
77
+ }
68
78
  }
69
79
  diagnoseConfiguration() {
70
80
  console.log('=== DIAGNÓSTICO DE CONFIGURACIÓN ===');
71
81
  // Verificar acceso directo al servicio
72
82
  console.log('ContentService available:', !!this.content);
73
83
  console.log('Current language:', this.content.currentLang);
84
+ // 🔍 Diagnóstico detallado del contenido Language
85
+ console.log('\n--- DIAGNÓSTICO DETALLADO LANGUAGE ---');
86
+ try {
87
+ // Acceder directamente al LangService
88
+ const langService = this.content.langService;
89
+ console.log('LangService available:', !!langService);
90
+ // Verificar si existe el contenido Language
91
+ const languageContent = langService.content['Language'];
92
+ console.log('Language content exists:', !!languageContent);
93
+ if (languageContent) {
94
+ console.log('Language content structure:', languageContent);
95
+ console.log('Language content.Content:', languageContent.Content);
96
+ // Verificar contenido en español
97
+ const esContent = languageContent.Content?.es;
98
+ console.log('ES content:', esContent);
99
+ console.log('ES description:', esContent?.description);
100
+ // Verificar contenido en inglés
101
+ const enContent = languageContent.Content?.en;
102
+ console.log('EN content:', enContent);
103
+ console.log('EN description:', enContent?.description);
104
+ }
105
+ // Verificar current lang
106
+ const currentLang = langService.selectedLang?.value;
107
+ console.log('Current selected language:', currentLang);
108
+ }
109
+ catch (error) {
110
+ console.log('❌ Error accessing LangService:', error);
111
+ }
74
112
  // Intentar acceso síncrono a contenido global predefinido
75
113
  try {
76
114
  const saveText = this.content.getText('save');
@@ -91,6 +129,14 @@ export class CustomContentDemoComponent {
91
129
  try {
92
130
  const spanishText = this.content.getText('Language', 'spanish');
93
131
  console.log('✅ Componente Language (spanish):', spanishText);
132
+ // 🔍 Debug paso a paso para spanish
133
+ const langService = this.content.langService;
134
+ const languageContent = langService.content['Language'];
135
+ const currentLang = langService.selectedLang?.value;
136
+ const classContent = languageContent?.Content[currentLang];
137
+ console.log('🔍 Debug spanish - currentLang:', currentLang);
138
+ console.log('🔍 Debug spanish - classContent:', classContent);
139
+ console.log('🔍 Debug spanish - classContent["spanish"]:', classContent?.['spanish']);
94
140
  }
95
141
  catch (error) {
96
142
  console.log('❌ Error componente Language (spanish):', error);
@@ -99,6 +145,14 @@ export class CustomContentDemoComponent {
99
145
  try {
100
146
  const descriptionText = this.content.getText('Language', 'description');
101
147
  console.log('✅ Componente Language (description):', descriptionText);
148
+ // 🔍 Debug paso a paso para description
149
+ const langService = this.content.langService;
150
+ const languageContent = langService.content['Language'];
151
+ const currentLang = langService.selectedLang?.value;
152
+ const classContent = languageContent?.Content[currentLang];
153
+ console.log('🔍 Debug description - currentLang:', currentLang);
154
+ console.log('🔍 Debug description - classContent:', classContent);
155
+ console.log('🔍 Debug description - classContent["description"]:', classContent?.['description']);
102
156
  }
103
157
  catch (error) {
104
158
  console.log('❌ Error componente Language (description):', error);
@@ -234,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
234
288
  `,
235
289
  }]
236
290
  }] });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbnRlbnQtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL19leGFtcGxlcy9jdXN0b20tY29udGVudC1kZW1vLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osT0FBTyxFQUNQLFFBQVEsR0FDVCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQW1FaEUsTUFBTSxPQUFPLDBCQUEwQjtJQWpFdkM7UUFrRVUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6QyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQiwrQ0FBK0M7UUFDL0MsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxD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RUFBRSxhQUFhLENBQUMsQ0FBQztZQUN4RSxPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQzsrR0EvR1UsMEJBQTBCO21HQUExQiwwQkFBMEIsbUZBN0QzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQsMkRBNURTLFlBQVksb0ZBQUUsT0FBTyx5TEFBRSxjQUFjLCtFQUFFLGFBQWEsc0dBQUUsWUFBWSxzRkFBRSxTQUFTLG9QQUFFLE9BQU8sME5BQUUsUUFBUTs7NEZBOEQvRiwwQkFBMEI7a0JBakV0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO29CQUMzRyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElvbkJ1dHRvbixcbiAgSW9uQ2FyZCxcbiAgSW9uQ2FyZENvbnRlbnQsXG4gIElvbkNhcmRIZWFkZXIsXG4gIElvbkNhcmRUaXRsZSxcbiAgSW9uSXRlbSxcbiAgSW9uTGFiZWwsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ09wdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWNvbnRlbnQtZGVtbycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkNhcmQsIElvbkNhcmRDb250ZW50LCBJb25DYXJkSGVhZGVyLCBJb25DYXJkVGl0bGUsIElvbkJ1dHRvbiwgSW9uSXRlbSwgSW9uTGFiZWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tY2FyZD5cbiAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgIDxpb24tY2FyZC10aXRsZT5EZW1vIGRlIENvbnRlbmlkbyBQZXJzb25hbGl6YWRvPC9pb24tY2FyZC10aXRsZT5cbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuXG4gICAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgPCEtLSBDb250ZW5pZG8gZ2xvYmFsIHByZWRlZmluaWRvIC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIj5cbiAgICAgICAgICA8aDM+Q29udGVuaWRvIEdsb2JhbCBQcmVkZWZpbmlkbzo8L2gzPlxuICAgICAgICAgIDxpb24tYnV0dG9uPnt7IHNhdmVUZXh0JCB8IGFzeW5jIH19PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwibWVkaXVtXCI+e3sgY2FuY2VsVGV4dCQgfCBhc3luYyB9fTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiPnt7IGRlbGV0ZVRleHQkIHwgYXN5bmMgfX08L2lvbi1idXR0b24+XG4gICAgICAgICAgPHA+PHN0cm9uZz5Fc3RhZG86PC9zdHJvbmc+IHt7IGxvYWRpbmdUZXh0JCB8IGFzeW5jIH19PC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFR1IGNvbnRlbmlkbyBnbG9iYWwgcGVyc29uYWxpemFkbyAtLT5cbiAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDIwcHg7XCI+XG4gICAgICAgICAgPGgzPlR1IENvbnRlbmlkbyBHbG9iYWwgUGVyc29uYWxpemFkbzo8L2gzPlxuICAgICAgICAgIDxwPjxzdHJvbmc+U2VjY2nDs246PC9zdHJvbmc+IHt7IGRhc2hib2FyZFRleHQkIHwgYXN5bmMgfX08L3A+XG4gICAgICAgICAgPHA+PHN0cm9uZz5Vc3VhcmlvOjwvc3Ryb25nPiB7eyBwcm9maWxlVGV4dCQgfCBhc3luYyB9fTwvcD5cbiAgICAgICAgICA8cD48c3Ryb25nPkNvbmZpZzo8L3N0cm9uZz4ge3sgc2V0dGluZ3NUZXh0JCB8IGFzeW5jIH19PC9wPlxuICAgICAgICAgIDxwPnt7IHdlbGNvbWVUZXh0JCB8IGFzeW5jIH19PC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIENvbnRlbmlkbyBlc3BlY8OtZmljbyBkZWwgY29tcG9uZW50ZSBMYW5ndWFnZSAtLT5cbiAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDIwcHg7XCI+XG4gICAgICAgICAgPGgzPkNvbnRlbmlkbyBkZWwgQ29tcG9uZW50ZSBMYW5ndWFnZTo8L2gzPlxuICAgICAgICAgIDxpb24taXRlbT5cbiAgICAgICAgICAgIDxpb24tbGFiZWw+IDxzdHJvbmc+RXNwYcOxb2w6PC9zdHJvbmc+IHt7IHNwYW5pc2hUZXh0JCB8IGFzeW5jIH19IDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD4gPHN0cm9uZz5Jbmdsw6lzOjwvc3Ryb25nPiB7eyBlbmdsaXNoVGV4dCQgfCBhc3luYyB9fSA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPGVtPnt7IGRlc2NyaXB0aW9uVGV4dCQgfCBhc3luYyB9fTwvZW0+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEJvdMOzbiBwYXJhIGNhbWJpYXIgaWRpb21hIC0tPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxoMz5Db250cm9sIGRlIElkaW9tYTo8L2gzPlxuICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJzd2l0Y2hMYW5ndWFnZSgpXCIgY29sb3I9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICAgIENhbWJpYXIgYSB7eyBjdXJyZW50TGFuZyA9PT0gJ2VzJyA/ICdFbmdsaXNoJyA6ICdFc3Bhw7FvbCcgfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c21hbGw+SWRpb21hIGFjdHVhbDoge3sgY3VycmVudExhbmcgfX08L3NtYWxsPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBEZWJ1ZyBpbmZvIC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDsgcGFkZGluZzogMTBweDsgYmFja2dyb3VuZDogI2Y1ZjVmNTsgYm9yZGVyLXJhZGl1czogNHB4O1wiPlxuICAgICAgICAgIDxoND5EZWJ1ZyBJbmZvOjwvaDQ+XG4gICAgICAgICAgPHA+PHN0cm9uZz5TYXZlIChzeW5jKTo8L3N0cm9uZz4ge3sgc2F2ZVRleHRTeW5jIH19PC9wPlxuICAgICAgICAgIDxwPjxzdHJvbmc+RGFzaGJvYXJkIChzeW5jKTo8L3N0cm9uZz4ge3sgZGFzaGJvYXJkVGV4dFN5bmMgfX08L3A+XG4gICAgICAgICAgPHA+PHN0cm9uZz5MYW5ndWFnZSBEZXNjcmlwdGlvbiAoc3luYyk6PC9zdHJvbmc+IHt7IGxhbmd1YWdlRGVzY1N5bmMgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgIDwvaW9uLWNhcmQ+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbnRlbnREZW1vQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBjb250ZW50ID0gaW5qZWN0KENvbnRlbnRTZXJ2aWNlKTtcblxuICBjdXJyZW50TGFuZyA9ICdlcyc7XG5cbiAgLy8gQ29udGVuaWRvIGdsb2JhbCBwcmVkZWZpbmlkbyAoc2luIGNsYXNzTmFtZSlcbiAgc2F2ZVRleHQkID0gdGhpcy5jb250ZW50LmZyb21Db250ZW50KHsga2V5OiAnc2F2ZScgfSk7XG4gIGNhbmNlbFRleHQkID0gdGhpcy5jb250ZW50LmZyb21Db250ZW50KHsga2V5OiAnY2FuY2VsJyB9KTtcbiAgZGVsZXRlVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdkZWxldGUnIH0pO1xuICBsb2FkaW5nVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdsb2FkaW5nJyB9KTtcblxuICAvLyBUdSBjb250ZW5pZG8gZ2xvYmFsIHBlcnNvbmFsaXphZG8gKHNpbiBjbGFzc05hbWUpXG4gIGRhc2hib2FyZFRleHQkID0gdGhpcy5jb250ZW50LmZyb21Db250ZW50KHsga2V5OiAnZGFzaGJvYXJkJyB9KTtcbiAgcHJvZmlsZVRleHQkID0gdGhpcy5jb250ZW50LmZyb21Db250ZW50KHsga2V5OiAncHJvZmlsZScgfSk7XG4gIHNldHRpbmdzVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdzZXR0aW5ncycgfSk7XG4gIHdlbGNvbWVUZXh0JCA9IHRoaXMuY29udGVudC5mcm9tQ29udGVudCh7XG4gICAga2V5OiAnd2VsY29tZScsXG4gICAgaW50ZXJwb2xhdGlvbjogeyBhcHBOYW1lOiAnTWkgQXBsaWNhY2nDs24nIH0sXG4gIH0pO1xuXG4gIC8vIENvbnRlbmlkbyBlc3BlY8OtZmljbyBkZWwgY29tcG9uZW50ZSBMYW5ndWFnZSAoY29uIGNsYXNzTmFtZSlcbiAgc3BhbmlzaFRleHQkID0gdGhpcy5jb250ZW50LmZyb21Db250ZW50KHtcbiAgICBjbGFzc05hbWU6ICdMYW5ndWFnZScsXG4gICAga2V5OiAnc3BhbmlzaCcsXG4gIH0pO1xuICBlbmdsaXNoVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoe1xuICAgIGNsYXNzTmFtZTogJ0xhbmd1YWdlJyxcbiAgICBrZXk6ICdlbmdsaXNoJyxcbiAgfSk7XG4gIGRlc2NyaXB0aW9uVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoe1xuICAgIGNsYXNzTmFtZTogJ0xhbmd1YWdlJyxcbiAgICBrZXk6ICdkZXNjcmlwdGlvbicsXG4gIH0pO1xuXG4gIC8vIFBhcmEgZGVidWcgLSB0ZXh0byBzw61uY3Jvbm9cbiAgc2F2ZVRleHRTeW5jID0gJyc7XG4gIGRhc2hib2FyZFRleHRTeW5jID0gJyc7XG4gIGxhbmd1YWdlRGVzY1N5bmMgPSAnJztcblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBPYnRlbmVyIGlkaW9tYSBhY3R1YWxcbiAgICB0aGlzLmNvbnRlbnQuY3VycmVudExhbmckLnN1YnNjcmliZShsYW5nID0+IHtcbiAgICAgIHRoaXMuY3VycmVudExhbmcgPSBsYW5nO1xuICAgIH0pO1xuXG4gICAgLy8gT2J0ZW5lciB0ZXh0b3Mgc8OtbmNyb25vcyBwYXJhIGRlYnVnXG4gICAgdGhpcy51cGRhdGVTeW5jVGV4dHMoKTtcblxuICAgIC8vIPCflI0gRElBR07Dk1NUSUNPOiBWZXJpZmljYXIgY29uZmlndXJhY2nDs25cbiAgICB0aGlzLmRpYWdub3NlQ29uZmlndXJhdGlvbigpO1xuICB9XG5cbiAgc3dpdGNoTGFuZ3VhZ2UoKSB7XG4gICAgY29uc3QgbmV3TGFuZyA9IHRoaXMuY3VycmVudExhbmcgPT09ICdlcycgPyBMYW5nT3B0aW9uLkVOIDogTGFuZ09wdGlvbi5FUztcbiAgICB0aGlzLmNvbnRlbnQuc2V0TGFuZyhuZXdMYW5nKTtcblxuICAgIC8vIEFjdHVhbGl6YXIgdGV4dG9zIHPDrW5jcm9ub3MgZGVzcHXDqXMgZGVsIGNhbWJpb1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTeW5jVGV4dHMoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTeW5jVGV4dHMoKSB7XG4gICAgLy8gQ29udGVuaWRvIGdsb2JhbCBwcmVkZWZpbmlkb1xuICAgIHRoaXMuc2F2ZVRleHRTeW5jID0gdGhpcy5jb250ZW50LmdldFRleHQoJ3NhdmUnKTtcblxuICAgIC8vIFR1IGNvbnRlbmlkbyBnbG9iYWwgcGVyc29uYWxpemFkb1xuICAgIHRoaXMuZGFzaGJvYXJkVGV4dFN5bmMgPSB0aGlzLmNvbnRlbnQuZ2V0VGV4dCgnZGFzaGJvYXJkJyk7XG5cbiAgICAvLyBDb250ZW5pZG8gZXNwZWPDrWZpY28gZGVsIGNvbXBvbmVudGVcbiAgICB0aGlzLmxhbmd1YWdlRGVzY1N5bmMgPSB0aGlzLmNvbnRlbnQuZ2V0VGV4dCgnTGFuZ3VhZ2UnLCAnZGVzY3JpcHRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlhZ25vc2VDb25maWd1cmF0aW9uKCkge1xuICAgIGNvbnNvbGUubG9nKCc9PT0gRElBR07Dk1NUSUNPIERFIENPTkZJR1VSQUNJw5NOID09PScpO1xuXG4gICAgLy8gVmVyaWZpY2FyIGFjY2VzbyBkaXJlY3RvIGFsIHNlcnZpY2lvXG4gICAgY29uc29sZS5sb2coJ0NvbnRlbnRTZXJ2aWNlIGF2YWlsYWJsZTonLCAhIXRoaXMuY29udGVudCk7XG4gICAgY29uc29sZS5sb2coJ0N1cnJlbnQgbGFuZ3VhZ2U6JywgdGhpcy5jb250ZW50LmN1cnJlbnRMYW5nKTtcblxuICAgIC8vIEludGVudGFyIGFjY2VzbyBzw61uY3Jvbm8gYSBjb250ZW5pZG8gZ2xvYmFsIHByZWRlZmluaWRvXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNhdmVUZXh0ID0gdGhpcy5jb250ZW50LmdldFRleHQoJ3NhdmUnKTtcbiAgICAgIGNvbnNvbGUubG9nKCfinIUgR2xvYmFsIHByZWRlZmluaWRvIChzYXZlKTonLCBzYXZlVGV4dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCfinYwgRXJyb3IgZ2xvYmFsIHByZWRlZmluaWRvIChzYXZlKTonLCBlcnJvcik7XG4gICAgfVxuXG4gICAgLy8gSW50ZW50YXIgYWNjZXNvIHPDrW5jcm9ubyBhIGNvbnRlbmlkbyBnbG9iYWwgcGVyc29uYWxpemFkb1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXNoYm9hcmRUZXh0ID0gdGhpcy5jb250ZW50LmdldFRleHQoJ2Rhc2hib2FyZCcpO1xuICAgICAgY29uc29sZS5sb2coJ+KchSBHbG9iYWwgcGVyc29uYWxpemFkbyAoZGFzaGJvYXJkKTonLCBkYXNoYm9hcmRUZXh0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coJ+KdjCBFcnJvciBnbG9iYWwgcGVyc29uYWxpemFkbyAoZGFzaGJvYXJkKTonLCBlcnJvcik7XG4gICAgfVxuXG4gICAgLy8gSW50ZW50YXIgYWNjZXNvIHPDrW5jcm9ubyBhIGNvbnRlbmlkbyBkZSBjb21wb25lbnRlXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNwYW5pc2hUZXh0ID0gdGhpcy5jb250ZW50LmdldFRleHQoJ0xhbmd1YWdlJywgJ3NwYW5pc2gnKTtcbiAgICAgIGNvbnNvbGUubG9nKCfinIUgQ29tcG9uZW50ZSBMYW5ndWFnZSAoc3BhbmlzaCk6Jywgc3BhbmlzaFRleHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygn4p2MIEVycm9yIGNvbXBvbmVudGUgTGFuZ3VhZ2UgKHNwYW5pc2gpOicsIGVycm9yKTtcbiAgICB9XG5cbiAgICAvLyBJbnRlbnRhciBhY2Nlc28gc8OtbmNyb25vIGEgY29udGVuaWRvIGRlIGNvbXBvbmVudGVcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVzY3JpcHRpb25UZXh0ID0gdGhpcy5jb250ZW50LmdldFRleHQoJ0xhbmd1YWdlJywgJ2Rlc2NyaXB0aW9uJyk7XG4gICAgICBjb25zb2xlLmxvZygn4pyFIENvbXBvbmVudGUgTGFuZ3VhZ2UgKGRlc2NyaXB0aW9uKTonLCBkZXNjcmlwdGlvblRleHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygn4p2MIEVycm9yIGNvbXBvbmVudGUgTGFuZ3VhZ2UgKGRlc2NyaXB0aW9uKTonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbnRlbnQtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL19leGFtcGxlcy9jdXN0b20tY29udGVudC1kZW1vLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osT0FBTyxFQUNQLFFBQVEsR0FDVCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQW1FaEUsTUFBTSxPQUFPLDBCQUEwQjtJQWpFdkM7UUFrRVUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6QyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQiwrQ0FBK0M7UUFDL0MsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxD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QUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7b0JBQzNHLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25DYXJkLFxuICBJb25DYXJkQ29udGVudCxcbiAgSW9uQ2FyZEhlYWRlcixcbiAgSW9uQ2FyZFRpdGxlLFxuICBJb25JdGVtLFxuICBJb25MYWJlbCxcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBMYW5nT3B0aW9uIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGFuZy1wcm92aWRlci90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tY29udGVudC1kZW1vJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQ2FyZCwgSW9uQ2FyZENvbnRlbnQsIElvbkNhcmRIZWFkZXIsIElvbkNhcmRUaXRsZSwgSW9uQnV0dG9uLCBJb25JdGVtLCBJb25MYWJlbF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1jYXJkPlxuICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlPkRlbW8gZGUgQ29udGVuaWRvIFBlcnNvbmFsaXphZG88L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG5cbiAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICA8IS0tIENvbnRlbmlkbyBnbG9iYWwgcHJlZGVmaW5pZG8gLS0+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyMHB4O1wiPlxuICAgICAgICAgIDxoMz5Db250ZW5pZG8gR2xvYmFsIFByZWRlZmluaWRvOjwvaDM+XG4gICAgICAgICAgPGlvbi1idXR0b24+e3sgc2F2ZVRleHQkIHwgYXN5bmMgfX08L2lvbi1idXR0b24+XG4gICAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJtZWRpdW1cIj57eyBjYW5jZWxUZXh0JCB8IGFzeW5jIH19PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCI+e3sgZGVsZXRlVGV4dCQgfCBhc3luYyB9fTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8cD48c3Ryb25nPkVzdGFkbzo8L3N0cm9uZz4ge3sgbG9hZGluZ1RleHQkIHwgYXN5bmMgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gVHUgY29udGVuaWRvIGdsb2JhbCBwZXJzb25hbGl6YWRvIC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIj5cbiAgICAgICAgICA8aDM+VHUgQ29udGVuaWRvIEdsb2JhbCBQZXJzb25hbGl6YWRvOjwvaDM+XG4gICAgICAgICAgPHA+PHN0cm9uZz5TZWNjacOzbjo8L3N0cm9uZz4ge3sgZGFzaGJvYXJkVGV4dCQgfCBhc3luYyB9fTwvcD5cbiAgICAgICAgICA8cD48c3Ryb25nPlVzdWFyaW86PC9zdHJvbmc+IHt7IHByb2ZpbGVUZXh0JCB8IGFzeW5jIH19PC9wPlxuICAgICAgICAgIDxwPjxzdHJvbmc+Q29uZmlnOjwvc3Ryb25nPiB7eyBzZXR0aW5nc1RleHQkIHwgYXN5bmMgfX08L3A+XG4gICAgICAgICAgPHA+e3sgd2VsY29tZVRleHQkIHwgYXN5bmMgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQ29udGVuaWRvIGVzcGVjw61maWNvIGRlbCBjb21wb25lbnRlIExhbmd1YWdlIC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIj5cbiAgICAgICAgICA8aDM+Q29udGVuaWRvIGRlbCBDb21wb25lbnRlIExhbmd1YWdlOjwvaDM+XG4gICAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD4gPHN0cm9uZz5Fc3Bhw7FvbDo8L3N0cm9uZz4ge3sgc3BhbmlzaFRleHQkIHwgYXN5bmMgfX0gPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgICA8aW9uLWxhYmVsPiA8c3Ryb25nPkluZ2zDqXM6PC9zdHJvbmc+IHt7IGVuZ2xpc2hUZXh0JCB8IGFzeW5jIH19IDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8ZW0+e3sgZGVzY3JpcHRpb25UZXh0JCB8IGFzeW5jIH19PC9lbT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQm90w7NuIHBhcmEgY2FtYmlhciBpZGlvbWEgLS0+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgzPkNvbnRyb2wgZGUgSWRpb21hOjwvaDM+XG4gICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInN3aXRjaExhbmd1YWdlKClcIiBjb2xvcj1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgQ2FtYmlhciBhIHt7IGN1cnJlbnRMYW5nID09PSAnZXMnID8gJ0VuZ2xpc2gnIDogJ0VzcGHDsW9sJyB9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxzbWFsbD5JZGlvbWEgYWN0dWFsOiB7eyBjdXJyZW50TGFuZyB9fTwvc21hbGw+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIERlYnVnIGluZm8gLS0+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAyMHB4OyBwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kOiAjZjVmNWY1OyBib3JkZXItcmFkaXVzOiA0cHg7XCI+XG4gICAgICAgICAgPGg0PkRlYnVnIEluZm86PC9oND5cbiAgICAgICAgICA8cD48c3Ryb25nPlNhdmUgKHN5bmMpOjwvc3Ryb25nPiB7eyBzYXZlVGV4dFN5bmMgfX08L3A+XG4gICAgICAgICAgPHA+PHN0cm9uZz5EYXNoYm9hcmQgKHN5bmMpOjwvc3Ryb25nPiB7eyBkYXNoYm9hcmRUZXh0U3luYyB9fTwvcD5cbiAgICAgICAgICA8cD48c3Ryb25nPkxhbmd1YWdlIERlc2NyaXB0aW9uIChzeW5jKTo8L3N0cm9uZz4ge3sgbGFuZ3VhZ2VEZXNjU3luYyB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29udGVudERlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGNvbnRlbnQgPSBpbmplY3QoQ29udGVudFNlcnZpY2UpO1xuXG4gIGN1cnJlbnRMYW5nID0gJ2VzJztcblxuICAvLyBDb250ZW5pZG8gZ2xvYmFsIHByZWRlZmluaWRvIChzaW4gY2xhc3NOYW1lKVxuICBzYXZlVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdzYXZlJyB9KTtcbiAgY2FuY2VsVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdjYW5jZWwnIH0pO1xuICBkZWxldGVUZXh0JCA9IHRoaXMuY29udGVudC5mcm9tQ29udGVudCh7IGtleTogJ2RlbGV0ZScgfSk7XG4gIGxvYWRpbmdUZXh0JCA9IHRoaXMuY29udGVudC5mcm9tQ29udGVudCh7IGtleTogJ2xvYWRpbmcnIH0pO1xuXG4gIC8vIFR1IGNvbnRlbmlkbyBnbG9iYWwgcGVyc29uYWxpemFkbyAoc2luIGNsYXNzTmFtZSlcbiAgZGFzaGJvYXJkVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdkYXNoYm9hcmQnIH0pO1xuICBwcm9maWxlVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoeyBrZXk6ICdwcm9maWxlJyB9KTtcbiAgc2V0dGluZ3NUZXh0JCA9IHRoaXMuY29udGVudC5mcm9tQ29udGVudCh7IGtleTogJ3NldHRpbmdzJyB9KTtcbiAgd2VsY29tZVRleHQkID0gdGhpcy5jb250ZW50LmZyb21Db250ZW50KHtcbiAgICBrZXk6ICd3ZWxjb21lJyxcbiAgICBpbnRlcnBvbGF0aW9uOiB7IGFwcE5hbWU6ICdNaSBBcGxpY2FjacOzbicgfSxcbiAgfSk7XG5cbiAgLy8gQ29udGVuaWRvIGVzcGVjw61maWNvIGRlbCBjb21wb25lbnRlIExhbmd1YWdlIChjb24gY2xhc3NOYW1lKVxuICBzcGFuaXNoVGV4dCQgPSB0aGlzLmNvbnRlbnQuZnJvbUNvbnRlbnQoe1xuICAgIGNsYXNzTmFtZTogJ0xhbmd1YWdlJyxcbiAgICBrZXk6ICdzcGFuaXNoJyxcbiAgfSk7XG4gIGVuZ2xpc2hUZXh0JCA9IHRoaXMuY29udGVudC5mcm9tQ29udGVudCh7XG4gICAgY2xhc3NOYW1lOiAnTGFuZ3VhZ2UnLFxuICAgIGtleTogJ2VuZ2xpc2gnLFxuICB9KTtcbiAgZGVzY3JpcHRpb25UZXh0JCA9IHRoaXMuY29udGVudC5mcm9tQ29udGVudCh7XG4gICAgY2xhc3NOYW1lOiAnTGFuZ3VhZ2UnLFxuICAgIGtleTogJ2Rlc2NyaXB0aW9uJyxcbiAgfSk7XG5cbiAgLy8gUGFyYSBkZWJ1ZyAtIHRleHRvIHPDrW5jcm9ub1xuICBzYXZlVGV4dFN5bmMgPSAnJztcbiAgZGFzaGJvYXJkVGV4dFN5bmMgPSAnJztcbiAgbGFuZ3VhZ2VEZXNjU3luYyA9ICcnO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIE9idGVuZXIgaWRpb21hIGFjdHVhbFxuICAgIHRoaXMuY29udGVudC5jdXJyZW50TGFuZyQuc3Vic2NyaWJlKGxhbmcgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TGFuZyA9IGxhbmc7XG4gICAgfSk7XG5cbiAgICAvLyBPYnRlbmVyIHRleHRvcyBzw61uY3Jvbm9zIHBhcmEgZGVidWdcbiAgICB0aGlzLnVwZGF0ZVN5bmNUZXh0cygpO1xuXG4gICAgLy8g8J+UjSBESUFHTsOTU1RJQ086IFZlcmlmaWNhciBjb25maWd1cmFjacOzblxuICAgIHRoaXMuZGlhZ25vc2VDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBzd2l0Y2hMYW5ndWFnZSgpIHtcbiAgICBjb25zdCBuZXdMYW5nID0gdGhpcy5jdXJyZW50TGFuZyA9PT0gJ2VzJyA/IExhbmdPcHRpb24uRU4gOiBMYW5nT3B0aW9uLkVTO1xuICAgIHRoaXMuY29udGVudC5zZXRMYW5nKG5ld0xhbmcpO1xuXG4gICAgLy8gQWN0dWFsaXphciB0ZXh0b3Mgc8OtbmNyb25vcyBkZXNwdcOpcyBkZWwgY2FtYmlvXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVN5bmNUZXh0cygpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN5bmNUZXh0cygpIHtcbiAgICAvLyBDb250ZW5pZG8gZ2xvYmFsIHByZWRlZmluaWRvXG4gICAgdGhpcy5zYXZlVGV4dFN5bmMgPSB0aGlzLmNvbnRlbnQuZ2V0VGV4dCgnc2F2ZScpO1xuXG4gICAgLy8gVHUgY29udGVuaWRvIGdsb2JhbCBwZXJzb25hbGl6YWRvXG4gICAgdGhpcy5kYXNoYm9hcmRUZXh0U3luYyA9IHRoaXMuY29udGVudC5nZXRUZXh0KCdkYXNoYm9hcmQnKTtcblxuICAgIC8vIENvbnRlbmlkbyBlc3BlY8OtZmljbyBkZWwgY29tcG9uZW50ZSAtIFNPTFVDScOTTiBURU1QT1JBTFxuICAgIC8vIEVuIGx1Z2FyIGRlIHVzYXIgZ2V0VGV4dCwgYWNjZWRlciBkaXJlY3RhbWVudGVcbiAgICB0cnkge1xuICAgICAgY29uc3QgbGFuZ1NlcnZpY2UgPSAodGhpcy5jb250ZW50IGFzIGFueSkubGFuZ1NlcnZpY2U7XG4gICAgICBjb25zdCBsYW5ndWFnZUNvbnRlbnQgPSBsYW5nU2VydmljZS5jb250ZW50WydMYW5ndWFnZSddO1xuICAgICAgY29uc3QgY3VycmVudExhbmcgPSBsYW5nU2VydmljZS5zZWxlY3RlZExhbmc/LnZhbHVlIHx8ICdlcyc7XG4gICAgICBjb25zdCBjbGFzc0NvbnRlbnQgPSBsYW5ndWFnZUNvbnRlbnQ/LkNvbnRlbnQ/LltjdXJyZW50TGFuZ107XG4gICAgICB0aGlzLmxhbmd1YWdlRGVzY1N5bmMgPSBjbGFzc0NvbnRlbnQ/LlsnZGVzY3JpcHRpb24nXSB8fCAnTm8gZW5jb250cmFkbyc7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2VEZXNjU3luYyA9IGBFcnJvcjogJHtlcnJvcn1gO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlhZ25vc2VDb25maWd1cmF0aW9uKCkge1xuICAgIGNvbnNvbGUubG9nKCc9PT0gRElBR07Dk1NUSUNPIERFIENPTkZJR1VSQUNJw5NOID09PScpO1xuXG4gICAgLy8gVmVyaWZpY2FyIGFjY2VzbyBkaXJlY3RvIGFsIHNlcnZpY2lvXG4gICAgY29uc29sZS5sb2coJ0NvbnRlbnRTZXJ2aWNlIGF2YWlsYWJsZTonLCAhIXRoaXMuY29udGVudCk7XG4gICAgY29uc29sZS5sb2coJ0N1cnJlbnQgbGFuZ3VhZ2U6JywgdGhpcy5jb250ZW50LmN1cnJlbnRMYW5nKTtcblxuICAgIC8vIPCflI0gRGlhZ27Ds3N0aWNvIGRldGFsbGFkbyBkZWwgY29udGVuaWRvIExhbmd1YWdlXG4gICAgY29uc29sZS5sb2coJ1xcbi0tLSBESUFHTsOTU1RJQ08gREVUQUxMQURPIExBTkdVQUdFIC0tLScpO1xuICAgIHRyeSB7XG4gICAgICAvLyBBY2NlZGVyIGRpcmVjdGFtZW50ZSBhbCBMYW5nU2VydmljZVxuICAgICAgY29uc3QgbGFuZ1NlcnZpY2UgPSAodGhpcy5jb250ZW50IGFzIGFueSkubGFuZ1NlcnZpY2U7XG4gICAgICBjb25zb2xlLmxvZygnTGFuZ1NlcnZpY2UgYXZhaWxhYmxlOicsICEhbGFuZ1NlcnZpY2UpO1xuXG4gICAgICAvLyBWZXJpZmljYXIgc2kgZXhpc3RlIGVsIGNvbnRlbmlkbyBMYW5ndWFnZVxuICAgICAgY29uc3QgbGFuZ3VhZ2VDb250ZW50ID0gbGFuZ1NlcnZpY2UuY29udGVudFsnTGFuZ3VhZ2UnXTtcbiAgICAgIGNvbnNvbGUubG9nKCdMYW5ndWFnZSBjb250ZW50IGV4aXN0czonLCAhIWxhbmd1YWdlQ29udGVudCk7XG5cbiAgICAgIGlmIChsYW5ndWFnZUNvbnRlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0xhbmd1YWdlIGNvbnRlbnQgc3RydWN0dXJlOicsIGxhbmd1YWdlQ29udGVudCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdMYW5ndWFnZSBjb250ZW50LkNvbnRlbnQ6JywgbGFuZ3VhZ2VDb250ZW50LkNvbnRlbnQpO1xuXG4gICAgICAgIC8vIFZlcmlmaWNhciBjb250ZW5pZG8gZW4gZXNwYcOxb2xcbiAgICAgICAgY29uc3QgZXNDb250ZW50ID0gbGFuZ3VhZ2VDb250ZW50LkNvbnRlbnQ/LmVzO1xuICAgICAgICBjb25zb2xlLmxvZygnRVMgY29udGVudDonLCBlc0NvbnRlbnQpO1xuICAgICAgICBjb25zb2xlLmxvZygnRVMgZGVzY3JpcHRpb246JywgZXNDb250ZW50Py5kZXNjcmlwdGlvbik7XG5cbiAgICAgICAgLy8gVmVyaWZpY2FyIGNvbnRlbmlkbyBlbiBpbmdsw6lzXG4gICAgICAgIGNvbnN0IGVuQ29udGVudCA9IGxhbmd1YWdlQ29udGVudC5Db250ZW50Py5lbjtcbiAgICAgICAgY29uc29sZS5sb2coJ0VOIGNvbnRlbnQ6JywgZW5Db250ZW50KTtcbiAgICAgICAgY29uc29sZS5sb2coJ0VOIGRlc2NyaXB0aW9uOicsIGVuQ29udGVudD8uZGVzY3JpcHRpb24pO1xuICAgICAgfVxuXG4gICAgICAvLyBWZXJpZmljYXIgY3VycmVudCBsYW5nXG4gICAgICBjb25zdCBjdXJyZW50TGFuZyA9IGxhbmdTZXJ2aWNlLnNlbGVjdGVkTGFuZz8udmFsdWU7XG4gICAgICBjb25zb2xlLmxvZygnQ3VycmVudCBzZWxlY3RlZCBsYW5ndWFnZTonLCBjdXJyZW50TGFuZyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCfinYwgRXJyb3IgYWNjZXNzaW5nIExhbmdTZXJ2aWNlOicsIGVycm9yKTtcbiAgICB9XG5cbiAgICAvLyBJbnRlbnRhciBhY2Nlc28gc8OtbmNyb25vIGEgY29udGVuaWRvIGdsb2JhbCBwcmVkZWZpbmlkb1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYXZlVGV4dCA9IHRoaXMuY29udGVudC5nZXRUZXh0KCdzYXZlJyk7XG4gICAgICBjb25zb2xlLmxvZygn4pyFIEdsb2JhbCBwcmVkZWZpbmlkbyAoc2F2ZSk6Jywgc2F2ZVRleHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygn4p2MIEVycm9yIGdsb2JhbCBwcmVkZWZpbmlkbyAoc2F2ZSk6JywgZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIEludGVudGFyIGFjY2VzbyBzw61uY3Jvbm8gYSBjb250ZW5pZG8gZ2xvYmFsIHBlcnNvbmFsaXphZG9cbiAgICB0cnkge1xuICAgICAgY29uc3QgZGFzaGJvYXJkVGV4dCA9IHRoaXMuY29udGVudC5nZXRUZXh0KCdkYXNoYm9hcmQnKTtcbiAgICAgIGNvbnNvbGUubG9nKCfinIUgR2xvYmFsIHBlcnNvbmFsaXphZG8gKGRhc2hib2FyZCk6JywgZGFzaGJvYXJkVGV4dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCfinYwgRXJyb3IgZ2xvYmFsIHBlcnNvbmFsaXphZG8gKGRhc2hib2FyZCk6JywgZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIEludGVudGFyIGFjY2VzbyBzw61uY3Jvbm8gYSBjb250ZW5pZG8gZGUgY29tcG9uZW50ZVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzcGFuaXNoVGV4dCA9IHRoaXMuY29udGVudC5nZXRUZXh0KCdMYW5ndWFnZScsICdzcGFuaXNoJyk7XG4gICAgICBjb25zb2xlLmxvZygn4pyFIENvbXBvbmVudGUgTGFuZ3VhZ2UgKHNwYW5pc2gpOicsIHNwYW5pc2hUZXh0KTtcblxuICAgICAgLy8g8J+UjSBEZWJ1ZyBwYXNvIGEgcGFzbyBwYXJhIHNwYW5pc2hcbiAgICAgIGNvbnN0IGxhbmdTZXJ2aWNlID0gKHRoaXMuY29udGVudCBhcyBhbnkpLmxhbmdTZXJ2aWNlO1xuICAgICAgY29uc3QgbGFuZ3VhZ2VDb250ZW50ID0gbGFuZ1NlcnZpY2UuY29udGVudFsnTGFuZ3VhZ2UnXTtcbiAgICAgIGNvbnN0IGN1cnJlbnRMYW5nID0gbGFuZ1NlcnZpY2Uuc2VsZWN0ZWRMYW5nPy52YWx1ZTtcbiAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IGxhbmd1YWdlQ29udGVudD8uQ29udGVudFtjdXJyZW50TGFuZ107XG4gICAgICBjb25zb2xlLmxvZygn8J+UjSBEZWJ1ZyBzcGFuaXNoIC0gY3VycmVudExhbmc6JywgY3VycmVudExhbmcpO1xuICAgICAgY29uc29sZS5sb2coJ/CflI0gRGVidWcgc3BhbmlzaCAtIGNsYXNzQ29udGVudDonLCBjbGFzc0NvbnRlbnQpO1xuICAgICAgY29uc29sZS5sb2coJ/CflI0gRGVidWcgc3BhbmlzaCAtIGNsYXNzQ29udGVudFtcInNwYW5pc2hcIl06JywgY2xhc3NDb250ZW50Py5bJ3NwYW5pc2gnXSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCfinYwgRXJyb3IgY29tcG9uZW50ZSBMYW5ndWFnZSAoc3BhbmlzaCk6JywgZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIEludGVudGFyIGFjY2VzbyBzw61uY3Jvbm8gYSBjb250ZW5pZG8gZGUgY29tcG9uZW50ZVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZXNjcmlwdGlvblRleHQgPSB0aGlzLmNvbnRlbnQuZ2V0VGV4dCgnTGFuZ3VhZ2UnLCAnZGVzY3JpcHRpb24nKTtcbiAgICAgIGNvbnNvbGUubG9nKCfinIUgQ29tcG9uZW50ZSBMYW5ndWFnZSAoZGVzY3JpcHRpb24pOicsIGRlc2NyaXB0aW9uVGV4dCk7XG5cbiAgICAgIC8vIPCflI0gRGVidWcgcGFzbyBhIHBhc28gcGFyYSBkZXNjcmlwdGlvblxuICAgICAgY29uc3QgbGFuZ1NlcnZpY2UgPSAodGhpcy5jb250ZW50IGFzIGFueSkubGFuZ1NlcnZpY2U7XG4gICAgICBjb25zdCBsYW5ndWFnZUNvbnRlbnQgPSBsYW5nU2VydmljZS5jb250ZW50WydMYW5ndWFnZSddO1xuICAgICAgY29uc3QgY3VycmVudExhbmcgPSBsYW5nU2VydmljZS5zZWxlY3RlZExhbmc/LnZhbHVlO1xuICAgICAgY29uc3QgY2xhc3NDb250ZW50ID0gbGFuZ3VhZ2VDb250ZW50Py5Db250ZW50W2N1cnJlbnRMYW5nXTtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5SNIERlYnVnIGRlc2NyaXB0aW9uIC0gY3VycmVudExhbmc6JywgY3VycmVudExhbmcpO1xuICAgICAgY29uc29sZS5sb2coJ/CflI0gRGVidWcgZGVzY3JpcHRpb24gLSBjbGFzc0NvbnRlbnQ6JywgY2xhc3NDb250ZW50KTtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5SNIERlYnVnIGRlc2NyaXB0aW9uIC0gY2xhc3NDb250ZW50W1wiZGVzY3JpcHRpb25cIl06JywgY2xhc3NDb250ZW50Py5bJ2Rlc2NyaXB0aW9uJ10pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygn4p2MIEVycm9yIGNvbXBvbmVudGUgTGFuZ3VhZ2UgKGRlc2NyaXB0aW9uKTonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -39,7 +39,7 @@ export class LangService {
39
39
  }
40
40
  /**
41
41
  * Observable that emits the current language whenever it changes.
42
- * Use this to react to language changes in components.
42
+ * Use this to subscribe to language changes in components.
43
43
  */
44
44
  get currentLang$() {
45
45
  return this.selectedLang.asObservable().pipe(distinctUntilChanged());
@@ -51,8 +51,8 @@ export class LangService {
51
51
  return this.selectedLang.value;
52
52
  }
53
53
  /**
54
- * Set the current language and persist it to local storage.
55
- * This will trigger updates in all components subscribed to reactive content.
54
+ * Set the current language and persist it to localStorage.
55
+ * This will trigger updates in all reactive content subscriptions.
56
56
  *
57
57
  * @param lang - The language to set
58
58
  */
@@ -61,17 +61,15 @@ export class LangService {
61
61
  LocalStorageService.set(LANG, lang);
62
62
  }
63
63
  /**
64
- * Get all text content for a component class (legacy method for compatibility).
64
+ * Get content for a component class and key (legacy method).
65
65
  *
66
- * @param className - The component class name
67
- * @returns The language text object for the current language
68
66
  * @deprecated Use getText() or getContent() for better type safety
69
67
  */
70
68
  Text(className) {
71
- return this.content[className]?.Content[this.selectedLang.value] || {};
69
+ return this.content[className].Content[this.selectedLang.value];
72
70
  }
73
71
  /**
74
- * Get a specific text value synchronously for the current language.
72
+ * Get a single content string synchronously for the current language.
75
73
  *
76
74
  * @param className - The component class name
77
75
  * @param key - The text key
@@ -146,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
146
144
  type: Inject,
147
145
  args: [ValtechConfigService]
148
146
  }] }] });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBaUIsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxTQUFTLENBQUM7O0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBMEMsTUFBcUI7UUFKdkQsWUFBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFLOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsSUFBZ0I7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLFNBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsU0FBaUIsRUFBRSxHQUFXLEVBQUUsUUFBaUI7UUFDdkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxPQUFPLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxVQUFVLENBQUMsU0FBaUIsRUFBRSxHQUFXLEVBQUUsUUFBaUI7UUFDMUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUQsT0FBTyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksSUFBSSxTQUFTLElBQUksR0FBRyxHQUFHLENBQUM7UUFDcEUsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLElBQWM7UUFDbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xFLE1BQU0sTUFBTSxHQUEyQixFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsVUFBVSxDQUFDLFNBQWlCLEVBQUUsR0FBVztRQUN2QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFaEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzdDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFnQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7K0dBL0hVLFdBQVcsa0JBTUYsb0JBQW9CO21IQU43QixXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExBTkcgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzL3N0b3JhZ2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBWYWx0ZWNoQ29uZmlnLCBWYWx0ZWNoQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnLi9jb250ZW50JztcbmltcG9ydCB7IExhbmdPcHRpb24sIExhbmd1YWdlVGV4dCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIExhbmdTZXJ2aWNlIC0gUmVhY3RpdmUgbGFuZ3VhZ2UgYW5kIGNvbnRlbnQgbWFuYWdlbWVudCBzZXJ2aWNlLlxuICpcbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyByZWFjdGl2ZSBjb250ZW50IG1hbmFnZW1lbnQgd2l0aCBPYnNlcnZhYmxlLWJhc2VkIGxhbmd1YWdlIHN3aXRjaGluZy5cbiAqIENvbXBvbmVudHMgY2FuIHN1YnNjcmliZSB0byBjb250ZW50IGNoYW5nZXMgYW5kIGF1dG9tYXRpY2FsbHkgdXBkYXRlIHdoZW4gdGhlIGxhbmd1YWdlIGNoYW5nZXMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSkge31cbiAqXG4gKiAvLyBHZXQgY3VycmVudCBsYW5ndWFnZVxuICogY29uc3QgY3VycmVudExhbmcgPSB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byBsYW5ndWFnZSBjaGFuZ2VzXG4gKiB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nJC5zdWJzY3JpYmUobGFuZyA9PiBjb25zb2xlLmxvZygnTGFuZ3VhZ2UgY2hhbmdlZDonLCBsYW5nKSk7XG4gKlxuICogLy8gR2V0IHN0YXRpYyB0ZXh0XG4gKiBjb25zdCB0ZXh0ID0gdGhpcy5sYW5nU2VydmljZS5nZXRUZXh0KCdDb21wb25lbnROYW1lJywgJ3RleHRLZXknKTtcbiAqXG4gKiAvLyBHZXQgcmVhY3RpdmUgdGV4dFxuICogY29uc3QgdGV4dCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnQoJ0NvbXBvbmVudE5hbWUnLCAndGV4dEtleScpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYW5nU2VydmljZSB7XG4gIHByaXZhdGUgY29udGVudDogUHJvdmlkZXI7XG4gIHByaXZhdGUgZGVmYXVsdCA9IExhbmdPcHRpb24uRVM7XG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5nOiBCZWhhdmlvclN1YmplY3Q8TGFuZ09wdGlvbj47XG4gIHByaXZhdGUgY29uZmlnOiBWYWx0ZWNoQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVmFsdGVjaENvbmZpZ1NlcnZpY2UpIGNvbmZpZzogVmFsdGVjaENvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdpbmplY3RlZCBjb25maWc6ICcsIGNvbmZpZyk7XG4gICAgdGhpcy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQ7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PExhbmdPcHRpb24+KExBTkcpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPihjdXJyZW50IHx8IHRoaXMuZGVmYXVsdCk7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IGxhbmd1YWdlIHdoZW5ldmVyIGl0IGNoYW5nZXMuXG4gICAqIFVzZSB0aGlzIHRvIHJlYWN0IHRvIGxhbmd1YWdlIGNoYW5nZXMgaW4gY29tcG9uZW50cy5cbiAgICovXG4gIGdldCBjdXJyZW50TGFuZyQoKTogT2JzZXJ2YWJsZTxMYW5nT3B0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5nLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIHN5bmNocm9ub3VzbHkuXG4gICAqL1xuICBnZXQgY3VycmVudExhbmcoKTogTGFuZ09wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5nLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgcGVyc2lzdCBpdCB0byBsb2NhbCBzdG9yYWdlLlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciB1cGRhdGVzIGluIGFsbCBjb21wb25lbnRzIHN1YnNjcmliZWQgdG8gcmVhY3RpdmUgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGxhbmcgLSBUaGUgbGFuZ3VhZ2UgdG8gc2V0XG4gICAqL1xuICBzZXRMYW5nKGxhbmc6IExhbmdPcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTGFuZy5uZXh0KGxhbmcpO1xuICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0PExhbmdPcHRpb24+KExBTkcsIGxhbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGV4dCBjb250ZW50IGZvciBhIGNvbXBvbmVudCBjbGFzcyAobGVnYWN5IG1ldGhvZCBmb3IgY29tcGF0aWJpbGl0eSkuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHJldHVybnMgVGhlIGxhbmd1YWdlIHRleHQgb2JqZWN0IGZvciB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZ2V0VGV4dCgpIG9yIGdldENvbnRlbnQoKSBmb3IgYmV0dGVyIHR5cGUgc2FmZXR5XG4gICAqL1xuICBUZXh0KGNsYXNzTmFtZTogc3RyaW5nKTogTGFuZ3VhZ2VUZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50W2NsYXNzTmFtZV0/LkNvbnRlbnRbdGhpcy5zZWxlY3RlZExhbmcudmFsdWVdIHx8IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNwZWNpZmljIHRleHQgdmFsdWUgc3luY2hyb25vdXNseSBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHBhcmFtIGtleSAtIFRoZSB0ZXh0IGtleVxuICAgKiBAcGFyYW0gZmFsbGJhY2sgLSBPcHRpb25hbCBmYWxsYmFjayB0ZXh0IGlmIGtleSBpcyBub3QgZm91bmRcbiAgICogQHJldHVybnMgVGhlIHRleHQgc3RyaW5nIG9yIGZhbGxiYWNrXG4gICAqL1xuICBnZXRUZXh0KGNsYXNzTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZywgZmFsbGJhY2s/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W3RoaXMuc2VsZWN0ZWRMYW5nLnZhbHVlXTtcbiAgICByZXR1cm4gY2xhc3NDb250ZW50Py5ba2V5XSB8fCBmYWxsYmFjayB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSByZWFjdGl2ZSBPYnNlcnZhYmxlIGZvciBhIHNwZWNpZmljIHRleHQga2V5IHRoYXQgdXBkYXRlcyB3aGVuIGxhbmd1YWdlIGNoYW5nZXMuXG4gICAqIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIG1ldGhvZCBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgcmVhY3RpdmUgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIHRleHQga2V5XG4gICAqIEBwYXJhbSBmYWxsYmFjayAtIE9wdGlvbmFsIGZhbGxiYWNrIHRleHQgaWYga2V5IGlzIG5vdCBmb3VuZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHRleHQgc3RyaW5nIHdoZW5ldmVyIGxhbmd1YWdlIGNoYW5nZXNcbiAgICovXG4gIGdldENvbnRlbnQoY2xhc3NOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmYWxsYmFjaz86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmckLnBpcGUoXG4gICAgICBtYXAobGFuZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W2xhbmddO1xuICAgICAgICByZXR1cm4gY2xhc3NDb250ZW50Py5ba2V5XSB8fCBmYWxsYmFjayB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJlYWN0aXZlIGNvbnRlbnQgZm9yIG11bHRpcGxlIGtleXMgYXQgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICAgKiBAcGFyYW0ga2V5cyAtIEFycmF5IG9mIHRleHQga2V5cyB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gb2JqZWN0IHdpdGggYWxsIHJlcXVlc3RlZCBrZXlzXG4gICAqL1xuICBnZXRNdWx0aXBsZUNvbnRlbnQoY2xhc3NOYW1lOiBzdHJpbmcsIGtleXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmckLnBpcGUoXG4gICAgICBtYXAobGFuZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W2xhbmddIHx8IHt9O1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBjbGFzc0NvbnRlbnRba2V5XSB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIGNvbnRlbnQga2V5IGV4aXN0cyBmb3IgYSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHBhcmFtIGtleSAtIFRoZSB0ZXh0IGtleVxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzIGluIGFueSBsYW5ndWFnZVxuICAgKi9cbiAgaGFzQ29udGVudChjbGFzc05hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjbGFzc0NvbnRlbnQgPSB0aGlzLmNvbnRlbnRbY2xhc3NOYW1lXTtcbiAgICBpZiAoIWNsYXNzQ29udGVudCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY2xhc3NDb250ZW50LkNvbnRlbnQpLnNvbWUoXG4gICAgICBsYW5nQ29udGVudCA9PiBsYW5nQ29udGVudCAmJiB0eXBlb2YgbGFuZ0NvbnRlbnRba2V5XSA9PT0gJ3N0cmluZydcbiAgICApO1xuICB9XG5cbiAgLy8gTGVnYWN5IGdldHRlcnMvc2V0dGVycyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICBnZXQgTGFuZygpOiBMYW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TGFuZztcbiAgfVxuXG4gIHNldCBMYW5nKGxhbmc6IExhbmdPcHRpb24pIHtcbiAgICB0aGlzLnNldExhbmcobGFuZyk7XG4gIH1cbn1cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBaUIsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxTQUFTLENBQUM7O0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBMEMsTUFBcUI7UUFKdkQsWUFBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFLOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZ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LENBQUMsQ0FBQyxJQUFJLENBQzdDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFnQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7K0dBN0hVLFdBQVcsa0JBTUYsb0JBQW9CO21IQU43QixXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExBTkcgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzL3N0b3JhZ2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBWYWx0ZWNoQ29uZmlnLCBWYWx0ZWNoQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnLi9jb250ZW50JztcbmltcG9ydCB7IExhbmdPcHRpb24sIExhbmd1YWdlVGV4dCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIExhbmdTZXJ2aWNlIC0gUmVhY3RpdmUgbGFuZ3VhZ2UgYW5kIGNvbnRlbnQgbWFuYWdlbWVudCBzZXJ2aWNlLlxuICpcbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyByZWFjdGl2ZSBjb250ZW50IG1hbmFnZW1lbnQgd2l0aCBPYnNlcnZhYmxlLWJhc2VkIGxhbmd1YWdlIHN3aXRjaGluZy5cbiAqIENvbXBvbmVudHMgY2FuIHN1YnNjcmliZSB0byBjb250ZW50IGNoYW5nZXMgYW5kIGF1dG9tYXRpY2FsbHkgdXBkYXRlIHdoZW4gdGhlIGxhbmd1YWdlIGNoYW5nZXMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSkge31cbiAqXG4gKiAvLyBHZXQgY3VycmVudCBsYW5ndWFnZVxuICogY29uc3QgY3VycmVudExhbmcgPSB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byBsYW5ndWFnZSBjaGFuZ2VzXG4gKiB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nJC5zdWJzY3JpYmUobGFuZyA9PiBjb25zb2xlLmxvZygnTGFuZ3VhZ2UgY2hhbmdlZDonLCBsYW5nKSk7XG4gKlxuICogLy8gR2V0IHN0YXRpYyB0ZXh0XG4gKiBjb25zdCB0ZXh0ID0gdGhpcy5sYW5nU2VydmljZS5nZXRUZXh0KCdDb21wb25lbnROYW1lJywgJ3RleHRLZXknKTtcbiAqXG4gKiAvLyBHZXQgcmVhY3RpdmUgdGV4dFxuICogY29uc3QgdGV4dCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnQoJ0NvbXBvbmVudE5hbWUnLCAndGV4dEtleScpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYW5nU2VydmljZSB7XG4gIHByaXZhdGUgY29udGVudDogUHJvdmlkZXI7XG4gIHByaXZhdGUgZGVmYXVsdCA9IExhbmdPcHRpb24uRVM7XG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5nOiBCZWhhdmlvclN1YmplY3Q8TGFuZ09wdGlvbj47XG4gIHByaXZhdGUgY29uZmlnOiBWYWx0ZWNoQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVmFsdGVjaENvbmZpZ1NlcnZpY2UpIGNvbmZpZzogVmFsdGVjaENvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdpbmplY3RlZCBjb25maWc6ICcsIGNvbmZpZyk7XG4gICAgdGhpcy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQ7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PExhbmdPcHRpb24+KExBTkcpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPihjdXJyZW50IHx8IHRoaXMuZGVmYXVsdCk7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IGxhbmd1YWdlIHdoZW5ldmVyIGl0IGNoYW5nZXMuXG4gICAqIFVzZSB0aGlzIHRvIHN1YnNjcmliZSB0byBsYW5ndWFnZSBjaGFuZ2VzIGluIGNvbXBvbmVudHMuXG4gICAqL1xuICBnZXQgY3VycmVudExhbmckKCk6IE9ic2VydmFibGU8TGFuZ09wdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBsYW5ndWFnZSBzeW5jaHJvbm91c2x5LlxuICAgKi9cbiAgZ2V0IGN1cnJlbnRMYW5nKCk6IExhbmdPcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTGFuZy52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIHBlcnNpc3QgaXQgdG8gbG9jYWxTdG9yYWdlLlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciB1cGRhdGVzIGluIGFsbCByZWFjdGl2ZSBjb250ZW50IHN1YnNjcmlwdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBsYW5nIC0gVGhlIGxhbmd1YWdlIHRvIHNldFxuICAgKi9cbiAgc2V0TGFuZyhsYW5nOiBMYW5nT3B0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZExhbmcubmV4dChsYW5nKTtcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldDxMYW5nT3B0aW9uPihMQU5HLCBsYW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29udGVudCBmb3IgYSBjb21wb25lbnQgY2xhc3MgYW5kIGtleSAobGVnYWN5IG1ldGhvZCkuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBnZXRUZXh0KCkgb3IgZ2V0Q29udGVudCgpIGZvciBiZXR0ZXIgdHlwZSBzYWZldHlcbiAgICovXG4gIFRleHQoY2xhc3NOYW1lOiBzdHJpbmcpOiBMYW5ndWFnZVRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRbY2xhc3NOYW1lXS5Db250ZW50W3RoaXMuc2VsZWN0ZWRMYW5nLnZhbHVlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgY29udGVudCBzdHJpbmcgc3luY2hyb25vdXNseSBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHBhcmFtIGtleSAtIFRoZSB0ZXh0IGtleVxuICAgKiBAcGFyYW0gZmFsbGJhY2sgLSBPcHRpb25hbCBmYWxsYmFjayB0ZXh0IGlmIGtleSBpcyBub3QgZm91bmRcbiAgICogQHJldHVybnMgVGhlIHRleHQgc3RyaW5nIG9yIGZhbGxiYWNrXG4gICAqL1xuICBnZXRUZXh0KGNsYXNzTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZywgZmFsbGJhY2s/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W3RoaXMuc2VsZWN0ZWRMYW5nLnZhbHVlXTtcbiAgICByZXR1cm4gY2xhc3NDb250ZW50Py5ba2V5XSB8fCBmYWxsYmFjayB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSByZWFjdGl2ZSBPYnNlcnZhYmxlIGZvciBhIHNwZWNpZmljIHRleHQga2V5IHRoYXQgdXBkYXRlcyB3aGVuIGxhbmd1YWdlIGNoYW5nZXMuXG4gICAqIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIG1ldGhvZCBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgcmVhY3RpdmUgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIHRleHQga2V5XG4gICAqIEBwYXJhbSBmYWxsYmFjayAtIE9wdGlvbmFsIGZhbGxiYWNrIHRleHQgaWYga2V5IGlzIG5vdCBmb3VuZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHRleHQgc3RyaW5nIHdoZW5ldmVyIGxhbmd1YWdlIGNoYW5nZXNcbiAgICovXG4gIGdldENvbnRlbnQoY2xhc3NOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmYWxsYmFjaz86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmckLnBpcGUoXG4gICAgICBtYXAobGFuZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W2xhbmddO1xuICAgICAgICByZXR1cm4gY2xhc3NDb250ZW50Py5ba2V5XSB8fCBmYWxsYmFjayB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJlYWN0aXZlIGNvbnRlbnQgZm9yIG11bHRpcGxlIGtleXMgYXQgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICAgKiBAcGFyYW0ga2V5cyAtIEFycmF5IG9mIHRleHQga2V5cyB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gb2JqZWN0IHdpdGggYWxsIHJlcXVlc3RlZCBrZXlzXG4gICAqL1xuICBnZXRNdWx0aXBsZUNvbnRlbnQoY2xhc3NOYW1lOiBzdHJpbmcsIGtleXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmckLnBpcGUoXG4gICAgICBtYXAobGFuZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W2xhbmddIHx8IHt9O1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBjbGFzc0NvbnRlbnRba2V5XSB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIGNvbnRlbnQga2V5IGV4aXN0cyBmb3IgYSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHBhcmFtIGtleSAtIFRoZSB0ZXh0IGtleVxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzIGluIGFueSBsYW5ndWFnZVxuICAgKi9cbiAgaGFzQ29udGVudChjbGFzc05hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjbGFzc0NvbnRlbnQgPSB0aGlzLmNvbnRlbnRbY2xhc3NOYW1lXTtcbiAgICBpZiAoIWNsYXNzQ29udGVudCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY2xhc3NDb250ZW50LkNvbnRlbnQpLnNvbWUoXG4gICAgICBsYW5nQ29udGVudCA9PiBsYW5nQ29udGVudCAmJiB0eXBlb2YgbGFuZ0NvbnRlbnRba2V5XSA9PT0gJ3N0cmluZydcbiAgICApO1xuICB9XG5cbiAgLy8gTGVnYWN5IGdldHRlcnMvc2V0dGVycyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICBnZXQgTGFuZygpOiBMYW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TGFuZztcbiAgfVxuXG4gIHNldCBMYW5nKGxhbmc6IExhbmdPcHRpb24pIHtcbiAgICB0aGlzLnNldExhbmcobGFuZyk7XG4gIH1cbn1cbiJdfQ==
@@ -1278,7 +1278,7 @@ class LangService {
1278
1278
  }
1279
1279
  /**
1280
1280
  * Observable that emits the current language whenever it changes.
1281
- * Use this to react to language changes in components.
1281
+ * Use this to subscribe to language changes in components.
1282
1282
  */
1283
1283
  get currentLang$() {
1284
1284
  return this.selectedLang.asObservable().pipe(distinctUntilChanged());
@@ -1290,8 +1290,8 @@ class LangService {
1290
1290
  return this.selectedLang.value;
1291
1291
  }
1292
1292
  /**
1293
- * Set the current language and persist it to local storage.
1294
- * This will trigger updates in all components subscribed to reactive content.
1293
+ * Set the current language and persist it to localStorage.
1294
+ * This will trigger updates in all reactive content subscriptions.
1295
1295
  *
1296
1296
  * @param lang - The language to set
1297
1297
  */
@@ -1300,17 +1300,15 @@ class LangService {
1300
1300
  LocalStorageService.set(LANG, lang);
1301
1301
  }
1302
1302
  /**
1303
- * Get all text content for a component class (legacy method for compatibility).
1303
+ * Get content for a component class and key (legacy method).
1304
1304
  *
1305
- * @param className - The component class name
1306
- * @returns The language text object for the current language
1307
1305
  * @deprecated Use getText() or getContent() for better type safety
1308
1306
  */
1309
1307
  Text(className) {
1310
- return this.content[className]?.Content[this.selectedLang.value] || {};
1308
+ return this.content[className].Content[this.selectedLang.value];
1311
1309
  }
1312
1310
  /**
1313
- * Get a specific text value synchronously for the current language.
1311
+ * Get a single content string synchronously for the current language.
1314
1312
  *
1315
1313
  * @param className - The component class name
1316
1314
  * @param key - The text key
@@ -6034,14 +6032,52 @@ class CustomContentDemoComponent {
6034
6032
  this.saveTextSync = this.content.getText('save');
6035
6033
  // Tu contenido global personalizado
6036
6034
  this.dashboardTextSync = this.content.getText('dashboard');
6037
- // Contenido específico del componente
6038
- this.languageDescSync = this.content.getText('Language', 'description');
6035
+ // Contenido específico del componente - SOLUCIÓN TEMPORAL
6036
+ // En lugar de usar getText, acceder directamente
6037
+ try {
6038
+ const langService = this.content.langService;
6039
+ const languageContent = langService.content['Language'];
6040
+ const currentLang = langService.selectedLang?.value || 'es';
6041
+ const classContent = languageContent?.Content?.[currentLang];
6042
+ this.languageDescSync = classContent?.['description'] || 'No encontrado';
6043
+ }
6044
+ catch (error) {
6045
+ this.languageDescSync = `Error: ${error}`;
6046
+ }
6039
6047
  }
6040
6048
  diagnoseConfiguration() {
6041
6049
  console.log('=== DIAGNÓSTICO DE CONFIGURACIÓN ===');
6042
6050
  // Verificar acceso directo al servicio
6043
6051
  console.log('ContentService available:', !!this.content);
6044
6052
  console.log('Current language:', this.content.currentLang);
6053
+ // 🔍 Diagnóstico detallado del contenido Language
6054
+ console.log('\n--- DIAGNÓSTICO DETALLADO LANGUAGE ---');
6055
+ try {
6056
+ // Acceder directamente al LangService
6057
+ const langService = this.content.langService;
6058
+ console.log('LangService available:', !!langService);
6059
+ // Verificar si existe el contenido Language
6060
+ const languageContent = langService.content['Language'];
6061
+ console.log('Language content exists:', !!languageContent);
6062
+ if (languageContent) {
6063
+ console.log('Language content structure:', languageContent);
6064
+ console.log('Language content.Content:', languageContent.Content);
6065
+ // Verificar contenido en español
6066
+ const esContent = languageContent.Content?.es;
6067
+ console.log('ES content:', esContent);
6068
+ console.log('ES description:', esContent?.description);
6069
+ // Verificar contenido en inglés
6070
+ const enContent = languageContent.Content?.en;
6071
+ console.log('EN content:', enContent);
6072
+ console.log('EN description:', enContent?.description);
6073
+ }
6074
+ // Verificar current lang
6075
+ const currentLang = langService.selectedLang?.value;
6076
+ console.log('Current selected language:', currentLang);
6077
+ }
6078
+ catch (error) {
6079
+ console.log('❌ Error accessing LangService:', error);
6080
+ }
6045
6081
  // Intentar acceso síncrono a contenido global predefinido
6046
6082
  try {
6047
6083
  const saveText = this.content.getText('save');
@@ -6062,6 +6098,14 @@ class CustomContentDemoComponent {
6062
6098
  try {
6063
6099
  const spanishText = this.content.getText('Language', 'spanish');
6064
6100
  console.log('✅ Componente Language (spanish):', spanishText);
6101
+ // 🔍 Debug paso a paso para spanish
6102
+ const langService = this.content.langService;
6103
+ const languageContent = langService.content['Language'];
6104
+ const currentLang = langService.selectedLang?.value;
6105
+ const classContent = languageContent?.Content[currentLang];
6106
+ console.log('🔍 Debug spanish - currentLang:', currentLang);
6107
+ console.log('🔍 Debug spanish - classContent:', classContent);
6108
+ console.log('🔍 Debug spanish - classContent["spanish"]:', classContent?.['spanish']);
6065
6109
  }
6066
6110
  catch (error) {
6067
6111
  console.log('❌ Error componente Language (spanish):', error);
@@ -6070,6 +6114,14 @@ class CustomContentDemoComponent {
6070
6114
  try {
6071
6115
  const descriptionText = this.content.getText('Language', 'description');
6072
6116
  console.log('✅ Componente Language (description):', descriptionText);
6117
+ // 🔍 Debug paso a paso para description
6118
+ const langService = this.content.langService;
6119
+ const languageContent = langService.content['Language'];
6120
+ const currentLang = langService.selectedLang?.value;
6121
+ const classContent = languageContent?.Content[currentLang];
6122
+ console.log('🔍 Debug description - currentLang:', currentLang);
6123
+ console.log('🔍 Debug description - classContent:', classContent);
6124
+ console.log('🔍 Debug description - classContent["description"]:', classContent?.['description']);
6073
6125
  }
6074
6126
  catch (error) {
6075
6127
  console.log('❌ Error componente Language (description):', error);