ng-easycommerce-v18 0.3.20-beta.1 → 0.3.21-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +2 -16
  2. package/esm2022/lib/classes/filters/attributes-filter.mjs +4 -74
  3. package/esm2022/lib/classes/filters/category-filter.mjs +26 -105
  4. package/esm2022/lib/classes/filters/filter-factory.mjs +3 -7
  5. package/esm2022/lib/classes/filters/price_range-filter.mjs +3 -3
  6. package/esm2022/lib/constants/api.constants.service.mjs +15 -19
  7. package/esm2022/lib/constants/core.constants.service.mjs +5 -16
  8. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -17
  9. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +16 -26
  10. package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +21 -25
  11. package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +16 -4
  12. package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +17 -41
  13. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +14 -72
  14. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +25 -41
  15. package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +2 -13
  16. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +7 -12
  17. package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +9 -18
  18. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +6 -12
  19. package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +4 -6
  20. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +17 -7
  21. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -4
  22. package/esm2022/lib/ec-services/analytics/gtm.service.mjs +6 -10
  23. package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +18 -17
  24. package/esm2022/lib/ec-services/checkout.service.mjs +2 -4
  25. package/esm2022/lib/ec-services/filters.service.mjs +18 -124
  26. package/esm2022/lib/ec-services/index.mjs +1 -3
  27. package/esm2022/lib/ec-services/pagination.service.mjs +22 -70
  28. package/esm2022/lib/ec-services/products.service.mjs +3 -5
  29. package/esm2022/lib/interceptors/index.mjs +1 -2
  30. package/esm2022/lib/interfaces/environment.mjs +1 -1
  31. package/esm2022/lib/interfaces/filter.mjs +1 -1
  32. package/esm2022/lib/interfaces/index.mjs +1 -2
  33. package/esm2022/lib/interfaces/options.mjs +1 -1
  34. package/esm2022/lib/providers/index.mjs +1 -2
  35. package/fesm2022/ng-easycommerce-v18.mjs +316 -1186
  36. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  37. package/lib/classes/filters/attributes-filter.d.ts +0 -24
  38. package/lib/classes/filters/category-filter.d.ts +3 -30
  39. package/lib/constants/api.constants.service.d.ts +0 -1
  40. package/lib/constants/core.constants.service.d.ts +0 -7
  41. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +0 -12
  42. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +0 -2
  43. package/lib/ec-components/collection-ec/collection-ec.component.d.ts +4 -5
  44. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +4 -25
  45. package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +0 -2
  46. package/lib/ec-services/analytics/gtm.service.d.ts +1 -1
  47. package/lib/ec-services/filters.service.d.ts +1 -18
  48. package/lib/ec-services/index.d.ts +0 -2
  49. package/lib/ec-services/pagination.service.d.ts +5 -21
  50. package/lib/ec-services/products.service.d.ts +1 -1
  51. package/lib/interceptors/index.d.ts +0 -1
  52. package/lib/interfaces/environment.d.ts +0 -1
  53. package/lib/interfaces/filter.d.ts +0 -1
  54. package/lib/interfaces/index.d.ts +0 -1
  55. package/lib/interfaces/options.d.ts +0 -2
  56. package/lib/providers/index.d.ts +0 -1
  57. package/package.json +1 -1
  58. package/esm2022/lib/ec-services/base-api.service.mjs +0 -148
  59. package/esm2022/lib/ec-services/runtime-config.service.mjs +0 -190
  60. package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +0 -41
  61. package/esm2022/lib/interfaces/runtime-config.mjs +0 -2
  62. package/esm2022/lib/providers/provideRuntimeConfig.mjs +0 -42
  63. package/lib/ec-services/base-api.service.d.ts +0 -64
  64. package/lib/ec-services/runtime-config.service.d.ts +0 -63
  65. package/lib/interceptors/runtime-config.interceptor.d.ts +0 -7
  66. package/lib/interfaces/runtime-config.d.ts +0 -22
  67. package/lib/providers/provideRuntimeConfig.d.ts +0 -13
@@ -30,13 +30,8 @@ export class CoreConstantsService {
30
30
  * Guarda la variable window del web browser.
31
31
  */
32
32
  window;
33
- /**
34
- * Tipo de ruta actual (ej: 'categories', 'attributes', etc).
35
- * Lo usamos para que PaginationService sepa qué filtro esperar.
36
- */
37
- currentRouteType = null;
38
33
  constructor() {
39
- if (isPlatformBrowser(this.platformId) && typeof window !== 'undefined') {
34
+ if (isPlatformBrowser(this.platformId)) {
40
35
  this.window = window;
41
36
  }
42
37
  }
@@ -75,7 +70,7 @@ export class CoreConstantsService {
75
70
  */
76
71
  get FRONTEND_URL() {
77
72
  // Verificar si estamos en el navegador
78
- if (isPlatformBrowser(this.platformId) && typeof window !== 'undefined') {
73
+ if (isPlatformBrowser(this.platformId)) {
79
74
  // Primero intenta leer de window.__env (configurado por Docker/CI)
80
75
  const windowEnv = this.window?.__env;
81
76
  if (windowEnv?.frontendUrl) {
@@ -96,7 +91,7 @@ export class CoreConstantsService {
96
91
  }
97
92
  }
98
93
  // Para SSR, intentar construir desde el document si está disponible
99
- if (typeof document !== 'undefined' && this.document?.location) {
94
+ if (this.document?.location) {
100
95
  return `${this.document.location.protocol}//${this.document.location.host}`;
101
96
  }
102
97
  // Intentar obtener desde environment
@@ -176,7 +171,7 @@ export class CoreConstantsService {
176
171
  * Retorna `true` si la vista es mobile, `false` caso contrario.
177
172
  * @returns {boolean}
178
173
  */
179
- mobileScreen = () => isPlatformBrowser(this.platformId) && typeof window !== 'undefined' && this.window && this.window?.innerWidth < 750 || false;
174
+ mobileScreen = () => this.window && this.window?.innerWidth < 750 || false;
180
175
  /**
181
176
  * Contiene los valores para la moneda actual
182
177
  */
@@ -312,12 +307,6 @@ export class CoreConstantsService {
312
307
  return this.apiConstants.CHANNEL;
313
308
  }
314
309
  form_sender = false;
315
- setCurrentRouteType(type) {
316
- this.currentRouteType = type;
317
- }
318
- getCurrentRouteType() {
319
- return this.currentRouteType;
320
- }
321
310
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CoreConstantsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
322
311
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CoreConstantsService, providedIn: 'root' });
323
312
  }
@@ -327,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
327
316
  providedIn: 'root'
328
317
  }]
329
318
  }], ctorParameters: () => [] });
330
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25zdGFudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jb25zdGFudHMvY29yZS5jb25zdGFudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFDakQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFFekIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUNoQzs7T0FFRztJQUNLLFlBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUNsRDs7T0FFRztJQUNLLFVBQVUsR0FBUSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDN0M7O09BRUc7SUFDSyxRQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdDOztPQUVHO0lBQ0ssV0FBVyxHQUFnQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUM1RDs7T0FFRztJQUNLLE1BQU0sQ0FBUztJQUV2Qjs7O09BR0c7SUFDSSxnQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO0lBRTlDO1FBQ0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDckIsQ0FBQztJQUNGLENBQUM7SUFDRDs7T0FFRztJQUNJLGtCQUFrQixHQUFXLGFBQWEsQ0FBQztJQUNsRDs7T0FFRztJQUNJLGNBQWMsR0FBVyxXQUFXLENBQUM7SUFDNUM7O09BRUc7SUFDYSxVQUFVLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDL0Q7Ozs7T0FJRztJQUNJLFFBQVEsR0FBRyxDQUFDLFNBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hLOzs7O09BSUc7SUFDSSxhQUFhLEdBQUcsQ0FBQyxTQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzSzs7OztPQUlHO0lBQ0ksR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7SUFFdEY7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDdEIsdUNBQXVDO1FBQ3ZDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3pFLG1FQUFtRTtZQUNuRSxNQUFNLFNBQVMsR0FBSSxJQUFJLENBQUMsTUFBYyxFQUFFLEtBQUssQ0FBQztZQUM5QyxJQUFJLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDNUIsbUNBQW1DO2dCQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ25GLENBQUM7Z0JBQ0QsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDO1lBQzlCLENBQUM7WUFFRCxzRUFBc0U7WUFDdEUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDN0UsMkRBQTJEO2dCQUMzRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUM1RCxPQUFPLENBQUMsSUFBSSxDQUFDLDZGQUE2RixDQUFDLENBQUM7Z0JBQzdHLENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDWixDQUFDO1FBQ0YsQ0FBQztRQUVELG9FQUFvRTtRQUNwRSxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0UsQ0FBQztRQUVELHFDQUFxQztRQUNyQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVCLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDRixDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztRQUNqRyxPQUFPLEVBQUUsQ0FBQztJQUNYLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxHQUFHLENBQUMsSUFBYSxFQUFVLEVBQUU7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWCxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO1FBRUQsK0RBQStEO1FBQy9ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFNUUsT0FBTyxHQUFHLFlBQVksR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN0QyxDQUFDLENBQUE7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLEdBQUcsQ0FBQyxTQUFrQixFQUFVLEVBQUU7UUFDM0QscURBQXFEO1FBQ3JELElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4RixPQUFPLFNBQVMsQ0FBQztRQUNsQixDQUFDO1FBRUQsc0RBQXNEO1FBQ3RELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0Msb0RBQW9EO1FBQ3BELElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUM3QyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzNFLHlCQUF5QjtZQUN6QixPQUFPLFFBQVEsQ0FBQztRQUNqQixDQUFDO1FBRUQsNkRBQTZEO1FBQzdELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sUUFBUSxDQUFDLENBQUMsd0RBQXdEO1FBQzFFLENBQUM7UUFFRCx5QkFBeUI7UUFDekIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3RGLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzVGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUVsRixPQUFPLEdBQUcsZ0JBQWdCLElBQUksV0FBVyxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQzdELENBQUMsQ0FBQTtJQUVEOzs7T0FHRztJQUNJLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUM7SUFFakksYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQztJQUV4SDs7O09BR0c7SUFDSSxZQUFZLEdBQUcsR0FBWSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUM7SUFDbEs7O09BRUc7SUFDSSxRQUFRLEdBQW1CO1FBQ2pDLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLEdBQUc7UUFDWCxRQUFRLEVBQUUsTUFBTTtRQUNoQixjQUFjLEVBQUUsS0FBSztLQUNyQixDQUFDO0lBRUY7O09BRUc7SUFDSSxrQkFBa0IsR0FBcUI7UUFDN0M7WUFDQyxJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxHQUFHO1lBQ1gsUUFBUSxFQUFFLE9BQU87WUFDakIsY0FBYyxFQUFFLEtBQUs7U0FFckI7UUFDRDtZQUNDLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsTUFBTTtZQUNoQixjQUFjLEVBQUUsS0FBSztTQUNyQjtRQUNEO1lBQ0MsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVBQUUsR0FBRztZQUNYLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGNBQWMsRUFBRSxLQUFLO1NBQ3JCO1FBQ0Q7WUFDQyxJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxHQUFHO1lBQ1gsUUFBUSxFQUFFLE1BQU07WUFDaEIsY0FBYyxFQUFFLEtBQUs7U0FDckI7UUFDRDtZQUNDLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsTUFBTTtZQUNoQixjQUFjLEVBQUUsS0FBSztTQUNyQjtRQUNEO1lBQ0MsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGNBQWMsRUFBRSxLQUFLO1NBQ3JCO1FBQ0Q7WUFDQyxJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLE9BQU87WUFDakIsY0FBYyxFQUFFLElBQUk7U0FDcEI7S0FDRCxDQUFBO0lBQ0Q7OztPQUdHO0lBQ0kscUJBQXFCLENBQUMsa0JBQW9DO1FBQ2hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVyxDQUFDLGdCQUE4QixFQUFFLFVBQTJCO1FBQzdFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQWtCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQ2hJLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFBO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBQUEsQ0FBQztJQUdLLG1CQUFtQixDQUFDLGFBQWtCO1FBQzVDLElBQUksYUFBYSxDQUFDLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSTtZQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUUxRSxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVoRixJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLFlBQVk7WUFDdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUV2RSxPQUFPLGFBQWEsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztNQUdFO0lBQ00sV0FBVyxHQUFhLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUVqRTs7Ozs7O09BTUc7SUFDSCxjQUFjLEdBQUcsQ0FBQyxjQUF3QixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUVyRixjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUV4QyxrQkFBa0I7SUFDVix5QkFBeUIsR0FBWSxLQUFLLENBQUM7SUFDbkQsMkJBQTJCLENBQUMsS0FBYyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLDJCQUEyQixLQUFLLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFBLENBQUMsQ0FBQztJQUV2RTs7Ozs7Ozs7Ozs7Ozs7TUFjRTtJQUNNLCtCQUErQixHQUFvQztRQUMxRSxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxPQUFPO1FBQ2Isa0JBQWtCLEVBQUUsS0FBSztRQUN6QixZQUFZLEVBQUUsSUFBSTtLQUNsQixDQUFBO0lBRUQsa0NBQWtDLEdBQUcsQ0FBQyxLQUFzQyxFQUFFLEVBQUU7UUFDL0UsSUFBSSxDQUFDLCtCQUErQixHQUFHO1lBQ3RDLEdBQUcsSUFBSSxDQUFDLCtCQUErQjtZQUN2QyxHQUFHLEtBQUs7U0FDUixDQUFBO0lBQ0YsQ0FBQyxDQUFBO0lBRUQsa0NBQWtDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFBO0lBRXhFLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRU0sV0FBVyxHQUFZLEtBQUssQ0FBQztJQUVwQyxtQkFBbUIsQ0FBQyxJQUFtQjtRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUI7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDOUIsQ0FBQzt3R0E1Vlcsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuL2FwaS5jb25zdGFudHMuc2VydmljZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ3VycmVuY3lDb25maWcsIGN1cnJlbmN5VHlwZSwgUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCwgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVOVklST05NRU5UX1RPS0VOIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcbi8qKlxuICogU2VydmljaW8gcXVlIHByb3ZlZSBsYXMgY29uc3RhbnRlcyBuZWNlc2FyaWFzIHF1ZSBzZSB1dGlsaXphbiBwb3IgdG9kYSBsYSBhcGxpY2FjacOzbi5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBDb3JlQ29uc3RhbnRzU2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb3JlQ29uc3RhbnRzU2VydmljZSB7XG5cblx0cHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcblx0LyoqXG5cdCAqIFNlcnZpY2lvIHF1ZSBjb250aWVuZSBsYXMgY29uc3RhbnRlcyB1c2FkYXMgcGFyYSBsYSBBUElcblx0ICovXG5cdHByaXZhdGUgYXBpQ29uc3RhbnRzID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpXG5cdC8qKlxuXHQgKiBQcm92ZWUgZWwgSUQgZGUgbGEgcGxhdGFmb3JtYSBlbiBkb25kZSBzZSBlc3RhIGVqZWN1dGFuZG8gZWwgY29kaWdvLCBlc3RvIHNpcnZlIHBhcmEgcG9kZXIgZGlmZXJlbmNpYXIgc2kgZXMgZGUgdW4gc2Vydmlkb3IgbyB1biBuYXZlZ2Fkb3Igd2ViLlxuXHQgKi9cblx0cHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpXG5cdC8qKlxuXHQgKiBEb2N1bWVudCB0b2tlbiBwYXJhIGFjY2VzbyBTU1ItY29tcGF0aWJsZSBhbCBkb2N1bWVudG9cblx0ICovXG5cdHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKVxuXHQvKipcblx0ICogQ29udGllbmUgbG9zIGRhdG9zIHByb3Zpc3RvIHBvciBlbCBmcm9udGVuZCBlbiBlbCBhcmNoaXZvIGVudmlyb25tZW50LnRzXG5cdCAqL1xuXHRwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTilcblx0LyoqXG5cdCAqIEd1YXJkYSBsYSB2YXJpYWJsZSB3aW5kb3cgZGVsIHdlYiBicm93c2VyLlxuXHQgKi9cblx0cHJpdmF0ZSB3aW5kb3c/OldpbmRvdztcblxuXHQvKipcblx0ICogVGlwbyBkZSBydXRhIGFjdHVhbCAoZWo6ICdjYXRlZ29yaWVzJywgJ2F0dHJpYnV0ZXMnLCBldGMpLlxuXHQgKiBMbyB1c2Ftb3MgcGFyYSBxdWUgUGFnaW5hdGlvblNlcnZpY2Ugc2VwYSBxdcOpIGZpbHRybyBlc3BlcmFyLlxuXHQgKi9cblx0cHVibGljIGN1cnJlbnRSb3V0ZVR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHR0aGlzLndpbmRvdyA9IHdpbmRvd1xuXHRcdH1cblx0fVxuXHQvKipcblx0ICogUGF0aCB1c2FkbyBlbiBsYXMgY29sZWNjaW9uZXMgZGUgcHJvZHVjdG9zLlxuXHQgKi9cblx0cHVibGljIFBST0RVQ1RfTElTVF9ST1VURTogc3RyaW5nID0gJ2NvbGxlY3Rpb24vJztcblx0LyoqXG5cdCAqIFBhdGggdXNhZG8gcGFyYSBhY2NlZGVyIGEgbGFzIHNlY2Npb25lcy5cblx0ICovXG5cdHB1YmxpYyBTRUNUSU9OU19ST1VURTogc3RyaW5nID0gJ3NlY3Rpb25zLyc7XG5cdC8qKlxuXHQgKiBQYXRoIHF1ZSBhbG9qYSBsYSBjYXJwZXRhIGRlIGxvcyBhc3NldHMuXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgQVNTRVRTX1VSTDogc3RyaW5nID0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTDtcblx0LyoqXG5cdCAqIFJldG9ybmEgbGEgdXJsIGRvbmRlIHNlIGd1YXJkYSBsYXMgaW1hZ2VuZXMuXG5cdCAqIEBwYXJhbSBwb3N0TWVkaWEgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIG1lZGlhVXJsID0gKHBvc3RNZWRpYT86IHN0cmluZykgPT4gdGhpcy5BU1NFVFNfVVJMICsgKHRoaXMuQVNTRVRTX1VSTCA9PSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMID8gJ21lZGlhLycgOiAnJykgKyAocG9zdE1lZGlhID8gcG9zdE1lZGlhIDogXCJpbWFnZS9cIik7XG5cdC8qKlxuXHQgKiBSZXRvcm5hIGxhIHVybCBkb25kZSBzZSBndWFyZGEgbGFzIGltYWdlbmVzLlxuXHQgKiBAcGFyYW0gcG9zdE1lZGlhIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyBtZWRpYUltYWdlVXJsID0gKHBvc3RNZWRpYT86IHN0cmluZykgPT4gdGhpcy5BU1NFVFNfVVJMICsgKHRoaXMuQVNTRVRTX1VSTCA9PSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMID8gJ21lZGlhL2ltYWdlLycgOiAnJykgKyAocG9zdE1lZGlhID8gcG9zdE1lZGlhIDogXCJpbWFnZS9cIik7XG5cdC8qKlxuXHQgKiBSZXRvcm5hIGxhIHVybCBkZWwgc2l0aW8uXG5cdCAqIEBwYXJhbSBwb3N0TWVkaWEgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIHVybCA9ICgpID0+IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwucmVwbGFjZSgvXFwvJC8sICcnKTsgLy8gcmVtb3ZlIGxhc3Qgc2xhc2hcdFxuXG5cdC8qKlxuXHQgKiBVUkwgZGVsIHNpdGlvIGZyb250ZW5kIC0gQ29tcGF0aWJsZSBjb24gQW5ndWxhciBTU1Jcblx0ICovXG5cdHB1YmxpYyBnZXQgRlJPTlRFTkRfVVJMKCk6IHN0cmluZyB7XG5cdFx0Ly8gVmVyaWZpY2FyIHNpIGVzdGFtb3MgZW4gZWwgbmF2ZWdhZG9yXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRcdC8vIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIHdpbmRvdy5fX2VudiAoY29uZmlndXJhZG8gcG9yIERvY2tlci9DSSlcblx0XHRcdGNvbnN0IHdpbmRvd0VudiA9ICh0aGlzLndpbmRvdyBhcyBhbnkpPy5fX2Vudjtcblx0XHRcdGlmICh3aW5kb3dFbnY/LmZyb250ZW5kVXJsKSB7XG5cdFx0XHRcdC8vIExvZyBwYXJhIGRlYnVnZ2luZyBlbiBkZXNhcnJvbGxvXG5cdFx0XHRcdGlmICghd2luZG93RW52LmZyb250ZW5kVXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuXHRcdFx0XHRcdGNvbnNvbGUud2FybignW0ZST05URU5EX1VSTF0gSW52YWxpZCBmcm9udGVuZFVybCBmb3JtYXQ6Jywgd2luZG93RW52LmZyb250ZW5kVXJsKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gd2luZG93RW52LmZyb250ZW5kVXJsO1xuXHRcdFx0fVxuICAgICAgICAgICAgXG5cdFx0XHQvLyBTaSBubyBoYXkgY29uZmlndXJhY2nDs24gZXNwZWPDrWZpY2EsIGNvbnN0cnVpciBkZXNkZSB3aW5kb3cubG9jYXRpb25cblx0XHRcdGlmICh0aGlzLndpbmRvdz8ubG9jYXRpb24pIHtcblx0XHRcdFx0Y29uc3QgdXJsID0gYCR7dGhpcy53aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3R9YDtcblx0XHRcdFx0Ly8gVmVyaWZpY2FyIHF1ZSBubyBzZWEgbG9jYWxob3N0IG8gMTI3LjAuMC4xIGVuIHByb2R1Y2Npw7NuXG5cdFx0XHRcdGlmICh1cmwuaW5jbHVkZXMoJzEyNy4wLjAuMScpIHx8IHVybC5pbmNsdWRlcygnbG9jYWxob3N0JykpIHtcblx0XHRcdFx0XHRjb25zb2xlLndhcm4oJ1tGUk9OVEVORF9VUkxdIFVzaW5nIGxvY2FsaG9zdCBVUkwgaW4gcHJvZHVjdGlvbiwgY29uc2lkZXIgc2V0dGluZyB3aW5kb3cuX19lbnYuZnJvbnRlbmRVcmwnKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdXJsO1xuXHRcdFx0fVxuXHRcdH1cbiAgICAgICAgXG5cdFx0Ly8gUGFyYSBTU1IsIGludGVudGFyIGNvbnN0cnVpciBkZXNkZSBlbCBkb2N1bWVudCBzaSBlc3TDoSBkaXNwb25pYmxlXG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kb2N1bWVudD8ubG9jYXRpb24pIHtcblx0XHRcdHJldHVybiBgJHt0aGlzLmRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sfS8vJHt0aGlzLmRvY3VtZW50LmxvY2F0aW9uLmhvc3R9YDtcblx0XHR9XG4gICAgICAgIFxuXHRcdC8vIEludGVudGFyIG9idGVuZXIgZGVzZGUgZW52aXJvbm1lbnRcblx0XHRpZiAodGhpcy5lbnZpcm9ubWVudC5mcm9udGVuZFVybCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZnJvbnRlbmRVcmw7XG5cdFx0fVxuICAgICAgICBcblx0XHQvLyDDmmx0aW1vIGZhbGxiYWNrIC0gdXNhciBsYSBVUkwgZGVsIEFQSSBzaSBlc3TDoSBjb25maWd1cmFkYSB5IGVzIGFic29sdXRhXG5cdFx0Y29uc3QgYXBpVXJsID0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTDtcblx0XHRpZiAoYXBpVXJsICYmIChhcGlVcmwuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IGFwaVVybC5zdGFydHNXaXRoKCdodHRwczovLycpKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdXJsID0gbmV3IFVSTChhcGlVcmwpO1xuXHRcdFx0XHRyZXR1cm4gYCR7dXJsLnByb3RvY29sfS8vJHt1cmwuaG9zdH1gO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRjb25zb2xlLndhcm4oJ1tGUk9OVEVORF9VUkxdIENvdWxkIG5vdCBwYXJzZSBBUEkgVVJMIGFzIGZhbGxiYWNrOicsIGFwaVVybCk7XG5cdFx0XHR9XG5cdFx0fVxuICAgICAgICBcblx0XHQvLyBGYWxsYmFjayBmaW5hbCAtIHJldG9ybmFyIFVSTCB2YWPDrWFcblx0XHRjb25zb2xlLndhcm4oJ1tGUk9OVEVORF9VUkxdIE5vIHZhbGlkIGZyb250ZW5kIFVSTCBmb3VuZCwgdGhpcyBtYXkgY2F1c2UgaXNzdWVzIHdpdGggbWV0YSB0YWdzJyk7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldG9ybmEgbGEgVVJMIGNvbXBsZXRhIGRlbCBmcm9udGVuZCBjb24gdW5hIHJ1dGEgb3BjaW9uYWxcblx0ICogQHBhcmFtIHBhdGggLSBSdXRhIG9wY2lvbmFsIHBhcmEgYWdyZWdhciBhIGxhIFVSTCBiYXNlXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFVSTCBjb21wbGV0YSBkZWwgZnJvbnRlbmRcblx0ICovXG5cdHB1YmxpYyBnZXRGcm9udGVuZFVybCA9IChwYXRoPzogc3RyaW5nKTogc3RyaW5nID0+IHtcblx0XHRjb25zdCBiYXNlVXJsID0gdGhpcy5GUk9OVEVORF9VUkw7XG5cdFx0aWYgKCFwYXRoKSB7XG5cdFx0XHRyZXR1cm4gYmFzZVVybDtcblx0XHR9XG5cdFx0XG5cdFx0Ly8gQXNlZ3VyYXIgcXVlIGxhIHJ1dGEgY29taWVuY2UgY29uICcvJyB5IG5vIHRlbmdhIGRvYmxlIHNsYXNoXG5cdFx0Y29uc3QgY2xlYW5QYXRoID0gcGF0aC5zdGFydHNXaXRoKCcvJykgPyBwYXRoIDogYC8ke3BhdGh9YDtcblx0XHRjb25zdCBjbGVhbkJhc2VVcmwgPSBiYXNlVXJsLmVuZHNXaXRoKCcvJykgPyBiYXNlVXJsLnNsaWNlKDAsIC0xKSA6IGJhc2VVcmw7XG5cdFx0XG5cdFx0cmV0dXJuIGAke2NsZWFuQmFzZVVybH0ke2NsZWFuUGF0aH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldG9ybmEgbGEgVVJMIGFic29sdXRhIGRlIHVuYSBpbWFnZW4gcGFyYSBtZXRhIHRhZ3MgKGNvbXBhdGlibGUgY29uIFNTUilcblx0ICogQHBhcmFtIHBvc3RNZWRpYSAtIFJ1dGEgZGUgbGEgaW1hZ2VuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFVSTCBhYnNvbHV0YSBkZSBsYSBpbWFnZW5cblx0ICovXG5cdHB1YmxpYyBnZXRBYnNvbHV0ZUltYWdlVXJsID0gKHBvc3RNZWRpYT86IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdFx0Ly8gU2kgbGEgVVJMIHlhIGVzIGFic29sdXRhLCBkZXZvbHZlcmxhIHRhbCBjb21vIGVzdMOhXG5cdFx0aWYgKHBvc3RNZWRpYSAmJiAocG9zdE1lZGlhLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBwb3N0TWVkaWEuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkpIHtcblx0XHRcdHJldHVybiBwb3N0TWVkaWE7XG5cdFx0fVxuXG5cdFx0Ly8gQ29uc3RydWlyIGxhIFVSTCBkZSBsYSBpbWFnZW4gdXNhbmRvIGxhIFVSTCBkZWwgQVBJXG5cdFx0Y29uc3QgaW1hZ2VVcmwgPSB0aGlzLm1lZGlhSW1hZ2VVcmwocG9zdE1lZGlhKTtcblx0XHRcblx0XHQvLyBTaSBsYSBVUkwgZGUgbGEgaW1hZ2VuIHlhIGVzIGFic29sdXRhLCBkZXZvbHZlcmxhXG5cdFx0aWYgKGltYWdlVXJsLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwczovLycpKSB7XG5cdFx0XHRyZXR1cm4gaW1hZ2VVcmw7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIFNpIGVzIHVuYSBVUkwgcmVsYXRpdmEsIGNvbnZlcnRpcmxhIGEgYWJzb2x1dGEgdXNhbmRvIGxhIFVSTCBiYXNlIGRlbCBBUElcblx0XHRjb25zdCBhcGlCYXNlVXJsID0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTDtcblx0XHRpZiAoYXBpQmFzZVVybC5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgYXBpQmFzZVVybC5zdGFydHNXaXRoKCdodHRwczovLycpKSB7XG5cdFx0XHQvLyBBUElfVVJMIHlhIGVzIGFic29sdXRhXG5cdFx0XHRyZXR1cm4gaW1hZ2VVcmw7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIFNpIEFQSV9VUkwgZXMgcmVsYXRpdmEsIHVzYXIgbGEgVVJMIGRlbCBmcm9udGVuZCBjb21vIGJhc2Vcblx0XHRjb25zdCBmcm9udGVuZFVybCA9IHRoaXMuRlJPTlRFTkRfVVJMO1xuXHRcdGlmICghZnJvbnRlbmRVcmwpIHtcblx0XHRcdHJldHVybiBpbWFnZVVybDsgLy8gRmFsbGJhY2sgc2kgbm8gcG9kZW1vcyBkZXRlcm1pbmFyIGxhIFVSTCBkZWwgZnJvbnRlbmRcblx0XHR9XG5cdFx0XG5cdFx0Ly8gQ29uc3RydWlyIFVSTCBhYnNvbHV0YVxuXHRcdGNvbnN0IGNsZWFuQXBpVXJsID0gYXBpQmFzZVVybC5zdGFydHNXaXRoKCcvJykgPyBhcGlCYXNlVXJsLnN1YnN0cmluZygxKSA6IGFwaUJhc2VVcmw7XG5cdFx0Y29uc3QgY2xlYW5Gcm9udGVuZFVybCA9IGZyb250ZW5kVXJsLmVuZHNXaXRoKCcvJykgPyBmcm9udGVuZFVybC5zbGljZSgwLCAtMSkgOiBmcm9udGVuZFVybDtcblx0XHRjb25zdCBjbGVhbkltYWdlVXJsID0gaW1hZ2VVcmwuc3RhcnRzV2l0aCgnLycpID8gaW1hZ2VVcmwuc3Vic3RyaW5nKDEpIDogaW1hZ2VVcmw7XG5cdFx0XG5cdFx0cmV0dXJuIGAke2NsZWFuRnJvbnRlbmRVcmx9LyR7Y2xlYW5BcGlVcmx9JHtjbGVhbkltYWdlVXJsfWA7XG5cdH1cblxuXHQvKipcblx0ICogUmV0b3JuYSBsYSB1cmwgZGUgbGFzIGltYWdlbmVzIGRlIGxvcyBiYW5uZXJzXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0cHVibGljIG1lZGlhQmFubmVyVXJsID0gKCkgPT4gdGhpcy5BU1NFVFNfVVJMICsgKHRoaXMuQVNTRVRTX1VSTCA9PSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMID8gJ21lZGlhLycgOiAnJykgKyBcImJhbm5lci1pbWFnZS9cIjtcblx0XG5cdG1lZGlhU3RvcmVVcmwgPSAoKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvJyA6ICcnKSArIFwic3RvcmUtaW1hZ2UvXCI7XG5cdFxuXHQvKipcblx0ICogUmV0b3JuYSBgdHJ1ZWAgc2kgbGEgdmlzdGEgZXMgbW9iaWxlLCBgZmFsc2VgIGNhc28gY29udHJhcmlvLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn1cblx0ICovXG5cdHB1YmxpYyBtb2JpbGVTY3JlZW4gPSAoKTogYm9vbGVhbiA9PiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHRoaXMud2luZG93ICYmIHRoaXMud2luZG93Py5pbm5lcldpZHRoIDwgNzUwIHx8IGZhbHNlO1xuXHQvKipcblx0ICogQ29udGllbmUgbG9zIHZhbG9yZXMgcGFyYSBsYSBtb25lZGEgYWN0dWFsXG5cdCAqL1xuXHRwdWJsaWMgY3VycmVuY3k6IEN1cnJlbmN5Q29uZmlnID0ge1xuXHRcdGNvZGU6ICdBUkcnLFxuXHRcdHN5bWJvbDogJyQnLFxuXHRcdHBvc2l0aW9uOiAnTGVmdCcsXG5cdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXG5cdH07XG5cblx0LyoqXG5cdCAqIEFycmVnbG8gZGUgdmFsb3JlcyB1c2Fkb3MgcGFyYSBlbCBwaXBlIGN1cnJlbmN5UHJpY2Vcblx0ICovXG5cdHB1YmxpYyBjdXJyZW5jeVR5cGVDb25maWc6IEN1cnJlbmN5Q29uZmlnW10gPSBbXG5cdFx0e1xuXHRcdFx0Y29kZTogJ0VVUicsXG5cdFx0XHRzeW1ib2w6ICfigqwnLFxuXHRcdFx0cG9zaXRpb246ICdSaWdodCcsXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcblxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0Y29kZTogJ0FSRycsXG5cdFx0XHRzeW1ib2w6ICckJyxcblx0XHRcdHBvc2l0aW9uOiAnTGVmdCcsXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2Vcblx0XHR9LFxuXHRcdHtcblx0XHRcdGNvZGU6ICdBUlMnLFxuXHRcdFx0c3ltYm9sOiAnJCcsXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRjb2RlOiAnVVNEJyxcblx0XHRcdHN5bWJvbDogJyQnLFxuXHRcdFx0cG9zaXRpb246ICdMZWZ0Jyxcblx0XHRcdHdpdGhvdXREZWNpbWFsOiBmYWxzZVxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0Y29kZTogJ1BZRycsXG5cdFx0XHRzeW1ib2w6ICdHcy4nLFxuXHRcdFx0cG9zaXRpb246ICdMZWZ0Jyxcblx0XHRcdHdpdGhvdXREZWNpbWFsOiBmYWxzZVxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0Y29kZTogJ1BFTicsXG5cdFx0XHRzeW1ib2w6ICdTLycsXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRjb2RlOiAnU0VLJyxcblx0XHRcdHN5bWJvbDogJ1NFSycsXG5cdFx0XHRwb3NpdGlvbjogJ1JpZ2h0Jyxcblx0XHRcdHdpdGhvdXREZWNpbWFsOiB0cnVlXG5cdFx0fSxcblx0XVxuXHQvKipcblx0ICogQ2FtYmlhIGxhIGNvbmZpZ3VyYWNpw7NuIGRlIGxhIG1vbmVkYS5cblx0ICogQHBhcmFtIGN1cnJlbmN5VHlwZUNvbmZpZyBBcnJlZ2xvIGNvbiBsYXMgZGlzdGludGFzIG1vbmVkYXMuXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q3VycmVuY3lUeXBlQ29uZmlnKGN1cnJlbmN5VHlwZUNvbmZpZzogQ3VycmVuY3lDb25maWdbXSkge1xuXHRcdHRoaXMuY3VycmVuY3lUeXBlQ29uZmlnID0gY3VycmVuY3lUeXBlQ29uZmlnO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSBjdXJyZW5jeVR5cGVGaW5kIERlZmluaXIgZWwgY29kZSBkZWwgdGlwbyBkZSBtb25lZGEgcXVlIHNlIHF1aWVyYSB1dGlsaXphci5cblx0ICogU2kgZWwgdGlwbyBlcyBDVVNUT00gc2UgdG9tYW4gbG9zIHZhbG9yZXMgZGVsIHNlZ3VuZG8gcGFyYW1ldHJvIGRvbmRlIHNlIHB1ZWRlIGRlZmluaXIgbGEgc2ltYm9sb2fDrWEgeSBwb3Nlc2nDs24gcXVlIHNlIHF1aWVyYS5cblx0ICogQHBhcmFtIGN1c3RvbVR5cGUgRm9ybWF0byBkZWwgcGFyw6FtZXRybyBlamVtcGxvIHsgY29kZTogJ0FSRycsIHN5bWJvbDogJyQnLCBwb3NpdGlvbjogJ0wnICwgd2l0aG91dERlY2ltYWxzOiBmYWxzZSB9ICxcblx0ICogdG9kYXMgbGFzIGtleSBzb24gb3BjaW9uYWxlcyB5IHBvciBkZWZlY3RvIHNlIHRvbWFuIGxvcyB2YWxvcmVzIGRlbCBlamVtcGxvLlxuXHQgKiBAcmV0dXJucyBzZSByZXRvcm5hIGxhIGNvbmZpZ3VyYWNpw7NuIHF1ZSBzZSBzZXRlbyBhIGxhIHByb3BpZWRhZCBjdXJyZW5jeSBkZWwgc2VydmljaW8uXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q3VycmVuY3koY3VycmVuY3lUeXBlRmluZDogY3VycmVuY3lUeXBlLCBjdXN0b21UeXBlPzogQ3VycmVuY3lDb25maWcpOiBDdXJyZW5jeUNvbmZpZyB7XG5cdFx0dGhpcy5jdXJyZW5jeSA9IHRoaXMuY3VycmVuY3lUeXBlQ29uZmlnLmZpbmQoKGN0OiBDdXJyZW5jeUNvbmZpZykgPT4gY3QuY29kZSA9PSBjdXJyZW5jeVR5cGVGaW5kLnRvVXBwZXJDYXNlKCkpIHx8IHRoaXMuY3VycmVuY3lcblx0XHRjdXN0b21UeXBlICYmICh0aGlzLmN1cnJlbmN5ID0geyAuLi50aGlzLmN1cnJlbmN5LCAuLi5jdXN0b21UeXBlIH0pXG5cdFx0cmV0dXJuIHRoaXMuY3VycmVuY3k7XG5cdH07XG5cblxuXHRwdWJsaWMgbW9kaWZ5Q2hhbm5lbENvbmZpZyhjaGFubmVsQ29uZmlnOiBhbnkpIHtcblx0XHRpZiAoY2hhbm5lbENvbmZpZy5jaGFubmVsIHx8IGNoYW5uZWxDb25maWcuY29kZSlcblx0XHRcdHRoaXMuYXBpQ29uc3RhbnRzLnNldENoYW5uZWwoY2hhbm5lbENvbmZpZy5jaGFubmVsIHx8IGNoYW5uZWxDb25maWcuY29kZSlcblxuXHRcdGlmIChjaGFubmVsQ29uZmlnLmxvY2FsZSB8fCBjaGFubmVsQ29uZmlnLmxvY2FsZXMuY29kZSlcblx0XHRcdHRoaXMuYXBpQ29uc3RhbnRzLnNldExvY2FsZShjaGFubmVsQ29uZmlnLmxvY2FsZSB8fCBjaGFubmVsQ29uZmlnLmxvY2FsZXMuY29kZSlcblxuXHRcdGlmIChjaGFubmVsQ29uZmlnLmN1cnJlbmN5IHx8IGNoYW5uZWxDb25maWcuYmFzZUN1cnJlbmN5KVxuXHRcdFx0dGhpcy5zZXRDdXJyZW5jeShjaGFubmVsQ29uZmlnLmN1cnJlbmN5IHx8IGNoYW5uZWxDb25maWcuYmFzZUN1cnJlbmN5KVxuXG5cdFx0cmV0dXJuIGNoYW5uZWxDb25maWc7XG5cdH1cblxuXHQvKipcblx0KiBAZGVzY3JpcHRpb24gc2UgdXRpbGl6YSBwYXJhIGNvbmZpZ3VyYXIgcXVlIGZpbHRyb3MgZGVsIHRpcG8gYFNvcnRGaWx0ZXJgIHNlIHF1aWVyZSBtb3N0cmFyIGVuIGxhIHZpc3RhLlxuXHQqIFNlIHVzYW4gbG9zIGNvZGlnbyBkZSBsb3MgZmlsdHJvcyBwYXJhIGluZGljYXIgY3VhbGVzIHNlIGRlYmVuIG1vc3RyYXIuXG5cdCovXG5cdHByaXZhdGUgc29ydEZpbHRlcnM6IHN0cmluZ1tdID0gWydwcmljZScsICdvcmRlci1hbHBoJywgJ3JlY2VudCddXG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwYXJhbSBmaWx0ZXJzQ29kZSBhcnJlZ2xvIGRlIHN0cmluZ3MgY29uIGxvcyBjb2RpZ29zIGRlIGxvcyBmaWx0cm9zLlxuXHQgKiBTaSBzZSBsZSBwYXNhIGVsIHBhcmFtZXRybyAqKmFsbCoqIGVzdGUgbW9zdHJhcmEgdG9kb3MuXG5cdCAqIEBleGFtcGxlIHByaWNlIHwgb3JkZXItYWxwaCB8IHJlY2VudCB8IHVwZGF0ZSB8IGFsbFxuXHQgKiBAcmV0dXJuc1xuXHQgKi9cblx0c2V0U29ydEZpbHRlcnMgPSAoZmlsdGVyc0NvZGU6IHN0cmluZ1tdID0gWydhbGwnXSkgPT4gdGhpcy5zb3J0RmlsdGVycyA9IGZpbHRlcnNDb2RlO1xuXG5cdGdldFNvcnRGaWx0ZXJzID0gKCkgPT4gdGhpcy5zb3J0RmlsdGVycztcblxuXHQvLyBBQk9VVCBQUk9EVUNUUyBcblx0cHJpdmF0ZSBwcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50OiBib29sZWFuID0gZmFsc2U7XG5cdHNldFByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudCh2YWx1ZTogYm9vbGVhbikgeyB0aGlzLnByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB2YWx1ZTsgfVxuXHRnZXRQcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQoKSB7IHJldHVybiB0aGlzLnByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgfVxuXG5cdC8qKlxuXHQqIEBkZXNjcmlwdGlvbiBlc3RhIHZhcmlhYmxlIHNlIHV0aWxpemEgcGFyYSBjb25maWd1cmFyIGxvcyBwYXJhbWV0cm9zIGN1YW5kbyBzZSBkZXNlYSBtb3N0cmFyXG5cdCogdmFyaWFudGVzIGVsIGxpc3RhZG8gZGUgcHJvZHVjdG9zLlxuXHQqIEBwYXJhbSB7c3RyaW5nfXR5cGUgdGlwbyBkZSBvcHRpb25zXG5cdCogQHBhcmFtIHtzdHJpbmd9Y29kZSBjb2RpZ28gZGUgb3B0aW9uc1xuXHQqIEBwYXJhbSB7Ym9vbGVhbn1kZWZhdWx0Rmlyc3RPcHRpb24gYHRydWVgIHRvbWEgZWwgcHJpbWVyIG9wdGlvbiBkZWwgcHJvZHVjdG8gZW4gZ2VuZXJhbFxuXHQqIEBwYXJhbSB7Ym9vbGVhbn1jaGVja0lmU3RvY2sgYHRydWVgIHNlIHJlYWxpemEgdW4gY2hlcXVlbyBkZSBzaSBsYSB2YXJpYW50ZSB0aWVuZSBzdG9jayBwYXJhIG1vc3RyYXJsYVxuXHQqIEBleGFtcGxlICBgYGBqYXZhc2NyaXB0XG5cdCoge1xuXHQgICB0eXBlOiAnY29sb3InLFxuXHQgICBjb2RlOiAnY29sb3InLFxuXHQgICBkZWZhdWx0Rmlyc3RPcHRpb246IGZhbHNlICxcblx0ICAgY2hlY2tJZlN0b2NrOnRydWVcblx0ICAgfSBgYGBcblx0Ki9cblx0cHJpdmF0ZSBwYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50OiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0ge1xuXHRcdHR5cGU6ICdjb2xvcicsXG5cdFx0Y29kZTogJ2NvbG9yJyxcblx0XHRkZWZhdWx0Rmlyc3RPcHRpb246IGZhbHNlLFxuXHRcdGNoZWNrSWZTdG9jazogdHJ1ZVxuXHR9XG5cblx0c2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9ICh2YWx1ZTogUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCkgPT4ge1xuXHRcdHRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHtcblx0XHRcdC4uLnRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCxcblx0XHRcdC4uLnZhbHVlXG5cdFx0fVxuXHR9XG5cblx0Z2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9ICgpID0+IHRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudFxuXHRcblx0cHVibGljIGdldENoYW5uZWwoKXtcblx0XHRyZXR1cm4gdGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTDtcblx0fVxuXG5cdHB1YmxpYyBmb3JtX3NlbmRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHNldEN1cnJlbnRSb3V0ZVR5cGUodHlwZTogc3RyaW5nIHwgbnVsbCkge1xuXHRcdHRoaXMuY3VycmVudFJvdXRlVHlwZSA9IHR5cGU7XG5cdH1cblxuXHRnZXRDdXJyZW50Um91dGVUeXBlKCk6IHN0cmluZyB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRSb3V0ZVR5cGU7XG5cdH1cbn1cbiJdfQ==
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25zdGFudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jb25zdGFudHMvY29yZS5jb25zdGFudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFDakQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFFekIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUNoQzs7T0FFRztJQUNLLFlBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUNsRDs7T0FFRztJQUNLLFVBQVUsR0FBUSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDN0M7O09BRUc7SUFDSyxRQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdDOztPQUVHO0lBQ0ssV0FBVyxHQUFnQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUM1RDs7T0FFRztJQUNLLE1BQU0sQ0FBUztJQUV2QjtRQUNDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDckIsQ0FBQztJQUNGLENBQUM7SUFDRDs7T0FFRztJQUNJLGtCQUFrQixHQUFXLGFBQWEsQ0FBQztJQUNsRDs7T0FFRztJQUNJLGNBQWMsR0FBVyxXQUFXLENBQUM7SUFDNUM7O09BRUc7SUFD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TyxJQUFJLENBQUMseUJBQXlCLENBQUEsQ0FBQyxDQUFDO0lBRXZFOzs7Ozs7Ozs7Ozs7OztNQWNFO0lBQ00sK0JBQStCLEdBQW9DO1FBQzFFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLE9BQU87UUFDYixrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLFlBQVksRUFBRSxJQUFJO0tBQ2xCLENBQUE7SUFFRCxrQ0FBa0MsR0FBRyxDQUFDLEtBQXNDLEVBQUUsRUFBRTtRQUMvRSxJQUFJLENBQUMsK0JBQStCLEdBQUc7WUFDdEMsR0FBRyxJQUFJLENBQUMsK0JBQStCO1lBQ3ZDLEdBQUcsS0FBSztTQUNSLENBQUE7SUFDRixDQUFDLENBQUE7SUFFRCxrQ0FBa0MsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUE7SUFFeEUsVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXLEdBQVksS0FBSyxDQUFDO3dHQTlVeEIsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuL2FwaS5jb25zdGFudHMuc2VydmljZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ3VycmVuY3lDb25maWcsIGN1cnJlbmN5VHlwZSwgUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCwgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVOVklST05NRU5UX1RPS0VOIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcbi8qKlxuICogU2VydmljaW8gcXVlIHByb3ZlZSBsYXMgY29uc3RhbnRlcyBuZWNlc2FyaWFzIHF1ZSBzZSB1dGlsaXphbiBwb3IgdG9kYSBsYSBhcGxpY2FjacOzbi5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBDb3JlQ29uc3RhbnRzU2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb3JlQ29uc3RhbnRzU2VydmljZSB7XG5cblx0cHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcblx0LyoqXG5cdCAqIFNlcnZpY2lvIHF1ZSBjb250aWVuZSBsYXMgY29uc3RhbnRlcyB1c2FkYXMgcGFyYSBsYSBBUElcblx0ICovXG5cdHByaXZhdGUgYXBpQ29uc3RhbnRzID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpXG5cdC8qKlxuXHQgKiBQcm92ZWUgZWwgSUQgZGUgbGEgcGxhdGFmb3JtYSBlbiBkb25kZSBzZSBlc3RhIGVqZWN1dGFuZG8gZWwgY29kaWdvLCBlc3RvIHNpcnZlIHBhcmEgcG9kZXIgZGlmZXJlbmNpYXIgc2kgZXMgZGUgdW4gc2Vydmlkb3IgbyB1biBuYXZlZ2Fkb3Igd2ViLlxuXHQgKi9cblx0cHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpXG5cdC8qKlxuXHQgKiBEb2N1bWVudCB0b2tlbiBwYXJhIGFjY2VzbyBTU1ItY29tcGF0aWJsZSBhbCBkb2N1bWVudG9cblx0ICovXG5cdHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKVxuXHQvKipcblx0ICogQ29udGllbmUgbG9zIGRhdG9zIHByb3Zpc3RvIHBvciBlbCBmcm9udGVuZCBlbiBlbCBhcmNoaXZvIGVudmlyb25tZW50LnRzXG5cdCAqL1xuXHRwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTilcblx0LyoqXG5cdCAqIEd1YXJkYSBsYSB2YXJpYWJsZSB3aW5kb3cgZGVsIHdlYiBicm93c2VyLlxuXHQgKi9cblx0cHJpdmF0ZSB3aW5kb3c/OldpbmRvdztcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuXHRcdFx0dGhpcy53aW5kb3cgPSB3aW5kb3dcblx0XHR9XG5cdH1cblx0LyoqXG5cdCAqIFBhdGggdXNhZG8gZW4gbGFzIGNvbGVjY2lvbmVzIGRlIHByb2R1Y3Rvcy5cblx0ICovXG5cdHB1YmxpYyBQUk9EVUNUX0xJU1RfUk9VVEU6IHN0cmluZyA9ICdjb2xsZWN0aW9uLyc7XG5cdC8qKlxuXHQgKiBQYXRoIHVzYWRvIHBhcmEgYWNjZWRlciBhIGxhcyBzZWNjaW9uZXMuXG5cdCAqL1xuXHRwdWJsaWMgU0VDVElPTlNfUk9VVEU6IHN0cmluZyA9ICdzZWN0aW9ucy8nO1xuXHQvKipcblx0ICogUGF0aCBxdWUgYWxvamEgbGEgY2FycGV0YSBkZSBsb3MgYXNzZXRzLlxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IEFTU0VUU19VUkw6IHN0cmluZyA9IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkw7XG5cdC8qKlxuXHQgKiBSZXRvcm5hIGxhIHVybCBkb25kZSBzZSBndWFyZGEgbGFzIGltYWdlbmVzLlxuXHQgKiBAcGFyYW0gcG9zdE1lZGlhIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyBtZWRpYVVybCA9IChwb3N0TWVkaWE/OiBzdHJpbmcpID0+IHRoaXMuQVNTRVRTX1VSTCArICh0aGlzLkFTU0VUU19VUkwgPT0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTCA/ICdtZWRpYS8nIDogJycpICsgKHBvc3RNZWRpYSA/IHBvc3RNZWRpYSA6IFwiaW1hZ2UvXCIpO1xuXHQvKipcblx0ICogUmV0b3JuYSBsYSB1cmwgZG9uZGUgc2UgZ3VhcmRhIGxhcyBpbWFnZW5lcy5cblx0ICogQHBhcmFtIHBvc3RNZWRpYSBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgbWVkaWFJbWFnZVVybCA9IChwb3N0TWVkaWE/OiBzdHJpbmcpID0+IHRoaXMuQVNTRVRTX1VSTCArICh0aGlzLkFTU0VUU19VUkwgPT0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTCA/ICdtZWRpYS9pbWFnZS8nIDogJycpICsgKHBvc3RNZWRpYSA/IHBvc3RNZWRpYSA6IFwiaW1hZ2UvXCIpO1xuXHQvKipcblx0ICogUmV0b3JuYSBsYSB1cmwgZGVsIHNpdGlvLlxuXHQgKiBAcGFyYW0gcG9zdE1lZGlhIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyB1cmwgPSAoKSA9PiB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMLnJlcGxhY2UoL1xcLyQvLCAnJyk7IC8vIHJlbW92ZSBsYXN0IHNsYXNoXHRcblxuXHQvKipcblx0ICogVVJMIGRlbCBzaXRpbyBmcm9udGVuZCAtIENvbXBhdGlibGUgY29uIEFuZ3VsYXIgU1NSXG5cdCAqL1xuXHRwdWJsaWMgZ2V0IEZST05URU5EX1VSTCgpOiBzdHJpbmcge1xuXHRcdC8vIFZlcmlmaWNhciBzaSBlc3RhbW9zIGVuIGVsIG5hdmVnYWRvclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG5cdFx0XHQvLyBQcmltZXJvIGludGVudGEgbGVlciBkZSB3aW5kb3cuX19lbnYgKGNvbmZpZ3VyYWRvIHBvciBEb2NrZXIvQ0kpXG5cdFx0XHRjb25zdCB3aW5kb3dFbnYgPSAodGhpcy53aW5kb3cgYXMgYW55KT8uX19lbnY7XG5cdFx0XHRpZiAod2luZG93RW52Py5mcm9udGVuZFVybCkge1xuXHRcdFx0XHQvLyBMb2cgcGFyYSBkZWJ1Z2dpbmcgZW4gZGVzYXJyb2xsb1xuXHRcdFx0XHRpZiAoIXdpbmRvd0Vudi5mcm9udGVuZFVybC5zdGFydHNXaXRoKCdodHRwJykpIHtcblx0XHRcdFx0XHRjb25zb2xlLndhcm4oJ1tGUk9OVEVORF9VUkxdIEludmFsaWQgZnJvbnRlbmRVcmwgZm9ybWF0OicsIHdpbmRvd0Vudi5mcm9udGVuZFVybCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHdpbmRvd0Vudi5mcm9udGVuZFVybDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Ly8gU2kgbm8gaGF5IGNvbmZpZ3VyYWNpw7NuIGVzcGVjw61maWNhLCBjb25zdHJ1aXIgZGVzZGUgd2luZG93LmxvY2F0aW9uXG5cdFx0XHRpZiAodGhpcy53aW5kb3c/LmxvY2F0aW9uKSB7XG5cdFx0XHRcdGNvbnN0IHVybCA9IGAke3RoaXMud2luZG93LmxvY2F0aW9uLnByb3RvY29sfS8vJHt0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0fWA7XG5cdFx0XHRcdC8vIFZlcmlmaWNhciBxdWUgbm8gc2VhIGxvY2FsaG9zdCBvIDEyNy4wLjAuMSBlbiBwcm9kdWNjacOzblxuXHRcdFx0XHRpZiAodXJsLmluY2x1ZGVzKCcxMjcuMC4wLjEnKSB8fCB1cmwuaW5jbHVkZXMoJ2xvY2FsaG9zdCcpKSB7XG5cdFx0XHRcdFx0Y29uc29sZS53YXJuKCdbRlJPTlRFTkRfVVJMXSBVc2luZyBsb2NhbGhvc3QgVVJMIGluIHByb2R1Y3Rpb24sIGNvbnNpZGVyIHNldHRpbmcgd2luZG93Ll9fZW52LmZyb250ZW5kVXJsJyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHVybDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ly8gUGFyYSBTU1IsIGludGVudGFyIGNvbnN0cnVpciBkZXNkZSBlbCBkb2N1bWVudCBzaSBlc3TDoSBkaXNwb25pYmxlXG5cdFx0aWYgKHRoaXMuZG9jdW1lbnQ/LmxvY2F0aW9uKSB7XG5cdFx0XHRyZXR1cm4gYCR7dGhpcy5kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbH0vLyR7dGhpcy5kb2N1bWVudC5sb2NhdGlvbi5ob3N0fWA7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIEludGVudGFyIG9idGVuZXIgZGVzZGUgZW52aXJvbm1lbnRcblx0XHRpZiAodGhpcy5lbnZpcm9ubWVudC5mcm9udGVuZFVybCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZnJvbnRlbmRVcmw7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIMOabHRpbW8gZmFsbGJhY2sgLSB1c2FyIGxhIFVSTCBkZWwgQVBJIHNpIGVzdMOhIGNvbmZpZ3VyYWRhIHkgZXMgYWJzb2x1dGFcblx0XHRjb25zdCBhcGlVcmwgPSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMO1xuXHRcdGlmIChhcGlVcmwgJiYgKGFwaVVybC5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgYXBpVXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykpKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB1cmwgPSBuZXcgVVJMKGFwaVVybCk7XG5cdFx0XHRcdHJldHVybiBgJHt1cmwucHJvdG9jb2x9Ly8ke3VybC5ob3N0fWA7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdGNvbnNvbGUud2FybignW0ZST05URU5EX1VSTF0gQ291bGQgbm90IHBhcnNlIEFQSSBVUkwgYXMgZmFsbGJhY2s6JywgYXBpVXJsKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ly8gRmFsbGJhY2sgZmluYWwgLSByZXRvcm5hciBVUkwgdmFjw61hXG5cdFx0Y29uc29sZS53YXJuKCdbRlJPTlRFTkRfVVJMXSBObyB2YWxpZCBmcm9udGVuZCBVUkwgZm91bmQsIHRoaXMgbWF5IGNhdXNlIGlzc3VlcyB3aXRoIG1ldGEgdGFncycpO1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRvcm5hIGxhIFVSTCBjb21wbGV0YSBkZWwgZnJvbnRlbmQgY29uIHVuYSBydXRhIG9wY2lvbmFsXG5cdCAqIEBwYXJhbSBwYXRoIC0gUnV0YSBvcGNpb25hbCBwYXJhIGFncmVnYXIgYSBsYSBVUkwgYmFzZVxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBVUkwgY29tcGxldGEgZGVsIGZyb250ZW5kXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RnJvbnRlbmRVcmwgPSAocGF0aD86IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdFx0Y29uc3QgYmFzZVVybCA9IHRoaXMuRlJPTlRFTkRfVVJMO1xuXHRcdGlmICghcGF0aCkge1xuXHRcdFx0cmV0dXJuIGJhc2VVcmw7XG5cdFx0fVxuXHRcdFxuXHRcdC8vIEFzZWd1cmFyIHF1ZSBsYSBydXRhIGNvbWllbmNlIGNvbiAnLycgeSBubyB0ZW5nYSBkb2JsZSBzbGFzaFxuXHRcdGNvbnN0IGNsZWFuUGF0aCA9IHBhdGguc3RhcnRzV2l0aCgnLycpID8gcGF0aCA6IGAvJHtwYXRofWA7XG5cdFx0Y29uc3QgY2xlYW5CYXNlVXJsID0gYmFzZVVybC5lbmRzV2l0aCgnLycpID8gYmFzZVVybC5zbGljZSgwLCAtMSkgOiBiYXNlVXJsO1xuXHRcdFxuXHRcdHJldHVybiBgJHtjbGVhbkJhc2VVcmx9JHtjbGVhblBhdGh9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRvcm5hIGxhIFVSTCBhYnNvbHV0YSBkZSB1bmEgaW1hZ2VuIHBhcmEgbWV0YSB0YWdzIChjb21wYXRpYmxlIGNvbiBTU1IpXG5cdCAqIEBwYXJhbSBwb3N0TWVkaWEgLSBSdXRhIGRlIGxhIGltYWdlblxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBVUkwgYWJzb2x1dGEgZGUgbGEgaW1hZ2VuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0QWJzb2x1dGVJbWFnZVVybCA9IChwb3N0TWVkaWE/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuXHRcdC8vIFNpIGxhIFVSTCB5YSBlcyBhYnNvbHV0YSwgZGV2b2x2ZXJsYSB0YWwgY29tbyBlc3TDoVxuXHRcdGlmIChwb3N0TWVkaWEgJiYgKHBvc3RNZWRpYS5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgcG9zdE1lZGlhLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykpKSB7XG5cdFx0XHRyZXR1cm4gcG9zdE1lZGlhO1xuXHRcdH1cblxuXHRcdC8vIENvbnN0cnVpciBsYSBVUkwgZGUgbGEgaW1hZ2VuIHVzYW5kbyBsYSBVUkwgZGVsIEFQSVxuXHRcdGNvbnN0IGltYWdlVXJsID0gdGhpcy5tZWRpYUltYWdlVXJsKHBvc3RNZWRpYSk7XG5cdFx0XG5cdFx0Ly8gU2kgbGEgVVJMIGRlIGxhIGltYWdlbiB5YSBlcyBhYnNvbHV0YSwgZGV2b2x2ZXJsYVxuXHRcdGlmIChpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgaW1hZ2VVcmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkge1xuXHRcdFx0cmV0dXJuIGltYWdlVXJsO1xuXHRcdH1cblx0XHRcblx0XHQvLyBTaSBlcyB1bmEgVVJMIHJlbGF0aXZhLCBjb252ZXJ0aXJsYSBhIGFic29sdXRhIHVzYW5kbyBsYSBVUkwgYmFzZSBkZWwgQVBJXG5cdFx0Y29uc3QgYXBpQmFzZVVybCA9IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkw7XG5cdFx0aWYgKGFwaUJhc2VVcmwuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IGFwaUJhc2VVcmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkge1xuXHRcdFx0Ly8gQVBJX1VSTCB5YSBlcyBhYnNvbHV0YVxuXHRcdFx0cmV0dXJuIGltYWdlVXJsO1xuXHRcdH1cblx0XHRcblx0XHQvLyBTaSBBUElfVVJMIGVzIHJlbGF0aXZhLCB1c2FyIGxhIFVSTCBkZWwgZnJvbnRlbmQgY29tbyBiYXNlXG5cdFx0Y29uc3QgZnJvbnRlbmRVcmwgPSB0aGlzLkZST05URU5EX1VSTDtcblx0XHRpZiAoIWZyb250ZW5kVXJsKSB7XG5cdFx0XHRyZXR1cm4gaW1hZ2VVcmw7IC8vIEZhbGxiYWNrIHNpIG5vIHBvZGVtb3MgZGV0ZXJtaW5hciBsYSBVUkwgZGVsIGZyb250ZW5kXG5cdFx0fVxuXHRcdFxuXHRcdC8vIENvbnN0cnVpciBVUkwgYWJzb2x1dGFcblx0XHRjb25zdCBjbGVhbkFwaVVybCA9IGFwaUJhc2VVcmwuc3RhcnRzV2l0aCgnLycpID8gYXBpQmFzZVVybC5zdWJzdHJpbmcoMSkgOiBhcGlCYXNlVXJsO1xuXHRcdGNvbnN0IGNsZWFuRnJvbnRlbmRVcmwgPSBmcm9udGVuZFVybC5lbmRzV2l0aCgnLycpID8gZnJvbnRlbmRVcmwuc2xpY2UoMCwgLTEpIDogZnJvbnRlbmRVcmw7XG5cdFx0Y29uc3QgY2xlYW5JbWFnZVVybCA9IGltYWdlVXJsLnN0YXJ0c1dpdGgoJy8nKSA/IGltYWdlVXJsLnN1YnN0cmluZygxKSA6IGltYWdlVXJsO1xuXHRcdFxuXHRcdHJldHVybiBgJHtjbGVhbkZyb250ZW5kVXJsfS8ke2NsZWFuQXBpVXJsfSR7Y2xlYW5JbWFnZVVybH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldG9ybmEgbGEgdXJsIGRlIGxhcyBpbWFnZW5lcyBkZSBsb3MgYmFubmVyc1xuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyBtZWRpYUJhbm5lclVybCA9ICgpID0+IHRoaXMuQVNTRVRTX1VSTCArICh0aGlzLkFTU0VUU19VUkwgPT0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTCA/ICdtZWRpYS8nIDogJycpICsgXCJiYW5uZXItaW1hZ2UvXCI7XG5cdFxuXHRtZWRpYVN0b3JlVXJsID0gKCkgPT4gdGhpcy5BU1NFVFNfVVJMICsgKHRoaXMuQVNTRVRTX1VSTCA9PSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMID8gJ21lZGlhLycgOiAnJykgKyBcInN0b3JlLWltYWdlL1wiO1xuXHRcblx0LyoqXG5cdCAqIFJldG9ybmEgYHRydWVgIHNpIGxhIHZpc3RhIGVzIG1vYmlsZSwgYGZhbHNlYCBjYXNvIGNvbnRyYXJpby5cblx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdCAqL1xuXHRwdWJsaWMgbW9iaWxlU2NyZWVuID0gKCk6IGJvb2xlYW4gPT4gdGhpcy53aW5kb3cgJiYgdGhpcy53aW5kb3c/LmlubmVyV2lkdGggPCA3NTAgfHwgZmFsc2U7XG5cdC8qKlxuXHQgKiBDb250aWVuZSBsb3MgdmFsb3JlcyBwYXJhIGxhIG1vbmVkYSBhY3R1YWxcblx0ICovXG5cdHB1YmxpYyBjdXJyZW5jeTogQ3VycmVuY3lDb25maWcgPSB7XG5cdFx0Y29kZTogJ0FSRycsXG5cdFx0c3ltYm9sOiAnJCcsXG5cdFx0cG9zaXRpb246ICdMZWZ0Jyxcblx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2Vcblx0fTtcblxuXHQvKipcblx0ICogQXJyZWdsbyBkZSB2YWxvcmVzIHVzYWRvcyBwYXJhIGVsIHBpcGUgY3VycmVuY3lQcmljZVxuXHQgKi9cblx0cHVibGljIGN1cnJlbmN5VHlwZUNvbmZpZzogQ3VycmVuY3lDb25maWdbXSA9IFtcblx0XHR7XG5cdFx0XHRjb2RlOiAnRVVSJyxcblx0XHRcdHN5bWJvbDogJ+KCrCcsXG5cdFx0XHRwb3NpdGlvbjogJ1JpZ2h0Jyxcblx0XHRcdHdpdGhvdXREZWNpbWFsOiBmYWxzZVxuXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRjb2RlOiAnQVJHJyxcblx0XHRcdHN5bWJvbDogJyQnLFxuXHRcdFx0cG9zaXRpb246ICdMZWZ0Jyxcblx0XHRcdHdpdGhvdXREZWNpbWFsOiBmYWxzZVxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0Y29kZTogJ0FSUycsXG5cdFx0XHRzeW1ib2w6ICckJyxcblx0XHRcdHBvc2l0aW9uOiAnTGVmdCcsXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2Vcblx0XHR9LFxuXHRcdHtcblx0XHRcdGNvZGU6ICdVU0QnLFxuXHRcdFx0c3ltYm9sOiAnJCcsXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRjb2RlOiAnUFlHJyxcblx0XHRcdHN5bWJvbDogJ0dzLicsXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRjb2RlOiAnUEVOJyxcblx0XHRcdHN5bWJvbDogJ1MvJyxcblx0XHRcdHBvc2l0aW9uOiAnTGVmdCcsXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2Vcblx0XHR9LFxuXHRcdHtcblx0XHRcdGNvZGU6ICdTRUsnLFxuXHRcdFx0c3ltYm9sOiAnU0VLJyxcblx0XHRcdHBvc2l0aW9uOiAnUmlnaHQnLFxuXHRcdFx0d2l0aG91dERlY2ltYWw6IHRydWVcblx0XHR9LFxuXHRdXG5cdC8qKlxuXHQgKiBDYW1iaWEgbGEgY29uZmlndXJhY2nDs24gZGUgbGEgbW9uZWRhLlxuXHQgKiBAcGFyYW0gY3VycmVuY3lUeXBlQ29uZmlnIEFycmVnbG8gY29uIGxhcyBkaXN0aW50YXMgbW9uZWRhcy5cblx0ICovXG5cdHB1YmxpYyBzZXRDdXJyZW5jeVR5cGVDb25maWcoY3VycmVuY3lUeXBlQ29uZmlnOiBDdXJyZW5jeUNvbmZpZ1tdKSB7XG5cdFx0dGhpcy5jdXJyZW5jeVR5cGVDb25maWcgPSBjdXJyZW5jeVR5cGVDb25maWc7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIGN1cnJlbmN5VHlwZUZpbmQgRGVmaW5pciBlbCBjb2RlIGRlbCB0aXBvIGRlIG1vbmVkYSBxdWUgc2UgcXVpZXJhIHV0aWxpemFyLlxuXHQgKiBTaSBlbCB0aXBvIGVzIENVU1RPTSBzZSB0b21hbiBsb3MgdmFsb3JlcyBkZWwgc2VndW5kbyBwYXJhbWV0cm8gZG9uZGUgc2UgcHVlZGUgZGVmaW5pciBsYSBzaW1ib2xvZ8OtYSB5IHBvc2VzacOzbiBxdWUgc2UgcXVpZXJhLlxuXHQgKiBAcGFyYW0gY3VzdG9tVHlwZSBGb3JtYXRvIGRlbCBwYXLDoW1ldHJvIGVqZW1wbG8geyBjb2RlOiAnQVJHJywgc3ltYm9sOiAnJCcsIHBvc2l0aW9uOiAnTCcgLCB3aXRob3V0RGVjaW1hbHM6IGZhbHNlIH0gLFxuXHQgKiB0b2RhcyBsYXMga2V5IHNvbiBvcGNpb25hbGVzIHkgcG9yIGRlZmVjdG8gc2UgdG9tYW4gbG9zIHZhbG9yZXMgZGVsIGVqZW1wbG8uXG5cdCAqIEByZXR1cm5zIHNlIHJldG9ybmEgbGEgY29uZmlndXJhY2nDs24gcXVlIHNlIHNldGVvIGEgbGEgcHJvcGllZGFkIGN1cnJlbmN5IGRlbCBzZXJ2aWNpby5cblx0ICovXG5cdHB1YmxpYyBzZXRDdXJyZW5jeShjdXJyZW5jeVR5cGVGaW5kOiBjdXJyZW5jeVR5cGUsIGN1c3RvbVR5cGU/OiBDdXJyZW5jeUNvbmZpZyk6IEN1cnJlbmN5Q29uZmlnIHtcblx0XHR0aGlzLmN1cnJlbmN5ID0gdGhpcy5jdXJyZW5jeVR5cGVDb25maWcuZmluZCgoY3Q6IEN1cnJlbmN5Q29uZmlnKSA9PiBjdC5jb2RlID09IGN1cnJlbmN5VHlwZUZpbmQudG9VcHBlckNhc2UoKSkgfHwgdGhpcy5jdXJyZW5jeVxuXHRcdGN1c3RvbVR5cGUgJiYgKHRoaXMuY3VycmVuY3kgPSB7IC4uLnRoaXMuY3VycmVuY3ksIC4uLmN1c3RvbVR5cGUgfSlcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW5jeTtcblx0fTtcblxuXG5cdHB1YmxpYyBtb2RpZnlDaGFubmVsQ29uZmlnKGNoYW5uZWxDb25maWc6IGFueSkge1xuXHRcdGlmIChjaGFubmVsQ29uZmlnLmNoYW5uZWwgfHwgY2hhbm5lbENvbmZpZy5jb2RlKVxuXHRcdFx0dGhpcy5hcGlDb25zdGFudHMuc2V0Q2hhbm5lbChjaGFubmVsQ29uZmlnLmNoYW5uZWwgfHwgY2hhbm5lbENvbmZpZy5jb2RlKVxuXG5cdFx0aWYgKGNoYW5uZWxDb25maWcubG9jYWxlIHx8IGNoYW5uZWxDb25maWcubG9jYWxlcy5jb2RlKVxuXHRcdFx0dGhpcy5hcGlDb25zdGFudHMuc2V0TG9jYWxlKGNoYW5uZWxDb25maWcubG9jYWxlIHx8IGNoYW5uZWxDb25maWcubG9jYWxlcy5jb2RlKVxuXG5cdFx0aWYgKGNoYW5uZWxDb25maWcuY3VycmVuY3kgfHwgY2hhbm5lbENvbmZpZy5iYXNlQ3VycmVuY3kpXG5cdFx0XHR0aGlzLnNldEN1cnJlbmN5KGNoYW5uZWxDb25maWcuY3VycmVuY3kgfHwgY2hhbm5lbENvbmZpZy5iYXNlQ3VycmVuY3kpXG5cblx0XHRyZXR1cm4gY2hhbm5lbENvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQqIEBkZXNjcmlwdGlvbiBzZSB1dGlsaXphIHBhcmEgY29uZmlndXJhciBxdWUgZmlsdHJvcyBkZWwgdGlwbyBgU29ydEZpbHRlcmAgc2UgcXVpZXJlIG1vc3RyYXIgZW4gbGEgdmlzdGEuXG5cdCogU2UgdXNhbiBsb3MgY29kaWdvIGRlIGxvcyBmaWx0cm9zIHBhcmEgaW5kaWNhciBjdWFsZXMgc2UgZGViZW4gbW9zdHJhci5cblx0Ki9cblx0cHJpdmF0ZSBzb3J0RmlsdGVyczogc3RyaW5nW10gPSBbJ3ByaWNlJywgJ29yZGVyLWFscGgnLCAncmVjZW50J11cblxuXHQvKipcblx0ICpcblx0ICogQHBhcmFtIGZpbHRlcnNDb2RlIGFycmVnbG8gZGUgc3RyaW5ncyBjb24gbG9zIGNvZGlnb3MgZGUgbG9zIGZpbHRyb3MuXG5cdCAqIFNpIHNlIGxlIHBhc2EgZWwgcGFyYW1ldHJvICoqYWxsKiogZXN0ZSBtb3N0cmFyYSB0b2Rvcy5cblx0ICogQGV4YW1wbGUgcHJpY2UgfCBvcmRlci1hbHBoIHwgcmVjZW50IHwgdXBkYXRlIHwgYWxsXG5cdCAqIEByZXR1cm5zXG5cdCAqL1xuXHRzZXRTb3J0RmlsdGVycyA9IChmaWx0ZXJzQ29kZTogc3RyaW5nW10gPSBbJ2FsbCddKSA9PiB0aGlzLnNvcnRGaWx0ZXJzID0gZmlsdGVyc0NvZGU7XG5cblx0Z2V0U29ydEZpbHRlcnMgPSAoKSA9PiB0aGlzLnNvcnRGaWx0ZXJzO1xuXG5cdC8vIEFCT1VUIFBST0RVQ1RTIFxuXHRwcml2YXRlIHByb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0c2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KHZhbHVlOiBib29sZWFuKSB7IHRoaXMucHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHZhbHVlOyB9XG5cdGdldFByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudCgpIHsgcmV0dXJuIHRoaXMucHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCB9XG5cblx0LyoqXG5cdCogQGRlc2NyaXB0aW9uIGVzdGEgdmFyaWFibGUgc2UgdXRpbGl6YSBwYXJhIGNvbmZpZ3VyYXIgbG9zIHBhcmFtZXRyb3MgY3VhbmRvIHNlIGRlc2VhIG1vc3RyYXJcblx0KiB2YXJpYW50ZXMgZWwgbGlzdGFkbyBkZSBwcm9kdWN0b3MuXG5cdCogQHBhcmFtIHtzdHJpbmd9dHlwZSB0aXBvIGRlIG9wdGlvbnNcblx0KiBAcGFyYW0ge3N0cmluZ31jb2RlIGNvZGlnbyBkZSBvcHRpb25zXG5cdCogQHBhcmFtIHtib29sZWFufWRlZmF1bHRGaXJzdE9wdGlvbiBgdHJ1ZWAgdG9tYSBlbCBwcmltZXIgb3B0aW9uIGRlbCBwcm9kdWN0byBlbiBnZW5lcmFsXG5cdCogQHBhcmFtIHtib29sZWFufWNoZWNrSWZTdG9jayBgdHJ1ZWAgc2UgcmVhbGl6YSB1biBjaGVxdWVvIGRlIHNpIGxhIHZhcmlhbnRlIHRpZW5lIHN0b2NrIHBhcmEgbW9zdHJhcmxhXG5cdCogQGV4YW1wbGUgIGBgYGphdmFzY3JpcHRcblx0KiB7XG5cdCAgIHR5cGU6ICdjb2xvcicsXG5cdCAgIGNvZGU6ICdjb2xvcicsXG5cdCAgIGRlZmF1bHRGaXJzdE9wdGlvbjogZmFsc2UgLFxuXHQgICBjaGVja0lmU3RvY2s6dHJ1ZVxuXHQgICB9IGBgYFxuXHQqL1xuXHRwcml2YXRlIHBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQ6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB7XG5cdFx0dHlwZTogJ2NvbG9yJyxcblx0XHRjb2RlOiAnY29sb3InLFxuXHRcdGRlZmF1bHRGaXJzdE9wdGlvbjogZmFsc2UsXG5cdFx0Y2hlY2tJZlN0b2NrOiB0cnVlXG5cdH1cblxuXHRzZXRQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0gKHZhbHVlOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50KSA9PiB7XG5cdFx0dGhpcy5wYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0ge1xuXHRcdFx0Li4udGhpcy5wYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50LFxuXHRcdFx0Li4udmFsdWVcblx0XHR9XG5cdH1cblxuXHRnZXRQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0gKCkgPT4gdGhpcy5wYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50XG5cdFxuXHRwdWJsaWMgZ2V0Q2hhbm5lbCgpe1xuXHRcdHJldHVybiB0aGlzLmFwaUNvbnN0YW50cy5DSEFOTkVMO1xuXHR9XG5cblx0cHVibGljIGZvcm1fc2VuZGVyOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0=
@@ -117,22 +117,6 @@ export class MenuEcComponent {
117
117
  hasVisibleProperty(category) {
118
118
  return category.isVisible === true;
119
119
  }
120
- filterVisibleTree(list) {
121
- return (list ?? [])
122
- .filter((n) => n?.isVisible === true)
123
- .map(n => ({ ...n, children: this.filterVisibleTree(n.children) }));
124
- }
125
- // Exponé streams ya filtrados
126
- categoriesVisible$ = this.categories$.pipe(map((list) => this.filterVisibleTree(list)));
127
- sectionsVisible$ = this.sections$.pipe(map((list) => this.filterVisibleTree(list)));
128
- attributesVisible$ = this.attributes$.pipe(map((list) => this.filterVisibleTree(list)));
129
- // Helpers de conveniencia opcionales
130
- getVisibleChildren(node) {
131
- return this.filterVisibleTree(node?.children);
132
- }
133
- hasVisibleChildren(node) {
134
- return this.getVisibleChildren(node).length > 0;
135
- }
136
120
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
137
121
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MenuEcComponent, isStandalone: true, selector: "lib-footer-ec", ngImport: i0, template: '<p>Menu and Footer Helper Component</p>', isInline: true });
138
122
  }
@@ -145,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
145
129
  template: '<p>Menu and Footer Helper Component</p>'
146
130
  }]
147
131
  }], ctorParameters: () => [] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hYnN0cmFjdGlvbnMtY29tcG9uZW50cy9tZW51LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFNL0Q7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxlQUFlO0lBQ25CLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0MsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDL0MsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQ7O09BRUc7SUFDSyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFN0M7O09BRUc7SUFDSSxXQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEY7O09BRUc7SUFDSSxTQUFTLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0U7O09BRUc7SUFDSSxXQUFXLEdBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENB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QUMvQyxDQUFDO0lBRU0sa0JBQWtCLENBQW9ELElBQVE7UUFDcEYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO3dHQS9JVyxlQUFlOzRGQUFmLGVBQWUseUVBRmpCLHlDQUF5Qzs7NEZBRXZDLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUseUNBQXlDO2lCQUNuRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgYWZ0ZXJSZW5kZXIsIENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgT3B0aW9uc1NlcnZpY2UsIFBhcmFtZXRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGUsIENhdGVnb3J5LCBQYXJhbWV0ZXIsIFNlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuLyoqXG4gKiBQYXJhIGRpZmVyZW5jaWFyIGxvcyB0aXBvcyBkZSBNZW51XG4gKi9cbnR5cGUgTWVudVR5cGUgPSBcImNhdGVnb3J5XCIgfCBcImF0dHJpYnV0ZVwiIHwgXCJzZWN0aW9uXCJcbnR5cGUgVHJlZU5vZGU8VD4gPSBUICYgeyBpc1Zpc2libGU/OiBib29sZWFuOyBjaGlsZHJlbj86IFRbXSB9O1xuLyoqXG4gKiBDb21wb25lbnRlIHF1ZSBzaXJ2ZSBwYXJhIGFic3RyYWVyIGxhIGZ1bmNpb25hbGlkYWQgcXVlIGNvbXBhcnRlbiBcbiAqIGVsIG1lbsO6IHkgZWwgZm9vdGVyLlxuICogQGNsYXNzIE1lbnVFY0NvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsaWItZm9vdGVyLWVjJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW10sXG5cdHRlbXBsYXRlOiAnPHA+TWVudSBhbmQgRm9vdGVyIEhlbHBlciBDb21wb25lbnQ8L3A+J1xufSlcbmV4cG9ydCBjbGFzcyBNZW51RWNDb21wb25lbnQge1xuXHRwcml2YXRlIG9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKVxuXHRwcml2YXRlIHBhcmFtZXRlcnNTZXJ2aWNlID0gaW5qZWN0KFBhcmFtZXRlcnNTZXJ2aWNlKVxuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSlcblx0LyoqXG5cdCAqIENvbnN0YW50ZXMgZGVsIGNvcmUuXG5cdCAqL1xuXHRwcml2YXRlIGNvbnN0cyA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSlcblxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBjYXRlZ29yaWFzXG5cdCAqL1xuXHRwdWJsaWMgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8Q2F0ZWdvcnlbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKVxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBzZWNjaW9uZXNcblx0ICovXG5cdHB1YmxpYyBzZWN0aW9ucyQ6IE9ic2VydmFibGU8U2VjdGlvbltdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0U2VjdGlvbnMoKVxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBhdHJpYnV0b3Ncblx0ICovXG5cdHB1YmxpYyBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEF0dHJpYnV0ZXMoKVxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBwYXJhbWV0cm9zXG5cdCAqL1xuXHRwdWJsaWMgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuZ2V0UGFyYW1ldGVycygpXG5cdC8qKlxuXHQgKiBVcmwgcGFyYSBsYXMgaW1hZ2VuZXMgZ3VhcmRhZGVzIGVuIGVsIGJhY2tlbmQuXG5cdCAqL1xuXHRwdWJsaWMgbWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpXG5cdC8qKlxuXHQgKiBGdW5jaW9uIHBhcmEgc2FiZXIgc2kgZXhpc3RlbiB1biBwYXJhbWV0cm8uIFxuXHQgKi9cblx0cHVibGljIGhhc1BhcmFtcyA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuaGFzUGFyYW1zXG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHRwcm90ZWN0ZWQgYWRkQ2hpbGRyZW4gPSAobWVudVR5cGU6IE1lbnVUeXBlLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKTogdm9pZCA9PiB7XG5cblx0fVxuXG5cdC8qIHByb3RlY3RlZCBhZGRDaGlsZHJlbiA9IChtZW51SXRlbXM6IGFueVtdLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKSA9PiB7XG5cdCAgKHN0YWNrUGxhY2UgPT09ICdzdGFydCcpXG5cdFx0PyBtZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjb2RlKSk/LmNoaWxkcmVuLnVuc2hpZnQoaXRlbSlcblx0XHQ6IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4ucHVzaChpdGVtKVxuICAgIFxuXHR9ICovXG5cdC8qKlxuXHQgKiBBY3R1YWxpemEgbGFzIGNhdGVnb3JpYXMgYWdyZWdhbmRvIG51ZXZhcy5cblx0ICogQHBhcmFtIGNhdGVnb3JpZXMgXG5cdCAqL1xuXHRwcm90ZWN0ZWQgdXBkYXRlQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDYXRlZ29yeVtdKSB7XG5cdFx0dGhpcy5jYXRlZ29yaWVzJCA9IHRoaXMuY2F0ZWdvcmllcyQucGlwZShtYXAoKGRhdGE6IENhdGVnb3J5W10pID0+IHtcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uY2F0ZWdvcmllc11cblx0XHR9KSlcblx0fVxuXHQvKipcblx0ICogQWN0dWFsaXphIGxhcyBzZWNjaW9uZXMgYWdyZWdhbmRvIG51ZXZhcy5cblx0ICogQHBhcmFtIHNlY3Rpb25zIFxuXHQgKi9cblx0cHJvdGVjdGVkIHVwZGF0ZVNlY3Rpb25zKHNlY3Rpb25zOiBTZWN0aW9uW10pIHtcblx0XHR0aGlzLnNlY3Rpb25zJCA9IHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChkYXRhOiBTZWN0aW9uW10pID0+IHtcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uc2VjdGlvbnNdXG5cdFx0fSkpXG5cdH1cblx0LyoqXG5cdCAqIEFjdHVhbGl6YSBlbCBtZW7DuiBkZSBhdHJpYnV0b3MgYWdyZWRhbmRvIG51ZXZvcy5cblx0ICogQHBhcmFtIGF0dHJpYnV0ZXMgXG5cdCAqL1xuXHRwcm90ZWN0ZWQgdXBkYXRlQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSkge1xuXHRcdHRoaXMuYXR0cmlidXRlcyQgPSB0aGlzLmF0dHJpYnV0ZXMkLnBpcGUobWFwKChkYXRhOiBBdHRyaWJ1dGVbXSkgPT4ge1xuXHRcdFx0cmV0dXJuIFsuLi5kYXRhLCAuLi5hdHRyaWJ1dGVzXVxuXHRcdH0pKVxuXHR9XG5cblx0cHVibGljIGlzQXV0aGVudGljYXRlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCk7XG5cdH1cblxuXHRwdWJsaWMgbG9nb3V0KCkge1xuXHRcdHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ291dCgpO1xuXHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dvdXQtc3VjY2VzcycpO1xuXHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9ob21lJzsgLy8gUmVkaXJpZ2UgYSBsYSBww6FnaW5hIGRlIGluaWNpbyBkZXNwdcOpcyBkZWwgbG9nb3V0XG5cdH1cblxuXHQvKipcblx0ICogQcOxYWRlIHZhcmlvcyBoaWpvcyBhIHVuYSBzZWNjacOzbiBwb3IgY29kZS5cblx0ICogQHBhcmFtIHNlY3Rpb25Db2RlIEPDs2RpZ28gZGUgbGEgc2VjY2nDs25cblx0ICogQHBhcmFtIGNoaWxkcmVuIEFycmF5IGRlIGhpam9zIGEgYWdyZWdhclxuXHQgKiBAcGFyYW0gc3RhY2tQbGFjZSAnc3RhcnQnIHwgJ2VuZCcgKHBvciBkZWZlY3RvICdlbmQnKVxuXHQgKi9cblx0cHVibGljIGFkZFNlY3Rpb25DaGlsZHJlbihzZWN0aW9uQ29kZTogc3RyaW5nLCBjaGlsZHJlbjogYW55W10sIHN0YWNrUGxhY2U6ICdzdGFydCcgfCAnZW5kJyA9ICdlbmQnKSB7XG5cdFx0dGhpcy5zZWN0aW9ucyQgPSB0aGlzLnNlY3Rpb25zJC5waXBlKFxuXHRcdFx0bWFwKChzZWN0aW9uczogU2VjdGlvbltdKSA9PiB7XG5cdFx0XHRcdHJldHVybiBzZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiB7XG5cdFx0XHRcdFx0aWYgKHNlY3Rpb24uY29kZT8udG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbkNvZGUudG9Mb3dlckNhc2UoKSkge1xuXHRcdFx0XHRcdFx0aWYgKCFzZWN0aW9uLmNoaWxkcmVuKSBzZWN0aW9uLmNoaWxkcmVuID0gW107XG5cdFx0XHRcdFx0XHRpZiAoc3RhY2tQbGFjZSA9PT0gJ3N0YXJ0Jykge1xuXHRcdFx0XHRcdFx0XHRzZWN0aW9uLmNoaWxkcmVuID0gWy4uLmNoaWxkcmVuLCAuLi5zZWN0aW9uLmNoaWxkcmVuXTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHNlY3Rpb24uY2hpbGRyZW4gPSBbLi4uc2VjdGlvbi5jaGlsZHJlbiwgLi4uY2hpbGRyZW5dO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gc2VjdGlvbjtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdCk7XG5cdH1cblx0LyoqXG4gICAqIFZlcmlmaWNhIHNpIHVuYSBjYXRlZ29yw61hIHRpZW5lIGxhIHByb3BpZWRhZCBpc1Zpc2libGUgeSBlc3TDoSBtYXJjYWRhIGNvbW8gdmlzaWJsZVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgLSBMYSBjYXRlZ29yw61hIGEgdmVyaWZpY2FyXG4gICAqIEByZXR1cm5zIHRydWUgc2kgbGEgY2F0ZWdvcsOtYSBlcyB2aXNpYmxlLCBmYWxzZSBlbiBjYXNvIGNvbnRyYXJpb1xuICAgKi9cblx0aGFzVmlzaWJsZVByb3BlcnR5KGNhdGVnb3J5OiBDYXRlZ29yeSk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoY2F0ZWdvcnkgYXMgYW55KS5pc1Zpc2libGUgPT09IHRydWU7XG5cdH1cblxuXHRwcml2YXRlIGZpbHRlclZpc2libGVUcmVlPFQgZXh0ZW5kcyB7IGlzVmlzaWJsZT86IGJvb2xlYW47IGNoaWxkcmVuPzogVFtdIH0+KGxpc3Q/OiBUW10pOiBUW10ge1xuXHRcdHJldHVybiAobGlzdCA/PyBbXSlcblx0XHRcdC5maWx0ZXIoKG4pOiBuIGlzIFQgPT4gbj8uaXNWaXNpYmxlID09PSB0cnVlKVxuXHRcdFx0Lm1hcChuID0+ICh7IC4uLm4sIGNoaWxkcmVuOiB0aGlzLmZpbHRlclZpc2libGVUcmVlKG4uY2hpbGRyZW4pIH0gYXMgVCkpO1xuXHR9XG5cblx0Ly8gRXhwb27DqSBzdHJlYW1zIHlhIGZpbHRyYWRvc1xuXHRwdWJsaWMgY2F0ZWdvcmllc1Zpc2libGUkOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+ID0gdGhpcy5jYXRlZ29yaWVzJC5waXBlKFxuXHRcdG1hcCgobGlzdDogQ2F0ZWdvcnlbXSkgPT4gdGhpcy5maWx0ZXJWaXNpYmxlVHJlZTxDYXRlZ29yeT4obGlzdCkpXG5cdCk7XG5cblx0cHVibGljIHNlY3Rpb25zVmlzaWJsZSQ6IE9ic2VydmFibGU8U2VjdGlvbltdPiA9IHRoaXMuc2VjdGlvbnMkLnBpcGUoXG5cdFx0bWFwKChsaXN0OiBTZWN0aW9uW10pID0+IHRoaXMuZmlsdGVyVmlzaWJsZVRyZWU8U2VjdGlvbj4obGlzdCkpXG5cdCk7XG5cblx0cHVibGljIGF0dHJpYnV0ZXNWaXNpYmxlJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLmF0dHJpYnV0ZXMkLnBpcGUoXG5cdFx0bWFwKChsaXN0OiBBdHRyaWJ1dGVbXSkgPT4gdGhpcy5maWx0ZXJWaXNpYmxlVHJlZTxBdHRyaWJ1dGU+KGxpc3QpKVxuXHQpO1xuXG5cdC8vIEhlbHBlcnMgZGUgY29udmVuaWVuY2lhIG9wY2lvbmFsZXNcblx0cHVibGljIGdldFZpc2libGVDaGlsZHJlbjxUIGV4dGVuZHMgeyBpc1Zpc2libGU/OiBib29sZWFuOyBjaGlsZHJlbj86IFRbXSB9Pihub2RlPzogVCk6IFRbXSB7XG5cdFx0cmV0dXJuIHRoaXMuZmlsdGVyVmlzaWJsZVRyZWUobm9kZT8uY2hpbGRyZW4pO1xuXHR9XG5cblx0cHVibGljIGhhc1Zpc2libGVDaGlsZHJlbjxUIGV4dGVuZHMgeyBpc1Zpc2libGU/OiBib29sZWFuOyBjaGlsZHJlbj86IFRbXSB9Pihub2RlPzogVCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldFZpc2libGVDaGlsZHJlbihub2RlKS5sZW5ndGggPiAwO1xuXHR9XG59Il19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hYnN0cmFjdGlvbnMtY29tcG9uZW50cy9tZW51LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLL0Q7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxlQUFlO0lBQ25CLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0MsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDL0MsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQ7O09BRUc7SUFDSyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFN0M7O09BRUc7SUFDSSxXQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEY7O09BRUc7SUFDSSxTQUFTLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0U7O09BRUc7SUFDSSxXQUFXLEdBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENB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LENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBQ0Q7Ozs7S0FJSTtJQUNKLGtCQUFrQixDQUFDLFFBQWtCO1FBQ3BDLE9BQVEsUUFBZ0IsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDO0lBQzdDLENBQUM7d0dBbkhXLGVBQWU7NEZBQWYsZUFBZSx5RUFGakIseUNBQXlDOzs0RkFFdkMsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRSx5Q0FBeUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBhZnRlclJlbmRlciwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBPcHRpb25zU2VydmljZSwgUGFyYW1ldGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEF0dHJpYnV0ZSwgQ2F0ZWdvcnksIFBhcmFtZXRlciwgU2VjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG4vKipcbiAqIFBhcmEgZGlmZXJlbmNpYXIgbG9zIHRpcG9zIGRlIE1lbnVcbiAqL1xudHlwZSBNZW51VHlwZSA9IFwiY2F0ZWdvcnlcIiB8IFwiYXR0cmlidXRlXCIgfCBcInNlY3Rpb25cIlxuLyoqXG4gKiBDb21wb25lbnRlIHF1ZSBzaXJ2ZSBwYXJhIGFic3RyYWVyIGxhIGZ1bmNpb25hbGlkYWQgcXVlIGNvbXBhcnRlbiBcbiAqIGVsIG1lbsO6IHkgZWwgZm9vdGVyLlxuICogQGNsYXNzIE1lbnVFY0NvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsaWItZm9vdGVyLWVjJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW10sXG5cdHRlbXBsYXRlOiAnPHA+TWVudSBhbmQgRm9vdGVyIEhlbHBlciBDb21wb25lbnQ8L3A+J1xufSlcbmV4cG9ydCBjbGFzcyBNZW51RWNDb21wb25lbnQge1xuXHRwcml2YXRlIG9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKVxuXHRwcml2YXRlIHBhcmFtZXRlcnNTZXJ2aWNlID0gaW5qZWN0KFBhcmFtZXRlcnNTZXJ2aWNlKVxuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSlcblx0LyoqXG5cdCAqIENvbnN0YW50ZXMgZGVsIGNvcmUuXG5cdCAqL1xuXHRwcml2YXRlIGNvbnN0cyA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSlcblxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBjYXRlZ29yaWFzXG5cdCAqL1xuXHRwdWJsaWMgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8Q2F0ZWdvcnlbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKVxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBzZWNjaW9uZXNcblx0ICovXG5cdHB1YmxpYyBzZWN0aW9ucyQ6IE9ic2VydmFibGU8U2VjdGlvbltdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0U2VjdGlvbnMoKVxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBhdHJpYnV0b3Ncblx0ICovXG5cdHB1YmxpYyBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEF0dHJpYnV0ZXMoKVxuXHQvKipcblx0ICogT2JzZXJ2YWJsZSBkZSBwYXJhbWV0cm9zXG5cdCAqL1xuXHRwdWJsaWMgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuZ2V0UGFyYW1ldGVycygpXG5cdC8qKlxuXHQgKiBVcmwgcGFyYSBsYXMgaW1hZ2VuZXMgZ3VhcmRhZGVzIGVuIGVsIGJhY2tlbmQuXG5cdCAqL1xuXHRwdWJsaWMgbWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpXG5cdC8qKlxuXHQgKiBGdW5jaW9uIHBhcmEgc2FiZXIgc2kgZXhpc3RlbiB1biBwYXJhbWV0cm8uIFxuXHQgKi9cblx0cHVibGljIGhhc1BhcmFtcyA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuaGFzUGFyYW1zXG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHRwcm90ZWN0ZWQgYWRkQ2hpbGRyZW4gPSAobWVudVR5cGU6IE1lbnVUeXBlLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKTogdm9pZCA9PiB7XG5cblx0fVxuXG5cdC8qIHByb3RlY3RlZCBhZGRDaGlsZHJlbiA9IChtZW51SXRlbXM6IGFueVtdLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKSA9PiB7XG5cdCAgKHN0YWNrUGxhY2UgPT09ICdzdGFydCcpXG5cdFx0PyBtZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjb2RlKSk/LmNoaWxkcmVuLnVuc2hpZnQoaXRlbSlcblx0XHQ6IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4ucHVzaChpdGVtKVxuICAgIFxuXHR9ICovXG5cdC8qKlxuXHQgKiBBY3R1YWxpemEgbGFzIGNhdGVnb3JpYXMgYWdyZWdhbmRvIG51ZXZhcy5cblx0ICogQHBhcmFtIGNhdGVnb3JpZXMgXG5cdCAqL1xuXHRwcm90ZWN0ZWQgdXBkYXRlQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDYXRlZ29yeVtdKSB7XG5cdFx0dGhpcy5jYXRlZ29yaWVzJCA9IHRoaXMuY2F0ZWdvcmllcyQucGlwZShtYXAoKGRhdGE6IENhdGVnb3J5W10pID0+IHtcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uY2F0ZWdvcmllc11cblx0XHR9KSlcblx0fVxuXHQvKipcblx0ICogQWN0dWFsaXphIGxhcyBzZWNjaW9uZXMgYWdyZWdhbmRvIG51ZXZhcy5cblx0ICogQHBhcmFtIHNlY3Rpb25zIFxuXHQgKi9cblx0cHJvdGVjdGVkIHVwZGF0ZVNlY3Rpb25zKHNlY3Rpb25zOiBTZWN0aW9uW10pIHtcblx0XHR0aGlzLnNlY3Rpb25zJCA9IHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChkYXRhOiBTZWN0aW9uW10pID0+IHtcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uc2VjdGlvbnNdXG5cdFx0fSkpXG5cdH1cblx0LyoqXG5cdCAqIEFjdHVhbGl6YSBlbCBtZW7DuiBkZSBhdHJpYnV0b3MgYWdyZWRhbmRvIG51ZXZvcy5cblx0ICogQHBhcmFtIGF0dHJpYnV0ZXMgXG5cdCAqL1xuXHRwcm90ZWN0ZWQgdXBkYXRlQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSkge1xuXHRcdHRoaXMuYXR0cmlidXRlcyQgPSB0aGlzLmF0dHJpYnV0ZXMkLnBpcGUobWFwKChkYXRhOiBBdHRyaWJ1dGVbXSkgPT4ge1xuXHRcdFx0cmV0dXJuIFsuLi5kYXRhLCAuLi5hdHRyaWJ1dGVzXVxuXHRcdH0pKVxuXHR9XG5cblx0cHVibGljIGlzQXV0aGVudGljYXRlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCk7XG5cdH1cblxuXHRwdWJsaWMgbG9nb3V0KCkge1xuXHRcdHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ291dCgpO1xuXHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dvdXQtc3VjY2VzcycpO1xuXHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9ob21lJzsgLy8gUmVkaXJpZ2UgYSBsYSBww6FnaW5hIGRlIGluaWNpbyBkZXNwdcOpcyBkZWwgbG9nb3V0XG5cdH1cblxuXHQvKipcblx0ICogQcOxYWRlIHZhcmlvcyBoaWpvcyBhIHVuYSBzZWNjacOzbiBwb3IgY29kZS5cblx0ICogQHBhcmFtIHNlY3Rpb25Db2RlIEPDs2RpZ28gZGUgbGEgc2VjY2nDs25cblx0ICogQHBhcmFtIGNoaWxkcmVuIEFycmF5IGRlIGhpam9zIGEgYWdyZWdhclxuXHQgKiBAcGFyYW0gc3RhY2tQbGFjZSAnc3RhcnQnIHwgJ2VuZCcgKHBvciBkZWZlY3RvICdlbmQnKVxuXHQgKi9cblx0cHVibGljIGFkZFNlY3Rpb25DaGlsZHJlbihzZWN0aW9uQ29kZTogc3RyaW5nLCBjaGlsZHJlbjogYW55W10sIHN0YWNrUGxhY2U6ICdzdGFydCcgfCAnZW5kJyA9ICdlbmQnKSB7XG5cdFx0dGhpcy5zZWN0aW9ucyQgPSB0aGlzLnNlY3Rpb25zJC5waXBlKFxuXHRcdFx0bWFwKChzZWN0aW9uczogU2VjdGlvbltdKSA9PiB7XG5cdFx0XHRcdHJldHVybiBzZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiB7XG5cdFx0XHRcdFx0aWYgKHNlY3Rpb24uY29kZT8udG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbkNvZGUudG9Mb3dlckNhc2UoKSkge1xuXHRcdFx0XHRcdFx0aWYgKCFzZWN0aW9uLmNoaWxkcmVuKSBzZWN0aW9uLmNoaWxkcmVuID0gW107XG5cdFx0XHRcdFx0XHRpZiAoc3RhY2tQbGFjZSA9PT0gJ3N0YXJ0Jykge1xuXHRcdFx0XHRcdFx0XHRzZWN0aW9uLmNoaWxkcmVuID0gWy4uLmNoaWxkcmVuLCAuLi5zZWN0aW9uLmNoaWxkcmVuXTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHNlY3Rpb24uY2hpbGRyZW4gPSBbLi4uc2VjdGlvbi5jaGlsZHJlbiwgLi4uY2hpbGRyZW5dO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gc2VjdGlvbjtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdCk7XG5cdH1cblx0LyoqXG4gICAqIFZlcmlmaWNhIHNpIHVuYSBjYXRlZ29yw61hIHRpZW5lIGxhIHByb3BpZWRhZCBpc1Zpc2libGUgeSBlc3TDoSBtYXJjYWRhIGNvbW8gdmlzaWJsZVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgLSBMYSBjYXRlZ29yw61hIGEgdmVyaWZpY2FyXG4gICAqIEByZXR1cm5zIHRydWUgc2kgbGEgY2F0ZWdvcsOtYSBlcyB2aXNpYmxlLCBmYWxzZSBlbiBjYXNvIGNvbnRyYXJpb1xuICAgKi9cblx0aGFzVmlzaWJsZVByb3BlcnR5KGNhdGVnb3J5OiBDYXRlZ29yeSk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoY2F0ZWdvcnkgYXMgYW55KS5pc1Zpc2libGUgPT09IHRydWU7XG5cdH1cbn0iXX0=
@@ -1,21 +1,17 @@
1
- import { Component, EventEmitter, inject, Input, Output, signal, Inject, PLATFORM_ID } from '@angular/core';
1
+ import { Component, EventEmitter, inject, Input, Output, signal } from '@angular/core';
2
2
  import { LoadingSectionEcComponent } from '../../widgets-ec';
3
3
  import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
4
4
  import { Router, RouterLink } from '@angular/router';
5
5
  import { AuthService, ToastService } from '../../../ec-services';
6
6
  import { firstValueFrom } from 'rxjs';
7
- import { JsonPipe, isPlatformBrowser } from '@angular/common';
7
+ import { JsonPipe } from '@angular/common';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
10
  export class LoginFormEcComponent {
11
- platformId;
12
11
  _authService = inject(AuthService);
13
12
  _formBuilder = inject(FormBuilder);
14
13
  _toastService = inject(ToastService);
15
14
  _router = inject(Router);
16
- constructor(platformId) {
17
- this.platformId = platformId;
18
- }
19
15
  showPassword = false;
20
16
  /**
21
17
  * Parametro para indicar si tras loguear
@@ -60,23 +56,20 @@ export class LoginFormEcComponent {
60
56
  this._toastService.show('login-success');
61
57
  this.loggedIn = true;
62
58
  if (this.inCart) {
63
- // Solo manipula el DOM si está en el navegador
64
- if (isPlatformBrowser(this.platformId)) {
65
- const modal = document.getElementById('modalInvitado');
66
- if (modal) {
67
- const modalInstance = window.bootstrap?.Modal?.getInstance(modal);
68
- if (modalInstance) {
69
- modalInstance.hide();
70
- }
71
- else {
72
- const closeButton = modal.querySelector('[data-bs-dismiss="modal"]');
73
- if (closeButton) {
74
- closeButton.click();
75
- }
59
+ // Si se está en el carrito, se cierra el modal de login
60
+ const modal = document.getElementById('modalInvitado');
61
+ if (modal) {
62
+ const modalInstance = window.bootstrap?.Modal?.getInstance(modal);
63
+ if (modalInstance) {
64
+ modalInstance.hide();
65
+ }
66
+ else {
67
+ const closeButton = modal.querySelector('[data-bs-dismiss="modal"]');
68
+ if (closeButton) {
69
+ closeButton.click();
76
70
  }
77
71
  }
78
72
  }
79
- // La navegación funciona en SSR y browser
80
73
  this._router.navigateByUrl('/checkout');
81
74
  }
82
75
  else {
@@ -111,16 +104,13 @@ export class LoginFormEcComponent {
111
104
  togglePassword() {
112
105
  this.showPassword = !this.showPassword;
113
106
  }
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginFormEcComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
108
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LoginFormEcComponent, isStandalone: true, selector: "app-login-form-ec", inputs: { redirect: "redirect", redirectTo: "redirectTo", inCart: "inCart" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12 mb-4\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
116
109
  }
117
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginFormEcComponent, decorators: [{
118
111
  type: Component,
119
112
  args: [{ selector: 'app-login-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, RouterLink, JsonPipe], template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12 mb-4\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>" }]
120
- }], ctorParameters: () => [{ type: Object, decorators: [{
121
- type: Inject,
122
- args: [PLATFORM_ID]
123
- }] }], propDecorators: { redirect: [{
113
+ }], propDecorators: { redirect: [{
124
114
  type: Input
125
115
  }], redirectTo: [{
126
116
  type: Input
@@ -129,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
129
119
  }], inCart: [{
130
120
  type: Input
131
121
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUzlELE1BQU0sT0FBTyxvQkFBb0I7SUFLUztJQUpqQyxZQUFZLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxZQUFZLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxhQUFhLEdBQWlC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RUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDOzswQkFTbEUsTUFBTTsyQkFBQyxXQUFXO3lDQU90QixRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQU9TLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdTZWN0aW9uRWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi93aWRnZXRzLWVjJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IFVzZXJSb2xlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEpzb25QaXBlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1sb2dpbi1mb3JtLWVjJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW0xvYWRpbmdTZWN0aW9uRWNDb21wb25lbnQsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFJvdXRlckxpbmssIEpzb25QaXBlXSxcblx0dGVtcGxhdGVVcmw6ICcuL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vbG9naW4tZm9ybS1lYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtRWNDb21wb25lbnQge1xuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXHRwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuXHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCkge31cblx0c2hvd1Bhc3N3b3JkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgc2kgdHJhcyBsb2d1ZWFyXG5cdCAqIGRlYmUgcmVkaXJlY2Npb25hciBvIG5vLlxuXHQgKi9cblx0QElucHV0KCkgcmVkaXJlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuXHQvKipcblx0ICogUGFyYW1ldHJvIHBhcmEgaW5kaWNhciBhIGRvbmRlIHJlZGlyZWNjaW9uYXIuXG5cdCAqL1xuXHRASW5wdXQoKSByZWRpcmVjdFRvOiBzdHJpbmcgPSAnLyc7XG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIE11ZXN0cmEgc2kgZXN0YSBjYXJnYW5kbyBvIG5vLlxuXHQgKi9cblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGxvZ2dlZEluOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KCkgcHVibGljIGluQ2FydDogYm9vbGVhbiA9IGZhbHNlO1xuXHQvKipcblx0ICogU2lnbmFsIHF1ZSBndWFyZGEgZWwgZm9ybXVsYXJpbyBkZSBsb2dpbi5cblx0ICovXG5cdHB1YmxpYyBsb2dpbkZvcm06IGFueSA9IHNpZ25hbDxGb3JtR3JvdXA+KFxuXHRcdHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdHVzZXJuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuXHRcdFx0cGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cblx0XHR9KVxuXHQpO1xuXHQvKipcblx0ICogTG9ndWVhIGFsIHVzdWFyaW8gZW4gbGEgcGxhdGFmb3JtYS5cblx0ICogQHBhcmFtICRldmVudCBcblx0ICogQHBhcmFtIHdpdGhSb2xlcyBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgbG9naW4oJGV2ZW50OiBFdmVudCwgd2l0aFJvbGVzOiBVc2VyUm9sZVR5cGVbXSA9IFtdKSB7XG5cdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0XHRpZiAoIXRoaXMubG9naW5Gb3JtKCkudmFsaWQpIHtcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dpbi1mb3JtLWluY29tcGxldGUnKVxuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGZpcnN0VmFsdWVGcm9tKHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ2luKHRoaXMubG9naW5Gb3JtKCkudmFsdWUsIHdpdGhSb2xlcykpLnRoZW4oXG5cdFx0XHQocmVzOiBhbnkpID0+IHtcblx0XHRcdFx0aWYgKHJlcyA9PSAnb2snKSB7XG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KHRoaXMubG9naW5Gb3JtKCkudmFsdWUudXNlcm5hbWUpO1xuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dpbi1zdWNjZXNzJyk7XG5cdFx0XHRcdFx0dGhpcy5sb2dnZWRJbiA9IHRydWU7XG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5DYXJ0KSB7XG5cdFx0XHRcdFx0XHQvLyBTb2xvIG1hbmlwdWxhIGVsIERPTSBzaSBlc3TDoSBlbiBlbCBuYXZlZ2Fkb3Jcblx0XHRcdFx0XHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IG1vZGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsSW52aXRhZG8nKTtcblx0XHRcdFx0XHRcdFx0aWYgKG1vZGFsKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgbW9kYWxJbnN0YW5jZSA9ICh3aW5kb3cgYXMgYW55KS5ib290c3RyYXA/Lk1vZGFsPy5nZXRJbnN0YW5jZShtb2RhbCk7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKG1vZGFsSW5zdGFuY2UpIHtcblx0XHRcdFx0XHRcdFx0XHRcdG1vZGFsSW5zdGFuY2UuaGlkZSgpO1xuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBjbG9zZUJ1dHRvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiXScpIGFzIEhUTUxFbGVtZW50O1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGNsb3NlQnV0dG9uKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsb3NlQnV0dG9uLmNsaWNrKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQvLyBMYSBuYXZlZ2FjacOzbiBmdW5jaW9uYSBlbiBTU1IgeSBicm93c2VyXG5cdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2NoZWNrb3V0Jyk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHRoaXMucmVkaXJlY3QgJiYgdGhpcy5yZWRpcmVjdEhvbWUoKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fSBlbHNlIGlmIChyZXMgPT0gJ2Vycm9yJykge1xuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5lcnJvcignbG9naW4tZXJyb3InKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xuXHRcdFx0fSxcblx0XHRcdChlcnI6IGFueSkgPT4ge1xuXHRcdFx0XHQvLyBNYW5lam8gZGUgZXJyb3IgNDAxXG5cdFx0XHRcdGlmIChlcnI/LnN0YXR1cyA9PT0gNDAxKSB7XG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2ludmFsaWQtY3JlZGVudGlhbHMnKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2UuZXJyb3IoJ2xvZ2luLWVycm9yJyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0KVxuXHR9XG5cdC8qKlxuXHQgKiBTaSBlbCBzZXJ2aWNpbyBkZSBhdXRoIHRpZW5lIGNvbmZpZ3VyYWRvIGEgZG9uZGUgdm9sdmVyLCBzZSBlamVjdXRhciBlc2UgY2Fzby5cblx0ICogRGUgbG8gY29udHJhcmlvIHJlZGlyaWdlIGFsIGNvbnRlbmlkbyBkZSBsYSB2YXJpYWJsZSBgcmVkaXJlY3RUb2AuXG5cdCAqL1xuXHRyZWRpcmVjdEhvbWUoKSB7XG5cdFx0Y29uc3QgcmVzb2x2ZXJGdW5jdGlvbiA9IHRoaXMuX2F1dGhTZXJ2aWNlLmdldEhvbWVSZXNvbHZlcigpXG5cdFx0cmVzb2x2ZXJGdW5jdGlvblxuXHRcdFx0PyByZXNvbHZlckZ1bmN0aW9uKClcblx0XHRcdDogdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5yZWRpcmVjdFRvKVxuXHR9XG5cdHRvZ2dsZVBhc3N3b3JkKCkge1xuXHRcdHRoaXMuc2hvd1Bhc3N3b3JkID0gIXRoaXMuc2hvd1Bhc3N3b3JkO1xuXHR9XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgIDxoMSBjbGFzcz1cInJpZ2h0LWxpbmUgZmYtdWJ1bnR1LWxpZ2h0IG1iLTRcIj48c3Bhbj5JbmdyZXNhcjwvc3Bhbj48L2gxPlxuICAgIDxwIGNsYXNzPVwiZmYtdWJ1bnR1LWxpZ2h0IGZvbnQtc20gcHItNCBtYi00XCI+XG4gICAgICAgIFNpIHlhIGVzdMOhcyByZWdpc3RyYWRvLiBJbmdyZXNhIGVuIHR1IGN1ZW50YSBjb24gdHUgZW1haWwgeSBsYVxuICAgICAgICBjb250cmFzZcOxYSBhZGVjdWFkYS5cbiAgICA8L3A+XG4gICAgPGRpdiBjbGFzcz1cInctbWQtNTAgdy0xMDAgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJsb2dpbkZvcm0oKVwiIChzdWJtaXQpPVwibG9naW4oJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIG1iLTQgcmFkaXVzLTBcIiB0eXBlPVwiZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb3JyZW8gRWxlY3Ryw7NuaWNvXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItNCByYWRpdXMtMFwiIHR5cGU9XCJwYXNzd29yZFwiIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvbnRyYXNlw7FhXCI+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJnLWdyYXkgYm9yZGVyLTAgcHgtNCBweS0yIGNvbG9yLXdoaXRlIGZmLXVidW50dS1saWdodFwiPklOR1JFU0FSPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiJy9hdXRoL2ZvcmdvdC1wYXNzd29yZCdcIiBjbGFzcz1cImZvbnQtbWQgZmYtdWJ1bnR1LWxpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDCv09sdmlkw7Mgc3UgY29udHJhc2XDsWE/XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gICAgQGlmKGxvYWRpbmcpe1xuICAgIDxhcHAtbG9hZGluZy1zZWN0aW9uLWVjPjwvYXBwLWxvYWRpbmctc2VjdGlvbi1lYz5cbiAgICB9XG48L2Rpdj4iXX0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25ELE9BQU8s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LCBpbmplY3QsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpZGdldHMtZWMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgVXNlclJvbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSnNvblBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtbG9naW4tZm9ybS1lYycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBSb3V0ZXJMaW5rLCBKc29uUGlwZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1mb3JtLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luRm9ybUVjQ29tcG9uZW50IHtcblx0cHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblx0c2hvd1Bhc3N3b3JkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgc2kgdHJhcyBsb2d1ZWFyXG5cdCAqIGRlYmUgcmVkaXJlY2Npb25hciBvIG5vLlxuXHQgKi9cblx0QElucHV0KCkgcmVkaXJlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuXHQvKipcblx0ICogUGFyYW1ldHJvIHBhcmEgaW5kaWNhciBhIGRvbmRlIHJlZGlyZWNjaW9uYXIuXG5cdCAqL1xuXHRASW5wdXQoKSByZWRpcmVjdFRvOiBzdHJpbmcgPSAnLyc7XG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIE11ZXN0cmEgc2kgZXN0YSBjYXJnYW5kbyBvIG5vLlxuXHQgKi9cblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGxvZ2dlZEluOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KCkgcHVibGljIGluQ2FydDogYm9vbGVhbiA9IGZhbHNlO1xuXHQvKipcblx0ICogU2lnbmFsIHF1ZSBndWFyZGEgZWwgZm9ybXVsYXJpbyBkZSBsb2dpbi5cblx0ICovXG5cdHB1YmxpYyBsb2dpbkZvcm06IGFueSA9IHNpZ25hbDxGb3JtR3JvdXA+KFxuXHRcdHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdHVzZXJuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuXHRcdFx0cGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cblx0XHR9KVxuXHQpO1xuXHQvKipcblx0ICogTG9ndWVhIGFsIHVzdWFyaW8gZW4gbGEgcGxhdGFmb3JtYS5cblx0ICogQHBhcmFtICRldmVudCBcblx0ICogQHBhcmFtIHdpdGhSb2xlcyBcblx0ICogQHJldHVybnMgXG5cdCAqL1xuXHRwdWJsaWMgbG9naW4oJGV2ZW50OiBFdmVudCwgd2l0aFJvbGVzOiBVc2VyUm9sZVR5cGVbXSA9IFtdKSB7XG5cdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0XHRpZiAoIXRoaXMubG9naW5Gb3JtKCkudmFsaWQpIHtcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dpbi1mb3JtLWluY29tcGxldGUnKVxuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGZpcnN0VmFsdWVGcm9tKHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ2luKHRoaXMubG9naW5Gb3JtKCkudmFsdWUsIHdpdGhSb2xlcykpLnRoZW4oXG5cdFx0XHQocmVzOiBhbnkpID0+IHtcblx0XHRcdFx0aWYgKHJlcyA9PSAnb2snKSB7XG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KHRoaXMubG9naW5Gb3JtKCkudmFsdWUudXNlcm5hbWUpO1xuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dpbi1zdWNjZXNzJyk7XG5cdFx0XHRcdFx0dGhpcy5sb2dnZWRJbiA9IHRydWU7XG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5DYXJ0KSB7XG5cdFx0XHRcdFx0XHQvLyBTaSBzZSBlc3TDoSBlbiBlbCBjYXJyaXRvLCBzZSBjaWVycmEgZWwgbW9kYWwgZGUgbG9naW5cblx0XHRcdFx0XHRcdGNvbnN0IG1vZGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsSW52aXRhZG8nKTtcblx0XHRcdFx0XHRcdGlmIChtb2RhbCkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBtb2RhbEluc3RhbmNlID0gKHdpbmRvdyBhcyBhbnkpLmJvb3RzdHJhcD8uTW9kYWw/LmdldEluc3RhbmNlKG1vZGFsKTtcblx0XHRcdFx0XHRcdFx0aWYgKG1vZGFsSW5zdGFuY2UpIHtcblx0XHRcdFx0XHRcdFx0XHRtb2RhbEluc3RhbmNlLmhpZGUoKTtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBjbG9zZUJ1dHRvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiXScpIGFzIEhUTUxFbGVtZW50O1xuXHRcdFx0XHRcdFx0XHRcdGlmIChjbG9zZUJ1dHRvbikge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y2xvc2VCdXR0b24uY2xpY2soKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY2hlY2tvdXQnKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWRpcmVjdCAmJiB0aGlzLnJlZGlyZWN0SG9tZSgpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9IGVsc2UgaWYgKHJlcyA9PSAnZXJyb3InKSB7XG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLmVycm9yKCdsb2dpbi1lcnJvcicpXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHR9LFxuXHRcdFx0KGVycjogYW55KSA9PiB7XG5cdFx0XHRcdC8vIE1hbmVqbyBkZSBlcnJvciA0MDFcblx0XHRcdFx0aWYgKGVycj8uc3RhdHVzID09PSA0MDEpIHtcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnaW52YWxpZC1jcmVkZW50aWFscycpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5lcnJvcignbG9naW4tZXJyb3InKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblx0XHRcdH1cblx0XHQpXG5cdH1cblx0LyoqXG5cdCAqIFNpIGVsIHNlcnZpY2lvIGRlIGF1dGggdGllbmUgY29uZmlndXJhZG8gYSBkb25kZSB2b2x2ZXIsIHNlIGVqZWN1dGFyIGVzZSBjYXNvLlxuXHQgKiBEZSBsbyBjb250cmFyaW8gcmVkaXJpZ2UgYWwgY29udGVuaWRvIGRlIGxhIHZhcmlhYmxlIGByZWRpcmVjdFRvYC5cblx0ICovXG5cdHJlZGlyZWN0SG9tZSgpIHtcblx0XHRjb25zdCByZXNvbHZlckZ1bmN0aW9uID0gdGhpcy5fYXV0aFNlcnZpY2UuZ2V0SG9tZVJlc29sdmVyKClcblx0XHRyZXNvbHZlckZ1bmN0aW9uXG5cdFx0XHQ/IHJlc29sdmVyRnVuY3Rpb24oKVxuXHRcdFx0OiB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJlZGlyZWN0VG8pXG5cdH1cblx0dG9nZ2xlUGFzc3dvcmQoKSB7XG5cdFx0dGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XG5cdH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgPGgxIGNsYXNzPVwicmlnaHQtbGluZSBmZi11YnVudHUtbGlnaHQgbWItNFwiPjxzcGFuPkluZ3Jlc2FyPC9zcGFuPjwvaDE+XG4gICAgPHAgY2xhc3M9XCJmZi11YnVudHUtbGlnaHQgZm9udC1zbSBwci00IG1iLTRcIj5cbiAgICAgICAgU2kgeWEgZXN0w6FzIHJlZ2lzdHJhZG8uIEluZ3Jlc2EgZW4gdHUgY3VlbnRhIGNvbiB0dSBlbWFpbCB5IGxhXG4gICAgICAgIGNvbnRyYXNlw7FhIGFkZWN1YWRhLlxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwidy1tZC01MCB3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybSgpXCIgKHN1Ym1pdCk9XCJsb2dpbigkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItNCByYWRpdXMtMFwiIHR5cGU9XCJlbWFpbFwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvcnJlbyBFbGVjdHLDs25pY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBtYi00IHJhZGl1cy0wXCIgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udHJhc2XDsWFcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheSBib3JkZXItMCBweC00IHB5LTIgY29sb3Itd2hpdGUgZmYtdWJ1bnR1LWxpZ2h0XCI+SU5HUkVTQVI8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCInL2F1dGgvZm9yZ290LXBhc3N3b3JkJ1wiIGNsYXNzPVwiZm9udC1tZCBmZi11YnVudHUtbGlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIMK/T2x2aWTDsyBzdSBjb250cmFzZcOxYT9cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgICBAaWYobG9hZGluZyl7XG4gICAgPGFwcC1sb2FkaW5nLXNlY3Rpb24tZWM+PC9hcHAtbG9hZGluZy1zZWN0aW9uLWVjPlxuICAgIH1cbjwvZGl2PiJdfQ==
@@ -70,34 +70,30 @@ export class PasswordResetEcComponent extends ComponentHelper {
70
70
  };
71
71
  sendToLogin = () => this.router.navigateByUrl('/auth/login');
72
72
  showPassword = () => {
73
- if (typeof document !== 'undefined') {
74
- const passwordInput = document.getElementById('contraseña1');
75
- const showIcon = document.getElementById('show1');
76
- const hideIcon = document.getElementById('hide1');
77
- if (passwordInput && passwordInput.type === 'password') {
78
- passwordInput.type = 'text';
79
- }
80
- else if (passwordInput) {
81
- passwordInput.type = 'password';
82
- }
83
- showIcon?.classList.toggle('d-none');
84
- hideIcon?.classList.toggle('d-none');
73
+ const passwordInput = document.getElementById('contraseña1');
74
+ const showIcon = document.getElementById('show1');
75
+ const hideIcon = document.getElementById('hide1');
76
+ if (passwordInput.type === 'password') {
77
+ passwordInput.type = 'text';
85
78
  }
79
+ else {
80
+ passwordInput.type = 'password';
81
+ }
82
+ showIcon?.classList.toggle('d-none');
83
+ hideIcon?.classList.toggle('d-none');
86
84
  };
87
85
  showPassword2 = () => {
88
- if (typeof document !== 'undefined') {
89
- const passwordInput = document.getElementById('contraseña2');
90
- const showIcon = document.getElementById('show2');
91
- const hideIcon = document.getElementById('hide2');
92
- if (passwordInput && passwordInput.type === 'password') {
93
- passwordInput.type = 'text';
94
- }
95
- else if (passwordInput) {
96
- passwordInput.type = 'password';
97
- }
98
- showIcon?.classList.toggle('d-none');
99
- hideIcon?.classList.toggle('d-none');
86
+ const passwordInput = document.getElementById('contraseña2');
87
+ const showIcon = document.getElementById('show2');
88
+ const hideIcon = document.getElementById('hide2');
89
+ if (passwordInput.type === 'password') {
90
+ passwordInput.type = 'text';
91
+ }
92
+ else {
93
+ passwordInput.type = 'password';
100
94
  }
95
+ showIcon?.classList.toggle('d-none');
96
+ hideIcon?.classList.toggle('d-none');
101
97
  };
102
98
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PasswordResetEcComponent, deps: [{ token: i1.AuthService }, { token: i1.ToastService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
103
99
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PasswordResetEcComponent, isStandalone: true, selector: "app-password-reset-ec", usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\n <div class=\"row justify-content-center py-5\">\n <div class=\"col-12 col-md-6 col-lg-4\">\n @if(!ready){\n <form [formGroup]=\"formGroup\" (submit)=\"sendNewPassword($event)\">\n <div class=\"mb-4 text-center\">\n <h3>{{ 'set-new-password' | translate }}</h3>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'set-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"first\" class=\"form-control\" id=\"contrase\u00F1a1\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword()\">\n <i id=\"show1\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide1\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'repeat-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"second\" class=\"form-control\" id=\"contrase\u00F1a2\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword2()\">\n <i id=\"show2\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide2\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mt-4 text-center\">\n <button type=\"submit\" class=\"comprar w-100\">{{ 'update' | translate }}</button>\n </div>\n @if(loading){\n <app-loading-inline-ec></app-loading-inline-ec>\n }\n </form>\n }@else {<div class=\"row justify-content-center mt-5 mb-5\">\n <div class=\"text-center\">\n <div class=\"mb-4\">\n <h3>{{ 'updated-password' | translate }}</h3>\n </div>\n <div class=\"mb-4\">\n <h5>{{ 'updated-password-detail' | translate }}</h5>\n </div>\n <button class=\"comprar\" (click)=\"sendToLogin()\">{{ 'login' | translate }}</button>\n </div>\n </div>}\n\n\n\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
@@ -106,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106
102
  type: Component,
107
103
  args: [{ selector: 'app-password-reset-ec', imports: [TranslateModule, LoadingInlineEcComponent, ReactiveFormsModule], standalone: true, template: "<div class=\"container\">\n <div class=\"row justify-content-center py-5\">\n <div class=\"col-12 col-md-6 col-lg-4\">\n @if(!ready){\n <form [formGroup]=\"formGroup\" (submit)=\"sendNewPassword($event)\">\n <div class=\"mb-4 text-center\">\n <h3>{{ 'set-new-password' | translate }}</h3>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'set-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"first\" class=\"form-control\" id=\"contrase\u00F1a1\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword()\">\n <i id=\"show1\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide1\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{ 'repeat-password' | translate }}</label>\n <div class=\"input-group\">\n <input type=\"password\" formControlName=\"second\" class=\"form-control\" id=\"contrase\u00F1a2\" />\n <button class=\"btn btn-outline-secondary btn-password\" type=\"button\" (click)=\"showPassword2()\">\n <i id=\"show2\" class=\"fas fa-eye i-show-password\"></i>\n <i id=\"hide2\" class=\"fas fa-eye-slash d-none i-show-password\"></i>\n </button>\n </div>\n </div>\n <div class=\"mt-4 text-center\">\n <button type=\"submit\" class=\"comprar w-100\">{{ 'update' | translate }}</button>\n </div>\n @if(loading){\n <app-loading-inline-ec></app-loading-inline-ec>\n }\n </form>\n }@else {<div class=\"row justify-content-center mt-5 mb-5\">\n <div class=\"text-center\">\n <div class=\"mb-4\">\n <h3>{{ 'updated-password' | translate }}</h3>\n </div>\n <div class=\"mb-4\">\n <h5>{{ 'updated-password-detail' | translate }}</h5>\n </div>\n <button class=\"comprar\" (click)=\"sendToLogin()\">{{ 'login' | translate }}</button>\n </div>\n </div>}\n\n\n\n </div>\n </div>\n</div>" }]
108
104
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i1.ToastService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.FormBuilder }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtcmVzZXQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYXV0aC1lYy9wYXNzd29yZC1yZXNldC1lYy9wYXNzd29yZC1yZXNldC1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3Bhc3N3b3JkLXJlc2V0LWVjL3Bhc3N3b3JkLXJlc2V0LWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUEwQixVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFRNUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFRbEM7SUFBb0M7SUFBZ0M7SUFDOUU7SUFBMEI7SUFQL0IsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNYLEtBQUssQ0FBcUI7SUFDN0IsU0FBUyxDQUFhO0lBRTdCLFlBQXNCLFdBQXdCLEVBQVksTUFBb0IsRUFBWSxZQUE0QixFQUMxRyxNQUFjLEVBQVksV0FBd0I7UUFDekQsS0FBSyxFQUFFLENBQUM7UUFGUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFZLFdBQU0sR0FBTixNQUFN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LENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNOLENBQUMsQ0FBQTt3R0F6Rk8sd0JBQXdCOzRGQUF4Qix3QkFBd0Isd0dDZHJDLHlwRkFtRE0seUREeENTLGVBQWUsNEZBQUUsd0JBQXdCLG1GQUFFLG1CQUFtQjs7NEZBR2hFLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDSyx1QkFBdUIsV0FHeEIsQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLENBQUMsY0FDN0QsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1lYyc7XG5AQ29tcG9uZW50KHtcbiAgICAgc2VsZWN0b3I6ICdhcHAtcGFzc3dvcmQtcmVzZXQtZWMnLFxuICAgICB0ZW1wbGF0ZVVybDogJ3Bhc3N3b3JkLXJlc2V0LWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICAgc3R5bGVVcmxzOiBbJ3Bhc3N3b3JkLXJlc2V0LWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIExvYWRpbmdJbmxpbmVFY0NvbXBvbmVudCwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRSZXNldEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgICBwdWJsaWMgZW1haWwgPSBcIlwiO1xuICAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICAgICBwdWJsaWMgcmVhZHkgPSBmYWxzZTtcbiAgICAgcHJvdGVjdGVkIHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgIHB1YmxpYyBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG5cbiAgICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJvdGVjdGVkIHRvYXN0cjogVG9hc3RTZXJ2aWNlLCBwcm90ZWN0ZWQgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgICBzdXBlcigpO1xuICAgICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgIH1cblxuICAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgICB0aGlzLnRva2VuID0gdGhpcy5hY3RpdmVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ3Rva2VuJ107XG4gICAgICAgICAgIXRoaXMudG9rZW4gJiYgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnLycpO1xuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICAgICBmaXJzdDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgICAgIHNlY29uZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgICAgIH0pXG4gICAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICAgfVxuXG4gICAgIHNlbmROZXdQYXNzd29yZCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGlmICh0aGlzLmludmFsaWRGb3JtKCkpIHJldHVybjtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UucGFzc3dvcmRSZXNldCh0aGlzLmZvcm1Hcm91cC52YWx1ZS5maXJzdCwgdGhpcy50b2tlbiA/PyAnJykudG9Qcm9taXNlKClcbiAgICAgICAgICAgICAgIC50aGVuKHRoaXMucHJvY2Vzc09rKVxuICAgICAgICAgICAgICAgLmNhdGNoKHRoaXMucHJvY2Vzc0Vycm9yKTtcbiAgICAgfVxuXG4gICAgIGludmFsaWRGb3JtID0gKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgICAgY29uc3QgcGFzc3dvcmRzID0gdGhpcy5mb3JtR3JvdXAudmFsdWU7XG4gICAgICAgICAgICAgICBpZiAocGFzc3dvcmRzLmZpcnN0ID09IHBhc3N3b3Jkcy5zZWNvbmQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgIGVsc2UgdGhpcy50b2FzdHIuc2hvdygncGFzc3dvcmQtZG9lc250LW1hdGNoJyk7XG4gICAgICAgICAgfSBlbHNlIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtZm9ybScpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICB9XG5cbiAgICAgcHJvY2Vzc09rID0gKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcbiAgICAgfVxuXG4gICAgIHByb2Nlc3NFcnJvciA9IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgKCFyZXNwb25zZSB8fCByZXNwb25zZS5lcnJvcilcbiAgICAgICAgICAgICAgID8gdGhpcy50b2FzdHIuc2hvdygnb3BlcmF0aW9uLWVycm9yJylcbiAgICAgICAgICAgICAgIDogdGhpcy50b2FzdHIuc2hvdyhyZXNwb25zZS5lcnJvcik7XG4gICAgIH1cblxuICAgICBzZW5kVG9Mb2dpbiA9ICgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9hdXRoL2xvZ2luJyk7XG5cbiAgICAgc2hvd1Bhc3N3b3JkID0gKCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICBjb25zdCBwYXNzd29yZElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRyYXNlw7FhMScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICAgICBjb25zdCBzaG93SWNvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaG93MScpO1xuICAgICAgICAgICAgICAgY29uc3QgaGlkZUljb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGlkZTEnKTtcblxuICAgICAgICAgICAgICAgaWYgKHBhc3N3b3JkSW5wdXQgJiYgcGFzc3dvcmRJbnB1dC50eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkSW5wdXQudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGFzc3dvcmRJbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICBwYXNzd29yZElucHV0LnR5cGUgPSAncGFzc3dvcmQnO1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICBzaG93SWNvbj8uY2xhc3NMaXN0LnRvZ2dsZSgnZC1ub25lJyk7XG4gICAgICAgICAgICAgICBoaWRlSWNvbj8uY2xhc3NMaXN0LnRvZ2dsZSgnZC1ub25lJyk7XG4gICAgICAgICAgfVxuICAgICB9XG5cbiAgICAgc2hvd1Bhc3N3b3JkMiA9ICgpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgY29uc3QgcGFzc3dvcmRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250cmFzZcOxYTInKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgICAgY29uc3Qgc2hvd0ljb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdzInKTtcbiAgICAgICAgICAgICAgIGNvbnN0IGhpZGVJY29uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpZGUyJyk7XG5cbiAgICAgICAgICAgICAgIGlmIChwYXNzd29yZElucHV0ICYmIHBhc3N3b3JkSW5wdXQudHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICAgICAgICAgICAgICBwYXNzd29yZElucHV0LnR5cGUgPSAndGV4dCc7XG4gICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhc3N3b3JkSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmRJbnB1dC50eXBlID0gJ3Bhc3N3b3JkJztcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgc2hvd0ljb24/LmNsYXNzTGlzdC50b2dnbGUoJ2Qtbm9uZScpO1xuICAgICAgICAgICAgICAgaGlkZUljb24/LmNsYXNzTGlzdC50b2dnbGUoJ2Qtbm9uZScpO1xuICAgICAgICAgIH1cbiAgICAgfVxufSIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgcHktNVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC02IGNvbC1sZy00XCI+XG4gICAgICAgICAgICBAaWYoIXJlYWR5KXtcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgKHN1Ym1pdCk9XCJzZW5kTmV3UGFzc3dvcmQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMz57eyAnc2V0LW5ldy1wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyAnc2V0LXBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGZvcm1Db250cm9sTmFtZT1cImZpcnN0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImNvbnRyYXNlw7FhMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tcGFzc3dvcmRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNob3dQYXNzd29yZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgaWQ9XCJzaG93MVwiIGNsYXNzPVwiZmFzIGZhLWV5ZSBpLXNob3ctcGFzc3dvcmRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgaWQ9XCJoaWRlMVwiIGNsYXNzPVwiZmFzIGZhLWV5ZS1zbGFzaCBkLW5vbmUgaS1zaG93LXBhc3N3b3JkXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyAncmVwZWF0LXBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb250cmFzZcOxYTJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXBhc3N3b3JkXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzaG93UGFzc3dvcmQyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBpZD1cInNob3cyXCIgY2xhc3M9XCJmYXMgZmEtZXllIGktc2hvdy1wYXNzd29yZFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBpZD1cImhpZGUyXCIgY2xhc3M9XCJmYXMgZmEtZXllLXNsYXNoIGQtbm9uZSBpLXNob3ctcGFzc3dvcmRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTQgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJjb21wcmFyIHctMTAwXCI+e3sgJ3VwZGF0ZScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBAaWYobG9hZGluZyl7XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbG9hZGluZy1pbmxpbmUtZWM+PC9hcHAtbG9hZGluZy1pbmxpbmUtZWM+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgfUBlbHNlIHs8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXQtNSBtYi01XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDM+e3sgJ3VwZGF0ZWQtcGFzc3dvcmQnIHwgdHJhbnNsYXRlIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDU+e3sgJ3VwZGF0ZWQtcGFzc3dvcmQtZGV0YWlsJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29tcHJhclwiIChjbGljayk9XCJzZW5kVG9Mb2dpbigpXCI+e3sgJ2xvZ2luJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+fVxuXG5cblxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtcmVzZXQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYXV0aC1lYy9wYXNzd29yZC1yZXNldC1lYy9wYXNzd29yZC1yZXNldC1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3Bhc3N3b3JkLXJlc2V0LWVjL3Bhc3N3b3JkLXJlc2V0LWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUEwQixVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFRNUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFRbEM7SUFBb0M7SUFBZ0M7SUFDOUU7SUFBMEI7SUFQL0IsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNYLEtBQUssQ0FBcUI7SUFDN0IsU0FBUyxDQUFhO0lBRTdCLFlBQXNCLFdBQXdCLEVBQVksTUFBb0IsRUFBWSxZQUE0QixFQUMxRyxNQUFjLEVBQVksV0FBd0I7UUFDekQsS0FBSyxFQUFFLENBQUM7UUFGUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFZLFdBQU0sR0FBTixNQUFN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LHVCQUF1QixXQUd4QixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQyxjQUM3RCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nSW5saW5lRWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi93aWRnZXRzLWVjJztcbkBDb21wb25lbnQoe1xuICAgICBzZWxlY3RvcjogJ2FwcC1wYXNzd29yZC1yZXNldC1lYycsXG4gICAgIHRlbXBsYXRlVXJsOiAncGFzc3dvcmQtcmVzZXQtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgICBzdHlsZVVybHM6IFsncGFzc3dvcmQtcmVzZXQtZWMuY29tcG9uZW50LnNjc3MnXSxcbiAgICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFJlc2V0RWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgIHB1YmxpYyBlbWFpbCA9IFwiXCI7XG4gICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gICAgIHB1YmxpYyByZWFkeSA9IGZhbHNlO1xuICAgICBwcm90ZWN0ZWQgdG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgcHVibGljIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcblxuICAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcm90ZWN0ZWQgdG9hc3RyOiBUb2FzdFNlcnZpY2UsIHByb3RlY3RlZCBhY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICAgfVxuXG4gICAgIG5nT25Jbml0KCkge1xuICAgICAgICAgIHRoaXMudG9rZW4gPSB0aGlzLmFjdGl2ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sndG9rZW4nXTtcbiAgICAgICAgICAhdGhpcy50b2tlbiAmJiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJyk7XG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgICAgIGZpcnN0OiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgc2Vjb25kOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgICB9XG5cbiAgICAgc2VuZE5ld1Bhc3N3b3JkID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgaWYgKHRoaXMuaW52YWxpZEZvcm0oKSkgcmV0dXJuO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5wYXNzd29yZFJlc2V0KHRoaXMuZm9ybUdyb3VwLnZhbHVlLmZpcnN0LCB0aGlzLnRva2VuID8/ICcnKS50b1Byb21pc2UoKVxuICAgICAgICAgICAgICAgLnRoZW4odGhpcy5wcm9jZXNzT2spXG4gICAgICAgICAgICAgICAuY2F0Y2godGhpcy5wcm9jZXNzRXJyb3IpO1xuICAgICB9XG5cbiAgICAgaW52YWxpZEZvcm0gPSAoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICAgICAgICAgICBjb25zdCBwYXNzd29yZHMgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZTtcbiAgICAgICAgICAgICAgIGlmIChwYXNzd29yZHMuZmlyc3QgPT0gcGFzc3dvcmRzLnNlY29uZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgZWxzZSB0aGlzLnRvYXN0ci5zaG93KCdwYXNzd29yZC1kb2VzbnQtbWF0Y2gnKTtcbiAgICAgICAgICB9IGVsc2UgdGhpcy50b2FzdHIuc2hvdygnaW52YWxpZC1mb3JtJyk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgIH1cblxuICAgICBwcm9jZXNzT2sgPSAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVhZHkgPSB0cnVlO1xuICAgICB9XG5cbiAgICAgcHJvY2Vzc0Vycm9yID0gKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAoIXJlc3BvbnNlIHx8IHJlc3BvbnNlLmVycm9yKVxuICAgICAgICAgICAgICAgPyB0aGlzLnRvYXN0ci5zaG93KCdvcGVyYXRpb24tZXJyb3InKVxuICAgICAgICAgICAgICAgOiB0aGlzLnRvYXN0ci5zaG93KHJlc3BvbnNlLmVycm9yKTtcbiAgICAgfVxuXG4gICAgIHNlbmRUb0xvZ2luID0gKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2F1dGgvbG9naW4nKTtcblxuICAgICBzaG93UGFzc3dvcmQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFzc3dvcmRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250cmFzZcOxYTEnKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IHNob3dJY29uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nob3cxJyk7XG4gICAgICAgICAgY29uc3QgaGlkZUljb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGlkZTEnKTtcblxuICAgICAgICAgIGlmIChwYXNzd29yZElucHV0LnR5cGUgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgICAgICAgIHBhc3N3b3JkSW5wdXQudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgcGFzc3dvcmRJbnB1dC50eXBlID0gJ3Bhc3N3b3JkJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzaG93SWNvbj8uY2xhc3NMaXN0LnRvZ2dsZSgnZC1ub25lJyk7XG4gICAgICAgICAgaGlkZUljb24/LmNsYXNzTGlzdC50b2dnbGUoJ2Qtbm9uZScpO1xuICAgICB9XG5cbiAgICAgc2hvd1Bhc3N3b3JkMiA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXNzd29yZElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRyYXNlw7FhMicpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgY29uc3Qgc2hvd0ljb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hvdzInKTtcbiAgICAgICAgICBjb25zdCBoaWRlSWNvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoaWRlMicpO1xuXG4gICAgICAgICAgaWYgKHBhc3N3b3JkSW5wdXQudHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICAgICAgICAgcGFzc3dvcmRJbnB1dC50eXBlID0gJ3RleHQnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICBwYXNzd29yZElucHV0LnR5cGUgPSAncGFzc3dvcmQnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNob3dJY29uPy5jbGFzc0xpc3QudG9nZ2xlKCdkLW5vbmUnKTtcbiAgICAgICAgICBoaWRlSWNvbj8uY2xhc3NMaXN0LnRvZ2dsZSgnZC1ub25lJyk7XG4gICAgIH1cbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHB5LTVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNiBjb2wtbGctNFwiPlxuICAgICAgICAgICAgQGlmKCFyZWFkeSl7XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIChzdWJtaXQpPVwic2VuZE5ld1Bhc3N3b3JkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aDM+e3sgJ3NldC1uZXctcGFzc3dvcmQnIHwgdHJhbnNsYXRlIH19PC9oMz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgJ3NldC1wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb250cmFzZcOxYTFcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXBhc3N3b3JkXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzaG93UGFzc3dvcmQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGlkPVwic2hvdzFcIiBjbGFzcz1cImZhcyBmYS1leWUgaS1zaG93LXBhc3N3b3JkXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGlkPVwiaGlkZTFcIiBjbGFzcz1cImZhcyBmYS1leWUtc2xhc2ggZC1ub25lIGktc2hvdy1wYXNzd29yZFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgJ3JlcGVhdC1wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWNvbmRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiY29udHJhc2XDsWEyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1wYXNzd29yZFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd1Bhc3N3b3JkMigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgaWQ9XCJzaG93MlwiIGNsYXNzPVwiZmFzIGZhLWV5ZSBpLXNob3ctcGFzc3dvcmRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgaWQ9XCJoaWRlMlwiIGNsYXNzPVwiZmFzIGZhLWV5ZS1zbGFzaCBkLW5vbmUgaS1zaG93LXBhc3N3b3JkXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiY29tcHJhciB3LTEwMFwiPnt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgQGlmKGxvYWRpbmcpe1xuICAgICAgICAgICAgICAgICAgICA8YXBwLWxvYWRpbmctaW5saW5lLWVjPjwvYXBwLWxvYWRpbmctaW5saW5lLWVjPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIH1AZWxzZSB7PGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTUgbWItNVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzPnt7ICd1cGRhdGVkLXBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg1Pnt7ICd1cGRhdGVkLXBhc3N3b3JkLWRldGFpbCcgfCB0cmFuc2xhdGUgfX08L2g1PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvbXByYXJcIiAoY2xpY2spPVwic2VuZFRvTG9naW4oKVwiPnt7ICdsb2dpbicgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2Pn1cblxuXG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=