zek 14.2.75 → 14.2.77

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 (27) hide show
  1. package/esm2020/lib/components/base.component.mjs +6 -3
  2. package/esm2020/lib/components/edit-base.component.mjs +27 -36
  3. package/esm2020/lib/components/list-base.component.mjs +27 -22
  4. package/esm2020/lib/modules/alert/alert/alert.mjs +52 -0
  5. package/esm2020/lib/modules/alert/alert.module.mjs +15 -15
  6. package/esm2020/lib/modules/alert/index.mjs +4 -4
  7. package/esm2020/lib/modules/alert/toast/toast.mjs +109 -0
  8. package/esm2020/lib/modules/alert/validation/validation.mjs +85 -0
  9. package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +3 -2
  10. package/esm2020/lib/services/http-error-handler.service.mjs +4 -1
  11. package/fesm2015/zek.mjs +94 -84
  12. package/fesm2015/zek.mjs.map +1 -1
  13. package/fesm2020/zek.mjs +94 -84
  14. package/fesm2020/zek.mjs.map +1 -1
  15. package/lib/components/base.component.d.ts +1 -0
  16. package/lib/components/edit-base.component.d.ts +4 -4
  17. package/lib/components/list-base.component.d.ts +3 -3
  18. package/lib/modules/alert/alert/alert.d.ts +16 -0
  19. package/lib/modules/alert/alert.module.d.ts +4 -4
  20. package/lib/modules/alert/index.d.ts +3 -3
  21. package/lib/modules/alert/toast/{toast.component.d.ts → toast.d.ts} +3 -3
  22. package/lib/modules/alert/validation/{validation.component.d.ts → validation.d.ts} +3 -3
  23. package/package.json +1 -1
  24. package/esm2020/lib/modules/alert/alert/alert.component.mjs +0 -44
  25. package/esm2020/lib/modules/alert/toast/toast.component.mjs +0 -109
  26. package/esm2020/lib/modules/alert/validation/validation.component.mjs +0 -85
  27. package/lib/modules/alert/alert/alert.component.d.ts +0 -12
@@ -1,17 +1,17 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { AlertComponent } from './alert/alert.component';
4
- import { ToastComponent } from './toast/toast.component';
5
- import { ValidationComponent } from './validation/validation.component';
3
+ import { ZekAlert } from './alert/alert';
4
+ import { ZekToast } from './toast/toast';
5
+ import { ZekValidation } from './validation/validation';
6
6
  import * as i0 from "@angular/core";
7
7
  export class AlertModule {
8
8
  }
9
9
  AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: AlertModule, declarations: [AlertComponent,
11
- ValidationComponent,
12
- ToastComponent], imports: [CommonModule], exports: [AlertComponent,
13
- ValidationComponent,
14
- ToastComponent] });
10
+ AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: AlertModule, declarations: [ZekAlert,
11
+ ZekValidation,
12
+ ZekToast], imports: [CommonModule], exports: [ZekAlert,
13
+ ZekValidation,
14
+ ZekToast] });
15
15
  AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AlertModule, imports: [CommonModule] });
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AlertModule, decorators: [{
17
17
  type: NgModule,
@@ -20,16 +20,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
20
20
  CommonModule
21
21
  ],
22
22
  declarations: [
23
- AlertComponent,
24
- ValidationComponent,
25
- ToastComponent,
23
+ ZekAlert,
24
+ ZekValidation,
25
+ ZekToast,
26
26
  ],
27
27
  providers: [],
28
28
  exports: [
29
- AlertComponent,
30
- ValidationComponent,
31
- ToastComponent,
29
+ ZekAlert,
30
+ ZekValidation,
31
+ ZekToast,
32
32
  ]
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9hbGVydC9hbGVydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFtQnhFLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBWmhCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsY0FBYyxhQUxkLFlBQVksYUFVWixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGNBQWM7eUdBR1QsV0FBVyxZQWZoQixZQUFZOzJGQWVQLFdBQVc7a0JBakJ2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDVixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDakI7b0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBBbGVydENvbXBvbmVudCxcclxuICAgICAgICBWYWxpZGF0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIFRvYXN0Q29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBBbGVydENvbXBvbmVudCxcclxuICAgICAgICBWYWxpZGF0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIFRvYXN0Q29tcG9uZW50LFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxlcnRNb2R1bGUgeyB9Il19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9hbGVydC9hbGVydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQnhELE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBWmhCLFFBQVE7UUFDUixhQUFhO1FBQ2IsUUFBUSxhQUxSLFlBQVksYUFVWixRQUFRO1FBQ1IsYUFBYTtRQUNiLFFBQVE7eUdBR0gsV0FBVyxZQWZoQixZQUFZOzJGQWVQLFdBQVc7a0JBakJ2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDVixRQUFRO3dCQUNSLGFBQWE7d0JBQ2IsUUFBUTtxQkFDWDtvQkFDRCxTQUFTLEVBQUUsRUFDVjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsUUFBUTt3QkFDUixhQUFhO3dCQUNiLFFBQVE7cUJBQ1g7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgWmVrQWxlcnQgfSBmcm9tICcuL2FsZXJ0L2FsZXJ0JztcclxuaW1wb3J0IHsgWmVrVG9hc3QgfSBmcm9tICcuL3RvYXN0L3RvYXN0JztcclxuaW1wb3J0IHsgWmVrVmFsaWRhdGlvbiB9IGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0aW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgWmVrQWxlcnQsXHJcbiAgICAgICAgWmVrVmFsaWRhdGlvbixcclxuICAgICAgICBaZWtUb2FzdCxcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgWmVrQWxlcnQsXHJcbiAgICAgICAgWmVrVmFsaWRhdGlvbixcclxuICAgICAgICBaZWtUb2FzdCxcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0TW9kdWxlIHsgfSJdfQ==
@@ -1,6 +1,6 @@
1
- export * from './alert/alert.component';
2
- export * from './toast/toast.component';
3
- export * from './validation/validation.component';
1
+ export * from './alert/alert';
2
+ export * from './toast/toast';
3
+ export * from './validation/validation';
4
4
  export * from './alert.module';
5
5
  export * from '../../services/alert.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2FsZXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnOyJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2FsZXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGVydC9hbGVydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3QvdG9hc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7Il19
@@ -0,0 +1,109 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { BootstrapHelper } from '../../../utils';
3
+ import { AlertType } from '../../../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../services/alert.service";
6
+ import * as i2 from "@angular/common";
7
+ export class ZekToast {
8
+ constructor(alertService) {
9
+ this.alertService = alertService;
10
+ this.icon = true;
11
+ this.toasts = [];
12
+ }
13
+ ngOnInit() {
14
+ this.subscription = this.alertService.getToast().subscribe((toast) => {
15
+ if (!toast) {
16
+ // clear alerts when an empty alert is received
17
+ this.toasts = [];
18
+ return;
19
+ }
20
+ // add toast to array
21
+ this.cssInit(toast);
22
+ this.toasts.unshift(toast);
23
+ this.timeout = setTimeout(() => {
24
+ this.remove(toast);
25
+ // let toastEl = document.getElementById(`toast-${toast.id}`);
26
+ // let t = new bootstrap.Toast(toastEl);
27
+ // t.show();
28
+ }, 3000);
29
+ // let toastElList = [].slice.call(document.querySelectorAll('.toast'))
30
+ // let toastList = toastElList.map(function (toastEl) {
31
+ // return new bootstrap.Toast(toastEl)
32
+ // })
33
+ // toastList.forEach(t => {
34
+ // t.show();
35
+ // });
36
+ });
37
+ }
38
+ ngOnDestroy() {
39
+ if (this.subscription) {
40
+ this.subscription.unsubscribe();
41
+ }
42
+ this.clearTimeout();
43
+ }
44
+ clear() {
45
+ this.alertService.clear();
46
+ }
47
+ remove(toast) {
48
+ this.toasts = this.toasts.filter(x => x !== toast);
49
+ }
50
+ clearTimeout() {
51
+ if (this.timeout) {
52
+ clearTimeout(this.timeout);
53
+ this.timeout = null;
54
+ }
55
+ }
56
+ cssInit(toast) {
57
+ if (!toast || !toast.type)
58
+ return;
59
+ if (this.icon) {
60
+ toast.icon = BootstrapHelper.cssAlertIcon(toast.type);
61
+ }
62
+ var v = toast;
63
+ switch (toast.type) {
64
+ case AlertType.Primary:
65
+ v.css = 'bg-primary text-white';
66
+ break;
67
+ case AlertType.Success:
68
+ v.css = 'bg-success text-white';
69
+ // v.iconColor = 'text--accent-green';
70
+ // v.borderColor = 'border--accent-green';
71
+ break;
72
+ case AlertType.Danger:
73
+ v.css = 'bg-danger text-white';
74
+ // v.iconColor = 'text--accent-red';
75
+ // v.borderColor = 'border--accent-red';
76
+ break;
77
+ case AlertType.Warning:
78
+ v.css = 'bg-warning text-dark';
79
+ // v.iconColor = 'text--accent-yellow';
80
+ // v.borderColor = 'border--accent-yellow';
81
+ break;
82
+ case AlertType.Info:
83
+ v.css = 'bg-info text-white';
84
+ // v.iconColor = 'text--accent-blue';
85
+ // v.borderColor = 'border--accent-blue';
86
+ break;
87
+ case AlertType.Light:
88
+ v.css = 'bg-light text-dark';
89
+ break;
90
+ case AlertType.Dark:
91
+ v.css = 'bg-dark text-white';
92
+ break;
93
+ default:
94
+ v.css = 'bg-secondary text-white';
95
+ break;
96
+ }
97
+ }
98
+ }
99
+ ZekToast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekToast, deps: [{ token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component });
100
+ ZekToast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ZekToast, selector: "zek-toast", inputs: { timeOut: "timeOut", icon: "icon" }, ngImport: i0, template: "<div class=\"toast-container position-fixed top-0 end-0 p-3\">\r\n <div *ngFor=\"let toast of toasts\" class=\"toast fade show border-0 {{ toast.css }}\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" data-bs-delay=\"3000\">\r\n <div class=\"toast-header\">\r\n <span class=\"me-1\" *ngIf=\"icon && toast.icon\"><i class=\"{{ toast.icon }}\"></i></span>\r\n <strong class=\"me-auto\" *ngIf=\"toast.title\">{{ toast.title }}</strong>\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n <div class=\"toast-body\">\r\n {{ toast.message }}\r\n </div>\r\n </div>\r\n <!-- <div *ngFor=\"let toast of toasts\" class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" data-bs-delay=\"3000\">\r\n <div class=\"toast-body\">\r\n <div class=\"row\">\r\n <div class=\"col-auto pe-1 border-start border-8 {{toast.borderColor}}\">\r\n <span *ngIf=\"toast.icon\" class=\"icon flex-shrink-0 {{toast.iconColor}}\"><i class=\"{{toast.icon}}\"></i></span>\r\n </div>\r\n <div class=\"col\">\r\n <div *ngIf=\"toast.title\"><h5>{{toast.title}}</h5></div>\r\n {{ toast.message }}\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n</div>", styles: [":host>.toast-container{z-index:999999;opacity:.9}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekToast, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'zek-toast', template: "<div class=\"toast-container position-fixed top-0 end-0 p-3\">\r\n <div *ngFor=\"let toast of toasts\" class=\"toast fade show border-0 {{ toast.css }}\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" data-bs-delay=\"3000\">\r\n <div class=\"toast-header\">\r\n <span class=\"me-1\" *ngIf=\"icon && toast.icon\"><i class=\"{{ toast.icon }}\"></i></span>\r\n <strong class=\"me-auto\" *ngIf=\"toast.title\">{{ toast.title }}</strong>\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n <div class=\"toast-body\">\r\n {{ toast.message }}\r\n </div>\r\n </div>\r\n <!-- <div *ngFor=\"let toast of toasts\" class=\"toast fade show\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" data-bs-delay=\"3000\">\r\n <div class=\"toast-body\">\r\n <div class=\"row\">\r\n <div class=\"col-auto pe-1 border-start border-8 {{toast.borderColor}}\">\r\n <span *ngIf=\"toast.icon\" class=\"icon flex-shrink-0 {{toast.iconColor}}\"><i class=\"{{toast.icon}}\"></i></span>\r\n </div>\r\n <div class=\"col\">\r\n <div *ngIf=\"toast.title\"><h5>{{toast.title}}</h5></div>\r\n {{ toast.message }}\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button type=\"button\" class=\"btn-close ms-auto me-2\" data-bs-dismiss=\"toast\" aria-label=\"Close\" (click)=\"remove(toast)\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n</div>", styles: [":host>.toast-container{z-index:999999;opacity:.9}\n"] }]
104
+ }], ctorParameters: function () { return [{ type: i1.AlertService }]; }, propDecorators: { timeOut: [{
105
+ type: Input
106
+ }], icon: [{
107
+ type: Input
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2FsZXJ0L3RvYXN0L3RvYXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9hbGVydC90b2FzdC90b2FzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBTzVDLE1BQU0sT0FBTyxRQUFRO0lBUWpCLFlBQTZCLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBTjlDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFckIsV0FBTSxHQUFVLEVBQUUsQ0FBQztJQUl3QyxDQUFDO0lBRTVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDeEUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUiwrQ0FBK0M7Z0JBQy9DLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNqQixPQUFPO2FBQ1Y7WUFFRCxxQkFBcUI7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUzQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25CLDhEQUE4RDtnQkFDOUQsd0NBQXdDO2dCQUN4QyxZQUFZO1lBQ2hCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUdULHVFQUF1RTtZQUN2RSx1REFBdUQ7WUFDdkQsMENBQTBDO1lBQzFDLEtBQUs7WUFDTCwyQkFBMkI7WUFDM0IsZ0JBQWdCO1lBQ2hCLE1BQU07UUFDVixDQUFDLENBQUMsQ0FBQztJQUlQLENBQUM7SUFHRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBWTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUdELE9BQU8sQ0FBQyxLQUFZO1FBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUNyQixPQUFPO1FBR1gsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsS0FBSyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6RDtRQUVELElBQUksQ0FBQyxHQUFHLEtBQVksQ0FBQztRQUNyQixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQztnQkFDaEMsTUFBTTtZQUNWLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLENBQUMsQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLENBQUM7Z0JBQ2hDLHNDQUFzQztnQkFDdEMsMENBQTBDO2dCQUMxQyxNQUFNO1lBQ1YsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDakIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQztnQkFDL0Isb0NBQW9DO2dCQUNwQyx3Q0FBd0M7Z0JBQ3hDLE1BQU07WUFDVixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixDQUFDLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDO2dCQUMvQix1Q0FBdUM7Z0JBQ3ZDLDJDQUEyQztnQkFDM0MsTUFBTTtZQUNWLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsQ0FBQyxDQUFDLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQztnQkFDN0IscUNBQXFDO2dCQUNyQyx5Q0FBeUM7Z0JBQ3pDLE1BQU07WUFDVixLQUFLLFNBQVMsQ0FBQyxLQUFLO2dCQUNoQixDQUFDLENBQUMsR0FBRyxHQUFHLG9CQUFvQixDQUFDO2dCQUM3QixNQUFNO1lBQ1YsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixDQUFDLENBQUMsR0FBRyxHQUFHLG9CQUFvQixDQUFDO2dCQUM3QixNQUFNO1lBR1Y7Z0JBQ0ksQ0FBQyxDQUFDLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQztnQkFDbEMsTUFBTTtTQUNiO0lBQ0wsQ0FBQzs7cUdBakhRLFFBQVE7eUZBQVIsUUFBUSwrRkNickIsNHNEQTJCTTsyRkRkTyxRQUFRO2tCQUxwQixTQUFTOytCQUNJLFdBQVc7bUdBS1osT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCb290c3RyYXBIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcbi8vZGVjbGFyZSBsZXQgYm9vdHN0cmFwOiBhbnk7XHJcblxyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIFRvYXN0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFsZXJ0VHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXRvYXN0JyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvYXN0LmNzcyddLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtUb2FzdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIHRpbWVPdXQ/OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBpY29uID0gdHJ1ZTtcclxuXHJcbiAgICB0b2FzdHM6IGFueVtdID0gW107XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgdGltZW91dDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UpIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5hbGVydFNlcnZpY2UuZ2V0VG9hc3QoKS5zdWJzY3JpYmUoKHRvYXN0OiBUb2FzdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRvYXN0KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjbGVhciBhbGVydHMgd2hlbiBhbiBlbXB0eSBhbGVydCBpcyByZWNlaXZlZFxyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gYWRkIHRvYXN0IHRvIGFycmF5XHJcbiAgICAgICAgICAgIHRoaXMuY3NzSW5pdCh0b2FzdCk7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RzLnVuc2hpZnQodG9hc3QpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSh0b2FzdCk7XHJcbiAgICAgICAgICAgICAgICAvLyBsZXQgdG9hc3RFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGB0b2FzdC0ke3RvYXN0LmlkfWApO1xyXG4gICAgICAgICAgICAgICAgLy8gbGV0IHQgPSBuZXcgYm9vdHN0cmFwLlRvYXN0KHRvYXN0RWwpO1xyXG4gICAgICAgICAgICAgICAgLy8gdC5zaG93KCk7XHJcbiAgICAgICAgICAgIH0sIDMwMDApO1xyXG5cclxuXHJcbiAgICAgICAgICAgIC8vIGxldCB0b2FzdEVsTGlzdCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRvYXN0JykpXHJcbiAgICAgICAgICAgIC8vIGxldCB0b2FzdExpc3QgPSB0b2FzdEVsTGlzdC5tYXAoZnVuY3Rpb24gKHRvYXN0RWwpIHtcclxuICAgICAgICAgICAgLy8gICAgIHJldHVybiBuZXcgYm9vdHN0cmFwLlRvYXN0KHRvYXN0RWwpXHJcbiAgICAgICAgICAgIC8vIH0pXHJcbiAgICAgICAgICAgIC8vIHRvYXN0TGlzdC5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgdC5zaG93KCk7XHJcbiAgICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuXHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIHJlbW92ZSh0b2FzdDogVG9hc3QpIHtcclxuICAgICAgICB0aGlzLnRvYXN0cyA9IHRoaXMudG9hc3RzLmZpbHRlcih4ID0+IHggIT09IHRvYXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhclRpbWVvdXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudGltZW91dCkge1xyXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcclxuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNzc0luaXQodG9hc3Q6IFRvYXN0KSB7XHJcbiAgICAgICAgaWYgKCF0b2FzdCB8fCAhdG9hc3QudHlwZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaWNvbikge1xyXG4gICAgICAgICAgICB0b2FzdC5pY29uID0gQm9vdHN0cmFwSGVscGVyLmNzc0FsZXJ0SWNvbih0b2FzdC50eXBlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciB2ID0gdG9hc3QgYXMgYW55O1xyXG4gICAgICAgIHN3aXRjaCAodG9hc3QudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5QcmltYXJ5OlxyXG4gICAgICAgICAgICAgICAgdi5jc3MgPSAnYmctcHJpbWFyeSB0ZXh0LXdoaXRlJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5TdWNjZXNzOlxyXG4gICAgICAgICAgICAgICAgdi5jc3MgPSAnYmctc3VjY2VzcyB0ZXh0LXdoaXRlJztcclxuICAgICAgICAgICAgICAgIC8vIHYuaWNvbkNvbG9yID0gJ3RleHQtLWFjY2VudC1ncmVlbic7XHJcbiAgICAgICAgICAgICAgICAvLyB2LmJvcmRlckNvbG9yID0gJ2JvcmRlci0tYWNjZW50LWdyZWVuJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5EYW5nZXI6XHJcbiAgICAgICAgICAgICAgICB2LmNzcyA9ICdiZy1kYW5nZXIgdGV4dC13aGl0ZSc7XHJcbiAgICAgICAgICAgICAgICAvLyB2Lmljb25Db2xvciA9ICd0ZXh0LS1hY2NlbnQtcmVkJztcclxuICAgICAgICAgICAgICAgIC8vIHYuYm9yZGVyQ29sb3IgPSAnYm9yZGVyLS1hY2NlbnQtcmVkJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICAgICAgdi5jc3MgPSAnYmctd2FybmluZyB0ZXh0LWRhcmsnO1xyXG4gICAgICAgICAgICAgICAgLy8gdi5pY29uQ29sb3IgPSAndGV4dC0tYWNjZW50LXllbGxvdyc7XHJcbiAgICAgICAgICAgICAgICAvLyB2LmJvcmRlckNvbG9yID0gJ2JvcmRlci0tYWNjZW50LXllbGxvdyc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIHYuY3NzID0gJ2JnLWluZm8gdGV4dC13aGl0ZSc7XHJcbiAgICAgICAgICAgICAgICAvLyB2Lmljb25Db2xvciA9ICd0ZXh0LS1hY2NlbnQtYmx1ZSc7XHJcbiAgICAgICAgICAgICAgICAvLyB2LmJvcmRlckNvbG9yID0gJ2JvcmRlci0tYWNjZW50LWJsdWUnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLkxpZ2h0OlxyXG4gICAgICAgICAgICAgICAgdi5jc3MgPSAnYmctbGlnaHQgdGV4dC1kYXJrJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5EYXJrOlxyXG4gICAgICAgICAgICAgICAgdi5jc3MgPSAnYmctZGFyayB0ZXh0LXdoaXRlJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuXHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICB2LmNzcyA9ICdiZy1zZWNvbmRhcnkgdGV4dC13aGl0ZSc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXIgcG9zaXRpb24tZml4ZWQgdG9wLTAgZW5kLTAgcC0zXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdHNcIiBjbGFzcz1cInRvYXN0IGZhZGUgc2hvdyBib3JkZXItMCB7eyB0b2FzdC5jc3MgfX1cIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBhcmlhLWF0b21pYz1cInRydWVcIiBkYXRhLWJzLWRlbGF5PVwiMzAwMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0xXCIgKm5nSWY9XCJpY29uICYmIHRvYXN0Lmljb25cIj48aSBjbGFzcz1cInt7IHRvYXN0Lmljb24gfX1cIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibWUtYXV0b1wiICpuZ0lmPVwidG9hc3QudGl0bGVcIj57eyB0b2FzdC50aXRsZSB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZSBtcy1hdXRvIG1lLTJcIiBkYXRhLWJzLWRpc21pc3M9XCJ0b2FzdFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJyZW1vdmUodG9hc3QpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvYXN0LWJvZHlcIj5cclxuICAgICAgICAgICAge3sgdG9hc3QubWVzc2FnZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIDxkaXYgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0c1wiIGNsYXNzPVwidG9hc3QgZmFkZSBzaG93XCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCIgZGF0YS1icy1kZWxheT1cIjMwMDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcGUtMSBib3JkZXItc3RhcnQgYm9yZGVyLTgge3t0b2FzdC5ib3JkZXJDb2xvcn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b2FzdC5pY29uXCIgY2xhc3M9XCJpY29uIGZsZXgtc2hyaW5rLTAge3t0b2FzdC5pY29uQ29sb3J9fVwiPjxpIGNsYXNzPVwie3t0b2FzdC5pY29ufX1cIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvYXN0LnRpdGxlXCI+PGg1Pnt7dG9hc3QudGl0bGV9fTwvaDU+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgdG9hc3QubWVzc2FnZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgbXMtYXV0byBtZS0yXCIgZGF0YS1icy1kaXNtaXNzPVwidG9hc3RcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwicmVtb3ZlKHRvYXN0KVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+IC0tPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,85 @@
1
+ import { Component } from '@angular/core';
2
+ import { AlertType } from '../../../models';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services/alert.service";
5
+ import * as i2 from "@angular/common";
6
+ export class ZekValidation {
7
+ constructor(alertService) {
8
+ this.alertService = alertService;
9
+ this.alerts = [];
10
+ }
11
+ ngOnInit() {
12
+ this.subscription = this.alertService.getAlert().subscribe((alert) => {
13
+ if (!alert) {
14
+ // clear alerts when an empty alert is received
15
+ this.alerts = [];
16
+ return;
17
+ }
18
+ // add alert to array
19
+ this.alerts.push(alert);
20
+ });
21
+ }
22
+ ngOnDestroy() {
23
+ this.subscription?.unsubscribe();
24
+ }
25
+ clear() {
26
+ this.alertService.clear();
27
+ }
28
+ remove(alert) {
29
+ this.alerts = this.alerts.filter(x => x !== alert);
30
+ }
31
+ cssIcon(alert) {
32
+ if (!alert) {
33
+ return;
34
+ }
35
+ if (alert.icon && alert.icon.length > 0)
36
+ return alert.icon;
37
+ if (!alert.type) {
38
+ return;
39
+ }
40
+ switch (alert.type) {
41
+ case AlertType.Success:
42
+ return 'fas fa-check';
43
+ case AlertType.Danger:
44
+ case AlertType.Warning:
45
+ return 'fas fa-exclamation-triangle';
46
+ case AlertType.Info:
47
+ return 'fas fa-info-circle';
48
+ default:
49
+ return;
50
+ }
51
+ }
52
+ cssAlert(alert) {
53
+ if (!alert) {
54
+ return;
55
+ }
56
+ // return css class based on alert type
57
+ switch (alert.type) {
58
+ case AlertType.Primary:
59
+ return 'alert-primary';
60
+ case AlertType.Secondary:
61
+ return 'alert-secondary';
62
+ case AlertType.Success:
63
+ return 'alert-success';
64
+ case AlertType.Danger:
65
+ return 'alert-danger';
66
+ case AlertType.Warning:
67
+ return 'alert-warning';
68
+ case AlertType.Info:
69
+ return 'alert-info';
70
+ case AlertType.Light:
71
+ return 'alert-light';
72
+ case AlertType.Dark:
73
+ return 'alert-dark';
74
+ default:
75
+ return 'alert-secondary';
76
+ }
77
+ }
78
+ }
79
+ ZekValidation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekValidation, deps: [{ token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component });
80
+ ZekValidation.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ZekValidation, selector: "zek-validation", ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" class=\"alert {{ cssAlert(alert) }} alert-dismissible fade show mt-3\" role=\"alert\">\r\n <button (click)=\"remove(alert)\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>\r\n <div *ngFor=\"let message of alert.messages\">\r\n <i *ngIf=\"cssIcon(alert)\" class=\"{{ cssIcon(alert) }}\"></i>\r\n {{message}}\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekValidation, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'zek-validation', template: "<div *ngFor=\"let alert of alerts\" class=\"alert {{ cssAlert(alert) }} alert-dismissible fade show mt-3\" role=\"alert\">\r\n <button (click)=\"remove(alert)\" type=\"button\" class=\"btn-close\" aria-label=\"Close\"></button>\r\n <div *ngFor=\"let message of alert.messages\">\r\n <i *ngIf=\"cssIcon(alert)\" class=\"{{ cssIcon(alert) }}\"></i>\r\n {{message}}\r\n </div>\r\n <ng-content></ng-content>\r\n</div>", styles: [":host{display:block}\n"] }]
84
+ }], ctorParameters: function () { return [{ type: i1.AlertService }]; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvYWxlcnQvdmFsaWRhdGlvbi92YWxpZGF0aW9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9hbGVydC92YWxpZGF0aW9uL3ZhbGlkYXRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTNUMsTUFBTSxPQUFPLGFBQWE7SUFJdEIsWUFBNkIsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFIdkQsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQUdzQyxDQUFDO0lBRTVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDeEUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUiwrQ0FBK0M7Z0JBQy9DLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNqQixPQUFPO2FBQ1Y7WUFDRCxxQkFBcUI7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUdELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBWTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPO1NBQ1Y7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNuQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFHdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDYixPQUFPO1NBQ1Y7UUFFRCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsT0FBTyxjQUFjLENBQUM7WUFDMUIsS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3RCLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sNkJBQTZCLENBQUM7WUFDekMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLG9CQUFvQixDQUFDO1lBQ2hDO2dCQUNJLE9BQU87U0FDZDtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTztTQUNWO1FBRUQsdUNBQXVDO1FBQ3ZDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixPQUFPLGVBQWUsQ0FBQztZQUMzQixLQUFLLFNBQVMsQ0FBQyxTQUFTO2dCQUNwQixPQUFPLGlCQUFpQixDQUFDO1lBQzdCLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sZUFBZSxDQUFDO1lBQzNCLEtBQUssU0FBUyxDQUFDLE1BQU07Z0JBQ2pCLE9BQU8sY0FBYyxDQUFDO1lBQzFCLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ2xCLE9BQU8sZUFBZSxDQUFDO1lBQzNCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxZQUFZLENBQUM7WUFDeEIsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDaEIsT0FBTyxhQUFhLENBQUM7WUFDekIsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDZixPQUFPLFlBQVksQ0FBQztZQUN4QjtnQkFDSSxPQUFPLGlCQUFpQixDQUFDO1NBQ2hDO0lBQ0wsQ0FBQzs7MEdBbEZRLGFBQWE7OEZBQWIsYUFBYSxzRENYMUIseWJBT007MkZESU8sYUFBYTtrQkFMekIsU0FBUzsrQkFDSSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5cclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBBbGVydCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play12YWxpZGF0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi92YWxpZGF0aW9uLmh0bWwnLFxyXG4gICAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTogYmxvY2s7IH0nXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrVmFsaWRhdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIGFsZXJ0czogQWxlcnRbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmFsZXJ0U2VydmljZS5nZXRBbGVydCgpLnN1YnNjcmliZSgoYWxlcnQ6IEFsZXJ0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghYWxlcnQpIHtcclxuICAgICAgICAgICAgICAgIC8vIGNsZWFyIGFsZXJ0cyB3aGVuIGFuIGVtcHR5IGFsZXJ0IGlzIHJlY2VpdmVkXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0cyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGFkZCBhbGVydCB0byBhcnJheVxyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0cy5wdXNoKGFsZXJ0KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIHJlbW92ZShhbGVydDogQWxlcnQpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0cyA9IHRoaXMuYWxlcnRzLmZpbHRlcih4ID0+IHggIT09IGFsZXJ0KTtcclxuICAgIH1cclxuXHJcbiAgICBjc3NJY29uKGFsZXJ0OiBBbGVydCkge1xyXG4gICAgICAgIGlmICghYWxlcnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFsZXJ0Lmljb24gJiYgYWxlcnQuaWNvbi5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICByZXR1cm4gYWxlcnQuaWNvbjtcclxuXHJcblxyXG4gICAgICAgIGlmICghYWxlcnQudHlwZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzd2l0Y2ggKGFsZXJ0LnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuU3VjY2VzczpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZmFzIGZhLWNoZWNrJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuRGFuZ2VyOlxyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYXMgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUnO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5JbmZvOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdmYXMgZmEtaW5mby1jaXJjbGUnO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjc3NBbGVydChhbGVydDogQWxlcnQpIHtcclxuICAgICAgICBpZiAoIWFsZXJ0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHJldHVybiBjc3MgY2xhc3MgYmFzZWQgb24gYWxlcnQgdHlwZVxyXG4gICAgICAgIHN3aXRjaCAoYWxlcnQudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5QcmltYXJ5OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1wcmltYXJ5JztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuU2Vjb25kYXJ5OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1zZWNvbmRhcnknO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5TdWNjZXNzOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1zdWNjZXNzJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuRGFuZ2VyOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1kYW5nZXInO1xyXG4gICAgICAgICAgICBjYXNlIEFsZXJ0VHlwZS5XYXJuaW5nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC13YXJuaW5nJztcclxuICAgICAgICAgICAgY2FzZSBBbGVydFR5cGUuSW5mbzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnYWxlcnQtaW5mbyc7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLkxpZ2h0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1saWdodCc7XHJcbiAgICAgICAgICAgIGNhc2UgQWxlcnRUeXBlLkRhcms6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2FsZXJ0LWRhcmsnO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdhbGVydC1zZWNvbmRhcnknO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBhbGVydCBvZiBhbGVydHNcIiBjbGFzcz1cImFsZXJ0IHt7IGNzc0FsZXJ0KGFsZXJ0KSB9fSBhbGVydC1kaXNtaXNzaWJsZSBmYWRlIHNob3cgbXQtM1wiIHJvbGU9XCJhbGVydFwiPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKGFsZXJ0KVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBhbGVydC5tZXNzYWdlc1wiPlxyXG4gICAgICAgIDxpICpuZ0lmPVwiY3NzSWNvbihhbGVydClcIiBjbGFzcz1cInt7IGNzc0ljb24oYWxlcnQpIH19XCI+PC9pPlxyXG4gICAgICAgIHt7bWVzc2FnZX19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+Il19
@@ -62,7 +62,8 @@ export class ListToolbarComponent {
62
62
  }
63
63
  create() {
64
64
  const url = UrlHelper.getNoParam(this.router.url);
65
- this.router.navigate([url, 'create', { returnUrl: url + ';filter=1' }]);
65
+ // this.router.navigate([url, 'create', { returnUrl: url + ';filter=1' }]);
66
+ this.router.navigate([url, 'create'], { queryParams: { returnUrl: url + '?filter=1' } });
66
67
  }
67
68
  filter() {
68
69
  this.onFilter.emit();
@@ -105,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
105
106
  }], onExport: [{
106
107
  type: Output
107
108
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBTWpELE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFBNkIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFHM0MsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUVkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBVXBCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBWW5CLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBVW5CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFZbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVVqQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVUzQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCeEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFNeEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFPM0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFwR3RDLENBQUM7SUFLRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFJRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFNRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFJRCxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLENBQWU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFNRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLENBQWU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFJRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFPRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBR0QsTUFBTTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELEtBQUssQ0FBQyxTQUFxQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBSUQsR0FBRztRQUNDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUtELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOztpSEF6R1Esb0JBQW9CO3FHQUFwQixvQkFBb0IsNlVDWGpDLHc5RkFnQ007MkZEckJPLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxrQkFBa0I7NkZBV3hCLFVBQVU7c0JBRGIsS0FBSztnQkFXRixVQUFVO3NCQURiLEtBQUs7Z0JBYUYsVUFBVTtzQkFEYixLQUFLO2dCQVdGLFNBQVM7c0JBRFosS0FBSztnQkFhRixPQUFPO3NCQURWLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLO2dCQVNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsUUFBUTtzQkFBakIsTUFBTTtnQkFpQlAsT0FBTztzQkFETixNQUFNO2dCQU9QLEtBQUs7c0JBREosTUFBTTtnQkFRUCxRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcclxuXHJcbmltcG9ydCB7IFByaW50VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9wcmludC5tb2RlbCc7XHJcbmltcG9ydCB7IENvbnZlcnQsIFVybEhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbGlzdC10b29sYmFyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0VG9vbGJhckNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpbnRUeXBlID0gUHJpbnRUeXBlO1xyXG4gICAgXHJcbiAgICBwcml2YXRlIF9pc0ZpbHRlcmVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGlzRmlsdGVyZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRmlsdGVyZWQ7XHJcbiAgICB9XHJcbiAgICBzZXQgaXNGaWx0ZXJlZCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9pc0ZpbHRlcmVkID0gQ29udmVydC50b0Jvb2xlYW4odik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dDcmVhdGUgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93Q3JlYXRlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Q3JlYXRlO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dDcmVhdGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0NyZWF0ZSA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dGaWx0ZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93RmlsdGVyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93RmlsdGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dGaWx0ZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0ZpbHRlciA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93UHJpbnQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd1ByaW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93UHJpbnQ7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd1ByaW50KHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dQcmludCA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dTdW0gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd1N1bSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1N1bTtcclxuICAgIH1cclxuICAgIHNldCBzaG93U3VtKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dTdW0gPSBDb252ZXJ0LnRvQm9vbGVhbih2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0V4cG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93RXhwb3J0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93RXhwb3J0O1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dFeHBvcnQodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0V4cG9ydCA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25SZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMub25SZWZyZXNoLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gVXJsSGVscGVyLmdldE5vUGFyYW0odGhpcy5yb3V0ZXIudXJsKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsLCAnY3JlYXRlJywgeyByZXR1cm5Vcmw6IHVybCArICc7ZmlsdGVyPTEnIH1dKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZmlsdGVyKCkge1xyXG4gICAgICAgIHRoaXMub25GaWx0ZXIuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25QcmludCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJpbnRUeXBlPigpO1xyXG4gICAgcHJpbnQocHJpbnRUeXBlPzogUHJpbnRUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5vblByaW50LmVtaXQocHJpbnRUeXBlKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uU3VtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgc3VtKCkge1xyXG4gICAgICAgIHRoaXMub25TdW0uZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uRXhwb3J0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBleHBvcnRFeGNlbCgpIHtcclxuICAgICAgICB0aGlzLm9uRXhwb3J0LmVtaXQoMSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiYnRuLXRvb2xiYXJcIiByb2xlPVwidG9vbGJhclwiIGFyaWEtbGFiZWw9XCJUb29sYmFyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1lLTJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQWN0aW9uIGdyb3VwXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dDcmVhdGVcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiY3JlYXRlKClcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLXBsdXNcIj48L2k+IHt7ICdBY3Rpb24uQ3JlYXRlJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1lLTJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiRmlsdGVyIGdyb3VwXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dGaWx0ZXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIFtuZ0NsYXNzXT1cInsnYnRuLW91dGxpbmUtc3VjY2Vzcyc6IGlzRmlsdGVyZWQsICdidG4tc2Vjb25kYXJ5JzogIWlzRmlsdGVyZWQgfVwiIChjbGljayk9XCJmaWx0ZXIoKVwiIGRhdGEtYnMtdG9nZ2xlMD1cIm1vZGFsXCIgZGF0YS1icy1iYWNrZHJvcDA9XCJzdGF0aWNcIiBkYXRhLWJzLXRhcmdldDA9XCIjZmlsdGVyLW1vZGFsXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1maWx0ZXJcIj48L2k+IHt7ICdBY3Rpb24uRmlsdGVyJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiB0aXRsZT1cInt7ICdBY3Rpb24uUmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1yb3RhdGVcIj48L2k+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93UHJpbnRcIiBjbGFzcz1cImJ0bi1ncm91cCBtZS0yXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlByaW50IGdyb3VwXCI+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJwcmludChwcmludFR5cGUuUGRmKVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtcHJpbnRcIj48L2k+IHt7ICdBY3Rpb24uUHJpbnQnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGRyb3Bkb3duLXRvZ2dsZSBkcm9wZG93bi10b2dnbGUtc3BsaXRcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlRvZ2dsZSBEcm9wZG93bjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxsaT48YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiAoY2xpY2spPVwicHJpbnQocHJpbnRUeXBlLlNob3cpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1wcmludFwiPjwvaT4ge3sgJ0FjdGlvbi5QcmludCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJwcmludChwcmludFR5cGUuUGRmKVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtZmlsZS1wZGZcIj48L2k+IHt7ICdBY3Rpb24uUHJpbnQnIHwgdHJhbnNsYXRlIH19IFBERjwvYnV0dG9uPjwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93U3VtXCIgY2xhc3M9XCJidG4tZ3JvdXAgbWUtMlwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJTdW0gZ3JvdXBcIj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInN1bSgpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1zaWdtYVwiPjwvaT4ge3sgJ0FjdGlvbi5TdW0nIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RXhwb3J0XCIgY2xhc3M9XCJidG4tZ3JvdXAgbWUtMlwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJFeHBvcnQgZ3JvdXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidG4tZ3JvdXAtZXhwb3J0XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtZG93bmxvYWRcIj48L2k+IHt7ICdBY3Rpb24uRXhwb3J0JyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgYXJpYS1sYWJlbGxlZGJ5PVwiYnRuLWdyb3VwLWV4cG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwiZXhwb3J0RXhjZWwoKVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtZmlsZS1leGNlbFwiPjwvaT4gRXhjZWw8L2E+PC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBTWpELE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFBNkIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFHM0MsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUVkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBVXBCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBWW5CLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBVW5CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFZbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVVqQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVUzQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQW9CeEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFNeEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFPM0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUF2R3RDLENBQUM7SUFLRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFJRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFNRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFJRCxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLENBQWU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFNRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLENBQWU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFJRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLENBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFPRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQ2hDLEVBQUUsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsR0FBRyxXQUFXLEVBQUUsRUFBRSxDQUNwRCxDQUFDO0lBQ04sQ0FBQztJQUdELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFJRCxLQUFLLENBQUMsU0FBcUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUlELEdBQUc7UUFDQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFLRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7aUhBNUdRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDZVQ1hqQyx3OUZBZ0NNOzJGRHJCTyxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksa0JBQWtCOzZGQVd4QixVQUFVO3NCQURiLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLO2dCQWFGLFVBQVU7c0JBRGIsS0FBSztnQkFXRixTQUFTO3NCQURaLEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLO2dCQVdGLFVBQVU7c0JBRGIsS0FBSztnQkFTSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBb0JQLE9BQU87c0JBRE4sTUFBTTtnQkFPUCxLQUFLO3NCQURKLE1BQU07Z0JBUVAsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcblxyXG5pbXBvcnQgeyBQcmludFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcHJpbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb252ZXJ0LCBVcmxIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWxpc3QtdG9vbGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdFRvb2xiYXJDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgfVxyXG5cclxuICAgIHByaW50VHlwZSA9IFByaW50VHlwZTtcclxuXHJcbiAgICBwcml2YXRlIF9pc0ZpbHRlcmVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGlzRmlsdGVyZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRmlsdGVyZWQ7XHJcbiAgICB9XHJcbiAgICBzZXQgaXNGaWx0ZXJlZCh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9pc0ZpbHRlcmVkID0gQ29udmVydC50b0Jvb2xlYW4odik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dDcmVhdGUgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93Q3JlYXRlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Q3JlYXRlO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dDcmVhdGUodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0NyZWF0ZSA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dGaWx0ZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93RmlsdGVyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93RmlsdGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dGaWx0ZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0ZpbHRlciA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93UHJpbnQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd1ByaW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93UHJpbnQ7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd1ByaW50KHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dQcmludCA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dTdW0gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd1N1bSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1N1bTtcclxuICAgIH1cclxuICAgIHNldCBzaG93U3VtKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dTdW0gPSBDb252ZXJ0LnRvQm9vbGVhbih2KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0V4cG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93RXhwb3J0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93RXhwb3J0O1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dFeHBvcnQodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0V4cG9ydCA9IENvbnZlcnQudG9Cb29sZWFuKHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25SZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMub25SZWZyZXNoLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gVXJsSGVscGVyLmdldE5vUGFyYW0odGhpcy5yb3V0ZXIudXJsKTtcclxuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsLCAnY3JlYXRlJywgeyByZXR1cm5Vcmw6IHVybCArICc7ZmlsdGVyPTEnIH1dKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsLCAnY3JlYXRlJ10sXHJcbiAgICAgICAgICAgIHsgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiB1cmwgKyAnP2ZpbHRlcj0xJyB9IH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBmaWx0ZXIoKSB7XHJcbiAgICAgICAgdGhpcy5vbkZpbHRlci5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblByaW50ID0gbmV3IEV2ZW50RW1pdHRlcjxQcmludFR5cGU+KCk7XHJcbiAgICBwcmludChwcmludFR5cGU/OiBQcmludFR5cGUpIHtcclxuICAgICAgICB0aGlzLm9uUHJpbnQuZW1pdChwcmludFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25TdW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBzdW0oKSB7XHJcbiAgICAgICAgdGhpcy5vblN1bS5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25FeHBvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIGV4cG9ydEV4Y2VsKCkge1xyXG4gICAgICAgIHRoaXMub25FeHBvcnQuZW1pdCgxKTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiIHJvbGU9XCJ0b29sYmFyXCIgYXJpYS1sYWJlbD1cIlRvb2xiYXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbWUtMlwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJBY3Rpb24gZ3JvdXBcIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0NyZWF0ZVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJjcmVhdGUoKVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtcGx1c1wiPjwvaT4ge3sgJ0FjdGlvbi5DcmVhdGUnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbWUtMlwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJGaWx0ZXIgZ3JvdXBcIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0ZpbHRlclwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgW25nQ2xhc3NdPVwieydidG4tb3V0bGluZS1zdWNjZXNzJzogaXNGaWx0ZXJlZCwgJ2J0bi1zZWNvbmRhcnknOiAhaXNGaWx0ZXJlZCB9XCIgKGNsaWNrKT1cImZpbHRlcigpXCIgZGF0YS1icy10b2dnbGUwPVwibW9kYWxcIiBkYXRhLWJzLWJhY2tkcm9wMD1cInN0YXRpY1wiIGRhdGEtYnMtdGFyZ2V0MD1cIiNmaWx0ZXItbW9kYWxcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLWZpbHRlclwiPjwvaT4ge3sgJ0FjdGlvbi5GaWx0ZXInIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIHRpdGxlPVwie3sgJ0FjdGlvbi5SZWZyZXNoJyB8IHRyYW5zbGF0ZSB9fVwiIChjbGljayk9XCJyZWZyZXNoKClcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLXJvdGF0ZVwiPjwvaT48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dQcmludFwiIGNsYXNzPVwiYnRuLWdyb3VwIG1lLTJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiUHJpbnQgZ3JvdXBcIj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInByaW50KHByaW50VHlwZS5QZGYpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1wcmludFwiPjwvaT4ge3sgJ0FjdGlvbi5QcmludCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRvZ2dsZS1zcGxpdFwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+VG9nZ2xlIERyb3Bkb3duPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIChjbGljayk9XCJwcmludChwcmludFR5cGUuU2hvdylcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLXByaW50XCI+PC9pPiB7eyAnQWN0aW9uLlByaW50JyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGk+PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKGNsaWNrKT1cInByaW50KHByaW50VHlwZS5QZGYpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1maWxlLXBkZlwiPjwvaT4ge3sgJ0FjdGlvbi5QcmludCcgfCB0cmFuc2xhdGUgfX0gUERGPC9idXR0b24+PC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dTdW1cIiBjbGFzcz1cImJ0bi1ncm91cCBtZS0yXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlN1bSBncm91cFwiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwic3VtKClcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLXNpZ21hXCI+PC9pPiB7eyAnQWN0aW9uLlN1bScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dFeHBvcnRcIiBjbGFzcz1cImJ0bi1ncm91cCBtZS0yXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIkV4cG9ydCBncm91cFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImJ0bi1ncm91cC1leHBvcnRcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1kb3dubG9hZFwiPjwvaT4ge3sgJ0FjdGlvbi5FeHBvcnQnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJidG4tZ3JvdXAtZXhwb3J0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJleHBvcnRFeGNlbCgpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1maWxlLWV4Y2VsXCI+PC9pPiBFeGNlbDwvYT48L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PiJdfQ==
@@ -53,6 +53,9 @@ export class HttpErrorHandler {
53
53
  else {
54
54
  error = response.error;
55
55
  }
56
+ if (error instanceof ErrorEvent) {
57
+ error = response.error.message;
58
+ }
56
59
  return ObjectHelper.isDefined(error) ? of(error) : of(result);
57
60
  };
58
61
  }
@@ -135,4 +138,4 @@ HttpErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
135
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: HttpErrorHandler, decorators: [{
136
139
  type: Injectable
137
140
  }], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i2.TranslateService }, { type: i3.Router }]; } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9zZXJ2aWNlcy9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBTXRELGdDQUFnQztBQUVoQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQ3FCLEtBQW1CLEVBQ25CLFNBQTJCLEVBQzNCLE1BQWM7UUFGZCxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFbkMsOEVBQThFO1FBQzlFLHNCQUFpQixHQUFHLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBSSxTQUFTLEdBQUcsV0FBVyxFQUFFLFNBQVMsRUFBTyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEssNEJBQXVCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFJLFNBQVMsR0FBRyxXQUFXLEVBQUUsU0FBUyxFQUFPLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBSnJJ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SUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDakMsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLFdBQVc7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5QixNQUFNO1lBRVYsS0FBSyxHQUFHLEVBQUMsV0FBVztnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlCLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxrQkFBa0I7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7Z0JBQzdDLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyx1QkFBdUI7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQzFDLE1BQU07WUFFVjtnQkFDSSxNQUFNO1NBQ2I7SUFDTCxDQUFDOzs2R0EzSVEsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxlcnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LWhlbHBlcic7XHJcblxyXG4vKiogVHlwZSBvZiB0aGUgaGFuZGxlRXJyb3IgZnVuY3Rpb24gcmV0dXJuZWQgYnkgSHR0cEVycm9ySGFuZGxlci5jcmVhdGVIYW5kbGVFcnJvciAqL1xyXG5leHBvcnQgdHlwZSBIYW5kbGVFcnJvciA9IDxUID0gYW55PihvcGVyYXRpb24/OiBzdHJpbmcsIHJlc3VsdD86IFQsIHNob3c/OiBib29sZWFuKSA9PiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBPYnNlcnZhYmxlPFQ+O1xyXG5leHBvcnQgdHlwZSBIYW5kbGVFcnJvclJlc3VsdCA9IDxUID0gYW55PihvcGVyYXRpb24/OiBzdHJpbmcsIHJlc3VsdD86IFQsIHNob3c/OiBib29sZWFuKSA9PiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuLyoqIEhhbmRsZXMgSHR0cENsaWVudCBlcnJvcnMgKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cEVycm9ySGFuZGxlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0OiBBbGVydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gICAgLyoqIENyZWF0ZSBjdXJyaWVkIGhhbmRsZUVycm9yIGZ1bmN0aW9uIHRoYXQgYWxyZWFkeSBrbm93cyB0aGUgc2VydmljZSBuYW1lICovXHJcbiAgICBjcmVhdGVIYW5kbGVFcnJvciA9IChzZXJ2aWNlTmFtZSA9ICcnKSA9PiA8VD4ob3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3cgPSB0cnVlKSA9PiB0aGlzLmhhbmRsZUVycm9yKHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3VsdCwgc2hvdyk7XHJcbiAgICBjcmVhdGVIYW5kbGVFcnJvclJlc3VsdCA9IChzZXJ2aWNlTmFtZSA9ICcnKSA9PiA8VD4ob3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3cgPSB0cnVlKSA9PiB0aGlzLmhhbmRsZUVycm9yUmVzdWx0KHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3VsdCwgc2hvdyk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIEh0dHAgb3BlcmF0aW9uIGZhaWx1cmVzLlxyXG4gICAgICogVGhpcyBlcnJvciBoYW5kbGVyIGxldHMgdGhlIGFwcCBjb250aW51ZSB0byBydW4gYXMgaWYgbm8gZXJyb3Igb2NjdXJyZWQuXHJcbiAgICAgKiBAcGFyYW0gc2VydmljZU5hbWUgPSBuYW1lIG9mIHRoZSBkYXRhIHNlcnZpY2UgdGhhdCBhdHRlbXB0ZWQgdGhlIG9wZXJhdGlvblxyXG4gICAgICogQHBhcmFtIG9wZXJhdGlvbiAtIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiB0aGF0IGZhaWxlZFxyXG4gICAgICogQHBhcmFtIHJlc3VsdCAtIG9wdGlvbmFsIHZhbHVlIHRvIHJldHVybiBhcyB0aGUgb2JzZXJ2YWJsZSByZXN1bHRcclxuICAgICAqIEBwYXJhbSBzaG93IC0gb3B0aW9uYWwgdmFsdWUgdG8gc2hvdyBlcnJvclxyXG4gICAgICovXHJcbiAgICBoYW5kbGVFcnJvcjxUPihzZXJ2aWNlTmFtZSA9ICcnLCBvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdz86IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8VD4gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKHJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzaG93KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvcihzZXJ2aWNlTmFtZSwgb3BlcmF0aW9uLCByZXNwb25zZSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIG9mKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyBIdHRwIG9wZXJhdGlvbiBmYWlsdXJlcy5cclxuICAgICAqIFRoaXMgZXJyb3IgaGFuZGxlciBsZXRzIHRoZSBhcHAgY29udGludWUgdG8gcnVuIGFzIGlmIG5vIGVycm9yIG9jY3VycmVkLlxyXG4gICAgICogQHBhcmFtIHNlcnZpY2VOYW1lID0gbmFtZSBvZiB0aGUgZGF0YSBzZXJ2aWNlIHRoYXQgYXR0ZW1wdGVkIHRoZSBvcGVyYXRpb25cclxuICAgICAqIEBwYXJhbSBvcGVyYXRpb24gLSBuYW1lIG9mIHRoZSBvcGVyYXRpb24gdGhhdCBmYWlsZWRcclxuICAgICAqIEBwYXJhbSBzaG93IC0gb3B0aW9uYWwgdmFsdWUgdG8gc2hvdyBlcnJvclxyXG4gICAgICovXHJcbiAgICBoYW5kbGVFcnJvclJlc3VsdDxUPihzZXJ2aWNlTmFtZSA9ICcnLCBvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdz86IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNob3cpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3BvbnNlKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgZXJyb3I6IGFueTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvciA9PT0gJ3N0cmluZycgJiYgcmVzcG9uc2UuZXJyb3JbMF0gPT09ICd7Jykge1xyXG4gICAgICAgICAgICAgICAgZXJyb3IgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGVycm9yID0gcmVzcG9uc2UuZXJyb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKGVycm9yKSA/IG9mKGVycm9yKSA6IG9mKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBzaG93RXJyb3Ioc2VydmljZU5hbWU6IHN0cmluZywgb3BlcmF0aW9uOiBzdHJpbmcsIHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2Uuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIGNhc2UgMDovL05vIENvbm5lY3Rpb25cclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoYENhbid0IGNvbm5lY3QgdG8gYXBpIHNlcnZlci5gKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDA6Ly9CYWQgUmVxdWVzdFxyXG4gICAgICAgICAgICAgICAgbGV0IGVycm9yOiBhbnk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVycm9yID09PSAnc3RyaW5nJyAmJiByZXNwb25zZS5lcnJvclswXSA9PT0gJ3snKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcihgJHtzZXJ2aWNlTmFtZX06ICR7b3BlcmF0aW9ufSBmYWlsZWQ6ICR7cmVzcG9uc2UuZXJyb3IubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgICAgIH0gaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKHJlc3BvbnNlLmVycm9yIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPSBlcnJvci50cmFjZUlkIHx8IGVycm9yLnN1Y2Nlc3MgPT09IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyb3IuZXJyb3JzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVycm9ycyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBlcnJvcnNbcHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZXMgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgbWVzc2FnZSBvZiBtZXNzYWdlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VLZXkgPSBgVmFsaWRhdGlvbi4ke21lc3NhZ2V9YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRlZE1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KG1lc3NhZ2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRyYW5zbGF0aW9uIG5vdCBmb3VuZCB0aGVuIHVzZSBtZXNzYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VLZXkgPT0gdHJhbnNsYXRlZE1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlZE1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5S2V5ID0gYEZpZWxkcy4ke3Byb3BlcnR5fWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0cmFuc2xhdGVkUHJvcGVydHkgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGBGaWVsZHMuJHtwcm9wZXJ0eX1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgdHJhbnNsYXRpb24gbm90IGZvdW5kIHRoZW4gdXNlIHByb3BlcnR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eUtleSA9PSB0cmFuc2xhdGVkUHJvcGVydHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRQcm9wZXJ0eSA9IHByb3BlcnR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKHRyYW5zbGF0ZWRQcm9wZXJ0eSArICcgLSAnICsgdHJhbnNsYXRlZE1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKHRyYW5zbGF0ZWRNZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5hZGRSYW5nZShBbGVydFR5cGUuRGFuZ2VyLCBlcnJvck1lc3NhZ2VzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDE6Ly9VbmF1dGhvcml6ZWRcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbG9naW4nXSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAzOi8vRm9yYmlkZGVuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdGb3JiaWRkZW4nKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDQ6Ly9Ob3QgRm91bmRcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ05vdCBGb3VuZCcpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwMjovL1BheW1lbnQgUmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ0xpY2Vuc2UgUGF5bWVudCBSZXF1aXJlZCcpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDUwMDovL0ludGVybmFsIFNlcnZlciBFcnJvclxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignSW50ZXJuYWwgU2VydmVyIEVycm9yJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59Il19
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9zZXJ2aWNlcy9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBTXRELGdDQUFnQztBQUVoQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQ3FCLEtBQW1CLEVBQ25CLFNBQTJCLEVBQzNCLE1BQWM7UUFGZCxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFbkMsOEVBQThFO1FBQzlFLHNCQUFpQixHQUFHLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBSSxTQUFTLEdBQUcsV0FBVyxFQUFFLFNBQVMsRUFBTyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEssNEJBQXVCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFJLFNBQVMsR0FBRyxXQUFXLEVBQUUsU0FBUyxFQUFPLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBSnJJ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QVMsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7aUJBQ3hEO2dCQUNELE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxjQUFjO2dCQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBRVYsS0FBSyxHQUFHLEVBQUMsV0FBVztnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlCLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxXQUFXO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUIsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLGtCQUFrQjtnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztnQkFDN0MsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLHVCQUF1QjtnQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUMsTUFBTTtZQUVWO2dCQUNJLE1BQU07U0FDYjtJQUNMLENBQUM7OzZHQWhKUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi91dGlscy9vYmplY3QtaGVscGVyJztcclxuXHJcbi8qKiBUeXBlIG9mIHRoZSBoYW5kbGVFcnJvciBmdW5jdGlvbiByZXR1cm5lZCBieSBIdHRwRXJyb3JIYW5kbGVyLmNyZWF0ZUhhbmRsZUVycm9yICovXHJcbmV4cG9ydCB0eXBlIEhhbmRsZUVycm9yID0gPFQgPSBhbnk+KG9wZXJhdGlvbj86IHN0cmluZywgcmVzdWx0PzogVCwgc2hvdz86IGJvb2xlYW4pID0+IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IE9ic2VydmFibGU8VD47XHJcbmV4cG9ydCB0eXBlIEhhbmRsZUVycm9yUmVzdWx0ID0gPFQgPSBhbnk+KG9wZXJhdGlvbj86IHN0cmluZywgcmVzdWx0PzogVCwgc2hvdz86IGJvb2xlYW4pID0+IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IE9ic2VydmFibGU8VD47XHJcblxyXG4vKiogSGFuZGxlcyBIdHRwQ2xpZW50IGVycm9ycyAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JIYW5kbGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnQ6IEFsZXJ0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgICAvKiogQ3JlYXRlIGN1cnJpZWQgaGFuZGxlRXJyb3IgZnVuY3Rpb24gdGhhdCBhbHJlYWR5IGtub3dzIHRoZSBzZXJ2aWNlIG5hbWUgKi9cclxuICAgIGNyZWF0ZUhhbmRsZUVycm9yID0gKHNlcnZpY2VOYW1lID0gJycpID0+IDxUPihvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdyA9IHRydWUpID0+IHRoaXMuaGFuZGxlRXJyb3Ioc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzdWx0LCBzaG93KTtcclxuICAgIGNyZWF0ZUhhbmRsZUVycm9yUmVzdWx0ID0gKHNlcnZpY2VOYW1lID0gJycpID0+IDxUPihvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdyA9IHRydWUpID0+IHRoaXMuaGFuZGxlRXJyb3JSZXN1bHQoc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzdWx0LCBzaG93KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgSHR0cCBvcGVyYXRpb24gZmFpbHVyZXMuXHJcbiAgICAgKiBUaGlzIGVycm9yIGhhbmRsZXIgbGV0cyB0aGUgYXBwIGNvbnRpbnVlIHRvIHJ1biBhcyBpZiBubyBlcnJvciBvY2N1cnJlZC5cclxuICAgICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSA9IG5hbWUgb2YgdGhlIGRhdGEgc2VydmljZSB0aGF0IGF0dGVtcHRlZCB0aGUgb3BlcmF0aW9uXHJcbiAgICAgKiBAcGFyYW0gb3BlcmF0aW9uIC0gbmFtZSBvZiB0aGUgb3BlcmF0aW9uIHRoYXQgZmFpbGVkXHJcbiAgICAgKiBAcGFyYW0gcmVzdWx0IC0gb3B0aW9uYWwgdmFsdWUgdG8gcmV0dXJuIGFzIHRoZSBvYnNlcnZhYmxlIHJlc3VsdFxyXG4gICAgICogQHBhcmFtIHNob3cgLSBvcHRpb25hbCB2YWx1ZSB0byBzaG93IGVycm9yXHJcbiAgICAgKi9cclxuICAgIGhhbmRsZUVycm9yPFQ+KHNlcnZpY2VOYW1lID0gJycsIG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQgPSB7fSBhcyBULCBzaG93PzogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxUPiA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNob3cpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3BvbnNlKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gb2YocmVzdWx0KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIEh0dHAgb3BlcmF0aW9uIGZhaWx1cmVzLlxyXG4gICAgICogVGhpcyBlcnJvciBoYW5kbGVyIGxldHMgdGhlIGFwcCBjb250aW51ZSB0byBydW4gYXMgaWYgbm8gZXJyb3Igb2NjdXJyZWQuXHJcbiAgICAgKiBAcGFyYW0gc2VydmljZU5hbWUgPSBuYW1lIG9mIHRoZSBkYXRhIHNlcnZpY2UgdGhhdCBhdHRlbXB0ZWQgdGhlIG9wZXJhdGlvblxyXG4gICAgICogQHBhcmFtIG9wZXJhdGlvbiAtIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiB0aGF0IGZhaWxlZFxyXG4gICAgICogQHBhcmFtIHNob3cgLSBvcHRpb25hbCB2YWx1ZSB0byBzaG93IGVycm9yXHJcbiAgICAgKi9cclxuICAgIGhhbmRsZUVycm9yUmVzdWx0PFQ+KHNlcnZpY2VOYW1lID0gJycsIG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQgPSB7fSBhcyBULCBzaG93PzogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihyZXNwb25zZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2hvdykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3Ioc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzcG9uc2UpXHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICBsZXQgZXJyb3I6IGFueTsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVycm9yID09PSAnc3RyaW5nJyAmJiByZXNwb25zZS5lcnJvclswXSA9PT0gJ3snKSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvciA9IEpTT04ucGFyc2UocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvci5tZXNzYWdlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0SGVscGVyLmlzRGVmaW5lZChlcnJvcikgPyBvZihlcnJvcikgOiBvZihyZXN1bHQpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgc2hvd0Vycm9yKHNlcnZpY2VOYW1lOiBzdHJpbmcsIG9wZXJhdGlvbjogc3RyaW5nLCByZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgICAgICBjYXNlIDA6Ly9ObyBDb25uZWN0aW9uXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKGBDYW4ndCBjb25uZWN0IHRvIGFwaSBzZXJ2ZXIuYCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAwOi8vQmFkIFJlcXVlc3RcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvcjogYW55O1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvciA9PT0gJ3N0cmluZycgJiYgcmVzcG9uc2UuZXJyb3JbMF0gPT09ICd7Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gSlNPTi5wYXJzZShyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gcmVzcG9uc2UuZXJyb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoYCR7c2VydmljZU5hbWV9OiAke29wZXJhdGlvbn0gZmFpbGVkOiAke3Jlc3BvbnNlLmVycm9yLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgICAgICB9IGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcihyZXNwb25zZS5lcnJvciBhcyBzdHJpbmcpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gZXJyb3IudHJhY2VJZCB8fCBlcnJvci5zdWNjZXNzID09PSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGVycm9yLmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlcnJvcnMpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gZXJyb3JzW3Byb3BlcnR5XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlS2V5ID0gYFZhbGlkYXRpb24uJHttZXNzYWdlfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0ZWRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChtZXNzYWdlS2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0cmFuc2xhdGlvbiBub3QgZm91bmQgdGhlbiB1c2UgbWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlS2V5ID09IHRyYW5zbGF0ZWRNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eUtleSA9IGBGaWVsZHMuJHtwcm9wZXJ0eX1gO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRlZFByb3BlcnR5ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgRmllbGRzLiR7cHJvcGVydHl9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRyYW5zbGF0aW9uIG5vdCBmb3VuZCB0aGVuIHVzZSBwcm9wZXJ0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHlLZXkgPT0gdHJhbnNsYXRlZFByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVkUHJvcGVydHkgPSBwcm9wZXJ0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaCh0cmFuc2xhdGVkUHJvcGVydHkgKyAnIC0gJyArIHRyYW5zbGF0ZWRNZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaCh0cmFuc2xhdGVkTWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuYWRkUmFuZ2UoQWxlcnRUeXBlLkRhbmdlciwgZXJyb3JNZXNzYWdlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAxOi8vVW5hdXRob3JpemVkXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwMzovL0ZvcmJpZGRlblxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignRm9yYmlkZGVuJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDA0Oi8vTm90IEZvdW5kXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdOb3QgRm91bmQnKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDI6Ly9QYXltZW50IFJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdMaWNlbnNlIFBheW1lbnQgUmVxdWlyZWQnKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA1MDA6Ly9JbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ0ludGVybmFsIFNlcnZlciBFcnJvcicpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSJdfQ==