general-library-union 2.4.23 → 2.4.25

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/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +7 -2
  2. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +7 -2
  3. package/esm2022/src/app/core/servicios/auth.service.mjs +7 -2
  4. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +3 -2
  5. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +7 -2
  6. package/esm2022/src/app/core/servicios/menu.service.mjs +80 -22
  7. package/esm2022/src/app/core/servicios/utils.service.mjs +18 -3
  8. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +7 -2
  9. package/esm2022/src/app/layout/app.menu.component.mjs +19 -8
  10. package/esm2022/src/app/layout/app.menuitem.component.mjs +4 -3
  11. package/esm2022/src/app/layout/app.sidebar.component.mjs +4 -3
  12. package/esm2022/src/app/layout/app.topbar.component.mjs +16 -5
  13. package/esm2022/src/app/publico/pages/login/login.page.mjs +7 -2
  14. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +7 -3
  15. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +12 -4
  16. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +15 -13
  17. package/fesm2022/general-library-union.mjs +200 -59
  18. package/fesm2022/general-library-union.mjs.map +1 -1
  19. package/package.json +2 -2
  20. package/src/app/core/servicios/menu.service.d.ts +1 -0
  21. package/src/app/core/servicios/utils.service.d.ts +1 -0
  22. package/src/app/layout/app.menuitem.component.d.ts +2 -1
  23. package/src/app/layout/app.sidebar.component.d.ts +1 -0
  24. package/src/app/layout/app.topbar.component.d.ts +1 -0
  25. package/src/app/publico/pages/not-found/not-found.page.d.ts +1 -0
  26. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +2 -2
  27. package/src/assets/images/personaje.png +0 -0
  28. package/src/assets/layout/styles/theme/extensions/_progressbar.scss +1 -1
  29. package/src/assets/layout/styles/theme/theme-dark/amber/theme.css +1 -1
  30. package/src/assets/layout/styles/theme/theme-dark/blue/theme.css +1 -1
  31. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.css +1 -1
  32. package/src/assets/layout/styles/theme/theme-dark/brown/theme.css +1 -1
  33. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.css +1 -1
  34. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.css +1 -1
  35. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +1 -1
  36. package/src/assets/layout/styles/theme/theme-dark/green/theme.css +1 -1
  37. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.css +1 -1
  38. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.css +1 -1
  39. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.css +1 -1
  40. package/src/assets/layout/styles/theme/theme-dark/lime/theme.css +1 -1
  41. package/src/assets/layout/styles/theme/theme-dark/orange/theme.css +1 -1
  42. package/src/assets/layout/styles/theme/theme-dark/pink/theme.css +1 -1
  43. package/src/assets/layout/styles/theme/theme-dark/purple/theme.css +1 -1
  44. package/src/assets/layout/styles/theme/theme-dark/teal/theme.css +1 -1
  45. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.css +1 -1
  46. package/src/assets/layout/styles/theme/theme-light/amber/theme.css +1 -1
  47. package/src/assets/layout/styles/theme/theme-light/blue/theme.css +1 -1
  48. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.css +1 -1
  49. package/src/assets/layout/styles/theme/theme-light/brown/theme.css +1 -1
  50. package/src/assets/layout/styles/theme/theme-light/cyan/theme.css +1 -1
  51. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.css +1 -1
  52. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.css +1 -1
  53. package/src/assets/layout/styles/theme/theme-light/green/theme.css +1 -1
  54. package/src/assets/layout/styles/theme/theme-light/indigo/theme.css +1 -1
  55. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.css +1 -1
  56. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.css +1 -1
  57. package/src/assets/layout/styles/theme/theme-light/lime/theme.css +1 -1
  58. package/src/assets/layout/styles/theme/theme-light/orange/theme.css +1 -1
  59. package/src/assets/layout/styles/theme/theme-light/pink/theme.css +1 -1
  60. package/src/assets/layout/styles/theme/theme-light/purple/theme.css +1 -1
  61. package/src/assets/layout/styles/theme/theme-light/teal/theme.css +1 -1
  62. package/src/assets/layout/styles/theme/theme-light/yellow/theme.css +1 -1
  63. package/src/assets/theme/uniondinamic/theme-light.css +1 -1
  64. package/src/styles/primeng/sass/overrides/_theme_styles.scss +223 -26
  65. package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +209 -25
  66. package/src/styles/primeng/sass/theme/designer/components/overlay/_dialog.scss +1 -1
  67. package/src/styles/primeng/sass/theme/extensions/_progressbar.scss +1 -1
@@ -18,7 +18,12 @@ export class BreadcrumbComponent {
18
18
  this.subscription = this.menuService.breadcrumb.subscribe((items) => {
19
19
  this.items = items;
20
20
  });
21
- this.home = { icon: 'pi pi-home', routerLink: '/' + this.utilsService.obtenerBase() + '/inicio' };
21
+ if (window.location.href.toString().includes('admonPortal')) {
22
+ this.home = { icon: 'pi pi-home', routerLink: '/' + this.utilsService.obtenerBase() + '/admonPortal/inicio' };
23
+ }
24
+ else {
25
+ this.home = { icon: 'pi pi-home', routerLink: '/' + this.utilsService.obtenerBase() + '/inicio' };
26
+ }
22
27
  }
23
28
  ngOnDestroy() {
24
29
  if (this.subscription) {
@@ -32,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
32
37
  type: Component,
33
38
  args: [{ selector: 'app-breadcrumb', imports: [BreadcrumbModule], standalone: true, template: "<div class=\"layout-breadcrumb-container flex justify-content-between align-items-center shadow-1\">\r\n <p-breadcrumb [model]=\"items\" [home]=\"home\" styleClass=\"layout-breadcrumb pl-4 py-2\"></p-breadcrumb>\r\n <div class=\"layout-breadcrumb-buttons flex align-items-center pr-3\">\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-power-off\" class=\"p-button-rounded p-button-text p-button-plain mr-1\"></button>\r\n </div>\r\n</div>\r\n" }]
34
39
  }], ctorParameters: () => [{ type: i1.MenuService }, { type: i2.UtilsService }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvY29tcG9uZW50ZXMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFLN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBU3RELE1BQU0sT0FBTyxtQkFBbUI7SUFLVjtJQUFpQztJQUpyRCxZQUFZLENBQWU7SUFDM0IsS0FBSyxDQUFhO0lBQ2xCLElBQUksQ0FBVztJQUVmLFlBQW9CLFdBQXdCLEVBQVMsWUFBMEI7UUFBM0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbkYsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxHQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDbkcsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO3VHQWxCVSxtQkFBbUI7MkZBQW5CLG1CQUFtQiwwRUNkaEMsMmNBTUEseURER2MsZ0JBQWdCOzsyRkFLakIsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGdCQUFnQixXQUNmLENBQUMsZ0JBQWdCLENBQUMsY0FDZixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9icmVhZGNydW1iJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJyZWFkY3J1bWInLFxyXG4gICAgaW1wb3J0czogW0JyZWFkY3J1bWJNb2R1bGVdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGl0ZW1zOiBNZW51SXRlbVtdO1xyXG4gIGhvbWU6IE1lbnVJdGVtO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSwgcHVibGljIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5icmVhZGNydW1iLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcclxuICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmhvbWUgPSB7IGljb246ICdwaSBwaS1ob21lJywgcm91dGVyTGluazogJy8nKyB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9pbmljaW8nIH07XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWItY29udGFpbmVyIGZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHNoYWRvdy0xXCI+XHJcbiAgPHAtYnJlYWRjcnVtYiBbbW9kZWxdPVwiaXRlbXNcIiBbaG9tZV09XCJob21lXCIgc3R5bGVDbGFzcz1cImxheW91dC1icmVhZGNydW1iIHBsLTQgcHktMlwiPjwvcC1icmVhZGNydW1iPlxyXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYi1idXR0b25zIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIHByLTNcIj5cclxuICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktcG93ZXItb2ZmXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcC1idXR0b24tcGxhaW4gbXItMVwiPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvY29tcG9uZW50ZXMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFLN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBU3RELE1BQU0sT0FBTyxtQkFBbUI7SUFLVjtJQUFpQztJQUpyRCxZQUFZLENBQWU7SUFDM0IsS0FBSyxDQUFhO0lBQ2xCLElBQUksQ0FBVztJQUVmLFlBQW9CLFdBQXdCLEVBQVMsWUFBMEI7UUFBM0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbkYsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9HLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsR0FBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ25HLENBQUM7SUFFSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7dUdBdkJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDBFQ2RoQywyY0FNQSx5RERHYyxnQkFBZ0I7OzJGQUtqQixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLFdBQ2YsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2JyZWFkY3J1bWInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYnJlYWRjcnVtYicsXHJcbiAgICBpbXBvcnRzOiBbQnJlYWRjcnVtYk1vZHVsZV0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgaXRlbXM6IE1lbnVJdGVtW107XHJcbiAgaG9tZTogTWVudUl0ZW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLCBwdWJsaWMgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm1lbnVTZXJ2aWNlLmJyZWFkY3J1bWIuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcbiAgICB9KTtcclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi50b1N0cmluZygpLmluY2x1ZGVzKCdhZG1vblBvcnRhbCcpKSB7XHJcbiAgICAgIHRoaXMuaG9tZSA9IHsgaWNvbjogJ3BpIHBpLWhvbWUnLCByb3V0ZXJMaW5rOiAnLycrIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2FkbW9uUG9ydGFsL2luaWNpbycgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaG9tZSA9IHsgaWNvbjogJ3BpIHBpLWhvbWUnLCByb3V0ZXJMaW5rOiAnLycrIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2luaWNpbycgfTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1icmVhZGNydW1iLWNvbnRhaW5lciBmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBzaGFkb3ctMVwiPlxyXG4gIDxwLWJyZWFkY3J1bWIgW21vZGVsXT1cIml0ZW1zXCIgW2hvbWVdPVwiaG9tZVwiIHN0eWxlQ2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYiBwbC00IHB5LTJcIj48L3AtYnJlYWRjcnVtYj5cclxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWItYnV0dG9ucyBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwci0zXCI+XHJcbiAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLXBvd2VyLW9mZlwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXBsYWluIG1yLTFcIj48L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -104,7 +104,12 @@ export class PlantillaGeneralTemplate {
104
104
  this.intervalId = window.setInterval(() => {
105
105
  if (!this.authService.isTokenValid()) {
106
106
  this.authService.deleteToken();
107
- this.router.navigateByUrl(this.utilsService.obtenerBase() + '/timeout');
107
+ if (window.location.href.toString().includes('admonPortal')) {
108
+ this.router.navigateByUrl(this.utilsService.obtenerBase() + '/admonPortal/timeout');
109
+ }
110
+ else {
111
+ this.router.navigateByUrl(this.utilsService.obtenerBase() + '/timeout');
112
+ }
108
113
  }
109
114
  }, 300_000);
110
115
  }
@@ -222,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
222
227
  type: ViewChild,
223
228
  args: ['searchInput']
224
229
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbnRpbGxhLWdlbmVyYWwudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcGxhbnRpbGxhLWdlbmVyYWwvcGxhbnRpbGxhLWdlbmVyYWwudGVtcGxhdGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcGxhbnRpbGxhLWdlbmVyYWwvcGxhbnRpbGxhLWdlbmVyYWwudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBZ0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVwRSxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFpQi9FLE1BQU0sT0FBTyx3QkFBd0I7SUF1QnpCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7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LGtCQUFrQixFQUFFLHFCQUFxQixFQUFDLGtCQUFrQixDQUFDLGNBQ3pLLElBQUksY0FHTjt3QkFDVixPQUFPLENBQUMsNEJBQTRCLEVBQUU7NEJBQ3BDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDO2dDQUMvQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs2QkFDbEYsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3JFLENBQUM7cUJBQ0g7cVZBcUJ5QixvQkFBb0I7c0JBQTdDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljaW9zL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vL2NvcmUvc2VydmljaW9zL21lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNpb3Mvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1vZHVsb3NNb2RlbCB9IGZyb20gJy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL01vZHVsb3NNb2RlbCc7XHJcbmltcG9ydCB7IFRhcmVhc01vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvVGFyZWFzTW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRvQ29tcGxldGUsIEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgdHJpZ2dlciwgc3R5bGUsIHRyYW5zaXRpb24sIGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2lvcy9jYXJnYXItY29udHJvbC1mdW5jaW9uYWxpZGFkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlQ2xhc3NNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQXBwU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheW91dC9hcHAuc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYXlvdXQvYXBwLnRvcGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBGb290ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYXlvdXQvYXBwLmZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBSaWdodE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYXlvdXQvYXBwLnJpZ2h0bWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGF5b3V0L2FwcC5icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXBsYW50aWxsYS1nZW5lcmFsJyxcclxuICAgIGltcG9ydHM6IFtTdHlsZUNsYXNzTW9kdWxlLCBDb21tb25Nb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZSwgRm9ybXNNb2R1bGUsIEFwcFNpZGViYXJDb21wb25lbnQsIEFwcEJyZWFkY3J1bWJDb21wb25lbnQsIEFwcFRvcGJhckNvbXBvbmVudCwgQXBwUmlnaHRNZW51Q29tcG9uZW50LEFwcEZvb3RlckNvbXBvbmVudF0sIFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wbGFudGlsbGEtZ2VuZXJhbC50ZW1wbGF0ZS5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wbGFudGlsbGEtZ2VuZXJhbC50ZW1wbGF0ZS5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcigndG9wYmFyQWN0aW9uUGFuZWxBbmltYXRpb24nLCBbXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3NjYWxlWSgwLjgpJyB9KSxcclxuICAgICAgICBhbmltYXRlKCcuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICcqJyB9KSksXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgnLjFzIGxpbmVhcicsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGFudGlsbGFHZW5lcmFsVGVtcGxhdGUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgbW9kdWxvOiBzdHJpbmc7XHJcbiAgaW50ZXJ2YWxJZDogbnVtYmVyO1xyXG4gIG1lbnVBY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG1vYmlsZU1lbnVBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtb2JpbGVUb3BiYXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtZW51Q2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0b3BiYXJJdGVtQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhY3RpdmVUb3BiYXJJdGVtOiBzdHJpbmcgPSAnJztcclxuICBzZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hDbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBkb2N1bWVudENsaWNrTGlzdGVuZXIhOiAoKSA9PiB2b2lkO1xyXG5cclxuICBub21icmVFbXByZXNhOiBzdHJpbmcgPSAnMSAtIFVuacOzbiBTb2x1Y2lvbmVzJztcclxuICBtb2R1bG9zRGlzcG9uaWJsZXM6IE1vZHVsb3NNb2RlbFtdID0gbmV3IEFycmF5KCk7XHJcbiAgdGFyZWFTZWxlY2Npb25hZGFzOiBUYXJlYXNNb2RlbDtcclxuICB0YXJlYXNGaWx0cmFkYXM6IFRhcmVhc01vZGVsW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Jykgc2VhcmNoSW5wdXRWaWV3Q2hpbGQhOiBBdXRvQ29tcGxldGU7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcHJpbWVDb25maWc6IFByaW1lTkdDb25maWcsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29udHJvbEZ1bmNpb25hbGlkYWQ6IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhIHJpcHBsZSBkZSBQcmltZU5HIHBhcmEgbGFzIGFuaW1hY2lvbmVzIGRlIGxvcyBib3RvbmVzXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZHVsb3NEaXNwb25pYmxlcyA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0oJ21vZHVsb3MnKSk7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLmRhdGEuc3Vic2NyaWJlKCh2KSA9PnsgXHJcbiAgICAgIC8vdGhpcy5tb2R1bG9zRGlzcG9uaWJsZXMgPSB2Wydtb2R1bG9zRGlzcG9uaWJsZXMnXVxyXG4gICAgICB0aGlzLnByaW1lQ29uZmlnLnJpcHBsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMubW9kdWxvID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3B1w6lzIGRlIGNyZWFyIGxhIHZpc3RhIHkgc3ViLXZpc3RhcyBpbmljaWFsaXphIGxhcyB0YXJlYXMgeSBldmVudG9zIGLDoXNpY29zIGNvbW9cclxuICAgKiBlbCB0aW1lciBkZSBzZXNpw7NuLCBjYXJnYXIgZWwgbWVuw7ogeSBldmVudG9zIGRlbCBodG1sIHBhcmEgb2N1bHRhciBtZW7DunMuXHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignYm9keScsICdjbGljaycsICgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLnRvcGJhckl0ZW1DbGljaykge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVG9wYmFySXRlbSA9ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXRoaXMubWVudUNsaWNrKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlTWVudUFjdGl2ZSkge1xyXG4gICAgICAgICAgdGhpcy5tb2JpbGVNZW51QWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXRoaXMuc2VhcmNoQ2xpY2spIHtcclxuICAgICAgICB0aGlzLnNlYXJjaCA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNlYXJjaENsaWNrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9wYmFySXRlbUNsaWNrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubWVudUNsaWNrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubW9kdWxvID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycpXHJcbiAgICAgIGxldCBtb2R1bG9TZWxlY2Npb25hZG86IE1vZHVsb3NNb2RlbCA9IG5ldyBNb2R1bG9zTW9kZWwodGhpcy5tb2R1bG8sICcnKTtcclxuICAgICAgdGhpcy5jYW1iaW9Nb2R1bG8obW9kdWxvU2VsZWNjaW9uYWRvLCBmYWxzZSlcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWVudVNlcnZpY2UubG9hZFRhcmVhcygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0VGFyZWFzRGVsTW9kdWxvKHRoaXMubW9kdWxvKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDYWRhIDUgbWludXRvcyB2ZXJpZmljYSBxdWUgZWwgdG9rZW4gbm8gaGF5YSBleHBpcmFkb1xyXG4gICAgdGhpcy5pbnRlcnZhbElkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmF1dGhTZXJ2aWNlLmlzVG9rZW5WYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5kZWxldGVUb2tlbigpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvdGltZW91dCcpO1xyXG4gICAgICB9XHJcbiAgICB9LCAzMDBfMDAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbXBpYSBlbCBjb21wb25lbnRlIGRlIGxhcyBzdWJzY3JpcGNpb25lc1xyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTXVlc3RyYS9Fc2NvbnRlIGVsIG1lbsO6IHByaW5jaXBhbCBkZSBuYXZlZ2FjacOzblxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIG9uTWVudUJ1dHRvbkNsaWNrKGV2ZW50OiB7IHByZXZlbnREZWZhdWx0OiAoKSA9PiB2b2lkIH0pOiB2b2lkIHtcclxuICAgIHRoaXMubWVudUFjdGl2ZSA9ICF0aGlzLm1lbnVBY3RpdmU7XHJcbiAgICB0aGlzLm1lbnVDbGljayA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkpIHtcclxuICAgICAgdGhpcy5tb2JpbGVNZW51QWN0aXZlID0gIXRoaXMubW9iaWxlTWVudUFjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2kgZWwgc2l0aW8gZXN0YSBlbiBtw7N2aWxlcywgbXVlc3RyYS9lc2NvbmRlIGVsIG1lbsO6IGRlIGxhIGJhcnJhIHN1cGVyaW9yIChsb3MgdHJlcyBwdW50b3MpXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgb25Ub3BiYXJNb2JpbGVCdXR0b25DbGljayhldmVudDogeyBwcmV2ZW50RGVmYXVsdDogKCkgPT4gdm9pZCB9KTogdm9pZCB7XHJcbiAgICB0aGlzLm1vYmlsZVRvcGJhckFjdGl2ZSA9ICF0aGlzLm1vYmlsZVRvcGJhckFjdGl2ZTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhL0VzY29uZGUgbG9zIG1lbnVzIGVtZXJnZW50ZXMgZGUgbGEgYmFycmEgc3VwZXJpb3IgKEJ1c2NhciwgTcOzZHVsb3MgeSBQZXJmaWwpLlxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqIEBwYXJhbSBpdGVtXHJcbiAgICovXHJcbiAgb25Ub3BiYXJJdGVtQ2xpY2soZXZlbnQ6IHsgcHJldmVudERlZmF1bHQ6ICgpID0+IHZvaWQgfSwgaXRlbTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvcGJhckl0ZW1DbGljayA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMuYWN0aXZlVG9wYmFySXRlbSA9PT0gaXRlbSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRvcGJhckl0ZW0gPSAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVG9wYmFySXRlbSA9IGl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0gPT09ICdzZWFyY2gnKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoID0gIXRoaXMuc2VhcmNoO1xyXG4gICAgICB0aGlzLnNlYXJjaENsaWNrID0gIXRoaXMuc2VhcmNoQ2xpY2s7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpIGxhIHBhbnRhbGxhIHRpZW5lIHVuIGFuY2hvIG1lbm9yIG8gaWd1YWwgYSA5OTEgZXMgdW4gZGlzcG9zaXRpdm8gbcOzdmlsLlxyXG4gICAqIEByZXR1cm5zIGJvb2xlYW5cclxuICAgKi9cclxuICBwcml2YXRlIF9pc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA5OTE7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xyXG4gICAgICBjYXNlICd2aXNpYmxlJzpcclxuICAgICAgICAvL3RoaXMuc2VhcmNoSW5wdXRWaWV3Q2hpbGQuZjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhbGlyKCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5kZWxldGVUb2tlbigpO1xyXG4gICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5lbGltaW5hckZ1bmNpb25hbGlkYWRlcygpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9sb2dpbicpO1xyXG4gIH1cclxuXHJcbiAgY2FtYmlvTW9kdWxvKG1vZHVsbzogTW9kdWxvc01vZGVsLCBuYXZlZ2FyOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIG1vZHVsby5sbGF2ZSlcclxuICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0VGFyZWFzRGVsTW9kdWxvKG1vZHVsby5sbGF2ZSk7XHJcbiAgICBpZiAobmF2ZWdhcil7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2luaWNpbycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyVGFyZWEoZXZlbnQpIHtcclxuICAgIGNvbnN0IGZpbHRlcmVkOiBUYXJlYXNNb2RlbFtdID0gW107XHJcbiAgICBsZXQgdGFyZWFzOiBUYXJlYXNNb2RlbFtdID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdfX3RhcmVhcycpICE9IG51bGwgPyBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnX190YXJlYXMnKSkgOiAnJztcclxuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhcmVhcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBjb3VudHJ5ID0gdGFyZWFzW2ldO1xyXG4gICAgICBpZiAoY291bnRyeS5kZXNjcmlwY2lvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgZmlsdGVyZWQucHVzaChjb3VudHJ5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy50YXJlYXNGaWx0cmFkYXMgPSBmaWx0ZXJlZDtcclxuICB9XHJcblxyXG4gIHRhcmVhU2VsZWNjaW9uKCkge1xyXG4gICAgaWYgKHRoaXMudGFyZWFTZWxlY2Npb25hZGFzICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAgdGhpcy50YXJlYVNlbGVjY2lvbmFkYXMudXJscHJpbmNpcGFsLnJlcGxhY2UoLy5qc2YvLCAnJyldKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwibGF5b3V0LXdyYXBwZXIgcC1pbnB1dC1maWxsZWQgbGF5b3V0LW1lbnUtc3RhdGljIGxheW91dC1tZW51LWxpZ2h0IGxheW91dC10b3BiYXItZGFya1wiXHJcbiAgW25nQ2xhc3NdPVwieydsYXlvdXQtbWVudS1hY3RpdmUnOiBtZW51QWN0aXZlLFxyXG4gICAgICAgICAgICAgICdsYXlvdXQtbWVudS1tb2JpbGUtYWN0aXZlJzogbW9iaWxlTWVudUFjdGl2ZSxcclxuICAgICAgICAgICAgICAnbGF5b3V0LXRvcGJhci1tb2JpbGUtYWN0aXZlJzogbW9iaWxlVG9wYmFyQWN0aXZlIH1cIlxyXG4+XHJcbiA8IS0tSU5JQ0lPIFRPUEJBUi0tPlxyXG4gPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXIgc2hhZG93LTRcIj5cclxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1sZWZ0XCI+XHJcbiAgICA8YSBjbGFzcz1cImxheW91dC10b3BiYXItbG9nb1wiPnt7IG5vbWJyZUVtcHJlc2EgfCB1cHBlcmNhc2UgfX08L2E+XHJcblxyXG4gICAgPGEgY2xhc3M9XCJsYXlvdXQtbWVudS1idXR0b24gc2hhZG93LTZcIiAoY2xpY2spPVwib25NZW51QnV0dG9uQ2xpY2soJGV2ZW50KVwiIHBSaXBwbGU+XHJcbiAgICAgIDxpIGNsYXNzPVwicGkgcGktY2hldnJvbi1yaWdodFwiPjwvaT5cclxuICAgIDwvYT5cclxuXHJcbiAgICA8YSBjbGFzcz1cImxheW91dC10b3BiYXItbW9iaWxlLWJ1dHRvblwiIChjbGljayk9XCJvblRvcGJhck1vYmlsZUJ1dHRvbkNsaWNrKCRldmVudClcIiBwUmlwcGxlPlxyXG4gICAgICA8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXYgZnMtbGFyZ2VcIj48L2k+XHJcbiAgICA8L2E+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLXJpZ2h0XCIgW25nQ2xhc3NdPVwieyAnbGF5b3V0LXRvcGJhci1tb2JpbGUtYWN0aXZlJzogbW9iaWxlVG9wYmFyQWN0aXZlIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbnMtbGVmdFwiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbnMtcmlnaHRcIj5cclxuICAgICAgPHVsIGNsYXNzPVwibGF5b3V0LXRvcGJhci1pdGVtc1wiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImxheW91dC10b3BiYXItaXRlbSBsYXlvdXQtc2VhcmNoLWl0ZW1cIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwibGF5b3V0LXRvcGJhci1hY3Rpb24gcm91bmRlZC1jaXJjbGVcIiAoY2xpY2spPVwib25Ub3BiYXJJdGVtQ2xpY2soJGV2ZW50LCAnc2VhcmNoJylcIiBwUmlwcGxlPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaCBmcy1sYXJnZVwiPjwvaT5cclxuICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXNlYXJjaC1wYW5lbCBwLWlucHV0Z3JvdXBcIlxyXG4gICAgICAgICAgICBbQHRvcGJhckFjdGlvblBhbmVsQW5pbWF0aW9uXT1cIid2aXNpYmxlJ1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgKEB0b3BiYXJBY3Rpb25QYW5lbEFuaW1hdGlvbi5kb25lKT1cIm9uU2VhcmNoQW5pbWF0aW9uRW5kKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIj48aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwLWF1dG9Db21wbGV0ZVxyXG4gICAgICAgICAgICAgICNzZWFyY2hJbnB1dFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQnVzY2FyIHVuYSB0YXJlYS4uLlwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaENsaWNrID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhcmVhU2VsZWNjaW9uYWRhc1wiXHJcbiAgICAgICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInRhcmVhc0ZpbHRyYWRhc1wiXHJcbiAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlclRhcmVhKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ0YXJlYVNlbGVjY2lvbigpXCJcclxuICAgICAgICAgICAgICBmaWVsZD1cImRlc2NyaXBjaW9uXCJcclxuICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy1mdWxsIGgtZnVsbFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0Z3JvdXAtYWRkb25cIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS10aW1lc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBwLWJ1dHRvbi1wbGFpblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoQ2xpY2sgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICA8bGkgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWl0ZW0gYXBwXCI+XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9uIHJvdW5kZWQtY2lyY2xlXCIgKGNsaWNrKT1cIm9uVG9wYmFySXRlbUNsaWNrKCRldmVudCwgJ21vZHVsZXMnKVwiIHBSaXBwbGU+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktdGFibGUgZnMtbGFyZ2VcIj48L2k+XHJcbiAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9uLXBhbmVsIHNoYWRvdy02XCJcclxuICAgICAgICAgICAgW0B0b3BiYXJBY3Rpb25QYW5lbEFuaW1hdGlvbl09XCIndmlzaWJsZSdcIlxyXG4gICAgICAgICAgICAqbmdJZj1cImFjdGl2ZVRvcGJhckl0ZW0gPT09ICdtb2R1bGVzJ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtbm9ndXR0ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1hY3Rpb24taXRlbSBjb2wtNFwiICpuZ0Zvcj1cImxldCBtb2R1bG8gb2YgbW9kdWxvc0Rpc3BvbmlibGVzXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtY29sb3JcIiBocmVmPVwiL2luaWNpb1wiICBwUmlwcGxlIChjbGljayk9XCJjYW1iaW9Nb2R1bG8obW9kdWxvLCB0cnVlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImFjdGlvbiBhcHAtYmdjb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCInYXNzZXRzL21vZHVsb3MvJyArIG1vZHVsby5pY29ub1wiIC8+IFxyXG4gICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0XCI+e3sgbW9kdWxvLmRlc2NyaXBjaW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaSBjbGFzcz1cImxheW91dC10b3BiYXItaXRlbVwiPlxyXG4gICAgICAgICAgPGFcclxuICAgICAgICAgICAgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbiBmbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHB4LTIgcm91bmRlZC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ub3BiYXJJdGVtQ2xpY2soJGV2ZW50LCAncHJvZmlsZScpXCJcclxuICAgICAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBWUFBQUJ6ZW5yMEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFyWFNVUkJWSGdCalZkTGJGemxHVDMzTmZmZWVjLzRuWWN6Sm9Fa0VnazJvYlE4b3NSSVZSOVMyOUNxcXRSVmtMcm9waUtwMUVWWE5LSlZRVjNFTEZyU0ZWYTdJTFNMQkNFaFVDdVJMTm9FUW1HY2g1TTRqajNHSGp0amU5NHo5LzNvdVlNYWlaSUFJNDN2dGUvMS8zMy85NTF6dnZNTCtJcWZlcjJlNWVWSUFQR1FnSENjOTRVd1JMYjNVRUNEUDB1OEtZb1F6Z0grbTdsY3J2RlYxaFcrN0FVR0xrREU4d2h3bEw5bTcvVk9HSDNEOERPLzI2WTkvZUtMTDU4NGRXcXE5RVhyaTE4UU9GdXRiMDRGWWJBWSt1R3hJQWl5VVJDZjN6QU1FQVlCK0RlNG5zdEZoRjVVUVloMnhKdkFoMjBaUjl2ZHh1SnZULzdwNU1rWGptWHZGK2VlRmZqNHdvV0MyamY4M3V6c2xVSzcxVVhMY2lDWVhXenQwMkc2Z01zWWczMFpMQzNNd1d5MWtVa25NTHgxQnpZTlFKWkY1TlFRdDI4dDR2YkNMU1RUYWVUOVNtbTVZazlPblQ1Yit0SUVYdnZqNzhaZFd6aHpiY010TE0zUFlXQm9DSmxVR2pIMllHZWZCc1FVQ0pJTW83YUdJTnE5WjJGaGFSVmpZMk5RRlFVTE42K3pHaDVySzBNS29vb0Z2WllJSVVxKzd6MzdoNy8vbzNqZkJGNC8rZnVDTGJydk5ZVmNJWkVmaG0zYjBEUU5Jd041V0dZTGdkM0YzTXlIY0RzdHpNMWRoOGVxN04weGpJY2UzSVBWalJwMlByZ1RzNWV2d3UwYUNLSjJzVG1lOEdtNzBHc2ZTbDI3TlhucTdNWFM1eEk0ODlwcldjZHZmWXprUUVGTDVxRndOeEJFWGtVTVp4S3dIUnYvZlBzTU5EajQ0UHg1UEhYZ0FCNThZQXhLWU1OcVYyRTVGaEpibWNDMUs1aWZXMllySkRRc0U3cXV3M044ZUpJSWtZbTBMTHUwTlpPYW1EcDdyc2NTK2U3Mnc4WnZSRUVzckpmTGNOMGxLTElBS2FiQ0MwU2t2M1lBemZvR0JKWTA2RzdnaVVjZXdmNTlCNUJNeFpGVVpXaFNpQlpic254bkdWdnlTVlFUT21LU0JKRjExMVVWdGlMd3k1YTROc1JFcXBCUXhCY1k4WGdVdHNlQzExOTl0V0FINHZPT1IvRGNuTVVuaXd1b3JLM2ovRHR2SVJRa3JHOVVjYm40SC9iVWhtOGE2T3NiSk5JL1pRRnpnaS9yU0JNbnRmSUNyRzRUcXVCRFpzbGpRVlRpQUxLcUlLN0ZHVTFDS3AySEV3VEhmdjd0YnhTaTJGTDBZMkM0LzZUcHVPUGF3Q2gwU1VCQ2owR0x5ZGovNkJNd3EyWHMzTHNQcmNZbXR1WjAzTHB4QmJkWDFsQnJiR0F3cldEbW80dTRkT2tpaGpJYTVNQ0U2VGpZWEszaGsvVTZnZWZEWklZUzI3RldyYktxcklKdncrVTc4RjFjbWkrL0s0YUxaN0tISHNrZlZacGx5SjZEMmxvWmxkVXlHbzBtcnMyOFR4QXBhTGVhWEN5RVo3ZGdtQjNVT2lhV0tqVW9hZ0s2ckVKU2M5Q1NHZWh4SFE4UU9qOGJ1bzFkM1BVd3k1NFBIQ2hET3RURGNjaGFBSW5WMGFycnlCbm0wUmVPSE03S2IvLzVqU1BsbG9ESDloR3g4U3JFYmYxb2V3SzBDRVExRVlsa0hKN3JJR1RtcGNWclVFSVJQeno0RkxwOEo2NG04ZlRCU1hSYkp2cXpHanJyeXd4NEhUWk1SQnlRK0c2Yk5QU0pOSG0wRGVWNkFnbEJ4bmJWeFRPSHkxbXAvL1lQNUlIdi9mS1FhQVF3YnY4Yk04VUZqR3B0VEQ0OWhLdlhnUHlXQVZTdE5teWpqZGJHR3RZckd5REQ0Um9tTElzYVlGdFlXMXdtLzVQdzlDd3UzRnhteHhVMHlya2UvMzJXMzJMbFZJRkNacml3V3gxWU1kNTNaWXpPV1Bob1FqZ3NKdUxlK015N2Y0RXErUmdrM3hOYjkyS3hUUEhKYjBGN1l3V09ZY0NxVlVpMUJtS3Fqa3pmTURxa1hJeEl2Mzd6TXRTSVpoNDFnbnNPZkFteU1JeTJUZDJRRkppc2dNU3Jib1l3YnJub0V4V2srZFdUQVFROXhIeEZIcGVxSzhzdldldExtcWVvNVBBYzZzME9nVU4wQmdiMFJKeWEzb1djeWxOK1ZTUXpHWXFjUlZERllGQ2lVVzBoejBUaUdSV21IK0Rxd2lKRUt1QWFSVW1nam5oa1VGTFI4SXZ0V1l4Y3FVRW15QVV0Z3grM1pwQWJNekIzVTlla0E0OU92TFMrc2dKVGpNT2g4dFVyNjJqWGFuQ1prSytuTVRpeUhib213NDlwdUhKakhpbE5nS29sa1k3SGtjcGxzSTF0U3VjcDFjTmtWWDRIMWhvdDNPbDBzV2Z2YnFpcEZPeE9HMDltWlZ6ZE1QaC9uQ1VSN1RMOTJERXhoZzhxVlUwMjJpMjBEWmJVOHRHWDM0cWdQUXVIWEorL2NoMkdZYlB2RmRTN0hlckRIQjZlZUJLamhVRjQ5UW84eW5ISDgyQTRjYVFGVWxDUnNQK3hKekEwTWtyRXFZakZmS1JIaHBIbU1GcGFYa0REb1M3NEhreHF6Y0xJTnV6cWo2UFNYb1QwOEo3ZHg5b2JxNW9RVDZMbXVFam1oeUF4Z2VSUVAvc29vZGxxb1VrQXBwbjF0Nzc3STZSaVFIT3pncVFtUWFNSzVsTEVBT1hHRTFXNFdnNnRlZzI3OWp5TUc3TkYzbStDc0VCcjZ5ZytYRnlDd2VEUm1yT3pWM0gxUmdlTHpiQWhPa0ZZc2tJRjVkVmxkRFkzMEhZOTJQMmprSk5wT0owYWxTcm9hZjNUVHgwbXlCeHNHUm1oNEhoUW1YQStrMFNMNlBhRU9GYnVzQ0praCtQNlNCQTdBMXQyVUxyNWpQTkFGa3lNN25rUUM3VUdWcXNOZERuUFRWYlBjcjJTSElxeFlsZVV4ajBmU01ja3JIeXlpTWNmL3pvQ3M0S1FnR28ybThobStqQzBaVnRQU2hVbFJvVjhqTDAxa0ltcldLOTNBQzFOVFpDaDhIMlpXSkdwcGpxQkc0M2hHTmUwU05kTU5vbGR1M2ZCYkhlZ3MxMHVBN1lOdXlqR05QMzg5ckdIVUNqc0pOZzRYTGlvNkhmUUpmMGtsaXRHRHZjTkRDSEdxY0cxdUdBTW1lMjdFRThrQVNxaGxzcHdVZ2FzZ29oT3Q5dVQzU2hwbFVyWU1pM0tyNGhxc3d1ZkFiZU5EQ0RPcVJqam9Fc2xkVXpzSGowbkpoTGFXVmtTRzdyR2hkTkpqQXdQd1RYYmxFekt0Ui8wckpiSVJhTFpJSWtDNVZSamNoWlVWc1hsYzVVR3hXRTV3MGdIcVAyaUtQYmFZTnNzZi9UL3JJb1RFQ1BVZnRQb2tBa1NCakxNWFZQQmtmQ21PRDA5M1pBa2NkcDFYWm9kcGVjREVza2tXQmwwU2FIbzJxSDJDL1I1QnRuZ1VkMFNtVHpFVkphVE1vVEFIVWV1TUpvRjZYU0t2b05KeWtyUHpBUzg5emxmZktPSkM1ZUtHTjNXaCs5L1p4QS8rZWtnaHZ1QzZjZ1Q5TVp4UEI1L0paOUwwLzNRZUhGNHJDd1RzV1NDeHFldVk4S2dKMlJqa1dSaUFYZFRJd3VrOUNEN25PN0piVWlMcHNSVEJHbTBZL29JNHFSY3VkTnpxZEhJdGkwYkN2dlhKR0RuVy92eC9xMXgzUEVIVDl6MUE2ZFBueTZGZ1QvbDB2VTQzR1dYUXBLS1IySWp3YlQ5bnIzUzR3a1lOa3ZOWHJjMk43RnhleFp5dWcrYjFVMG9uUEVTV3lNUkg1OWlSK3hWejJNckhDOGdPMndNNUpJb3J5eXh2WFhLZTJQcTVWT25TM2NUaUQ1ZDB6c2hTWExKNGVTclVRbE5sbTJReUZValYwUUFkVWt4a2FWMTJEaGJTV0NsYm1MbTVnS3VsdGFReUErZzNlbFFTVjBtR29mQkRSaW0yVE93dGMwcVVnbVpMSkd3MGVnaXNCb2wyWlZPL0MvdTNRVE9uajNieU9VSEoyM0xMRVZBYW5BSFhhcGo1UEdIQi9zUmtJTFJoSXU4djBZR3VGSU1iVWZFd1dlK2lWSnBua3p3ZXhZenJzWjY2MFVKZFdqWmRjbERCSEN6YTFNRG1xWHkrdHJrY3llbUdwOUxJUHBNVFUyVkttdkx6d3FpVUtxVE9pNkZoUGV3aWZMMWpVMEc0U2psZ0lrTXA4U0VZbnFDdmo5SjVDdTlsYnJFalVmTXJLeXRzUm9tYkFwWVJNdUlGWnNkczdUYWFEejc2Nm5QbmcwK2R6SXF6cGFMTVVtZkpDdEsxV3FiNkNlSTJGZlRvdXZWVlRLaEJaZUxCMlJOUU14MENWQ2Z5aWhGTk9RNUlmb3lKb1dxVHY2MzBXeWJGQjJ2WkhlN2s1ZUs1ZUwveDd2bjBlemN4V0twYlhZbjZPZW5VcWtFTFZtRE9IQjd6c2dsdlZvVUdvdEpSSUZqOUhrMnp3ZFdKRHBDZEJLZzlhYng4UG0rU3Y4Z2l1RlVxTVVtZUJRbzNTdldmYytHeFdLcDhkZTMvblhjOERIbVc1M3BPNnRyTEMvcFJIWHNFR1NSNlBERXdWSWJQYzQ3Zk9aR2M0UzhOMjJ6b1FuZWxDK3BZNi84N2YzalU5UG43bnRTbHZFbG4rblQ3NVI0ZVc3ZndTUEhFMXFjeC9QZ2tPMzY0NzRVRkJJYXNnRzl2aVFJRGJLanBLVFNSZEVQejIzZnRlWE5OMzUxK1NzZHovOExiWFN2UUdWY2ZDb0FBQUFBU1VWT1JLNUNZSUk9XCIgYWx0PVwiYXZhdGFyXCIgc3R5bGU9XCJ3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4XCIgLz5cclxuICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICA8dWxcclxuICAgICAgICAgICAgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbi1wYW5lbCBzaGFkb3ctNlwiXHJcbiAgICAgICAgICAgIFtAdG9wYmFyQWN0aW9uUGFuZWxBbmltYXRpb25dPVwiJ3Zpc2libGUnXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJhY3RpdmVUb3BiYXJJdGVtID09PSAncHJvZmlsZSdcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHBSaXBwbGUgKGNsaWNrKT1cInNhbGlyKClcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktcG93ZXItb2ZmIG1yLTJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5Mb2dvdXQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIDwhLS1GSU4gVE9QQkFSLS0+XHJcbiAgPCEtLTxkaXYgY2xhc3M9XCJtZW51LXdyYXBwZXJcIiAoY2xpY2spPVwibWVudUNsaWNrID0gdHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1tZW51LWNvbnRhaW5lclwiPlxyXG4gICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPHAtc2lkZWJhciBbKHZpc2libGUpXT1cIm1lbnVDbGlja1wiPlxyXG4gICAgPGFwcC1tZW51IFttb2R1bG9dPVwibW9kdWxvXCI+PC9hcHAtbWVudT5cclxuICA8L3Atc2lkZWJhcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImxheW91dC1tYWluXCI+XHJcbiAgICA8YXBwLWJyZWFkY3J1bWI+PC9hcHAtYnJlYWRjcnVtYj5cclxuICAgIDxhcHAtY2FyZ2EtYnJlYWRjcnVtYj48L2FwcC1jYXJnYS1icmVhZGNydW1iPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cy1tYWluLWNvbnRlbnQgY2FyZCBwLTNcIj5cclxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGFwcC1mb290ZXI+PC9hcHAtZm9vdGVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4tLT5cclxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbnRpbGxhLWdlbmVyYWwudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcGxhbnRpbGxhLWdlbmVyYWwvcGxhbnRpbGxhLWdlbmVyYWwudGVtcGxhdGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcGxhbnRpbGxhLWdlbmVyYWwvcGxhbnRpbGxhLWdlbmVyYWwudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBZ0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2xHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVwRSxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFpQi9FLE1BQU0sT0FBTyx3QkFBd0I7SUF1QnpCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7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T0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckUsQ0FBQztTQUNIOzsyRkFFVSx3QkFBd0I7a0JBaEJwQyxTQUFTOytCQUNFLHVCQUF1QixXQUN0QixDQUFDLGdCQUFnQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsa0JBQWtCLENBQUMsY0FDekssSUFBSSxjQUdOO3dCQUNWLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRTs0QkFDcEMsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUM7Z0NBQy9DLE9BQU8sQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzZCQUNsRixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDckUsQ0FBQztxQkFDSDtxVkFxQnlCLG9CQUFvQjtzQkFBN0MsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNpb3MvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi8vY29yZS9zZXJ2aWNpb3MvbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2lvcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9kdWxvc01vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvTW9kdWxvc01vZGVsJztcclxuaW1wb3J0IHsgVGFyZWFzTW9kZWwgfSBmcm9tICcuLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9UYXJlYXNNb2RlbCc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSwgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljaW9zL2Nhcmdhci1jb250cm9sLWZ1bmNpb25hbGlkYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3R5bGVDbGFzc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc3R5bGVjbGFzcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBcHBTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGF5b3V0L2FwcC5zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcFRvcGJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheW91dC9hcHAudG9wYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheW91dC9hcHAuZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcFJpZ2h0TWVudUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xheW91dC9hcHAucmlnaHRtZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYXlvdXQvYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGxhbnRpbGxhLWdlbmVyYWwnLFxyXG4gICAgaW1wb3J0czogW1N0eWxlQ2xhc3NNb2R1bGUsIENvbW1vbk1vZHVsZSwgQXV0b0NvbXBsZXRlTW9kdWxlLCBGb3Jtc01vZHVsZSwgQXBwU2lkZWJhckNvbXBvbmVudCwgQXBwQnJlYWRjcnVtYkNvbXBvbmVudCwgQXBwVG9wYmFyQ29tcG9uZW50LCBBcHBSaWdodE1lbnVDb21wb25lbnQsQXBwRm9vdGVyQ29tcG9uZW50XSwgXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BsYW50aWxsYS1nZW5lcmFsLnRlbXBsYXRlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BsYW50aWxsYS1nZW5lcmFsLnRlbXBsYXRlLnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCd0b3BiYXJBY3Rpb25QYW5lbEFuaW1hdGlvbicsIFtcclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGVZKDAuOCknIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoJy4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJyonIH0pKSxcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcuMXMgbGluZWFyJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKV0pLFxyXG4gICAgXSksXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBsYW50aWxsYUdlbmVyYWxUZW1wbGF0ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBtb2R1bG86IHN0cmluZztcclxuICBpbnRlcnZhbElkOiBudW1iZXI7XHJcbiAgbWVudUFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgbW9iaWxlTWVudUFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vYmlsZVRvcGJhckFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1lbnVDbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRvcGJhckl0ZW1DbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFjdGl2ZVRvcGJhckl0ZW06IHN0cmluZyA9ICcnO1xyXG4gIHNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlYXJjaENsaWNrOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGRvY3VtZW50Q2xpY2tMaXN0ZW5lciE6ICgpID0+IHZvaWQ7XHJcblxyXG4gIG5vbWJyZUVtcHJlc2E6IHN0cmluZyA9ICcxIC0gVW5pw7NuIFNvbHVjaW9uZXMnO1xyXG4gIG1vZHVsb3NEaXNwb25pYmxlczogTW9kdWxvc01vZGVsW10gPSBuZXcgQXJyYXkoKTtcclxuICB0YXJlYVNlbGVjY2lvbmFkYXM6IFRhcmVhc01vZGVsO1xyXG4gIHRhcmVhc0ZpbHRyYWRhczogVGFyZWFzTW9kZWxbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dFZpZXdDaGlsZCE6IEF1dG9Db21wbGV0ZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwcmltZUNvbmZpZzogUHJpbWVOR0NvbmZpZyxcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb250cm9sRnVuY2lvbmFsaWRhZDogQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmEgcmlwcGxlIGRlIFByaW1lTkcgcGFyYSBsYXMgYW5pbWFjaW9uZXMgZGUgbG9zIGJvdG9uZXNcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kdWxvc0Rpc3BvbmlibGVzID0gSlNPTi5wYXJzZSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxvcycpKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoKHYpID0+eyBcclxuICAgICAgLy90aGlzLm1vZHVsb3NEaXNwb25pYmxlcyA9IHZbJ21vZHVsb3NEaXNwb25pYmxlcyddXHJcbiAgICAgIHRoaXMucHJpbWVDb25maWcucmlwcGxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tb2R1bG8gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVzcHXDqXMgZGUgY3JlYXIgbGEgdmlzdGEgeSBzdWItdmlzdGFzIGluaWNpYWxpemEgbGFzIHRhcmVhcyB5IGV2ZW50b3MgYsOhc2ljb3MgY29tb1xyXG4gICAqIGVsIHRpbWVyIGRlIHNlc2nDs24sIGNhcmdhciBlbCBtZW7DuiB5IGV2ZW50b3MgZGVsIGh0bWwgcGFyYSBvY3VsdGFyIG1lbsO6cy5cclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdib2R5JywgJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMudG9wYmFySXRlbUNsaWNrKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUb3BiYXJJdGVtID0gJyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5tZW51Q2xpY2spIHtcclxuICAgICAgICBpZiAodGhpcy5tb2JpbGVNZW51QWN0aXZlKSB7XHJcbiAgICAgICAgICB0aGlzLm1vYmlsZU1lbnVBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5zZWFyY2hDbGljaykge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoID0gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VhcmNoQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgdGhpcy50b3BiYXJJdGVtQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgdGhpcy5tZW51Q2xpY2sgPSBmYWxzZTtcclxuICAgICAgdGhpcy5tb2R1bG8gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJylcclxuICAgICAgbGV0IG1vZHVsb1NlbGVjY2lvbmFkbzogTW9kdWxvc01vZGVsID0gbmV3IE1vZHVsb3NNb2RlbCh0aGlzLm1vZHVsbywgJycpO1xyXG4gICAgICB0aGlzLmNhbWJpb01vZHVsbyhtb2R1bG9TZWxlY2Npb25hZG8sIGZhbHNlKVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tZW51U2VydmljZS5sb2FkVGFyZWFzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5zZXRUYXJlYXNEZWxNb2R1bG8odGhpcy5tb2R1bG8pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIENhZGEgNSBtaW51dG9zIHZlcmlmaWNhIHF1ZSBlbCB0b2tlbiBubyBoYXlhIGV4cGlyYWRvXHJcbiAgICB0aGlzLmludGVydmFsSWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaXNUb2tlblZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmRlbGV0ZVRva2VuKCk7XHJcbiAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykpIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvYWRtb25Qb3J0YWwvdGltZW91dCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL3RpbWVvdXQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDMwMF8wMDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGltcGlhIGVsIGNvbXBvbmVudGUgZGUgbGFzIHN1YnNjcmlwY2lvbmVzXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhL0VzY29udGUgZWwgbWVuw7ogcHJpbmNpcGFsIGRlIG5hdmVnYWNpw7NuXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgb25NZW51QnV0dG9uQ2xpY2soZXZlbnQ6IHsgcHJldmVudERlZmF1bHQ6ICgpID0+IHZvaWQgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW51QWN0aXZlID0gIXRoaXMubWVudUFjdGl2ZTtcclxuICAgIHRoaXMubWVudUNsaWNrID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5faXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLm1vYmlsZU1lbnVBY3RpdmUgPSAhdGhpcy5tb2JpbGVNZW51QWN0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaSBlbCBzaXRpbyBlc3RhIGVuIG3Ds3ZpbGVzLCBtdWVzdHJhL2VzY29uZGUgZWwgbWVuw7ogZGUgbGEgYmFycmEgc3VwZXJpb3IgKGxvcyB0cmVzIHB1bnRvcylcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBvblRvcGJhck1vYmlsZUJ1dHRvbkNsaWNrKGV2ZW50OiB7IHByZXZlbnREZWZhdWx0OiAoKSA9PiB2b2lkIH0pOiB2b2lkIHtcclxuICAgIHRoaXMubW9iaWxlVG9wYmFyQWN0aXZlID0gIXRoaXMubW9iaWxlVG9wYmFyQWN0aXZlO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE11ZXN0cmEvRXNjb25kZSBsb3MgbWVudXMgZW1lcmdlbnRlcyBkZSBsYSBiYXJyYSBzdXBlcmlvciAoQnVzY2FyLCBNw7NkdWxvcyB5IFBlcmZpbCkuXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICogQHBhcmFtIGl0ZW1cclxuICAgKi9cclxuICBvblRvcGJhckl0ZW1DbGljayhldmVudDogeyBwcmV2ZW50RGVmYXVsdDogKCkgPT4gdm9pZCB9LCBpdGVtOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudG9wYmFySXRlbUNsaWNrID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5hY3RpdmVUb3BiYXJJdGVtID09PSBpdGVtKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVG9wYmFySXRlbSA9ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVUb3BiYXJJdGVtID0gaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbSA9PT0gJ3NlYXJjaCcpIHtcclxuICAgICAgdGhpcy5zZWFyY2ggPSAhdGhpcy5zZWFyY2g7XHJcbiAgICAgIHRoaXMuc2VhcmNoQ2xpY2sgPSAhdGhpcy5zZWFyY2hDbGljaztcclxuICAgIH1cclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2kgbGEgcGFudGFsbGEgdGllbmUgdW4gYW5jaG8gbWVub3IgbyBpZ3VhbCBhIDk5MSBlcyB1biBkaXNwb3NpdGl2byBtw7N2aWwuXHJcbiAgICogQHJldHVybnMgYm9vbGVhblxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDk5MTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG4gICAgc3dpdGNoIChldmVudC50b1N0YXRlKSB7XHJcbiAgICAgIGNhc2UgJ3Zpc2libGUnOlxyXG4gICAgICAgIC8vdGhpcy5zZWFyY2hJbnB1dFZpZXdDaGlsZC5mO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2FsaXIoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmRlbGV0ZVRva2VuKCk7XHJcbiAgICB0aGlzLmNvbnRyb2xGdW5jaW9uYWxpZGFkLmVsaW1pbmFyRnVuY2lvbmFsaWRhZGVzKCk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2xvZ2luJyk7XHJcbiAgfVxyXG5cclxuICBjYW1iaW9Nb2R1bG8obW9kdWxvOiBNb2R1bG9zTW9kZWwsIG5hdmVnYXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgbW9kdWxvLmxsYXZlKVxyXG4gICAgdGhpcy5tZW51U2VydmljZS5zZXRUYXJlYXNEZWxNb2R1bG8obW9kdWxvLmxsYXZlKTtcclxuICAgIGlmIChuYXZlZ2FyKXtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCggdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvaW5pY2lvJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJUYXJlYShldmVudCkge1xyXG4gICAgY29uc3QgZmlsdGVyZWQ6IFRhcmVhc01vZGVsW10gPSBbXTtcclxuICAgIGxldCB0YXJlYXM6IFRhcmVhc01vZGVsW10gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ19fdGFyZWFzJykgIT0gbnVsbCA/IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdfX3RhcmVhcycpKSA6ICcnO1xyXG4gICAgY29uc3QgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFyZWFzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSB0YXJlYXNbaV07XHJcbiAgICAgIGlmIChjb3VudHJ5LmRlc2NyaXBjaW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkudG9Mb3dlckNhc2UoKSkpIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhcmVhc0ZpbHRyYWRhcyA9IGZpbHRlcmVkO1xyXG4gIH1cclxuXHJcbiAgdGFyZWFTZWxlY2Npb24oKSB7XHJcbiAgICBpZiAodGhpcy50YXJlYVNlbGVjY2lvbmFkYXMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICB0aGlzLnRhcmVhU2VsZWNjaW9uYWRhcy51cmxwcmluY2lwYWwucmVwbGFjZSgvLmpzZi8sICcnKV0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJsYXlvdXQtd3JhcHBlciBwLWlucHV0LWZpbGxlZCBsYXlvdXQtbWVudS1zdGF0aWMgbGF5b3V0LW1lbnUtbGlnaHQgbGF5b3V0LXRvcGJhci1kYXJrXCJcclxuICBbbmdDbGFzc109XCJ7J2xheW91dC1tZW51LWFjdGl2ZSc6IG1lbnVBY3RpdmUsXHJcbiAgICAgICAgICAgICAgJ2xheW91dC1tZW51LW1vYmlsZS1hY3RpdmUnOiBtb2JpbGVNZW51QWN0aXZlLFxyXG4gICAgICAgICAgICAgICdsYXlvdXQtdG9wYmFyLW1vYmlsZS1hY3RpdmUnOiBtb2JpbGVUb3BiYXJBY3RpdmUgfVwiXHJcbj5cclxuIDwhLS1JTklDSU8gVE9QQkFSLS0+XHJcbiA8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhciBzaGFkb3ctNFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWxlZnRcIj5cclxuICAgIDxhIGNsYXNzPVwibGF5b3V0LXRvcGJhci1sb2dvXCI+e3sgbm9tYnJlRW1wcmVzYSB8IHVwcGVyY2FzZSB9fTwvYT5cclxuXHJcbiAgICA8YSBjbGFzcz1cImxheW91dC1tZW51LWJ1dHRvbiBzaGFkb3ctNlwiIChjbGljayk9XCJvbk1lbnVCdXR0b25DbGljaygkZXZlbnQpXCIgcFJpcHBsZT5cclxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxyXG4gICAgPC9hPlxyXG5cclxuICAgIDxhIGNsYXNzPVwibGF5b3V0LXRvcGJhci1tb2JpbGUtYnV0dG9uXCIgKGNsaWNrKT1cIm9uVG9wYmFyTW9iaWxlQnV0dG9uQ2xpY2soJGV2ZW50KVwiIHBSaXBwbGU+XHJcbiAgICAgIDxpIGNsYXNzPVwicGkgcGktZWxsaXBzaXMtdiBmcy1sYXJnZVwiPjwvaT5cclxuICAgIDwvYT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItcmlnaHRcIiBbbmdDbGFzc109XCJ7ICdsYXlvdXQtdG9wYmFyLW1vYmlsZS1hY3RpdmUnOiBtb2JpbGVUb3BiYXJBY3RpdmUgfVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9ucy1sZWZ0XCI+PC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9ucy1yaWdodFwiPlxyXG4gICAgICA8dWwgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWl0ZW1zXCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibGF5b3V0LXRvcGJhci1pdGVtIGxheW91dC1zZWFyY2gtaXRlbVwiPlxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbiByb3VuZGVkLWNpcmNsZVwiIChjbGljayk9XCJvblRvcGJhckl0ZW1DbGljaygkZXZlbnQsICdzZWFyY2gnKVwiIHBSaXBwbGU+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoIGZzLWxhcmdlXCI+PC9pPlxyXG4gICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJsYXlvdXQtc2VhcmNoLXBhbmVsIHAtaW5wdXRncm91cFwiXHJcbiAgICAgICAgICAgIFtAdG9wYmFyQWN0aW9uUGFuZWxBbmltYXRpb25dPVwiJ3Zpc2libGUnXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAoQHRvcGJhckFjdGlvblBhbmVsQW5pbWF0aW9uLmRvbmUpPVwib25TZWFyY2hBbmltYXRpb25FbmQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRncm91cC1hZGRvblwiPjxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHAtYXV0b0NvbXBsZXRlXHJcbiAgICAgICAgICAgICAgI3NlYXJjaElucHV0XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJCdXNjYXIgdW5hIHRhcmVhLi4uXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoQ2xpY2sgPSB0cnVlXCJcclxuICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFyZWFTZWxlY2Npb25hZGFzXCJcclxuICAgICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwidGFyZWFzRmlsdHJhZGFzXCJcclxuICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVyVGFyZWEoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInRhcmVhU2VsZWNjaW9uKClcIlxyXG4gICAgICAgICAgICAgIGZpZWxkPVwiZGVzY3JpcGNpb25cIlxyXG4gICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGwgaC1mdWxsXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXRncm91cC1hZGRvblwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXRpbWVzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXBsYWluXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWFyY2hDbGljayA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaSBjbGFzcz1cImxheW91dC10b3BiYXItaXRlbSBhcHBcIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwibGF5b3V0LXRvcGJhci1hY3Rpb24gcm91bmRlZC1jaXJjbGVcIiAoY2xpY2spPVwib25Ub3BiYXJJdGVtQ2xpY2soJGV2ZW50LCAnbW9kdWxlcycpXCIgcFJpcHBsZT5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS10YWJsZSBmcy1sYXJnZVwiPjwvaT5cclxuICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXRvcGJhci1hY3Rpb24tcGFuZWwgc2hhZG93LTZcIlxyXG4gICAgICAgICAgICBbQHRvcGJhckFjdGlvblBhbmVsQW5pbWF0aW9uXT1cIid2aXNpYmxlJ1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlVG9wYmFySXRlbSA9PT0gJ21vZHVsZXMnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1ub2d1dHRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLWFjdGlvbi1pdGVtIGNvbC00XCIgKm5nRm9yPVwibGV0IG1vZHVsbyBvZiBtb2R1bG9zRGlzcG9uaWJsZXNcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1jb2xvclwiIGhyZWY9XCIvaW5pY2lvXCIgIHBSaXBwbGUgKGNsaWNrKT1cImNhbWJpb01vZHVsbyhtb2R1bG8sIHRydWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYWN0aW9uIGFwcC1iZ2NvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIidhc3NldHMvbW9kdWxvcy8nICsgbW9kdWxvLmljb25vXCIgLz4gXHJcbiAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEwcHg7IHRleHQtYWxpZ246IGxlZnRcIj57eyBtb2R1bG8uZGVzY3JpcGNpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgPGxpIGNsYXNzPVwibGF5b3V0LXRvcGJhci1pdGVtXCI+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9uIGZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcHgtMiByb3VuZGVkLWNpcmNsZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvcGJhckl0ZW1DbGljaygkZXZlbnQsICdwcm9maWxlJylcIlxyXG4gICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FZQUFBQnplbnIwQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQXJYU1VSQlZIZ0JqVmRMYkZ6bEdUMzNOZmZlZWMvNG5ZY3pKb0VrRWdrMm9iUThvc1JJVlI5UzI5Q3FxdFJWa0xyb3BpS3AxRVZYTktKVlFWM0VMRnJTRlZhN0lMU0xCQ0VoVUN1UkxOb0VRbUdjaDVNNGpqM0dIanRqZTk0ejkvM291WU1haVpJQUk0M3Z0ZS8xLzMzLzk1MXp2dk1MK0lxZmVyMmU1ZVZJQVBHUWdIQ2M5NFV3UkxiM1VFQ0RQMHU4S1lvUXpnSCttN2xjcnZGVjFoVys3QVVHTGtERTh3aHdsTDltNy9WT0dIM0Q4RE8vMjZZOS9lS0xMNTg0ZFdxcTlFWHJpMThRT0Z1dGIwNEZZYkFZK3VHeElBaXlVUkNmM3pBTUVBWUIrRGU0bnN0RmhGNVVRWWgyeEp2QWgyMFpSOXZkeHVKdlQvN3A1TWtYam1YdkYrZWVGZmo0d29XQzJqZjgzdXpzbFVLNzFVWExjaUNZWFd6dDAyRzZnTXNZZzMwWkxDM013V3kxa1Vrbk1MeDFCellOUUpaRjVOUVF0Mjh0NHZiQ0xTVFRhZVQ5U21tNVlrOU9uVDViK3RJRVh2dmo3OFpkV3poemJjTXRMTTNQWVdCb0NKbFVHakgyWUdlZkJzUVVDSklNbzdhR0lOcTlaMkZoYVJWalkyTlFGUVVMTjYrekdoNXJLME1Lb29vRnZaWUlJVXErN3ozN2g3Ly9vM2pmQkY0LytmdUNMYnJ2TllWY0laRWZobTNiMERRTkl3TjVXR1lMZ2QzRjNNeUhjRHN0ek0xZGg4ZXE3TjB4akljZTNJUFZqUnAyUHJnVHM1ZXZ3dTBhQ0tKMnNUbWU4R203MEdzZlNsMjdOWG5xN01YUzV4STQ4OXByV2NkdmZZemtRRUZMNXFGd054QkVYa1VNWnhLd0hSdi9mUHNNTkRqNDRQeDVQSFhnQUI1OFlBeEtZTU5xVjJFNUZoSmJtY0MxSzVpZlcyWXJKRFFzRTdxdXczTjhlSklJa1ltMExMdTBOWk9hbURwN3JzY1MrZTcydzhadlJFRXNySmZMY04wbEtMSUFLYWJDQzBTa3YzWUF6Zm9HQkpZMDZHN2dpVWNld2Y1OUI1Qk14WkZVWldoU2lCWmJzbnhuR1Z2eVNWUVRPbUtTQkpGMTExVVZ0aUx3eTVhNE5zUkVxcEJReEJjWThYZ1V0c2VDMTE5OXRXQUg0dk9PUi9EY25NVW5pd3Vvckszai9EdHZJUlFrckc5VWNibjRIL2JVaG04YTZPc2JKTkkvWlFGemdpL3JTQk1udGZJQ3JHNFRxdUJEWnNsalFWVGlBTEtxSUs3RkdVMUNLcDJIRXdUSGZ2N3RieFNpMkZMMFkyQzQvNlRwdU9QYXdDaDBTVUJDajBHTHlkai82Qk13cTJYczNMc1ByY1ltdHVaMDNMcHhCYmRYMWxCcmJHQXdyV0RtbzR1NGRPa2loaklhNU1DRTZUallYSzNoay9VNmdlZkRaSVlTMjdGV3JiS3FySUp2dytVNzhGMWNtaSsvSzRhTFo3S0hIc2tmVlpwbHlKNkQybG9abGRVeUdvMG1yczI4VHhBcGFMZWFYQ3lFWjdkZ21CM1VPaWFXS2pVb2FnSzZyRUpTYzlDU0dlaHhIUThRT2o4YnVvMWQzUFV3eTU0UEhDaERPdFREY2NoYUFJblYwYXJyeUJubTBSZU9ITTdLYi8vNWpTUGxsb0RIOWhHeDhTckViZjFvZXdLMENFUTFFWWxrSEo3cklHVG1wY1ZyVUVJUlB6ejRGTHA4SjY0bThmVEJTWFJiSnZxekdqcnJ5d3g0SFRaTVJCeVErRzZiTlBTSk5IbTBEZVY2QWdsQnhuYlZ4VE9IeTFtcC8vWVA1SUh2L2ZLUWFBUXdidjhiTThVRmpHcHRURDQ5aEt2WGdQeVdBVlN0Tm15ampkYkdHdFlyR3lERDRSb21MSXNhWUZ0WVcxd20vNVB3OUN3dTNGeG14eFUweXJrZS8zMlczMkxsVklGQ1pyaXdXeDFZTWQ1M1pZek9XUGhvUWpnc0p1TGUrTXk3ZjRFcStSZ2szeE5iOTJLeFRQSEpiMEY3WXdXT1ljQ3FWVWkxQm1LcWpremZNRHFrWEl4SXYzN3pNdFNJWmg0MWduc09mQW15TUl5MlRkMlFGSmlzZ01TcmJvWXdicm5vRXhXaytkV1RBUVE5eEh4RkhwZXFLOHN2V2V0TG1xZW81UEFjNnMwT2dVTjBCZ2IwUkp5YTNvV2N5bE4rVlNRekdZcWNSVkRGWUZDaVVXMGh6MFRpR1JXbUgrRHF3aUpFS3VBYVJVbWdqbmhrVUZMUjhJdnRXWXhjcVVFbXlBVXRneCszWnBBYk16QjNVOWVrQTQ5T3ZMUytzZ0pUak1PaDh0VXI2MmpYYW5DWmtLK25NVGl5SGJvbXc0OXB1SEpqSGlsTmdLb2xrWTdIa2NwbHNJMXRTdWNwMWNOa1ZYNEgxaG90M09sMHNXZnZicWlwRk94T0cwOW1aVnpkTVBoL25DVVI3VEw5MkRFeGhnOHFWVTAyMmkyMERaYlU4dEdYMzRxZ1BRdUhYSisvY2gyR1liUHZGZFM3SGVyREhCNmVlQktqaFVGNDlRbzh5bkhIODJBNGNhUUZVbENSc1AreEp6QTBNa3JFcVlqRmZLUkhocEhtTUZwYVhrRERvUzc0SGt4cXpjTElOdXpxajZQU1hvVDA4SjdkeDlvYnE1b1FUNkxtdUVqbWh5QXhnZVJRUC9zb29kbHFvVWtBcHBuMXQ3NzdJNlJpUUhPemdxUW1RYU1LNWxMRUFPWEdFMVc0V2c2dGVnMjc5anlNRzdORjNtK0NzRUJyNnlnK1hGeUN3ZURSbXJPelYzSDFSZ2VMemJBaE9rRllza0lGNWRWbGREWTMwSFk5MlAyamtKTnBPSjBhbFNyb2FmM1RUeDBteUJ4c0dSbWg0SGhRbVhBK2swU0w2UGFFT0ZidXNDSmtoK1A2U0JBN0ExdDJVTHI1alBOQUZreU03bmtRQzdVR1Zxc05kRG5QVFZiUGNyMlNISXF4WWxlVXhqMGZTTWNrckh5eWlNY2Yvem9DczRLUWdHbzJtOGhtK2pDMFpWdFBTaFVsUm9WOGpMMDFrSW1yV0s5M0FDMU5UWkNoOEgyWldKR3BwanFCRzQzaEdOZTBTTmRNTm9sZHUzZkJiSGVnczEwdUE3WU51eWpHTlAzODlyR0hVQ2pzSk5nNFhMaW82SGZRSmYwa2xpdEdEdmNORENIR3FjRzF1R0FNbWUyN0VFOGtBU3FobHNwd1VnYXNnb2hPdDl1VDNTaHBsVXJZTWkzS3I0aHFzd3VmQWJlTkRDRE9xUmpqb0VzbGRVenNIajBuSmhMYVdWa1NHN3JHaGROSmpBd1B3VFhibEV6S3RSLzBySmJJUmFMWklJa0M1VlJqY2haVVZzWGxjNVVHeFdFNXcwZ0hxUDJpS1BiYVlOc3NmL1QvcklvVEVDUFVmdFBva0FrU0JqTE1YVlBCa2ZDbU9EMDkzWkFrY2RwMVhab2RwZWNERXNra1dCbDBTYUhvMnFIMkMvUjVCdG5nVWQwU21UekVWSmFUTW9UQUhVZXVNSm9GNlhTS3ZvTkp5a3JQekFTODl6bGZmS09KQzVlS0dOM1doKzkvWnhBLytla2dodnVDNmNnVDlNWnhQQjUvSlo5TDAvM1FlSEY0ckN3VHNXU0N4cWV1WThLZ0oyUmprV1JpQVhkVEl3dWs5Q0Q3bk83SmJVaUxwc1JUQkdtMFkvb0k0cVJjdWROenFkSEl0aTBiQ3Z2WEpHRG5XL3Z4L3ExeDNQRUhUOXoxQTZkUG55NkZnVC9sMHZVNDNHV1hRcEtLUjJJandiVDlucjNTNHdrWU5rdk5YcmMyTjdGeGV4Wnl1ZytiMVUwb25QRVNXeU1SSDU5aVIreFZ6Mk1ySEM4Z08yd001Sklvcnl5eHZYWEtlMlBxNVZPblMzY1RpRDVkMHpzaFNYTEo0ZVNyVVFsTmxtMlF5RlVqVjBRQWRVa3hrYVYxMkRoYlNXQ2xibUxtNWdLdWx0YVF5QStnM2VsUVNWMG1Hb2ZCRFJpbTJUT3d0YzBxVWdtWkxKR3cwZWdpc0JvbDJaVk8vQy91M1FUT25qM2J5T1VISjIzTExFVkFhbkFIWGFwajVQR0hCL3NSa0lMUmhJdTh2MFlHdUZJTWJVZkV3V2UraVZKcG5rendleFl6cnNaNjYwVUpkV2paZGNsREJIQ3phMU1EbXFYeSt0cmtjeWVtR3A5TElQcE1UVTJWS212THp3cWlVS3FUT2k2RmhQZXdpZkwxalUwRzRTamxnSWtNcDhTRVlucUN2ajlKNUN1OWxickVqVWZNckt5dHNSb21iQXBZUk11SUZac2RzN1RhYUR6NzY2blBuZzArZHpJcXpwYUxNVW1mSkN0SzFXcWI2Q2VJMkZmVG91dlZWVEtoQlplTEIyUk5RTXgwQ1ZDZnlpaEZOT1E1SWZveUpvV3FUdjYzMFd5YkZCMnZaSGU3azVlSzVlTC94N3ZuMGV6Y3hXS3BiWFluNk9lblVxa0VMVm1ET0hCN3pzZ2x2Vm9VR290SlJJRmo5SGsyendkV0pEcENkQktnOWFieDhQbStTdjhnaXVGVXFNVW1lQlFvM1N2V2ZjK0d4V0twOGRlMy9uWGM4REhtVzUzcE82dHJMQy9wUkhYc0VHU1I2UERFd1ZJYlBjNDdmT1pHYzRTOE4yMnpvUW5lbEMrcFk2Lzg3ZjNqVTlQbjdudFNsdkVsbituVDc1UjRlVzdmd1NQSEUxcWN4L1Bna08zNjQ3NFVGQklhc2dHOXZpUUlEYktqcEtUU1JkRVB6MjNmdGVYTk4zNTErU3Nkei84TGJYU3ZRR1ZjZkNvQUFBQUFTVVZPUks1Q1lJST1cIiBhbHQ9XCJhdmF0YXJcIiBzdHlsZT1cIndpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHhcIiAvPlxyXG4gICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgIDx1bFxyXG4gICAgICAgICAgICBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9uLXBhbmVsIHNoYWRvdy02XCJcclxuICAgICAgICAgICAgW0B0b3BiYXJBY3Rpb25QYW5lbEFuaW1hdGlvbl09XCIndmlzaWJsZSdcIlxyXG4gICAgICAgICAgICAqbmdJZj1cImFjdGl2ZVRvcGJhckl0ZW0gPT09ICdwcm9maWxlJ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImxheW91dC10b3BiYXItYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgcFJpcHBsZSAoY2xpY2spPVwic2FsaXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1wb3dlci1vZmYgbXItMlwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxzcGFuPkxvZ291dDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4gPCEtLUZJTiBUT1BCQVItLT5cclxuICA8IS0tPGRpdiBjbGFzcz1cIm1lbnUtd3JhcHBlclwiIChjbGljayk9XCJtZW51Q2xpY2sgPSB0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnUtY29udGFpbmVyXCI+XHJcbiAgICAgXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8cC1zaWRlYmFyIFsodmlzaWJsZSldPVwibWVudUNsaWNrXCI+XHJcbiAgICA8YXBwLW1lbnUgW21vZHVsb109XCJtb2R1bG9cIj48L2FwcC1tZW51PlxyXG4gIDwvcC1zaWRlYmFyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1haW5cIj5cclxuICAgIDxhcHAtYnJlYWRjcnVtYj48L2FwcC1icmVhZGNydW1iPlxyXG4gICAgPGFwcC1jYXJnYS1icmVhZGNydW1iPjwvYXBwLWNhcmdhLWJyZWFkY3J1bWI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzLW1haW4tY29udGVudCBjYXJkIHAtM1wiPlxyXG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8YXBwLWZvb3Rlcj48L2FwcC1mb290ZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2Pi0tPlxyXG4iXX0=
@@ -69,12 +69,17 @@ export class AuthService {
69
69
  };
70
70
  modulos.push(modulo);
71
71
  });
72
+ console.log('entra aca login general');
72
73
  this.storageService.setItem('modulos', JSON.stringify(modulos));
73
74
  if (this.storageService.getItem('moduloFavorito') !== undefined && this.storageService.getItem('moduloFavorito')) {
74
75
  this.storageService.setItem('moduloSeleccionado', this.storageService.getItem('moduloFavorito'));
75
76
  }
76
77
  else {
77
- this.storageService.setItem('moduloSeleccionado', data?.modulodefecto);
78
+ let modulodefecto = data?.modulodefecto;
79
+ if (!modulodefecto) {
80
+ modulodefecto = modulos[0].llave;
81
+ }
82
+ this.storageService.setItem('moduloSeleccionado', modulodefecto);
78
83
  }
79
84
  }
80
85
  let tokenDecrypt = CryptoJS.AES.encrypt(JSON.stringify(data?.autenticacionUsuarioDTO), environment.crypto_secret_key);
@@ -177,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
177
182
  providedIn: 'root',
178
183
  }]
179
184
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.StorageService }, { type: i3.CargarControlFuncionalidadService }, { type: i4.CookieService }] });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBT3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBTXRDLE1BQU0sT0FBTyxXQUFXO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFKVixZQUNVLElBQWdCLEVBQ2hCLGNBQThCLEVBQzlCLG9CQUF1RCxFQUN2RCxhQUE0QjtRQUg1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW1DO1FBQ3ZELGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUUxQzs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFdBQWlDLEVBQUUsWUFBWSxFQUFFLFlBQVk7UUFDakUsTUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLHVCQUF1QixDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUs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Z3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlckxvZ2luQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9tb2RlbG9zL3VzZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkVycm9yIH0gZnJvbSAnLi4vZXJyb3Jlcy9hdXRoZW50aWNhdGlvbi5lcnJvcic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuL2Nhcmdhci1jb250cm9sLWZ1bmNpb25hbGlkYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXJlYXNNb2RlbCB9IGZyb20gJy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsJztcclxuaW1wb3J0IHsgTW9kdWxvc01vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvTW9kdWxvc01vZGVsJztcclxuaW1wb3J0IHsgUm9sTW9kZWwgfSBmcm9tICcuLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9Sb2xNb2RlbCc7IFxyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCAqIGFzIENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLCBcclxuICAgIHByaXZhdGUgY29udHJvbEZ1bmNpb25hbGlkYWQ6IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSxcclxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmVhbGl6YSBsYSBwZXRpY2nDs24gcGFyYSBhdXRlbnRpY2FyIGFsIHVzdWFyaW8uIERldnVlbHZlIGVsIHRva2VuIHF1ZSBnZW5lcsOzIGVsIHNlcnZpY2lvLlxyXG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyBPYmpldG8gY29uIGxvcyBkYXRvcyBkZSBhY2Nlc29cclxuICAgKiBAcmV0dXJucyBUb2tlbiB2w6FsaWRvXHJcbiAgICovXHJcbiAgbG9naW4oY3JlZGVudGlhbHM6IFVzZXJMb2dpbkNyZWRlbnRpYWxzLCB1cmxhcGludWNsZW8sIHRva2VuUHVibGljbyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt1cmxhcGludWNsZW99L2F1dGhlbnRpY2F0aW9uL2xvZ2luYDtcclxuICAgIGlmICghdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJykpe1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCd1cmxudWNsZW8nLCB1cmxhcGludWNsZW8pO1xyXG4gICAgfVxyXG4gICAgdmFyIGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW5QdWJsaWNvfWApXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8c3RyaW5nPih1cmwsIGNyZWRlbnRpYWxzLCB7aGVhZGVyc30pLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gKGRhdGEgYXMgYW55KT8udG9rZW4gYXMgc3RyaW5nO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XHJcblxyXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICogQ29udHJvbCBmdW5jaW9uYWxpZGFkZXNcclxuICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgICAgIC8qIGxldCByb2w6IGFueSA9IHt9XHJcbiAgICAgICAgcm9sLmNvZGlnb1JvbCA9IHRoaXMuZ2V0VG9rZW5LZXkoJ2xsYXZlUm9sJyk7XHJcbiAgICAgICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5jYXJnYXJGdW5jaW9uYWxpZGFkKHJvbCwgYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9mdW5jaW9uYWxpZGFkZXNgLCBoZWFkZXJzKS5zdWJzY3JpYmUoe30pO1xyXG4gICAgICAgKi9cclxuICAgICAgICB2YXIgbGlzdFJvbGVzID0gKGRhdGEgYXMgYW55KT8ubGlzdGFSb2xlcztcclxuICAgICAgICBjb25zb2xlLmxvZyhsaXN0Um9sZXMpXHJcbiAgICAgIGlmIChsaXN0Um9sZXMubGVuZ3RoID4gMSApe1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgncm9sZXMnLCBKU09OLnN0cmluZ2lmeShsaXN0Um9sZXMpKTtcclxuICAgICAgICAvL3RoaXMubW9zdHJhclJvbGVzID0gdHJ1ZTtcclxuICAgICAgfWlmIChsaXN0Um9sZXMubGVuZ3RoID09IDEgKXtcclxuICAgICAgICBsZXQgcm9sOiBhbnkgPSB7fVxyXG4gICAgICAgIHJvbC5jb2RpZ29Sb2wgPSB0aGlzLmdldFRva2VuS2V5KCdsbGF2ZVJvbCcpO1xyXG4gICAgICAgIHJvbC5hcGxpY2FjaW9uID0gdGhpcy5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEZ1bmNpb25hbGlkYWQuY2FyZ2FyRnVuY2lvbmFsaWRhZChyb2wsIGAke3VybGFwaW51Y2xlb30vYXV0aGVudGljYXRpb24vZnVuY2lvbmFsaWRhZGVzYCwgaGVhZGVycykuc3Vic2NyaWJlKHt9KTtcclxuICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gICAgICAgIC8qIENvZGlnbyB0ZW1wb3JhbCBwYXJhIG1hbnRlbmVyIGxhcyB0YXJlYXMsIHBlcm8gZXN0YXMgZGViZW4gc2VyIG9idGVuaWRhcyBwb3IgdW4gc2VydmljaW8gKi9cclxuICAgICAgICB2YXIgdGFyZWFzOiBUYXJlYXNNb2RlbFtdID0gKGRhdGEgYXMgYW55KS50YXJlYXNtb2R1bG87XHJcbiAgICAgICAgY29uc29sZS5sb2codGFyZWFzKVxyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnX190YXJlYXMnLCAgSlNPTi5zdHJpbmdpZnkodGFyZWFzKSk7XHJcbiAgICAgICAgdmFyIG1vZHVsb3NEZVRhcmVhcyA9IHRhcmVhcy5maWx0ZXIoKG9iaiwgaW5kZXgsIHNlbGYpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKG8pID0+IG8ubW9kdWxvID09PSBvYmoubW9kdWxvKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgbW9kdWxvczogTW9kdWxvc01vZGVsW10gPSBbXTtcclxuICAgICAgICBtb2R1bG9zRGVUYXJlYXMuZm9yRWFjaChkYXRhID0+IHtcclxuICAgICAgICAgIGxldCBtb2R1bG86IE1vZHVsb3NNb2RlbCA9IHtcclxuICAgICAgICAgICAgbGxhdmU6IGRhdGEubW9kdWxvLFxyXG4gICAgICAgICAgICBkZXNjcmlwY2lvbjogZGF0YS5ub21icmVNb2R1bG8sXHJcbiAgICAgICAgICAgIGljb25vOiBkYXRhLmljb25vTW9kdWxvXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBtb2R1bG9zLnB1c2gobW9kdWxvKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9zJywgSlNPTi5zdHJpbmdpZnkobW9kdWxvcykpO1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ21vZHVsb0Zhdm9yaXRvJykgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ21vZHVsb0Zhdm9yaXRvJykpe1xyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9TZWxlY2Npb25hZG8nLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ21vZHVsb0Zhdm9yaXRvJykpO1xyXG4gICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgKGRhdGEgYXMgYW55KT8ubW9kdWxvZGVmZWN0byk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGxldCB0b2tlbkRlY3J5cHQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChKU09OLnN0cmluZ2lmeSgoZGF0YSBhcyBhbnkpPy5hdXRlbnRpY2FjaW9uVXN1YXJpb0RUTyksIGVudmlyb25tZW50LmNyeXB0b19zZWNyZXRfa2V5KVxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2F1dGVudGljYWNpb25Vc3VhcmlvRFRPJywgdG9rZW5EZWNyeXB0LnRvU3RyaW5nKCkpO1xyXG4gICAgICAgXHJcbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gICAgICAgIHJldHVybiB0b2tlbjtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA+PSA0MDApIHtcclxuICAgICAgICAgIHRocm93IG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKCdVc3VhcmlvL2NvbnRyYXNlw7FhIGludsOhbGlkby4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV2dWVsdmUgZWwgdG9rZW4gYWxtYWNlbmFkbyBlbiBlbCBzdG9yYWdlIG8gdmFjaW8gc2kgbm8gbG8gZW5jdWVudHJhXHJcbiAgICogQHJldHVybnMgVG9rZW5cclxuICAgKi9cclxuICBnZXRUb2tlbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndG9rZW4nLCAnJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXZ1ZWx2ZSBlbCB2YWxvciBhc29jaWFkbyBhIGxhIGxsYXZlIHF1ZSBzZSBlbmN1ZW50cmEgYWxtYWNlbmFkbyBlbiBlbCB0b2tlbi5cclxuICAgKiBAcGFyYW0ga2V5IExsYXZlIHByZXNlbnRlIGVuIGVsIG9iamV0byBkZWwgdG9rZW5cclxuICAgKiBAcmV0dXJucyBWYWxvciBhbG1hY2VuYWRvXHJcbiAgICovXHJcbiAgZ2V0VG9rZW5LZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuX2RlY29kZVRva2VuKCk7XHJcbiAgICAgIHJldHVybiBkYXRhW2tleV0udG9TdHJpbmcoKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2Egc2kgZWwgdG9rZW4gYWxtYWNlbmFkbyBlbiBlbCBzdG9yYWdlIGVzIHbDoWxpZG8gdmVyaWZpY2FuZG8gcXVlIHNlXHJcbiAgICogcHVlZGEgZGVjb2RpZmljYXIgeSBxdWUgZWwgdGllbXBvIGFjdHVhbCBzZWEgbWVub3IgYWwgZGUgZXhwaXJhY2nDs24uXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBpc1Rva2VuVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGVjb2RlVG9rZW4oKTtcclxuICAgICAgY29uc3QgZXhwaXJ5VGltZSA9IGRhdGEuZXhwO1xyXG4gICAgICBjb25zdCBjdXJyZW50VGltZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgaWYoKGN1cnJlbnRUaW1lIDw9IGV4cGlyeVRpbWUpICYmIHRoaXMuZ2V0VG9rZW5LZXkoJ251bWVyb0VtcHJlc2EnKSAmJiB0aGlzLmdldFRva2VuS2V5KCdub21icmVDb25leGlvbicpKXtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvcnJhIGVsIHRva2VuIGRlbCB1c3VhcmlvIHBhcmEgaW52YWxpZGFyIGxhIHNlc2nDs25cclxuICAgKi9cclxuICBkZWxldGVUb2tlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlY29kaWZpY2EgZWwgdG9rZW4gcXVlIGVzdGEgYWxtYWNlbmFkbyB5IGRldnVlbHZlIGVsIG9iamV0byBxdWUgcmVwcmVzZW50YVxyXG4gICAqIEByZXR1cm5zIEluZm9ybWFjacOzbiBhbG1hY2VuYWRhIGVuIGVsIFRva2VuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZGVjb2RlVG9rZW4oKTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRUb2tlbigpO1xyXG4gICAgICBjb25zdCBkYXRhID0gdG9rZW4uc3BsaXQoJy4nKVsxXTtcclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWZyZXNjYXJUb2tlbihvYmpldG86IGFueSwgdG9rZW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHVybCA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpXHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgIC5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW59YCk7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3VybH0vYXV0aGVudGljYXRpb24vcmVmcmVzY2FyVG9rZW5gLCBvYmpldG8sIHsgaGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmFyVG9rZW5QdWJsaWNvKHVybG51Y2xlbz8pIHtcclxuICAgIGxldCB1cmwgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKVxyXG4gICAgaWYgKCF1cmwpe1xyXG4gICAgICB1cmwgPSB1cmxudWNsZW9cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dXJsfS9hdXRoZW50aWNhdGlvbi9nZW5lcmFyVG9rZW5QdWJsaWNvYCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWNjaW9uUm9sKF9yb2xTZWxlY2Npb25hZG86IFJvbE1vZGVsLCB1cmxudWNsZW8/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCB1cmwgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKVxyXG4gICAgaWYgKCF1cmwpe1xyXG4gICAgICB1cmwgPSB1cmxudWNsZW9cclxuICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt1cmx9L3JlcXVpZXJldG9rZW4vcm9sL3NlbGVjY2lvbmFkb2AsIF9yb2xTZWxlY2Npb25hZG8pO1xyXG4gICAgfVxyXG4gXHJcbn0iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBT3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBTXRDLE1BQU0sT0FBTyxXQUFXO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFKVixZQUNVLElBQWdCLEVBQ2hCLGNBQThCLEVBQzlCLG9CQUF1RCxFQUN2RCxhQUE0QjtRQUg1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW1DO1FBQ3ZELGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUUxQzs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFdBQWlDLEVBQUUsWUFBWSxFQUFFLFlBQVk7UUFDakUsTUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLHVCQUF1QixDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUs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Q0FBQztJQUMxRixDQUFDO3VHQXhLUSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlckxvZ2luQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9tb2RlbG9zL3VzZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkVycm9yIH0gZnJvbSAnLi4vZXJyb3Jlcy9hdXRoZW50aWNhdGlvbi5lcnJvcic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuL2Nhcmdhci1jb250cm9sLWZ1bmNpb25hbGlkYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXJlYXNNb2RlbCB9IGZyb20gJy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsJztcclxuaW1wb3J0IHsgTW9kdWxvc01vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvTW9kdWxvc01vZGVsJztcclxuaW1wb3J0IHsgUm9sTW9kZWwgfSBmcm9tICcuLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9Sb2xNb2RlbCc7IFxyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XHJcbmltcG9ydCAqIGFzIENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLCBcclxuICAgIHByaXZhdGUgY29udHJvbEZ1bmNpb25hbGlkYWQ6IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSxcclxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmVhbGl6YSBsYSBwZXRpY2nDs24gcGFyYSBhdXRlbnRpY2FyIGFsIHVzdWFyaW8uIERldnVlbHZlIGVsIHRva2VuIHF1ZSBnZW5lcsOzIGVsIHNlcnZpY2lvLlxyXG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyBPYmpldG8gY29uIGxvcyBkYXRvcyBkZSBhY2Nlc29cclxuICAgKiBAcmV0dXJucyBUb2tlbiB2w6FsaWRvXHJcbiAgICovXHJcbiAgbG9naW4oY3JlZGVudGlhbHM6IFVzZXJMb2dpbkNyZWRlbnRpYWxzLCB1cmxhcGludWNsZW8sIHRva2VuUHVibGljbyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt1cmxhcGludWNsZW99L2F1dGhlbnRpY2F0aW9uL2xvZ2luYDtcclxuICAgIGlmICghdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJykpe1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCd1cmxudWNsZW8nLCB1cmxhcGludWNsZW8pO1xyXG4gICAgfVxyXG4gICAgdmFyIGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW5QdWJsaWNvfWApXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8c3RyaW5nPih1cmwsIGNyZWRlbnRpYWxzLCB7aGVhZGVyc30pLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gKGRhdGEgYXMgYW55KT8udG9rZW4gYXMgc3RyaW5nO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XHJcblxyXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICogQ29udHJvbCBmdW5jaW9uYWxpZGFkZXNcclxuICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgICAgIC8qIGxldCByb2w6IGFueSA9IHt9XHJcbiAgICAgICAgcm9sLmNvZGlnb1JvbCA9IHRoaXMuZ2V0VG9rZW5LZXkoJ2xsYXZlUm9sJyk7XHJcbiAgICAgICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5jYXJnYXJGdW5jaW9uYWxpZGFkKHJvbCwgYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9mdW5jaW9uYWxpZGFkZXNgLCBoZWFkZXJzKS5zdWJzY3JpYmUoe30pO1xyXG4gICAgICAgKi9cclxuICAgICAgICB2YXIgbGlzdFJvbGVzID0gKGRhdGEgYXMgYW55KT8ubGlzdGFSb2xlcztcclxuICAgICAgICBjb25zb2xlLmxvZyhsaXN0Um9sZXMpXHJcbiAgICAgIGlmIChsaXN0Um9sZXMubGVuZ3RoID4gMSApe1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgncm9sZXMnLCBKU09OLnN0cmluZ2lmeShsaXN0Um9sZXMpKTtcclxuICAgICAgICAvL3RoaXMubW9zdHJhclJvbGVzID0gdHJ1ZTtcclxuICAgICAgfWlmIChsaXN0Um9sZXMubGVuZ3RoID09IDEgKXtcclxuICAgICAgICBsZXQgcm9sOiBhbnkgPSB7fVxyXG4gICAgICAgIHJvbC5jb2RpZ29Sb2wgPSB0aGlzLmdldFRva2VuS2V5KCdsbGF2ZVJvbCcpO1xyXG4gICAgICAgIHJvbC5hcGxpY2FjaW9uID0gdGhpcy5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEZ1bmNpb25hbGlkYWQuY2FyZ2FyRnVuY2lvbmFsaWRhZChyb2wsIGAke3VybGFwaW51Y2xlb30vYXV0aGVudGljYXRpb24vZnVuY2lvbmFsaWRhZGVzYCwgaGVhZGVycykuc3Vic2NyaWJlKHt9KTtcclxuICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gICAgICAgIC8qIENvZGlnbyB0ZW1wb3JhbCBwYXJhIG1hbnRlbmVyIGxhcyB0YXJlYXMsIHBlcm8gZXN0YXMgZGViZW4gc2VyIG9idGVuaWRhcyBwb3IgdW4gc2VydmljaW8gKi9cclxuICAgICAgICB2YXIgdGFyZWFzOiBUYXJlYXNNb2RlbFtdID0gKGRhdGEgYXMgYW55KS50YXJlYXNtb2R1bG87XHJcbiAgICAgICAgY29uc29sZS5sb2codGFyZWFzKVxyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnX190YXJlYXMnLCAgSlNPTi5zdHJpbmdpZnkodGFyZWFzKSk7XHJcbiAgICAgICAgdmFyIG1vZHVsb3NEZVRhcmVhcyA9IHRhcmVhcy5maWx0ZXIoKG9iaiwgaW5kZXgsIHNlbGYpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKG8pID0+IG8ubW9kdWxvID09PSBvYmoubW9kdWxvKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgbW9kdWxvczogTW9kdWxvc01vZGVsW10gPSBbXTtcclxuICAgICAgICBtb2R1bG9zRGVUYXJlYXMuZm9yRWFjaChkYXRhID0+IHtcclxuICAgICAgICAgIGxldCBtb2R1bG86IE1vZHVsb3NNb2RlbCA9IHtcclxuICAgICAgICAgICAgbGxhdmU6IGRhdGEubW9kdWxvLFxyXG4gICAgICAgICAgICBkZXNjcmlwY2lvbjogZGF0YS5ub21icmVNb2R1bG8sXHJcbiAgICAgICAgICAgIGljb25vOiBkYXRhLmljb25vTW9kdWxvXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBtb2R1bG9zLnB1c2gobW9kdWxvKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgY29uc29sZS5sb2coJ2VudHJhIGFjYSAgbG9naW4gZ2VuZXJhbCcpO1xyXG5cclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb3MnLCBKU09OLnN0cmluZ2lmeShtb2R1bG9zKSk7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSl7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSk7XHJcbiAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgbGV0IG1vZHVsb2RlZmVjdG8gPSAoZGF0YSBhcyBhbnkpPy5tb2R1bG9kZWZlY3RvO1xyXG4gICAgICAgICAgaWYgKCFtb2R1bG9kZWZlY3RvKSB7XHJcbiAgICAgICAgICAgIG1vZHVsb2RlZmVjdG8gPSBtb2R1bG9zWzBdLmxsYXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9TZWxlY2Npb25hZG8nLCBtb2R1bG9kZWZlY3RvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHRva2VuRGVjcnlwdCA9IENyeXB0b0pTLkFFUy5lbmNyeXB0KEpTT04uc3RyaW5naWZ5KChkYXRhIGFzIGFueSk/LmF1dGVudGljYWNpb25Vc3VhcmlvRFRPKSwgZW52aXJvbm1lbnQuY3J5cHRvX3NlY3JldF9rZXkpXHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnYXV0ZW50aWNhY2lvblVzdWFyaW9EVE8nLCB0b2tlbkRlY3J5cHQudG9TdHJpbmcoKSk7XHJcbiAgICAgICBcclxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAgICAgcmV0dXJuIHRva2VuO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID49IDQwMCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IoJ1VzdWFyaW8vY29udHJhc2XDsWEgaW52w6FsaWRvLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXZ1ZWx2ZSBlbCB0b2tlbiBhbG1hY2VuYWRvIGVuIGVsIHN0b3JhZ2UgbyB2YWNpbyBzaSBubyBsbyBlbmN1ZW50cmFcclxuICAgKiBAcmV0dXJucyBUb2tlblxyXG4gICAqL1xyXG4gIGdldFRva2VuKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCd0b2tlbicsICcnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldnVlbHZlIGVsIHZhbG9yIGFzb2NpYWRvIGEgbGEgbGxhdmUgcXVlIHNlIGVuY3VlbnRyYSBhbG1hY2VuYWRvIGVuIGVsIHRva2VuLlxyXG4gICAqIEBwYXJhbSBrZXkgTGxhdmUgcHJlc2VudGUgZW4gZWwgb2JqZXRvIGRlbCB0b2tlblxyXG4gICAqIEByZXR1cm5zIFZhbG9yIGFsbWFjZW5hZG9cclxuICAgKi9cclxuICBnZXRUb2tlbktleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGVjb2RlVG9rZW4oKTtcclxuICAgICAgcmV0dXJuIGRhdGFba2V5XS50b1N0cmluZygpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBzaSBlbCB0b2tlbiBhbG1hY2VuYWRvIGVuIGVsIHN0b3JhZ2UgZXMgdsOhbGlkbyB2ZXJpZmljYW5kbyBxdWUgc2VcclxuICAgKiBwdWVkYSBkZWNvZGlmaWNhciB5IHF1ZSBlbCB0aWVtcG8gYWN0dWFsIHNlYSBtZW5vciBhbCBkZSBleHBpcmFjacOzbi5cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGlzVG9rZW5WYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xyXG4gICAgICBjb25zdCBleHBpcnlUaW1lID0gZGF0YS5leHA7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApO1xyXG4gICAgICBpZigoY3VycmVudFRpbWUgPD0gZXhwaXJ5VGltZSkgJiYgdGhpcy5nZXRUb2tlbktleSgnbnVtZXJvRW1wcmVzYScpICYmIHRoaXMuZ2V0VG9rZW5LZXkoJ25vbWJyZUNvbmV4aW9uJykpe1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQm9ycmEgZWwgdG9rZW4gZGVsIHVzdWFyaW8gcGFyYSBpbnZhbGlkYXIgbGEgc2VzacOzblxyXG4gICAqL1xyXG4gIGRlbGV0ZVRva2VuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVjb2RpZmljYSBlbCB0b2tlbiBxdWUgZXN0YSBhbG1hY2VuYWRvIHkgZGV2dWVsdmUgZWwgb2JqZXRvIHF1ZSByZXByZXNlbnRhXHJcbiAgICogQHJldHVybnMgSW5mb3JtYWNpw7NuIGFsbWFjZW5hZGEgZW4gZWwgVG9rZW5cclxuICAgKi9cclxuICBwcml2YXRlIF9kZWNvZGVUb2tlbigpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRocm93IGVycm9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2NhclRva2VuKG9iamV0bzogYW55LCB0b2tlbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgdXJsID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJylcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlbn1gKTtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dXJsfS9hdXRoZW50aWNhdGlvbi9yZWZyZXNjYXJUb2tlbmAsIG9iamV0bywgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdlbmVyYXJUb2tlblB1YmxpY28odXJsbnVjbGVvPykge1xyXG4gICAgbGV0IHVybCA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpXHJcbiAgICBpZiAoIXVybCl7XHJcbiAgICAgIHVybCA9IHVybG51Y2xlb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt1cmx9L2F1dGhlbnRpY2F0aW9uL2dlbmVyYXJUb2tlblB1YmxpY29gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY2Npb25Sb2woX3JvbFNlbGVjY2lvbmFkbzogUm9sTW9kZWwsIHVybG51Y2xlbz8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHVybCA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpXHJcbiAgICBpZiAoIXVybCl7XHJcbiAgICAgIHVybCA9IHVybG51Y2xlb1xyXG4gICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3VybH0vcmVxdWllcmV0b2tlbi9yb2wvc2VsZWNjaW9uYWRvYCwgX3JvbFNlbGVjY2lvbmFkbyk7XHJcbiAgICB9XHJcbiBcclxufSJdfQ==
@@ -23,7 +23,8 @@ export class ErrorIntecertorService {
23
23
  showError(errorJson) {
24
24
  const error = JSON.parse(errorJson);
25
25
  if (error.codigo == 'UNI-DB-002' || error.codigo == 'UNI-DB-003'
26
- || error.mensaje.includes('Se produjo un error de red') || error.mensaje.includes('El servicio no está disponible')) {
26
+ || error.mensaje.includes('Se produjo un error de red') || error.mensaje.includes('El servicio no está disponible')
27
+ || error.mensaje.includes('Conexion no valida')) {
27
28
  this.storageService.setItem('mensaje_notfound', error.mensaje);
28
29
  this.storageService.setItem('url_regresar', window.location.href);
29
30
  window.location.href = window.location.origin + '/' + this.utilsService.obtenerBase() + '/not-found';
@@ -144,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
144
145
  providedIn: 'root'
145
146
  }]
146
147
  }], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.Router }, { type: i3.AuthService }, { type: i4.StorageService }] });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBVS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFFYjtJQUNBO0lBQ0E7SUFDQTtJQUhwQixZQUFvQixZQUEwQixFQUMxQixLQUFhLEVBQ2IsV0FBd0IsRUFDeEIsY0FBOEI7UUFIOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUM5QyxDQUFDO0lBRUo7OztNQUdFO0lBQ0gsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sS0FBSyxHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZO2VBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxDQUFDO1lBQ3RILElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRSxNQUFNLENBQUMsUUFBUSxD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bmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbmltcG9ydCB7IEVycm9yUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uL21vZGVsb3MvZXJyb3ItcmVzcG9uc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVjZXJ0b3JTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgIC8qKlxyXG4gICAqIE11ZXN0cmEgdW4gbWVuc2FqZSBkZSBlcnJvciBzZWfDum4gZWwgdGlwbyBkZSBlcnJvciBwcm9wb3JjaW9uYWRvLlxyXG4gICAqIEBwYXJhbSBlcnJvckpzb24gRWwgb2JqZXRvIEpTT04gcXVlIHJlcHJlc2VudGEgZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgc2hvd0Vycm9yKGVycm9ySnNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBlcnJvcjogRXJyb3JSZXNwb25zZU1vZGVsID0gSlNPTi5wYXJzZShlcnJvckpzb24pO1xyXG4gICAgaWYgKGVycm9yLmNvZGlnbyA9PSAnVU5JLURCLTAwMicgfHwgZXJyb3IuY29kaWdvID09ICdVTkktREItMDAzJyBcclxuICAgICAgfHwgZXJyb3IubWVuc2FqZS5pbmNsdWRlcygnU2UgcHJvZHVqbyB1biBlcnJvciBkZSByZWQnKSB8fCBlcnJvci5tZW5zYWplLmluY2x1ZGVzKCdFbCBzZXJ2aWNpbyBubyBlc3TDoSBkaXNwb25pYmxlJykpIHtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtZW5zYWplX25vdGZvdW5kJywgZXJyb3IubWVuc2FqZSk7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndXJsX3JlZ3Jlc2FyJywgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnLycgKyB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9ub3QtZm91bmQnXHJcbiAgICAgIC8vdGhpcy5yb3V0ZS5uYXZpZ2F0ZShbdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSsnL25vdC1mb3VuZCddKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGVycm9yLnRpcG8gPT09ICdJTkYnKSB7XHJcbiAgICAgIHRoaXMuc2hvd0luZm8oZXJyb3IubWVuc2FqZSwgZXJyb3IuY29kaWdvKTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3IudGlwbyA9PT0gJ1dBUicpIHtcclxuICAgICAgdGhpcy5zaG93V2FybmluZyhlcnJvci5tZW5zYWplLCBlcnJvci5jb2RpZ28sIGVycm9yLmNhdXNhLCBlcnJvci5hY2Npb24sIGVycm9yLnRyYXphKTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3IudGlwbyA9PT0gJ0VSUicpIHtcclxuICAgICAgdGhpcy5zaG93RXJyb3JEZXRhaWxzKGVycm9yLm1lbnNhamUsIGVycm9yLmNvZGlnbywgZXJyb3IudHJhemEsIGVycm9yLmNhdXNhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE11ZXN0cmEgdW4gbWVuc2FqZSBkZSBpbmZvcm1hY2nDs24gY29uIGVsIGPDs2RpZ28uXHJcbiAgICogQHBhcmFtIG1lbnNhamUgRWwgbWVuc2FqZSBhIG1vc3RyYXIuXHJcbiAgICogQHBhcmFtIGNvZGlnbyBFbCBjw7NkaWdvIGFzb2NpYWRvIGFsIG1lbnNhamUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaG93SW5mbyhtZW5zYWplOiBzdHJpbmcsIGNvZGlnbzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICBiYWNrZ3JvdW5kOiAnI2Y3YmZiZicsXHJcbiAgICAgIHBvc2l0aW9uOiAndG9wLWVuZCcsXHJcbiAgICAgIGh0bWw6ICc8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIj4nICtcclxuICAgICAgICAgICAgICAnPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPjxiPkPDs2RpZ286PC9iPiAnICsgY29kaWdvICsgJzwvcD4nICtcclxuICAgICAgICAgICAgICAnPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6MTJweFwiPicgKyBtZW5zYWplICsgJzwvcD4nICtcclxuICAgICAgICAgICAgJzwvZGl2PicsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgICAgdGltZXI6IDU1MDAsXHJcbiAgICAgIGNvbG9yOiAnI2ZmMDAwMCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTXVlc3RyYSB1bmEgYWR2ZXJ0ZW5jaWEgY29uIGRldGFsbGVzIGFkaWNpb25hbGVzIGNvbW8gY2F1c2EsIGFjY2nDs24geSB0cmF6YS5cclxuICAgKiBAcGFyYW0gbWVuc2FqZSBFbCBtZW5zYWplIGEgbW9zdHJhci5cclxuICAgKiBAcGFyYW0gY29kaWdvIEVsIGPDs2RpZ28gYXNvY2lhZG8gYWwgbWVuc2FqZS5cclxuICAgKiBAcGFyYW0gY2F1c2EgTGEgY2F1c2EgZGVsIGVycm9yLlxyXG4gICAqIEBwYXJhbSBhY2Npb24gTGEgYWNjacOzbiByZWNvbWVuZGFkYS5cclxuICAgKiBAcGFyYW0gdHJhemEgTGEgdHJhemEgZGVsIGVycm9yLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2hvd1dhcm5pbmcobWVuc2FqZTogc3RyaW5nLCBjb2RpZ286IHN0cmluZywgY2F1c2E6IHN0cmluZywgYWNjaW9uOiBzdHJpbmcsIHRyYXphOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBjb250ZW5pZG9IdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamV9PC9wPmBcclxuICAgIGNvbnRlbmlkb0h0bWwgPSBjb250ZW5pZG9IdG1sICsgKHRoaXMudXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNvZGlnbykgPyBgPHAgY2xhc3M9XCJjYXVFcnJvclwiPjxiPkPDs2RpZ286PC9iPiAke2NvZGlnb308L3A+YCA6ICcgJyk7XHJcbiAgICBjb250ZW5pZG9IdG1sID0gY29udGVuaWRvSHRtbCArICh0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYXVzYSkgPyBgPHAgY2xhc3M9XCJjYXVFcnJvclwiPjxiPkNhdXNhOjwvYj4gJHtjYXVzYX08L3A+YCA6ICcgJyk7XHJcbiAgICBjb250ZW5pZG9IdG1sID0gY29udGVuaWRvSHRtbCArICh0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhhY2Npb24pID8gYDxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5BY2Npw7NuIFJlY29tZW5kYWRhOjwvYj4gJHthY2Npb259PC9wPmAgOiAnICcpO1xyXG4gICAgbGV0IGNvbnRlbmlkb1BsdXNIdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamUuc2xpY2UoMCwgMTAwKX08L3A+PGJ1dHRvbiBpZD1cInZlck1hc0J1dHRvblwiPlZlciBtw6FzPC9idXR0b24+IDxidXR0b24gaWQ9XCJPa1wiPk9LPC9idXR0b24+YDtcclxuXHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICB0aXRsZTogJzxzcGFuIHN0eWxlPVwiY29sb3I6IHZhcigtLWNvbG9yLTcwMCk7XCI+JyArICdBZHZlcnRlbmNpYScgKyAnPC9zcGFuPicsXHJcbiAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgIGljb246ICd3YXJuaW5nJyxcclxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IE9rQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ09rJyk7XHJcbiAgICAgICAgICBPa0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJywgJ2J0bi1vaycpO1xyXG4gICAgICAgICAgT2tCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIFN3YWwuY2xvc2UoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhIHVuIG1lbnNhamUgZGUgZXJyb3IgY29uIGRldGFsbGVzIGFkaWNpb25hbGVzIGNvbW8gZWwgY8OzZGlnbyBkZSBlcnJvciB5IGxhIHRyYXphLlxyXG4gICAqIEBwYXJhbSBtZW5zYWplIEVsIG1lbnNhamUgYSBtb3N0cmFyLlxyXG4gICAqIEBwYXJhbSBlcnJvckNvZGUgRWwgY8OzZGlnbyBkZSBlcnJvciBhc29jaWFkbyBhbCBtZW5zYWplLlxyXG4gICAqIEBwYXJhbSB0cmF6YSBMYSB0cmF6YSBkZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaG93RXJyb3JEZXRhaWxzKG1lbnNhamU6IHN0cmluZywgY29kaWdvOiBzdHJpbmcsIHRyYXphOiBzdHJpbmcsIGNhdXNhPyA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICBsZXQgY29udGVuaWRvSHRtbCA9IGA8cCBjbGFzcz1cIm1zakVycm9yXCI+JHttZW5zYWplfTwvcD48cCBjbGFzcz1cImNvZEVycm9yXCI+PGI+Q8OzZGlnbzo8L2I+ICR7Y29kaWdvfTwvcD48cCBjbGFzcz1cInRyYUVycm9yXCI+PGI+VHJhemE6PC9iPiAke3RyYXphfTwvcD48cCBjbGFzcz1cImNhdUVycm9yXCI+YDtcclxuICAgICAgaWYgKGNhdXNhIT0gbnVsbCAmJiBjYXVzYSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb250ZW5pZG9IdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamV9PC9wPjxwIGNsYXNzPVwiY29kRXJyb3JcIj48Yj5Dw7NkaWdvOjwvYj4gJHtjb2RpZ299PC9wPjxwIGNsYXNzPVwidHJhRXJyb3JcIj48Yj5UcmF6YTo8L2I+ICR7dHJhemF9PC9wPjxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5DYXVzYTo8L2I+ICR7Y2F1c2F9PC9wPmA7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGNvbnRlbmlkb1BsdXNIdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamUuc2xpY2UoMCwgMTAwKX08L3A+PGJ1dHRvbiBpZD1cInZlck1hc0J1dHRvblwiPlZlciBtw6FzPC9idXR0b24+IDxidXR0b24gY2xhc3M9XCJidG4tb2tcIiBpZD1cIk9rXCI+T0s8L2J1dHRvbj5gO1xyXG5cclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogJzxzcGFuIHN0eWxlPVwiY29sb3I6IHZhcigtLWNvbG9yLTcwMCk7XCI+JyArICdFcnJvcicgKyAnPC9zcGFuPicsXHJcbiAgICAgICAgaHRtbDogKG1lbnNhamUubGVuZ3RoICsgdHJhemEubGVuZ3RoKSA+IDEwMCA/IGNvbnRlbmlkb1BsdXNIdG1sIDogY29udGVuaWRvSHRtbCxcclxuICAgICAgICBpY29uOiAnZXJyb3InLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxyXG4gICAgICAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6ICdteS1zd2FsJyxcclxuICAgICAgICBkaWRPcGVuOiAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoKG1lbnNhamUubGVuZ3RoICsgdHJhemEubGVuZ3RoKSA+IDEwMCkge1xyXG4gICAgICAgICAgICAvLyBBZ3JlZ2FyIGVzdGlsb3MgYWwgYm90w7NuIFwiVmVyIG3DoXNcIlxyXG4gICAgICAgICAgICBjb25zdCB2ZXJNYXNCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmVyTWFzQnV0dG9uJyk7XHJcbiAgICAgICAgICAgIHZlck1hc0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJywgJ2J0bi12ZXJtYXMnICk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBPa0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdPaycpO1xyXG4gICAgICAgICAgICBPa0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJyAsICdidG4tb2snKTtcclxuXHJcbiAgICAgICAgICAgIC8vIEFncmVnYXIgdW4gZXZlbnRvIGFsIGJvdMOzbiBcIlZlciBtw6FzXCIgcGFyYSBtb3N0cmFyIHRvZG8gZWwgY29udGVuaWRvIGN1YW5kbyBzZSBoYWNlIGNsaWNcclxuICAgICAgICAgICAgdmVyTWFzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIFN3YWwudXBkYXRlKHtcclxuICAgICAgICAgICAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBPa0J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgICAgICAgICBTd2FsLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgU3dhbC51cGRhdGUoe1xyXG4gICAgICAgICAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBVS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFFYjtJQUNBO0lBQ0E7SUFDQTtJQUhwQixZQUFvQixZQUEwQixFQUMxQixLQUFhLEVBQ2IsV0FBd0IsRUFDeEIsY0FBOEI7UUFIOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUM5QyxDQUFDO0lBRUo7OztNQUdFO0lBQ0gsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sS0FBSyxHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZO2VBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQUM7ZUFDaEgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRyxDQUFDO1lBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFD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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbmltcG9ydCB7IEVycm9yUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uL21vZGVsb3MvZXJyb3ItcmVzcG9uc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVjZXJ0b3JTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgIC8qKlxyXG4gICAqIE11ZXN0cmEgdW4gbWVuc2FqZSBkZSBlcnJvciBzZWfDum4gZWwgdGlwbyBkZSBlcnJvciBwcm9wb3JjaW9uYWRvLlxyXG4gICAqIEBwYXJhbSBlcnJvckpzb24gRWwgb2JqZXRvIEpTT04gcXVlIHJlcHJlc2VudGEgZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgc2hvd0Vycm9yKGVycm9ySnNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBlcnJvcjogRXJyb3JSZXNwb25zZU1vZGVsID0gSlNPTi5wYXJzZShlcnJvckpzb24pO1xyXG4gICAgaWYgKGVycm9yLmNvZGlnbyA9PSAnVU5JLURCLTAwMicgfHwgZXJyb3IuY29kaWdvID09ICdVTkktREItMDAzJyBcclxuICAgICAgfHwgZXJyb3IubWVuc2FqZS5pbmNsdWRlcygnU2UgcHJvZHVqbyB1biBlcnJvciBkZSByZWQnKSB8fCBlcnJvci5tZW5zYWplLmluY2x1ZGVzKCdFbCBzZXJ2aWNpbyBubyBlc3TDoSBkaXNwb25pYmxlJykgXHJcbiAgICAgIHx8IGVycm9yLm1lbnNhamUuaW5jbHVkZXMoJ0NvbmV4aW9uIG5vIHZhbGlkYScpKSAge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21lbnNhamVfbm90Zm91bmQnLCBlcnJvci5tZW5zYWplKTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCd1cmxfcmVncmVzYXInLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvJyArIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL25vdC1mb3VuZCdcclxuICAgICAgLy90aGlzLnJvdXRlLm5hdmlnYXRlKFt0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpKycvbm90LWZvdW5kJ10pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZXJyb3IudGlwbyA9PT0gJ0lORicpIHtcclxuICAgICAgdGhpcy5zaG93SW5mbyhlcnJvci5tZW5zYWplLCBlcnJvci5jb2RpZ28pO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvci50aXBvID09PSAnV0FSJykge1xyXG4gICAgICB0aGlzLnNob3dXYXJuaW5nKGVycm9yLm1lbnNhamUsIGVycm9yLmNvZGlnbywgZXJyb3IuY2F1c2EsIGVycm9yLmFjY2lvbiwgZXJyb3IudHJhemEpO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvci50aXBvID09PSAnRVJSJykge1xyXG4gICAgICB0aGlzLnNob3dFcnJvckRldGFpbHMoZXJyb3IubWVuc2FqZSwgZXJyb3IuY29kaWdvLCBlcnJvci50cmF6YSwgZXJyb3IuY2F1c2EpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTXVlc3RyYSB1biBtZW5zYWplIGRlIGluZm9ybWFjacOzbiBjb24gZWwgY8OzZGlnby5cclxuICAgKiBAcGFyYW0gbWVuc2FqZSBFbCBtZW5zYWplIGEgbW9zdHJhci5cclxuICAgKiBAcGFyYW0gY29kaWdvIEVsIGPDs2RpZ28gYXNvY2lhZG8gYWwgbWVuc2FqZS5cclxuICAgKi9cclxuICBwcml2YXRlIHNob3dJbmZvKG1lbnNhamU6IHN0cmluZywgY29kaWdvOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIGJhY2tncm91bmQ6ICcjZjdiZmJmJyxcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaHRtbDogJzxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPicgK1xyXG4gICAgICAgICAgICAgICc8cCBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7XCI+PGI+Q8OzZGlnbzo8L2I+ICcgKyBjb2RpZ28gKyAnPC9wPicgK1xyXG4gICAgICAgICAgICAgICc8cCBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZToxMnB4XCI+JyArIG1lbnNhamUgKyAnPC9wPicgK1xyXG4gICAgICAgICAgICAnPC9kaXY+JyxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICB0aW1lcjogNTUwMCxcclxuICAgICAgY29sb3I6ICcjZmYwMDAwJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhIHVuYSBhZHZlcnRlbmNpYSBjb24gZGV0YWxsZXMgYWRpY2lvbmFsZXMgY29tbyBjYXVzYSwgYWNjacOzbiB5IHRyYXphLlxyXG4gICAqIEBwYXJhbSBtZW5zYWplIEVsIG1lbnNhamUgYSBtb3N0cmFyLlxyXG4gICAqIEBwYXJhbSBjb2RpZ28gRWwgY8OzZGlnbyBhc29jaWFkbyBhbCBtZW5zYWplLlxyXG4gICAqIEBwYXJhbSBjYXVzYSBMYSBjYXVzYSBkZWwgZXJyb3IuXHJcbiAgICogQHBhcmFtIGFjY2lvbiBMYSBhY2Npw7NuIHJlY29tZW5kYWRhLlxyXG4gICAqIEBwYXJhbSB0cmF6YSBMYSB0cmF6YSBkZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaG93V2FybmluZyhtZW5zYWplOiBzdHJpbmcsIGNvZGlnbzogc3RyaW5nLCBjYXVzYTogc3RyaW5nLCBhY2Npb246IHN0cmluZywgdHJhemE6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbGV0IGNvbnRlbmlkb0h0bWwgPSBgPHAgY2xhc3M9XCJtc2pFcnJvclwiPiR7bWVuc2FqZX08L3A+YFxyXG4gICAgY29udGVuaWRvSHRtbCA9IGNvbnRlbmlkb0h0bWwgKyAodGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY29kaWdvKSA/IGA8cCBjbGFzcz1cImNhdUVycm9yXCI+PGI+Q8OzZGlnbzo8L2I+ICR7Y29kaWdvfTwvcD5gIDogJyAnKTtcclxuICAgIGNvbnRlbmlkb0h0bWwgPSBjb250ZW5pZG9IdG1sICsgKHRoaXMudXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhdXNhKSA/IGA8cCBjbGFzcz1cImNhdUVycm9yXCI+PGI+Q2F1c2E6PC9iPiAke2NhdXNhfTwvcD5gIDogJyAnKTtcclxuICAgIGNvbnRlbmlkb0h0bWwgPSBjb250ZW5pZG9IdG1sICsgKHRoaXMudXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGFjY2lvbikgPyBgPHAgY2xhc3M9XCJjYXVFcnJvclwiPjxiPkFjY2nDs24gUmVjb21lbmRhZGE6PC9iPiAke2FjY2lvbn08L3A+YCA6ICcgJyk7XHJcbiAgICBsZXQgY29udGVuaWRvUGx1c0h0bWwgPSBgPHAgY2xhc3M9XCJtc2pFcnJvclwiPiR7bWVuc2FqZS5zbGljZSgwLCAxMDApfTwvcD48YnV0dG9uIGlkPVwidmVyTWFzQnV0dG9uXCI+VmVyIG3DoXM8L2J1dHRvbj4gPGJ1dHRvbiBpZD1cIk9rXCI+T0s8L2J1dHRvbj5gO1xyXG5cclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHRpdGxlOiAnPHNwYW4gc3R5bGU9XCJjb2xvcjogdmFyKC0tY29sb3ItNzAwKTtcIj4nICsgJ0FkdmVydGVuY2lhJyArICc8L3NwYW4+JyxcclxuICAgICAgaHRtbDogY29udGVuaWRvSHRtbCxcclxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxyXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcclxuICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgZGlkT3BlbjogKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgT2tCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnT2snKTtcclxuICAgICAgICAgIE9rQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ3N3YWwyLXN0eWxlZCcsICdzd2FsMi1jYW5jZWwnLCAnYnRuLW9rJyk7XHJcbiAgICAgICAgICBPa0J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgICAgICAgU3dhbC5jbG9zZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE11ZXN0cmEgdW4gbWVuc2FqZSBkZSBlcnJvciBjb24gZGV0YWxsZXMgYWRpY2lvbmFsZXMgY29tbyBlbCBjw7NkaWdvIGRlIGVycm9yIHkgbGEgdHJhemEuXHJcbiAgICogQHBhcmFtIG1lbnNhamUgRWwgbWVuc2FqZSBhIG1vc3RyYXIuXHJcbiAgICogQHBhcmFtIGVycm9yQ29kZSBFbCBjw7NkaWdvIGRlIGVycm9yIGFzb2NpYWRvIGFsIG1lbnNhamUuXHJcbiAgICogQHBhcmFtIHRyYXphIExhIHRyYXphIGRlbCBlcnJvci5cclxuICAgKi9cclxuICBwcml2YXRlIHNob3dFcnJvckRldGFpbHMobWVuc2FqZTogc3RyaW5nLCBjb2RpZ286IHN0cmluZywgdHJhemE6IHN0cmluZywgY2F1c2E/IDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgIGxldCBjb250ZW5pZG9IdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamV9PC9wPjxwIGNsYXNzPVwiY29kRXJyb3JcIj48Yj5Dw7NkaWdvOjwvYj4gJHtjb2RpZ299PC9wPjxwIGNsYXNzPVwidHJhRXJyb3JcIj48Yj5UcmF6YTo8L2I+ICR7dHJhemF9PC9wPjxwIGNsYXNzPVwiY2F1RXJyb3JcIj5gO1xyXG4gICAgICBpZiAoY2F1c2EhPSBudWxsICYmIGNhdXNhICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnRlbmlkb0h0bWwgPSBgPHAgY2xhc3M9XCJtc2pFcnJvclwiPiR7bWVuc2FqZX08L3A+PHAgY2xhc3M9XCJjb2RFcnJvclwiPjxiPkPDs2RpZ286PC9iPiAke2NvZGlnb308L3A+PHAgY2xhc3M9XCJ0cmFFcnJvclwiPjxiPlRyYXphOjwvYj4gJHt0cmF6YX08L3A+PHAgY2xhc3M9XCJjYXVFcnJvclwiPjxiPkNhdXNhOjwvYj4gJHtjYXVzYX08L3A+YDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgY29udGVuaWRvUGx1c0h0bWwgPSBgPHAgY2xhc3M9XCJtc2pFcnJvclwiPiR7bWVuc2FqZS5zbGljZSgwLCAxMDApfTwvcD48YnV0dG9uIGlkPVwidmVyTWFzQnV0dG9uXCI+VmVyIG3DoXM8L2J1dHRvbj4gPGJ1dHRvbiBjbGFzcz1cImJ0bi1va1wiIGlkPVwiT2tcIj5PSzwvYnV0dG9uPmA7XHJcblxyXG4gICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgIHRpdGxlOiAnPHNwYW4gc3R5bGU9XCJjb2xvcjogdmFyKC0tY29sb3ItNzAwKTtcIj4nICsgJ0Vycm9yJyArICc8L3NwYW4+JyxcclxuICAgICAgICBodG1sOiAobWVuc2FqZS5sZW5ndGggKyB0cmF6YS5sZW5ndGgpID4gMTAwID8gY29udGVuaWRvUGx1c0h0bWwgOiBjb250ZW5pZG9IdG1sLFxyXG4gICAgICAgIGljb246ICdlcnJvcicsXHJcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgICAgICBjdXN0b21DbGFzczogJ215LXN3YWwnLFxyXG4gICAgICAgIGRpZE9wZW46ICgpID0+IHtcclxuICAgICAgICAgIGlmICgobWVuc2FqZS5sZW5ndGggKyB0cmF6YS5sZW5ndGgpID4gMTAwKSB7XHJcbiAgICAgICAgICAgIC8vIEFncmVnYXIgZXN0aWxvcyBhbCBib3TDs24gXCJWZXIgbcOhc1wiXHJcbiAgICAgICAgICAgIGNvbnN0IHZlck1hc0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2ZXJNYXNCdXR0b24nKTtcclxuICAgICAgICAgICAgdmVyTWFzQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ3N3YWwyLXN0eWxlZCcsICdzd2FsMi1jYW5jZWwnLCAnYnRuLXZlcm1hcycgKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IE9rQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ09rJyk7XHJcbiAgICAgICAgICAgIE9rQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ3N3YWwyLXN0eWxlZCcsICdzd2FsMi1jYW5jZWwnICwgJ2J0bi1vaycpO1xyXG5cclxuICAgICAgICAgICAgLy8gQWdyZWdhciB1biBldmVudG8gYWwgYm90w7NuIFwiVmVyIG3DoXNcIiBwYXJhIG1vc3RyYXIgdG9kbyBlbCBjb250ZW5pZG8gY3VhbmRvIHNlIGhhY2UgY2xpY1xyXG4gICAgICAgICAgICB2ZXJNYXNCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgU3dhbC51cGRhdGUoe1xyXG4gICAgICAgICAgICAgICAgaHRtbDogY29udGVuaWRvSHRtbCxcclxuICAgICAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIE9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIFN3YWwuY2xvc2UoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBTd2FsLnVwZGF0ZSh7XHJcbiAgICAgICAgICAgICAgaHRtbDogY29udGVuaWRvSHRtbCxcclxuICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -14,7 +14,12 @@ export class PublicoGuard {
14
14
  }
15
15
  canActivate(route, state) {
16
16
  if (this.authService.isTokenValid()) {
17
- return this.route.createUrlTree(['/' + this.utilsService.obtenerBase() + '/inicio']);
17
+ if (window.location.href.toString().includes('admonPortal')) {
18
+ return this.route.createUrlTree(['/' + this.utilsService.obtenerBase() + '/admonPortal/inicio']);
19
+ }
20
+ else {
21
+ return this.route.createUrlTree(['/' + this.utilsService.obtenerBase() + '/inicio']);
22
+ }
18
23
  }
19
24
  return true;
20
25
  }
@@ -27,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
27
32
  providedIn: 'root',
28
33
  }]
29
34
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.Router }, { type: i3.UtilsService }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljby5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZ3VhcmRpYXMvcHVibGljby5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMzQyxNQUFNLE9BQU8sWUFBWTtJQUNIO0lBQWtDO0lBQXVCO0lBQTdFLFlBQW9CLFdBQXdCLEVBQVUsS0FBYSxFQUFVLFlBQTBCO1FBQW5GLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUUzRyxXQUFXLENBQ1QsS0FBNkIsRUFDN0IsS0FBMEI7UUFFMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0FYVSxZQUFZOzJHQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi91dGlscy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQdWJsaWNvR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgcm91dGU6IFJvdXRlciwgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSkge31cclxuXHJcbiAgY2FuQWN0aXZhdGUoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbiAgKTogYW55ey8vT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcclxuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzVG9rZW5WYWxpZCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlLmNyZWF0ZVVybFRyZWUoWycvJyArIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkrICcvaW5pY2lvJ10pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljby5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZ3VhcmRpYXMvcHVibGljby5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMzQyxNQUFNLE9BQU8sWUFBWTtJQUNIO0lBQWtDO0lBQXVCO0lBQTdFLFlBQW9CLFdBQXdCLEVBQVUsS0FBYSxFQUFVLFlBQTBCO1FBQW5GLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUUzRyxXQUFXLENBQ1QsS0FBNkIsRUFDN0IsS0FBMEI7UUFFMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDcEMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQztZQUNsRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEYsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7dUdBZlUsWUFBWTsyR0FBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHVibGljb0d1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIHJvdXRlOiBSb3V0ZXIsIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHt9XHJcblxyXG4gIGNhbkFjdGl2YXRlKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4gICk6IGFueXsvL09ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XHJcbiAgICBpZiAodGhpcy5hdXRoU2VydmljZS5pc1Rva2VuVmFsaWQoKSkge1xyXG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLmNyZWF0ZVVybFRyZWUoWycvJyArIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkrICcvYWRtb25Qb3J0YWwvaW5pY2lvJ10pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLmNyZWF0ZVVybFRyZWUoWycvJyArIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkrICcvaW5pY2lvJ10pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -40,39 +40,97 @@ export class MenuService {
40
40
  /* Se debe cambiar con el request al servicio de tareas */
41
41
  this._menu = {};
42
42
  return of(JSON.parse(this.storageService.getItem('__tareas'))).pipe(map((tareas) => {
43
- tareas.forEach((tarea) => {
44
- //const modulo = tarea.nombreModulo.trim();
45
- const modulo = tarea.modulo + '';
43
+ const arbolTareas = [];
44
+ let nodoBase = null;
45
+ let nodoHijo = null;
46
+ for (const unaTarea of tareas) {
47
+ const modulo = unaTarea.modulo + '';
46
48
  if (!(modulo in this._menu)) {
47
- this._menu[modulo] = { label: tarea.nombreModulo, items: [] };
49
+ this._menu[modulo] = { label: unaTarea.nombreModulo, items: [] };
48
50
  }
49
- let item;
50
- const nombreMenu = tarea.nombreAbuelo ?? tarea.nombrePadre;
51
- item = this._menu[modulo].items.find((item) => item.label == nombreMenu);
52
- if (!item) {
53
- item = { label: tarea.nombrePadre, icon: 'glyphicons ' + tarea.gifPadre, items: [] };
54
- if (nombreMenu === tarea.nombreAbuelo) {
55
- this._menu[modulo].items.push({ label: nombreMenu, icon: 'glyphicons ' + tarea.gifPadre, items: [item] });
51
+ if (!unaTarea.nombrePadre) {
52
+ arbolTareas.push(unaTarea);
53
+ continue;
54
+ }
55
+ nodoBase = null;
56
+ // Buscar en el primer nivel
57
+ for (const unNodo of arbolTareas) {
58
+ if (unNodo.tipo !== "M") {
59
+ continue;
56
60
  }
57
- else {
58
- this._menu[modulo].items.push(item);
61
+ if (unaTarea.nombreAbuelo && unNodo.descripcion === unaTarea.nombreAbuelo && unNodo.modulo === unaTarea.modulo) {
62
+ // Buscar en el segundo nivel
63
+ for (const unNodo2 of unNodo.listaTareas || []) {
64
+ if (unNodo2.tipo !== "M") {
65
+ continue;
66
+ }
67
+ if (unNodo2.descripcion === unaTarea.nombrePadre && unNodo2.modulo === unaTarea.modulo) {
68
+ nodoBase = unNodo2;
69
+ break;
70
+ }
71
+ }
72
+ if (!nodoBase) {
73
+ nodoHijo = {
74
+ descripcion: unaTarea.nombrePadre,
75
+ gif: unaTarea.gifPadre,
76
+ tipo: "M",
77
+ listaTareas: [],
78
+ modulo: unaTarea.modulo,
79
+ };
80
+ unNodo.listaTareas.push(nodoHijo);
81
+ nodoBase = nodoHijo;
82
+ }
83
+ break;
59
84
  }
60
- }
61
- else {
62
- if (nombreMenu === tarea.nombreAbuelo) {
63
- item = item.items.find((item) => item.label == tarea.nombrePadre);
85
+ if (unNodo.descripcion === unaTarea.nombrePadre && unNodo.modulo === unaTarea.modulo) {
86
+ nodoBase = unNodo;
87
+ break;
64
88
  }
65
89
  }
66
- if (item) {
67
- if (item.items) {
68
- const link = tarea.urlprincipal.replace(/.jsf/, '');
69
- item.items.push({ label: tarea.descripcion, routerLink: link });
90
+ if (!nodoBase) {
91
+ nodoBase = {
92
+ descripcion: unaTarea.nombreAbuelo || unaTarea.nombrePadre,
93
+ gif: unaTarea.nombreAbuelo ? unaTarea.gifAbuelo : unaTarea.gifPadre,
94
+ orden: unaTarea.nombreAbuelo ? unaTarea.ordenAbuelo : unaTarea.ordenPadre,
95
+ tipo: "M",
96
+ listaTareas: [],
97
+ modulo: unaTarea.modulo,
98
+ };
99
+ arbolTareas.push(nodoBase);
100
+ if (unaTarea.nombreAbuelo) {
101
+ nodoHijo = {
102
+ descripcion: unaTarea.nombrePadre,
103
+ gif: unaTarea.gifPadre,
104
+ tipo: "M",
105
+ listaTareas: [],
106
+ modulo: unaTarea.modulo,
107
+ };
108
+ nodoBase.listaTareas.push(nodoHijo);
109
+ nodoBase = nodoHijo;
70
110
  }
71
111
  }
112
+ nodoBase.listaTareas.push(unaTarea);
113
+ }
114
+ let respuesta = this.convertToMenuItems(arbolTareas);
115
+ respuesta.forEach(dato => {
116
+ const modulo = dato.tabindex;
117
+ this._menu[modulo].items.push(dato);
72
118
  });
73
119
  }));
74
120
  /********************************************************/
75
121
  }
122
+ convertToMenuItems(tareas) {
123
+ return tareas.map(tarea => {
124
+ const menuItem = {
125
+ label: tarea.descripcion,
126
+ icon: tarea.gif ? 'glyphicons ' + tarea.gif : undefined,
127
+ routerLink: tarea.urlprincipal ? tarea.urlprincipal.replace(/.jsf/, '') : undefined,
128
+ tabindex: tarea.modulo,
129
+ items: tarea.listaTareas ? this.convertToMenuItems(tarea.listaTareas) : undefined
130
+ };
131
+ return menuItem;
132
+ });
133
+ }
76
134
  setTareasDelModulo(modulo) {
77
135
  this._menuSource.next(this._menu[modulo]);
78
136
  }
@@ -85,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
85
143
  providedIn: 'root',
86
144
  }]
87
145
  }], ctorParameters: () => [{ type: i1.StorageService }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBaUIsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLFdBQVc7SUFPRjtJQU5aLEtBQUssR0FBZ0MsRUFBRSxDQUFDO0lBQ3hDLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO0lBQ3RDLGlCQUFpQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFDOUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFdkUsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUV0RDs7T0FFRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLDBEQUEwRDtRQUMxRCwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFD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TUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGkvbWVudWl0ZW0nO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9tZW51OiB7IFtrZXk6IHN0cmluZ106IE1lbnVJdGVtIH0gPSB7fTtcclxuICBwcml2YXRlIF9tZW51U291cmNlID0gbmV3IFN1YmplY3Q8TWVudUl0ZW0+KCk7XHJcbiAgcHJpdmF0ZSBfYnJlYWRjcnVtYlNvdXJjZSA9IG5ldyBTdWJqZWN0PE1lbnVJdGVtW10+KCk7XHJcbiAgcHJpdmF0ZSBfbWVudU9ic2VydmFibGUkID0gdGhpcy5fbWVudVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBwcml2YXRlIF9icmVhZGNydW1iT2JzZXJ2YWJsZSQgPSB0aGlzLl9icmVhZGNydW1iU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBwYXJhIGxvcyBldmVudG9zIGRlbCBicmVhZGNydW1iXHJcbiAgICovXHJcbiAgZ2V0IGJyZWFkY3J1bWIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYnJlYWRjcnVtYk9ic2VydmFibGUkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBwYXJhIGVsIG1lbnUgcHJpbmNpcGFsXHJcbiAgICovXHJcbiAgZ2V0IG1lbnUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWVudU9ic2VydmFibGUkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWdyZWdhIGl0ZW1zIGFsIGJyZWFkY3J1bWJcclxuICAgKiBAcGFyYW0gaXRlbXNcclxuICAgKi9cclxuICBzZXRCcmVhZGNydW1iKGl0ZW1zOiBNZW51SXRlbVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLl9icmVhZGNydW1iU291cmNlLm5leHQoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3VsdGEgbGEgbGlzdGEgZGUgdGFyZWFzIGRlbCB1c3VhcmlvIHBhcmEgY2FyZ2FyIGVsIG1lbsO6XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBsb2FkVGFyZWFzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gICAgLyogU2UgZGViZSBjYW1iaWFyIGNvbiBlbCByZXF1ZXN0IGFsIHNlcnZpY2lvIGRlIHRhcmVhcyAqL1xyXG4gICAgdGhpcy5fbWVudSA9IHt9XHJcbiAgICByZXR1cm4gb2YoSlNPTi5wYXJzZSh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ19fdGFyZWFzJykpKS5waXBlKFxyXG4gICAgICBtYXAoKHRhcmVhczogYW55W10pID0+IHtcclxuICAgICAgICB0YXJlYXMuZm9yRWFjaCgodGFyZWEpID0+IHtcclxuICAgICAgICAgIC8vY29uc3QgbW9kdWxvID0gdGFyZWEubm9tYnJlTW9kdWxvLnRyaW0oKTtcclxuICAgICAgICAgIGNvbnN0IG1vZHVsbyA9IHRhcmVhLm1vZHVsbysnJztcclxuXHJcbiAgICAgICAgICBpZiAoIShtb2R1bG8gaW4gdGhpcy5fbWVudSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fbWVudVttb2R1bG9dID0geyBsYWJlbDogdGFyZWEubm9tYnJlTW9kdWxvLCBpdGVtczogW10gfTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBsZXQgaXRlbTogTWVudUl0ZW07XHJcbiAgICAgICAgICBjb25zdCBub21icmVNZW51ID0gdGFyZWEubm9tYnJlQWJ1ZWxvID8/IHRhcmVhLm5vbWJyZVBhZHJlO1xyXG4gICAgICAgICAgaXRlbSA9IHRoaXMuX21lbnVbbW9kdWxvXS5pdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmxhYmVsID09IG5vbWJyZU1lbnUpO1xyXG4gICAgICAgICAgaWYgKCFpdGVtKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSB7IGxhYmVsOiB0YXJlYS5ub21icmVQYWRyZSwgaWNvbjogJ2dseXBoaWNvbnMgJyArIHRhcmVhLmdpZlBhZHJlLCBpdGVtczogW10gfTtcclxuICAgICAgICAgICAgaWYgKG5vbWJyZU1lbnUgPT09IHRhcmVhLm5vbWJyZUFidWVsbykge1xyXG4gICAgICAgICAgICAgIHRoaXMuX21lbnVbbW9kdWxvXS5pdGVtcy5wdXNoKHsgbGFiZWw6IG5vbWJyZU1lbnUsIGljb246ICdnbHlwaGljb25zICcgKyB0YXJlYS5naWZQYWRyZSwgaXRlbXM6IFtpdGVtXSB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl9tZW51W21vZHVsb10uaXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKG5vbWJyZU1lbnUgPT09IHRhcmVhLm5vbWJyZUFidWVsbykge1xyXG4gICAgICAgICAgICAgIGl0ZW0gPSBpdGVtLml0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubGFiZWwgPT0gdGFyZWEubm9tYnJlUGFkcmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGl0ZW0pe1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5pdGVtcykge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSB0YXJlYS51cmxwcmluY2lwYWwucmVwbGFjZSgvLmpzZi8sICcnKTtcclxuICAgICAgICAgICAgICBpdGVtLml0ZW1zLnB1c2goeyBsYWJlbDogdGFyZWEuZGVzY3JpcGNpb24sIHJvdXRlckxpbms6IGxpbmsgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgfVxyXG5cclxuICBzZXRUYXJlYXNEZWxNb2R1bG8obW9kdWxvOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX21lbnVTb3VyY2UubmV4dCh0aGlzLl9tZW51W21vZHVsb10pO1xyXG4gIH1cclxufVxyXG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBaUIsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLFdBQVc7SUFPRjtJQU5aLEtBQUssR0FBZ0MsRUFBRSxDQUFDO0lBQ3hDLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO0lBQ3RDLGlCQUFpQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFDOUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFdkUsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUV0RDs7T0FFRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLDBEQUEwRDtRQUMxRCwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pFLEdBQUcsQ0FBQyxDQUFDLE1BQWEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sV0FBVyxHQUFVLEVBQUUsQ0FBQztZQUVqQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRXBCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ25FLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDMUIsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDM0IsU0FBUztnQkFDWCxDQUFDO2dCQUVELFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBRWhCLDRCQUE0QjtnQkFDNUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUN4QixTQUFTO29CQUNYLENBQUM7b0JBQ0QsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDL0csNkJBQTZCO3dCQUM3QixLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7NEJBQy9DLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztnQ0FDekIsU0FBUzs0QkFDWCxDQUFDOzRCQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sRUFBRyxDQUFDO2dDQUN4RixRQUFRLEdBQUcsT0FBTyxDQUFDO2dDQUNuQixNQUFNOzRCQUNSLENBQUM7d0JBQ0gsQ0FBQzt3QkFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7NEJBQ2QsUUFBUSxHQUFHO2dDQUNULFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztnQ0FDakMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxRQUFRO2dDQUN0QixJQUFJLEVBQUUsR0FBRztnQ0FDVCxXQUFXLEVBQUUsRUFBRTtnQ0FDZixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07NkJBQ3hCLENBQUM7NEJBQ0YsTUFBTSxDQUFDLFdBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7NEJBQ25DLFFBQVEsR0FBRyxRQUFRLENBQUM7d0JBQ3RCLENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNyRixRQUFRLEdBQUcsTUFBTSxDQUFDO3dCQUNsQixNQUFNO29CQUNSLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2QsUUFBUSxHQUFHO3dCQUNULFdBQVcsRUFBRSxRQUFRLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxXQUFXO3dCQUMxRCxHQUFHLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVE7d0JBQ25FLEtBQUssRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVTt3QkFDekUsSUFBSSxFQUFFLEdBQUc7d0JBQ1QsV0FBVyxFQUFFLEVBQUU7d0JBQ2YsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO3FCQUN4QixDQUFDO29CQUNGLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBRTNCLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUMxQixRQUFRLEdBQUc7NEJBQ1QsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXOzRCQUNqQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFFBQVE7NEJBQ3RCLElBQUksRUFBRSxHQUFHOzRCQUNULFdBQVcsRUFBRSxFQUFFOzRCQUNmLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTt5QkFDeEIsQ0FBQzt3QkFDRixRQUFRLENBQUMsV0FBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDckMsUUFBUSxHQUFHLFFBQVEsQ0FBQztvQkFDdEIsQ0FBQztnQkFDSCxDQUFDO2dCQUNELFFBQVEsQ0FBQyxXQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDQSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFBO1FBQ0QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLDBEQUEwRDtJQUM1RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBYTtRQUM5QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxRQUFRLEdBQWE7Z0JBQ3pCLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDeEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN2RCxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUNuRixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ2xGLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFjO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO3VHQS9JVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaS9tZW51aXRlbSc7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX21lbnU6IHsgW2tleTogc3RyaW5nXTogTWVudUl0ZW0gfSA9IHt9O1xyXG4gIHByaXZhdGUgX21lbnVTb3VyY2UgPSBuZXcgU3ViamVjdDxNZW51SXRlbT4oKTtcclxuICBwcml2YXRlIF9icmVhZGNydW1iU291cmNlID0gbmV3IFN1YmplY3Q8TWVudUl0ZW1bXT4oKTtcclxuICBwcml2YXRlIF9tZW51T2JzZXJ2YWJsZSQgPSB0aGlzLl9tZW51U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX2JyZWFkY3J1bWJPYnNlcnZhYmxlJCA9IHRoaXMuX2JyZWFkY3J1bWJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIHBhcmEgbG9zIGV2ZW50b3MgZGVsIGJyZWFkY3J1bWJcclxuICAgKi9cclxuICBnZXQgYnJlYWRjcnVtYigpIHtcclxuICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1iT2JzZXJ2YWJsZSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIHBhcmEgZWwgbWVudSBwcmluY2lwYWxcclxuICAgKi9cclxuICBnZXQgbWVudSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tZW51T2JzZXJ2YWJsZSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZ3JlZ2EgaXRlbXMgYWwgYnJlYWRjcnVtYlxyXG4gICAqIEBwYXJhbSBpdGVtc1xyXG4gICAqL1xyXG4gIHNldEJyZWFkY3J1bWIoaXRlbXM6IE1lbnVJdGVtW10pOiB2b2lkIHtcclxuICAgIHRoaXMuX2JyZWFkY3J1bWJTb3VyY2UubmV4dChpdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdWx0YSBsYSBsaXN0YSBkZSB0YXJlYXMgZGVsIHVzdWFyaW8gcGFyYSBjYXJnYXIgZWwgbWVuw7pcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGxvYWRUYXJlYXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKiBTZSBkZWJlIGNhbWJpYXIgY29uIGVsIHJlcXVlc3QgYWwgc2VydmljaW8gZGUgdGFyZWFzICovXHJcbiAgICB0aGlzLl9tZW51ID0ge31cclxuICAgIHJldHVybiBvZihKU09OLnBhcnNlKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnX190YXJlYXMnKSkpLnBpcGUoXHJcbiAgICAgIG1hcCgodGFyZWFzOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFyYm9sVGFyZWFzOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgICBsZXQgbm9kb0Jhc2UgPSBudWxsO1xyXG4gICAgIGxldCBub2RvSGlqbyA9IG51bGw7XHJcbiAgIFxyXG4gICAgIGZvciAoY29uc3QgdW5hVGFyZWEgb2YgdGFyZWFzKSB7XHJcbiAgICAgIGNvbnN0IG1vZHVsbyA9IHVuYVRhcmVhLm1vZHVsbysnJztcclxuICAgICAgICBpZiAoIShtb2R1bG8gaW4gdGhpcy5fbWVudSkpIHtcclxuICAgICAgICAgIHRoaXMuX21lbnVbbW9kdWxvXSA9IHsgbGFiZWw6IHVuYVRhcmVhLm5vbWJyZU1vZHVsbywgaXRlbXM6IFtdIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgaWYgKCF1bmFUYXJlYS5ub21icmVQYWRyZSkge1xyXG4gICAgICAgICBhcmJvbFRhcmVhcy5wdXNoKHVuYVRhcmVhKTtcclxuICAgICAgICAgY29udGludWU7XHJcbiAgICAgICB9XHJcbiAgIFxyXG4gICAgICAgbm9kb0Jhc2UgPSBudWxsO1xyXG4gICBcclxuICAgICAgIC8vIEJ1c2NhciBlbiBlbCBwcmltZXIgbml2ZWxcclxuICAgICAgIGZvciAoY29uc3QgdW5Ob2RvIG9mIGFyYm9sVGFyZWFzKSB7XHJcbiAgICAgICAgaWYgKHVuTm9kby50aXBvICE9PSBcIk1cIikge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh1bmFUYXJlYS5ub21icmVBYnVlbG8gJiYgdW5Ob2RvLmRlc2NyaXBjaW9uID09PSB1bmFUYXJlYS5ub21icmVBYnVlbG8gJiYgdW5Ob2RvLm1vZHVsbyA9PT0gdW5hVGFyZWEubW9kdWxvKSB7XHJcbiAgICAgICAgICAvLyBCdXNjYXIgZW4gZWwgc2VndW5kbyBuaXZlbFxyXG4gICAgICAgICAgZm9yIChjb25zdCB1bk5vZG8yIG9mIHVuTm9kby5saXN0YVRhcmVhcyB8fCBbXSkge1xyXG4gICAgICAgICAgICBpZiAodW5Ob2RvMi50aXBvICE9PSBcIk1cIikge1xyXG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh1bk5vZG8yLmRlc2NyaXBjaW9uID09PSB1bmFUYXJlYS5ub21icmVQYWRyZSAmJiB1bk5vZG8yLm1vZHVsbyA9PT0gdW5hVGFyZWEubW9kdWxvKSAge1xyXG4gICAgICAgICAgICAgIG5vZG9CYXNlID0gdW5Ob2RvMjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCFub2RvQmFzZSkge1xyXG4gICAgICAgICAgICBub2RvSGlqbyA9IHtcclxuICAgICAgICAgICAgICBkZXNjcmlwY2lvbjogdW5hVGFyZWEubm9tYnJlUGFkcmUsXHJcbiAgICAgICAgICAgICAgZ2lmOiB1bmFUYXJlYS5naWZQYWRyZSxcclxuICAgICAgICAgICAgICB0aXBvOiBcIk1cIixcclxuICAgICAgICAgICAgICBsaXN0YVRhcmVhczogW10sXHJcbiAgICAgICAgICAgICAgbW9kdWxvOiB1bmFUYXJlYS5tb2R1bG8sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHVuTm9kby5saXN0YVRhcmVhcyEucHVzaChub2RvSGlqbyk7XHJcbiAgICAgICAgICAgIG5vZG9CYXNlID0gbm9kb0hpam87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHVuTm9kby5kZXNjcmlwY2lvbiA9PT0gdW5hVGFyZWEubm9tYnJlUGFkcmUgJiYgdW5Ob2RvLm1vZHVsbyA9PT0gdW5hVGFyZWEubW9kdWxvKSB7XHJcbiAgICAgICAgICBub2RvQmFzZSA9IHVuTm9kbztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBpZiAoIW5vZG9CYXNlKSB7XHJcbiAgICAgICAgbm9kb0Jhc2UgPSB7XHJcbiAgICAgICAgICBkZXNjcmlwY2lvbjogdW5hVGFyZWEubm9tYnJlQWJ1ZWxvIHx8IHVuYVRhcmVhLm5vbWJyZVBhZHJlLFxyXG4gICAgICAgICAgZ2lmOiB1bmFUYXJlYS5ub21icmVBYnVlbG8gPyB1bmFUYXJlYS5naWZBYnVlbG8gOiB1bmFUYXJlYS5naWZQYWRyZSxcclxuICAgICAgICAgIG9yZGVuOiB1bmFUYXJlYS5ub21icmVBYnVlbG8gPyB1bmFUYXJlYS5vcmRlbkFidWVsbyA6IHVuYVRhcmVhLm9yZGVuUGFkcmUsXHJcbiAgICAgICAgICB0aXBvOiBcIk1cIixcclxuICAgICAgICAgIGxpc3RhVGFyZWFzOiBbXSxcclxuICAgICAgICAgIG1vZHVsbzogdW5hVGFyZWEubW9kdWxvLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYXJib2xUYXJlYXMucHVzaChub2RvQmFzZSk7XHJcbiAgXHJcbiAgICAgICAgaWYgKHVuYVRhcmVhLm5vbWJyZUFidWVsbykge1xyXG4gICAgICAgICAgbm9kb0hpam8gPSB7XHJcbiAgICAgICAgICAgIGRlc2NyaXBjaW9uOiB1bmFUYXJlYS5ub21icmVQYWRyZSxcclxuICAgICAgICAgICAgZ2lmOiB1bmFUYXJlYS5naWZQYWRyZSxcclxuICAgICAgICAgICAgdGlwbzogXCJNXCIsXHJcbiAgICAgICAgICAgIGxpc3RhVGFyZWFzOiBbXSwgXHJcbiAgICAgICAgICAgIG1vZHVsbzogdW5hVGFyZWEubW9kdWxvLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIG5vZG9CYXNlLmxpc3RhVGFyZWFzIS5wdXNoKG5vZG9IaWpvKTtcclxuICAgICAgICAgIG5vZG9CYXNlID0gbm9kb0hpam87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIG5vZG9CYXNlLmxpc3RhVGFyZWFzIS5wdXNoKHVuYVRhcmVhKTtcclxuICAgIH1cclxuICAgICBsZXQgcmVzcHVlc3RhID0gdGhpcy5jb252ZXJ0VG9NZW51SXRlbXMoYXJib2xUYXJlYXMpO1xyXG4gICAgIHJlc3B1ZXN0YS5mb3JFYWNoKGRhdG8gPT4ge1xyXG4gICAgICBjb25zdCBtb2R1bG8gPSBkYXRvLnRhYmluZGV4O1xyXG4gICAgICB0aGlzLl9tZW51W21vZHVsb10uaXRlbXMucHVzaChkYXRvKTtcclxuICAgICB9KSBcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9NZW51SXRlbXModGFyZWFzOiBhbnlbXSk6IE1lbnVJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRhcmVhcy5tYXAodGFyZWEgPT4ge1xyXG4gICAgICBjb25zdCBtZW51SXRlbTogTWVudUl0ZW0gPSB7XHJcbiAgICAgICAgbGFiZWw6IHRhcmVhLmRlc2NyaXBjaW9uLFxyXG4gICAgICAgIGljb246IHRhcmVhLmdpZiA/ICdnbHlwaGljb25zICcgKyB0YXJlYS5naWYgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgcm91dGVyTGluazogdGFyZWEudXJscHJpbmNpcGFsID8gdGFyZWEudXJscHJpbmNpcGFsLnJlcGxhY2UoLy5qc2YvLCAnJykgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgdGFiaW5kZXg6IHRhcmVhLm1vZHVsbyxcclxuICAgICAgICBpdGVtczogdGFyZWEubGlzdGFUYXJlYXMgPyB0aGlzLmNvbnZlcnRUb01lbnVJdGVtcyh0YXJlYS5saXN0YVRhcmVhcykgOiB1bmRlZmluZWRcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG1lbnVJdGVtO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRUYXJlYXNEZWxNb2R1bG8obW9kdWxvOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX21lbnVTb3VyY2UubmV4dCh0aGlzLl9tZW51W21vZHVsb10pO1xyXG4gIH1cclxufVxyXG4iXX0=