ngx-vector-components 2.13.1 → 2.14.0
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.
- package/CHANGELOG.md +15 -0
- package/assets/styles/_primeng-custom-theme.scss +10 -2
- package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +1 -1
- package/esm2020/lib/components/menu/menu.component.mjs +9 -9
- package/esm2020/lib/guards/token-is-present.guard.mjs +15 -6
- package/esm2020/lib/services/auth.service.mjs +1 -1
- package/fesm2015/ngx-vector-components.mjs +23 -14
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +23 -14
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/guards/token-is-present.guard.d.ts +5 -4
- package/lib/services/auth.service.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.14.0] (05/05/2022)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- TokenIsPresentGuard changed to support both storage and queryParams token.
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- MenuComponent fixed to take priority on `frameUrl` to make sure `route` can still be used to build the breadcrumbs if needed;
|
|
12
|
+
- Made some changes to the accordion styles.
|
|
13
|
+
|
|
3
14
|
## [2.13.1] (28/04/2022)
|
|
15
|
+
|
|
4
16
|
### Bug Fixes
|
|
5
17
|
|
|
6
18
|
- Fix conflict merge with versions 2.12.0 with 2.13.0.
|
|
19
|
+
|
|
7
20
|
## [2.13.0] (27/04/2022)
|
|
8
21
|
|
|
9
22
|
### Features
|
|
10
23
|
|
|
11
24
|
- Added input valueMovimented in vector-range-value component.
|
|
25
|
+
|
|
12
26
|
### Bug Fixes
|
|
13
27
|
|
|
14
28
|
- Fix Sent API address for endpoint.
|
|
@@ -19,6 +33,7 @@
|
|
|
19
33
|
### Features
|
|
20
34
|
|
|
21
35
|
- MenuItem changed to accept both singular and array of permissions.
|
|
36
|
+
|
|
22
37
|
## [2.11.0] (20/04/2022)
|
|
23
38
|
|
|
24
39
|
### Features
|
|
@@ -629,8 +629,9 @@ p-tabview {
|
|
|
629
629
|
|
|
630
630
|
.p-accordion-header {
|
|
631
631
|
.p-accordion-header-link {
|
|
632
|
-
border-radius:
|
|
632
|
+
border-radius: 16px !important;
|
|
633
633
|
box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, 0.06) !important;
|
|
634
|
+
border: none !important;
|
|
634
635
|
|
|
635
636
|
.p-accordion-toggle-icon {
|
|
636
637
|
margin-right: 0.5rem !important;
|
|
@@ -645,8 +646,15 @@ p-tabview {
|
|
|
645
646
|
|
|
646
647
|
.p-accordion .p-accordion-content {
|
|
647
648
|
border: none !important;
|
|
648
|
-
background:
|
|
649
|
+
background: #ffffff !important;
|
|
650
|
+
border-radius: 16px !important;
|
|
649
651
|
box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, 0.06) !important;
|
|
652
|
+
margin-top: -25px !important;
|
|
653
|
+
padding-top: 35px !important;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.p-accordion-tab {
|
|
657
|
+
margin: 20px 0px;
|
|
650
658
|
}
|
|
651
659
|
|
|
652
660
|
.p-chip {
|
|
@@ -25,7 +25,7 @@ export class MultiselectFieldComponent {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
MultiselectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options" }, ngImport: i0, template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i1.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "
|
|
28
|
+
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options" }, ngImport: i0, template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i1.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ selector: 'vector-multiselect-field', template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
|
|
@@ -131,13 +131,13 @@ export class MenuComponent {
|
|
|
131
131
|
this.activeOption = option.children?.length ? option : undefined;
|
|
132
132
|
}
|
|
133
133
|
if (!option.children?.length) {
|
|
134
|
-
if (option.
|
|
134
|
+
if (option.frameUrl) {
|
|
135
|
+
this.menuService.frameUrl$.next(option.frameUrl);
|
|
136
|
+
}
|
|
137
|
+
else if (option.route) {
|
|
135
138
|
this.router.navigate([option.route]);
|
|
136
139
|
this.menuService.frameUrl$.next(undefined);
|
|
137
140
|
}
|
|
138
|
-
else if (option.frameUrl) {
|
|
139
|
-
this.menuService.frameUrl$.next(option.frameUrl);
|
|
140
|
-
}
|
|
141
141
|
else if (option.externalUrl) {
|
|
142
142
|
window.open(option.externalUrl, '_blank');
|
|
143
143
|
this.menuService.frameUrl$.next(undefined);
|
|
@@ -158,13 +158,13 @@ export class MenuComponent {
|
|
|
158
158
|
this.activeSubmenuOption = submenuItem.children?.length ? submenuItem : undefined;
|
|
159
159
|
}
|
|
160
160
|
if (!submenuItem.children?.length) {
|
|
161
|
-
if (submenuItem.
|
|
161
|
+
if (submenuItem.frameUrl) {
|
|
162
|
+
this.menuService.frameUrl$.next(submenuItem.frameUrl);
|
|
163
|
+
}
|
|
164
|
+
else if (submenuItem.route) {
|
|
162
165
|
this.router.navigate([submenuItem.route]);
|
|
163
166
|
this.menuService.frameUrl$.next(undefined);
|
|
164
167
|
}
|
|
165
|
-
else if (submenuItem.frameUrl) {
|
|
166
|
-
this.menuService.frameUrl$.next(submenuItem.frameUrl);
|
|
167
|
-
}
|
|
168
168
|
else if (submenuItem.externalUrl) {
|
|
169
169
|
window.open(submenuItem.externalUrl, '_blank');
|
|
170
170
|
this.menuService.frameUrl$.next(undefined);
|
|
@@ -297,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
297
297
|
type: HostListener,
|
|
298
298
|
args: ['document:keydown.escape', ['$event']]
|
|
299
299
|
}] } });
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQVksSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBa0V2RCxNQUFNLE9BQU8sYUFBYTtJQTBDeEIsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsY0FBOEIsRUFDUCxXQUFnQixFQUNwQixVQUFrQjtRQUxyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNQLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVE7UUEvQ3hDLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFHekIsZUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FB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QjtzQkFBbEMsTUFBTTtnQkE4R1AsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTekMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwTmFtZSwgTWVudUl0ZW0sIFJvbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZSwgUHJvZmlsZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzaWRlSW5PdXQnLCBbc3RhdGUoJ2luJywgc3R5bGUoeyB3aWR0aDogJzYwcHgnIH0pKSwgc3RhdGUoJ291dCcsIHN0eWxlKHsgd2lkdGg6ICcyNTBweCcgfSkpXSksXHJcbiAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcwJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgd2lkdGg6ICcwJScsXHJcbiAgICAgICAgICAnZm9udC1zaXplJzogJzBlbScsXHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgICAgc3RhdGUoXHJcbiAgICAgICAgJzEnLFxyXG4gICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgIG9wYWNpdHk6IDEsXHJcbiAgICAgICAgICAnZm9udC1zaXplJzogJzFlbScsXHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBhbmltYXRlKCczNTBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcignZmFkZVNlYXJjaEluT3V0JywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMCcsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICAgIHdpZHRoOiAnMCUnLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcwZW0nLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcxZW0nLFxyXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKCcwIDw9PiAxJywgYW5pbWF0ZSgnMzUwbXMgZWFzZS1pbi1vdXQnKSksXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3N1Ym1lbnVGYWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcwJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnMCUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnZml0LWNvbnRlbnQnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBhbmltYXRlKCczNTBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBvcHRpb25zOiBNZW51SXRlbVtdID0gW107XHJcbiAgcHVibGljIGFjdGl2ZU9wdGlvbjogTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGFjdGl2ZVN1Ym1lbnVPcHRpb246IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyB3aWR0aFN0eWxlID0geyB3aWR0aDogJzI1MHB4JyB9O1xyXG4gIHB1YmxpYyBsYXN0QW5pbWF0aW9uID0gJ291dCc7XHJcbiAgcHVibGljIGFwcE5hbWVMYWJlbCA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTmFtZTtcclxuICBwdWJsaWMgYWRtaW5PcHRpb246IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBhcHBzID0gQXBwTmFtZTtcclxuICBwdWJsaWMgcHJvZHVjdGlvbiA9IHRoaXMuZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpIG9uRmluaXNoTWVudU9wdGlvbnNDb25maWcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgc2V0IG9wZW5lZChvcGVuZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX29wZW5lZCA9IG9wZW5lZDtcclxuICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQubmV4dCh0aGlzLm9wZW5lZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG9wZW5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNBbnlNYXJrZXRwbGFjZVBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNBbnlNYXJrZXRwbGFjZVBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0FueUZpbnRlY2hQZXJtaXNzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuaGFzQW55RmludGVjaFBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuZWQgPSB0cnVlO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgY3VycmVudFdpbmRvd1dpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIEBJbmplY3QoJ2FwcE5hbWUnKSBwcml2YXRlIGN1cnJlbnRBcHA6IHN0cmluZ1xyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UudG9nZ2xlTWVudSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLm1vZHVsZVByb2ZpbGUkLnN1YnNjcmliZSgocHJvZmlsZSkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9maWxlKSB7XHJcbiAgICAgICAgICBjb25zdCByb2xlID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRSb2xlKCk7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPVxyXG4gICAgICAgICAgICByb2xlID09PSBSb2xlLkFETUlOXHJcbiAgICAgICAgICAgICAgPyB0aGlzLm1lbnVTZXJ2aWNlLmdldFNpZGVBZG1pbk1lbnVPcHRpb25zKClcclxuICAgICAgICAgICAgICA6IHRoaXMubWVudVNlcnZpY2UuZ2V0U2lkZU1haW5NZW51T3B0aW9ucygpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24gfHwgdGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICB0aGlzLmFkbWluT3B0aW9uID0ge1xyXG4gICAgICAgICAgICAgIGlkOiBgJHs5OTk5OX1gLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiAnQWRtaW4nLFxyXG4gICAgICAgICAgICAgIGljb25GaWxlTmFtZTogJ3ZlY3Rvcl9hZG1pbl9pY29uJyxcclxuICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZG1pbk9wdGlvbi5jaGlsZHJlbj8ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpZDogYCR7OTk5OTkxfWAsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FkbWluIEZpbnRlY2gnLFxyXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9Qb3J0YWwoeyBwb3J0YWw6ICdmaW50ZWNoJywgYWRtaW46IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWRtaW5PcHRpb24uY2hpbGRyZW4/LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWQ6IGAkezk5OTk5Mn1gLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBZG1pbiBNYXJrZXRwbGFjZScsXHJcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ21hcmtldHBsYWNlJywgYWRtaW46IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbixcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5vbkZpbmlzaE1lbnVPcHRpb25zQ29uZmlnLmVtaXQobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuZnJhbWVVcmwkLnN1YnNjcmliZSgoZnJhbWVVcmwpID0+IHtcclxuICAgICAgICBpZiAoZnJhbWVVcmwpIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0U2Vzc2lvbignZnJhbWVVcmwnLCBmcmFtZVVybCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlU2Vzc2lvbignZnJhbWVVcmwnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGZyYW1lVXJsRnJvbVN0b3JhZ2UgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb24oJ2ZyYW1lVXJsJyk7XHJcbiAgICBpZiAoZnJhbWVVcmxGcm9tU3RvcmFnZSkge1xyXG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KGZyYW1lVXJsRnJvbVN0b3JhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VycmVudFdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLm9wZW5lZCAmJiB0aGlzLmN1cnJlbnRXaW5kb3dXaWR0aCAhPT0gd2luZG93LmlubmVyV2lkdGgpIHtcclxuICAgICAgdGhpcy5jbGVhckFuZENsb3NlTWVudSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50V2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KCkge1xyXG4gICAgdGhpcy50b2dnbGVNZW51KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlTWVudSgpIHtcclxuICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgaWYgKCF0aGlzLm9wZW5lZCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5hY3RpdmVTdWJtZW51T3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNpemVNZW51KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25NZW51Q2xpY2sob3B0aW9uOiBNZW51SXRlbSkge1xyXG4gICAgaWYgKCFvcHRpb24uYWx3YXlzT3Blbikge1xyXG4gICAgICBpZiAodGhpcy5hY3RpdmVPcHRpb24/LmlkID09PSBvcHRpb24uaWQpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoID8gb3B0aW9uIDogdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghb3B0aW9uLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBpZiAob3B0aW9uLnJvdXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbb3B0aW9uLnJvdXRlXSk7XHJcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb24uZnJhbWVVcmwpIHtcclxuICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuZnJhbWVVcmwkLm5leHQob3B0aW9uLmZyYW1lVXJsKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbi5leHRlcm5hbFVybCkge1xyXG4gICAgICAgICAgd2luZG93Lm9wZW4ob3B0aW9uLmV4dGVybmFsVXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCAmJiAhdGhpcy5vcGVuZWQpIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TdWJtZW51Q2xpY2soc3VibWVudUl0ZW06IE1lbnVJdGVtKSB7XHJcbiAgICBpZiAoIXN1Ym1lbnVJdGVtLmFsd2F5c09wZW4pIHtcclxuICAgICAgaWYgKHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbj8uaWQgPT09IHN1Ym1lbnVJdGVtPy5pZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSBzdWJtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoID8gc3VibWVudUl0ZW0gOiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdWJtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKHN1Ym1lbnVJdGVtLnJvdXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbc3VibWVudUl0ZW0ucm91dGVdKTtcclxuICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuZnJhbWVVcmwkLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHN1Ym1lbnVJdGVtLmZyYW1lVXJsKSB7XHJcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KHN1Ym1lbnVJdGVtLmZyYW1lVXJsKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHN1Ym1lbnVJdGVtLmV4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihzdWJtZW51SXRlbS5leHRlcm5hbFVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgdGhpcy5tZW51U2VydmljZS5mcmFtZVVybCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc3VibWVudUl0ZW0uY29tbWFuZCkge1xyXG4gICAgICAgICAgc3VibWVudUl0ZW0uY29tbWFuZCgpO1xyXG4gICAgICAgICAgdGhpcy5tZW51U2VydmljZS5mcmFtZVVybCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5UZXJtc09mVXNlKCkge31cclxuXHJcbiAgcHVibGljIGlzUG9ydGFsU2VsZWN0ZWQocG9ydGFsOiBBcHBOYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50QXBwID09PSBwb3J0YWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGVUb1BvcnRhbChwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9KSB7XHJcbiAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMubWVudVNlcnZpY2UubmF2aWdhdGVUb1BvcnRhbChwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1lbnVOb3RpZmljYXRpb25zQ291bnQobWVudTogTWVudUl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVTZXJ2aWNlLm1lbnVOb3RpZmljYXRpb25zW21lbnUuaWQgfHwgJyddO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckFuZENsb3NlTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucmVzaXplTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNpemVNZW51KCkge1xyXG4gICAgdGhpcy5sYXN0QW5pbWF0aW9uID0gdGhpcy5vcGVuZWQgPyAnb3V0JyA6ICdpbic7XHJcbiAgICB0aGlzLndpZHRoU3R5bGUgPSB7IHdpZHRoOiB0aGlzLm9wZW5lZCA/ICcyNTBweCcgOiAnNjBweCcgfTtcclxuICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIiwiPG5hdiBpZD1cIm1lbnVcIiBbbmdTdHlsZV09XCJ3aWR0aFN0eWxlXCIgW0BzaWRlSW5PdXRdPVwibGFzdEFuaW1hdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItbWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxvZ28tY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2dvXCIgW25nQ2xhc3NdPVwieyAnbG9nby1zbWFsbCc6ICFvcGVuZWQgfVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvbnNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXNlY3Rpb25cIj5cclxuICAgICAgPHNwYW4gW25nU3R5bGVdPVwieyBvcGFjaXR5OiBvcGVuZWQgPyAxIDogMCB9XCIgY2xhc3M9XCJtZW51LXNlY3Rpb24tdGl0bGVcIj5TRUxFw4fDg08gREUgUE9SVEFMPC9zcGFuPlxyXG4gICAgICA8dWwgY2xhc3M9XCJzaWRlLW1lbnVcIj5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZC1wb3J0YWwnOiBpc1BvcnRhbFNlbGVjdGVkKGFwcHMuTE9HVEVDSCkgfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbG9ndGVjaCcsIGFkbWluOiBmYWxzZSB9KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lciBzZWxlY3RlZC1wb3J0YWwtaXRlbSBsb2d0ZWNoXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPkNhcmdhczwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiaGFzQW55RmludGVjaFBlcm1pc3Npb25cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkLXBvcnRhbCc6IGlzUG9ydGFsU2VsZWN0ZWQoYXBwcy5GSU5URUNIKSB9XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Qb3J0YWwoeyBwb3J0YWw6ICdmaW50ZWNoJywgYWRtaW46IGZhbHNlIH0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyIHNlbGVjdGVkLXBvcnRhbC1pdGVtIGZpbnRlY2hcIj48L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+Q2FydGVpcmEgZGlnaXRhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiIXByb2R1Y3Rpb25cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkLXBvcnRhbCc6IGlzUG9ydGFsU2VsZWN0ZWQoYXBwcy5NQVJLRVRQTEFDRSkgfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbWFya2V0cGxhY2UnLCBhZG1pbjogZmFsc2UgfSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXIgc2VsZWN0ZWQtcG9ydGFsLWl0ZW0gbWFya2V0cGxhY2VcIj48L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+Q29tYnVzdMOtdmVsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJhZG1pbk9wdGlvbiAmJiAoaGFzRmludGVjaEFkbWluUGVybWlzc2lvbiB8fCBoYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbilcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVDbGljayhhZG1pbk9wdGlvbilcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtbWVudSc6IGFjdGl2ZU9wdGlvbj8uaWQgPT09IGFkbWluT3B0aW9uLmlkIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy92ZWN0b3JfYWRtaW5faWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWxcIj57eyBhZG1pbk9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAqbmdJZj1cIm9wZW5lZCAmJiBhZG1pbk9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZhcyBhbmdsZS1pY29uXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtZG93bic6IGFjdGl2ZU9wdGlvbj8uaWQgIT09IGFkbWluT3B0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXVwJzogYWN0aXZlT3B0aW9uPy5pZCA9PT0gYWRtaW5PcHRpb24uaWRcclxuICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHZlY3Rvci1zdWItbWVudXMtbGlzdFxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZG1pbk9wdGlvbi5jaGlsZHJlblwiXHJcbiAgICAgICAgICAgIFtzaG93TGlzdF09XCJhY3RpdmVPcHRpb24/LmlkID09PSBhZG1pbk9wdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzdWJtZW51U2VsZWN0ZWRdPVwiYWN0aXZlU3VibWVudU9wdGlvblwiXHJcbiAgICAgICAgICAgIChzdWJtZW51U2VsZWN0ZWRDaGFuZ2UpPVwib25TdWJtZW51Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC92ZWN0b3Itc3ViLW1lbnVzLWxpc3Q+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvblwiPlxyXG4gICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7IG9wYWNpdHk6IG9wZW5lZCAmJiBvcHRpb25zPy5sZW5ndGggPyAxIDogMCB9XCIgY2xhc3M9XCJtZW51LXNlY3Rpb24tdGl0bGVcIj5NRU5VPC9zcGFuPlxyXG4gICAgICA8dWwgY2xhc3M9XCJzaWRlLW1lbnVcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtbWVudSc6IGFjdGl2ZU9wdGlvbj8uaWQgPT09IG9wdGlvbi5pZCwgJ2Fsd2F5cy1vcGVuJzogISFvcHRpb24uYWx3YXlzT3BlbiB9XCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWVudUNsaWNrKG9wdGlvbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi5pY29uRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCInLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zLycgKyBvcHRpb24uaWNvbkZpbGVOYW1lICsgJy5zdmcnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1pY29uXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxpICpuZ0lmPVwib3B0aW9uLmljb25cIiBjbGFzcz1cIm1lbnUtaWNvbiB7eyBvcHRpb24uaWNvbiB9fVwiPjwvaT5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldE1lbnVOb3RpZmljYXRpb25zQ291bnQob3B0aW9uKVwiIGNsYXNzPVwibWVudS1ub3RpZmljYXRpb25zLWNvdW50XCI+e3tcclxuICAgICAgICAgICAgICAgIGdldE1lbnVOb3RpZmljYXRpb25zQ291bnQob3B0aW9uKVxyXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlbmVkICYmIG9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoICYmICFvcHRpb24uYWx3YXlzT3BlblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgYW5nbGUtaWNvblwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLWRvd24nOiBhY3RpdmVPcHRpb24/LmlkICE9PSBvcHRpb24uaWQsXHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtdXAnOiBhY3RpdmVPcHRpb24/LmlkID09PSBvcHRpb24uaWRcclxuICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHZlY3Rvci1zdWItbWVudXMtbGlzdFxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb24uY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICBbc2hvd0xpc3RdPVwiYWN0aXZlT3B0aW9uPy5pZCA9PT0gb3B0aW9uLmlkIHx8ICghIW9wdGlvbi5hbHdheXNPcGVuICYmIG9wZW5lZClcIlxyXG4gICAgICAgICAgICBbc3VibWVudVNlbGVjdGVkXT1cImFjdGl2ZVN1Ym1lbnVPcHRpb25cIlxyXG4gICAgICAgICAgICAoc3VibWVudVNlbGVjdGVkQ2hhbmdlKT1cIm9uU3VibWVudUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvdmVjdG9yLXN1Yi1tZW51cy1saXN0PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyIHNpZGUtbWVudS1pdGVtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaWNvbnMvbWVudV9mb290ZXJfaWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbCBmb290ZXItY29udGVudFwiPlxyXG4gICAgICA8c3Bhbj4gVmVqYSBub3NzbyA8YSAoY2xpY2spPVwib3BlblRlcm1zT2ZVc2UoKVwiPlRlcm1vIGRlIHVzbzwvYT4gPC9zcGFuPlxyXG4gICAgICA8c3Bhbj5lIDxhPlBvbMOtdGljYSBkZSBwcml2YWNpZGFkZTwvYT48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG4iXX0=
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQVksSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBa0V2RCxNQUFNLE9BQU8sYUFBYTtJQTBDeEIsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsY0FBOEIsRUFDUCxXQUFnQixFQUNwQixVQUFrQjtRQUxyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNQLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVE7UUEvQ3hDLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFHekIsZUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FB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QjtzQkFBbEMsTUFBTTtnQkE4R1AsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTekMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwTmFtZSwgTWVudUl0ZW0sIFJvbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZSwgUHJvZmlsZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzaWRlSW5PdXQnLCBbc3RhdGUoJ2luJywgc3R5bGUoeyB3aWR0aDogJzYwcHgnIH0pKSwgc3RhdGUoJ291dCcsIHN0eWxlKHsgd2lkdGg6ICcyNTBweCcgfSkpXSksXHJcbiAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcwJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgd2lkdGg6ICcwJScsXHJcbiAgICAgICAgICAnZm9udC1zaXplJzogJzBlbScsXHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgICAgc3RhdGUoXHJcbiAgICAgICAgJzEnLFxyXG4gICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgIG9wYWNpdHk6IDEsXHJcbiAgICAgICAgICAnZm9udC1zaXplJzogJzFlbScsXHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBhbmltYXRlKCczNTBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcignZmFkZVNlYXJjaEluT3V0JywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnMCcsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICAgIHdpZHRoOiAnMCUnLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcwZW0nLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgJ2ZvbnQtc2l6ZSc6ICcxZW0nLFxyXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKCcwIDw9PiAxJywgYW5pbWF0ZSgnMzUwbXMgZWFzZS1pbi1vdXQnKSksXHJcbiAgICBdKSxcclxuICAgIHRyaWdnZXIoJ3N1Ym1lbnVGYWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcwJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnMCUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICcxJyxcclxuICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgaGVpZ2h0OiAnZml0LWNvbnRlbnQnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJzAgPD0+IDEnLCBhbmltYXRlKCczNTBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBvcHRpb25zOiBNZW51SXRlbVtdID0gW107XHJcbiAgcHVibGljIGFjdGl2ZU9wdGlvbjogTWVudUl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGFjdGl2ZVN1Ym1lbnVPcHRpb246IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyB3aWR0aFN0eWxlID0geyB3aWR0aDogJzI1MHB4JyB9O1xyXG4gIHB1YmxpYyBsYXN0QW5pbWF0aW9uID0gJ291dCc7XHJcbiAgcHVibGljIGFwcE5hbWVMYWJlbCA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTmFtZTtcclxuICBwdWJsaWMgYWRtaW5PcHRpb246IE1lbnVJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBhcHBzID0gQXBwTmFtZTtcclxuICBwdWJsaWMgcHJvZHVjdGlvbiA9IHRoaXMuZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpIG9uRmluaXNoTWVudU9wdGlvbnNDb25maWcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgc2V0IG9wZW5lZChvcGVuZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX29wZW5lZCA9IG9wZW5lZDtcclxuICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQubmV4dCh0aGlzLm9wZW5lZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG9wZW5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGVTZXJ2aWNlLmhhc01hcmtldHBsYWNlQWRtaW5QZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBoYXNBbnlNYXJrZXRwbGFjZVBlcm1pc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlU2VydmljZS5oYXNBbnlNYXJrZXRwbGFjZVBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGhhc0FueUZpbnRlY2hQZXJtaXNzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVNlcnZpY2UuaGFzQW55RmludGVjaFBlcm1pc3Npb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuZWQgPSB0cnVlO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgY3VycmVudFdpbmRvd1dpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIEBJbmplY3QoJ2FwcE5hbWUnKSBwcml2YXRlIGN1cnJlbnRBcHA6IHN0cmluZ1xyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UudG9nZ2xlTWVudSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLm1vZHVsZVByb2ZpbGUkLnN1YnNjcmliZSgocHJvZmlsZSkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9maWxlKSB7XHJcbiAgICAgICAgICBjb25zdCByb2xlID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRSb2xlKCk7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPVxyXG4gICAgICAgICAgICByb2xlID09PSBSb2xlLkFETUlOXHJcbiAgICAgICAgICAgICAgPyB0aGlzLm1lbnVTZXJ2aWNlLmdldFNpZGVBZG1pbk1lbnVPcHRpb25zKClcclxuICAgICAgICAgICAgICA6IHRoaXMubWVudVNlcnZpY2UuZ2V0U2lkZU1haW5NZW51T3B0aW9ucygpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmhhc0ZpbnRlY2hBZG1pblBlcm1pc3Npb24gfHwgdGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICB0aGlzLmFkbWluT3B0aW9uID0ge1xyXG4gICAgICAgICAgICAgIGlkOiBgJHs5OTk5OX1gLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiAnQWRtaW4nLFxyXG4gICAgICAgICAgICAgIGljb25GaWxlTmFtZTogJ3ZlY3Rvcl9hZG1pbl9pY29uJyxcclxuICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hZG1pbk9wdGlvbi5jaGlsZHJlbj8ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBpZDogYCR7OTk5OTkxfWAsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0FkbWluIEZpbnRlY2gnLFxyXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9Qb3J0YWwoeyBwb3J0YWw6ICdmaW50ZWNoJywgYWRtaW46IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5oYXNGaW50ZWNoQWRtaW5QZXJtaXNzaW9uLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWRtaW5PcHRpb24uY2hpbGRyZW4/LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWQ6IGAkezk5OTk5Mn1gLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdBZG1pbiBNYXJrZXRwbGFjZScsXHJcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1BvcnRhbCh7IHBvcnRhbDogJ21hcmtldHBsYWNlJywgYWRtaW46IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaGlkZGVuOiAhdGhpcy5oYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbixcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5vbkZpbmlzaE1lbnVPcHRpb25zQ29uZmlnLmVtaXQobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuZnJhbWVVcmwkLnN1YnNjcmliZSgoZnJhbWVVcmwpID0+IHtcclxuICAgICAgICBpZiAoZnJhbWVVcmwpIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0U2Vzc2lvbignZnJhbWVVcmwnLCBmcmFtZVVybCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlU2Vzc2lvbignZnJhbWVVcmwnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGZyYW1lVXJsRnJvbVN0b3JhZ2UgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb24oJ2ZyYW1lVXJsJyk7XHJcbiAgICBpZiAoZnJhbWVVcmxGcm9tU3RvcmFnZSkge1xyXG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KGZyYW1lVXJsRnJvbVN0b3JhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VycmVudFdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLm9wZW5lZCAmJiB0aGlzLmN1cnJlbnRXaW5kb3dXaWR0aCAhPT0gd2luZG93LmlubmVyV2lkdGgpIHtcclxuICAgICAgdGhpcy5jbGVhckFuZENsb3NlTWVudSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50V2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KCkge1xyXG4gICAgdGhpcy50b2dnbGVNZW51KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9nZ2xlTWVudSgpIHtcclxuICAgIHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkO1xyXG4gICAgaWYgKCF0aGlzLm9wZW5lZCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5hY3RpdmVTdWJtZW51T3B0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNpemVNZW51KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25NZW51Q2xpY2sob3B0aW9uOiBNZW51SXRlbSkge1xyXG4gICAgaWYgKCFvcHRpb24uYWx3YXlzT3Blbikge1xyXG4gICAgICBpZiAodGhpcy5hY3RpdmVPcHRpb24/LmlkID09PSBvcHRpb24uaWQpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoID8gb3B0aW9uIDogdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghb3B0aW9uLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBpZiAob3B0aW9uLmZyYW1lVXJsKSB7XHJcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KG9wdGlvbi5mcmFtZVVybCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb24ucm91dGUpIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtvcHRpb24ucm91dGVdKTtcclxuICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuZnJhbWVVcmwkLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbi5leHRlcm5hbFVybCkge1xyXG4gICAgICAgICAgd2luZG93Lm9wZW4ob3B0aW9uLmV4dGVybmFsVXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChvcHRpb24uY2hpbGRyZW4/Lmxlbmd0aCAmJiAhdGhpcy5vcGVuZWQpIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZU1lbnUoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TdWJtZW51Q2xpY2soc3VibWVudUl0ZW06IE1lbnVJdGVtKSB7XHJcbiAgICBpZiAoIXN1Ym1lbnVJdGVtLmFsd2F5c09wZW4pIHtcclxuICAgICAgaWYgKHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbj8uaWQgPT09IHN1Ym1lbnVJdGVtPy5pZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN1Ym1lbnVPcHRpb24gPSBzdWJtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoID8gc3VibWVudUl0ZW0gOiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdWJtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKHN1Ym1lbnVJdGVtLmZyYW1lVXJsKSB7XHJcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmZyYW1lVXJsJC5uZXh0KHN1Ym1lbnVJdGVtLmZyYW1lVXJsKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHN1Ym1lbnVJdGVtLnJvdXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbc3VibWVudUl0ZW0ucm91dGVdKTtcclxuICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuZnJhbWVVcmwkLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHN1Ym1lbnVJdGVtLmV4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihzdWJtZW51SXRlbS5leHRlcm5hbFVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgdGhpcy5tZW51U2VydmljZS5mcmFtZVVybCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc3VibWVudUl0ZW0uY29tbWFuZCkge1xyXG4gICAgICAgICAgc3VibWVudUl0ZW0uY29tbWFuZCgpO1xyXG4gICAgICAgICAgdGhpcy5tZW51U2VydmljZS5mcmFtZVVybCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5UZXJtc09mVXNlKCkge31cclxuXHJcbiAgcHVibGljIGlzUG9ydGFsU2VsZWN0ZWQocG9ydGFsOiBBcHBOYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50QXBwID09PSBwb3J0YWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGVUb1BvcnRhbChwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9KSB7XHJcbiAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMubWVudVNlcnZpY2UubmF2aWdhdGVUb1BvcnRhbChwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1lbnVOb3RpZmljYXRpb25zQ291bnQobWVudTogTWVudUl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVTZXJ2aWNlLm1lbnVOb3RpZmljYXRpb25zW21lbnUuaWQgfHwgJyddO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckFuZENsb3NlTWVudSgpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucmVzaXplTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNpemVNZW51KCkge1xyXG4gICAgdGhpcy5sYXN0QW5pbWF0aW9uID0gdGhpcy5vcGVuZWQgPyAnb3V0JyA6ICdpbic7XHJcbiAgICB0aGlzLndpZHRoU3R5bGUgPSB7IHdpZHRoOiB0aGlzLm9wZW5lZCA/ICcyNTBweCcgOiAnNjBweCcgfTtcclxuICAgIHRoaXMuYWN0aXZlU3VibWVudU9wdGlvbiA9IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIiwiPG5hdiBpZD1cIm1lbnVcIiBbbmdTdHlsZV09XCJ3aWR0aFN0eWxlXCIgW0BzaWRlSW5PdXRdPVwibGFzdEFuaW1hdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItbWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxvZ28tY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2dvXCIgW25nQ2xhc3NdPVwieyAnbG9nby1zbWFsbCc6ICFvcGVuZWQgfVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvbnNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXNlY3Rpb25cIj5cclxuICAgICAgPHNwYW4gW25nU3R5bGVdPVwieyBvcGFjaXR5OiBvcGVuZWQgPyAxIDogMCB9XCIgY2xhc3M9XCJtZW51LXNlY3Rpb24tdGl0bGVcIj5TRUxFw4fDg08gREUgUE9SVEFMPC9zcGFuPlxyXG4gICAgICA8dWwgY2xhc3M9XCJzaWRlLW1lbnVcIj5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZC1wb3J0YWwnOiBpc1BvcnRhbFNlbGVjdGVkKGFwcHMuTE9HVEVDSCkgfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbG9ndGVjaCcsIGFkbWluOiBmYWxzZSB9KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lciBzZWxlY3RlZC1wb3J0YWwtaXRlbSBsb2d0ZWNoXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbFwiPkNhcmdhczwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiaGFzQW55RmludGVjaFBlcm1pc3Npb25cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkLXBvcnRhbCc6IGlzUG9ydGFsU2VsZWN0ZWQoYXBwcy5GSU5URUNIKSB9XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9Qb3J0YWwoeyBwb3J0YWw6ICdmaW50ZWNoJywgYWRtaW46IGZhbHNlIH0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyIHNlbGVjdGVkLXBvcnRhbC1pdGVtIGZpbnRlY2hcIj48L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+Q2FydGVpcmEgZGlnaXRhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiIXByb2R1Y3Rpb25cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkLXBvcnRhbCc6IGlzUG9ydGFsU2VsZWN0ZWQoYXBwcy5NQVJLRVRQTEFDRSkgfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKHsgcG9ydGFsOiAnbWFya2V0cGxhY2UnLCBhZG1pbjogZmFsc2UgfSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXIgc2VsZWN0ZWQtcG9ydGFsLWl0ZW0gbWFya2V0cGxhY2VcIj48L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+Q29tYnVzdMOtdmVsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJhZG1pbk9wdGlvbiAmJiAoaGFzRmludGVjaEFkbWluUGVybWlzc2lvbiB8fCBoYXNNYXJrZXRwbGFjZUFkbWluUGVybWlzc2lvbilcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJzaWRlLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk1lbnVDbGljayhhZG1pbk9wdGlvbilcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtbWVudSc6IGFjdGl2ZU9wdGlvbj8uaWQgPT09IGFkbWluT3B0aW9uLmlkIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy92ZWN0b3JfYWRtaW5faWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtbGFiZWxcIj57eyBhZG1pbk9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAqbmdJZj1cIm9wZW5lZCAmJiBhZG1pbk9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZhcyBhbmdsZS1pY29uXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtZG93bic6IGFjdGl2ZU9wdGlvbj8uaWQgIT09IGFkbWluT3B0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXVwJzogYWN0aXZlT3B0aW9uPy5pZCA9PT0gYWRtaW5PcHRpb24uaWRcclxuICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHZlY3Rvci1zdWItbWVudXMtbGlzdFxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZG1pbk9wdGlvbi5jaGlsZHJlblwiXHJcbiAgICAgICAgICAgIFtzaG93TGlzdF09XCJhY3RpdmVPcHRpb24/LmlkID09PSBhZG1pbk9wdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzdWJtZW51U2VsZWN0ZWRdPVwiYWN0aXZlU3VibWVudU9wdGlvblwiXHJcbiAgICAgICAgICAgIChzdWJtZW51U2VsZWN0ZWRDaGFuZ2UpPVwib25TdWJtZW51Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC92ZWN0b3Itc3ViLW1lbnVzLWxpc3Q+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvblwiPlxyXG4gICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7IG9wYWNpdHk6IG9wZW5lZCAmJiBvcHRpb25zPy5sZW5ndGggPyAxIDogMCB9XCIgY2xhc3M9XCJtZW51LXNlY3Rpb24tdGl0bGVcIj5NRU5VPC9zcGFuPlxyXG4gICAgICA8dWwgY2xhc3M9XCJzaWRlLW1lbnVcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2lkZS1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUtbWVudSc6IGFjdGl2ZU9wdGlvbj8uaWQgPT09IG9wdGlvbi5pZCwgJ2Fsd2F5cy1vcGVuJzogISFvcHRpb24uYWx3YXlzT3BlbiB9XCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTWVudUNsaWNrKG9wdGlvbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9wdGlvbi5pY29uRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCInLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zLycgKyBvcHRpb24uaWNvbkZpbGVOYW1lICsgJy5zdmcnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1pY29uXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxpICpuZ0lmPVwib3B0aW9uLmljb25cIiBjbGFzcz1cIm1lbnUtaWNvbiB7eyBvcHRpb24uaWNvbiB9fVwiPjwvaT5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldE1lbnVOb3RpZmljYXRpb25zQ291bnQob3B0aW9uKVwiIGNsYXNzPVwibWVudS1ub3RpZmljYXRpb25zLWNvdW50XCI+e3tcclxuICAgICAgICAgICAgICAgIGdldE1lbnVOb3RpZmljYXRpb25zQ291bnQob3B0aW9uKVxyXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWxhYmVsXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlbmVkICYmIG9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoICYmICFvcHRpb24uYWx3YXlzT3BlblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgYW5nbGUtaWNvblwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLWRvd24nOiBhY3RpdmVPcHRpb24/LmlkICE9PSBvcHRpb24uaWQsXHJcbiAgICAgICAgICAgICAgICAnZmEtYW5nbGUtdXAnOiBhY3RpdmVPcHRpb24/LmlkID09PSBvcHRpb24uaWRcclxuICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHZlY3Rvci1zdWItbWVudXMtbGlzdFxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb24uY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICBbc2hvd0xpc3RdPVwiYWN0aXZlT3B0aW9uPy5pZCA9PT0gb3B0aW9uLmlkIHx8ICghIW9wdGlvbi5hbHdheXNPcGVuICYmIG9wZW5lZClcIlxyXG4gICAgICAgICAgICBbc3VibWVudVNlbGVjdGVkXT1cImFjdGl2ZVN1Ym1lbnVPcHRpb25cIlxyXG4gICAgICAgICAgICAoc3VibWVudVNlbGVjdGVkQ2hhbmdlKT1cIm9uU3VibWVudUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvdmVjdG9yLXN1Yi1tZW51cy1saXN0PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyIHNpZGUtbWVudS1pdGVtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaWNvbnMvbWVudV9mb290ZXJfaWNvbi5zdmdcIiBjbGFzcz1cIm1lbnUtaWNvblwiIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWVudS1sYWJlbCBmb290ZXItY29udGVudFwiPlxyXG4gICAgICA8c3Bhbj4gVmVqYSBub3NzbyA8YSAoY2xpY2spPVwib3BlblRlcm1zT2ZVc2UoKVwiPlRlcm1vIGRlIHVzbzwvYT4gPC9zcGFuPlxyXG4gICAgICA8c3Bhbj5lIDxhPlBvbMOtdGljYSBkZSBwcml2YWNpZGFkZTwvYT48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvbmF2PlxyXG4iXX0=
|
|
@@ -2,16 +2,25 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../services";
|
|
4
4
|
export class TokenIsPresentGuard {
|
|
5
|
-
constructor(storageService) {
|
|
5
|
+
constructor(storageService, authService) {
|
|
6
6
|
this.storageService = storageService;
|
|
7
|
+
this.authService = authService;
|
|
7
8
|
}
|
|
8
|
-
canActivate() {
|
|
9
|
-
|
|
9
|
+
canActivate(routeSnapshot) {
|
|
10
|
+
if (routeSnapshot.queryParams['tokenGuid']) {
|
|
11
|
+
return this.authService
|
|
12
|
+
.getTokenByGuid(routeSnapshot.queryParams['tokenGuid'])
|
|
13
|
+
.toPromise()
|
|
14
|
+
.then((response) => !!response.accessToken);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return !!this.storageService.getToken();
|
|
18
|
+
}
|
|
10
19
|
}
|
|
11
20
|
}
|
|
12
|
-
TokenIsPresentGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, deps: [{ token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
TokenIsPresentGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, deps: [{ token: i1.StorageService }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
22
|
TokenIsPresentGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard });
|
|
14
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, decorators: [{
|
|
15
24
|
type: Injectable
|
|
16
|
-
}], ctorParameters: function () { return [{ type: i1.StorageService }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i1.AuthService }]; } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4taXMtcHJlc2VudC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2d1YXJkcy90b2tlbi1pcy1wcmVzZW50Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLGNBQThCLEVBQVUsV0FBd0I7UUFBaEUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXhGLFdBQVcsQ0FBQyxhQUFxQztRQUMvQyxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUMsV0FBVztpQkFDcEIsY0FBYyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ3RELFNBQVMsRUFBRTtpQkFDWCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDOztnSEFaVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRva2VuSXNQcmVzZW50R3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7fVxyXG5cclxuICBjYW5BY3RpdmF0ZShyb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XHJcbiAgICBpZiAocm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1sndG9rZW5HdWlkJ10pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2VcclxuICAgICAgICAuZ2V0VG9rZW5CeUd1aWQocm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1sndG9rZW5HdWlkJ10pXHJcbiAgICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiAhIXJlc3BvbnNlLmFjY2Vzc1Rva2VuKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAhIXRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VG9rZW4oKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
70
70
|
type: Inject,
|
|
71
71
|
args: ['environment']
|
|
72
72
|
}] }]; } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUsxQyxNQUFNLE9BQU8sV0FBVztJQU10QixZQUNVLElBQWdCLEVBQ2hCLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGNBQThCLEVBQ1AsV0FBZ0I7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNQLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBVmpDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDekUsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVXhDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUUvRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLGNBQWMs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bXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFByb2ZpbGVTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4nO1xyXG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHJvbGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSb2xlPih0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJvbGUoKSk7XHJcbiAgcHJpdmF0ZSBwYXJlbnRXaW5kb3dVcmwgPSAnJztcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5lbnZpcm9ubWVudC5BUElfVVJMLmVuZHNXaXRoKCcvYXBpJykgPyAnQXV0aCcgOiAnYXBpL0F1dGgnO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICAgIGlmIChwYXJhbXNbJ3BhcmVudCddKSB7XHJcbiAgICAgICAgICB0aGlzLnBhcmVudFdpbmRvd1VybCA9IGRlY29kZVVSSUNvbXBvbmVudChwYXJhbXNbJ3BhcmVudCddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRva2VuQnlHdWlkKHRva2VuR3VpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5iYXNlVXJsfS9UZW1wb3JhcnlBY2Nlc3NUb2tlbi8ke3Rva2VuR3VpZH1gKS5waXBlKFxyXG4gICAgICB0YXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFRva2VuKHJlc3BvbnNlLmFjY2Vzc1Rva2VuKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFVzZXJuYW1lKHJlc3BvbnNlLnVzZXJOYW1lKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFJlZnJlc2hUb2tlbihyZXNwb25zZS5yZWZyZXNoVG9rZW4pO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZVNlcnZpY2UuZ2V0VXNlclByb2ZpbGUoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9rZW5CeVJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW46IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKVxyXG4gICAgICAuc2V0KCduby1zcGlubmVyJywgJ3RydWUnKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihcclxuICAgICAgICBgY29ubmVjdC90b2tlbmAsXHJcbiAgICAgICAgYHVzZXJuYW1lPSR7dGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VybmFtZSgpfSZncmFudF90eXBlPXJlZnJlc2hfdG9rZW4mcmVmcmVzaF90b2tlbj0ke3JlZnJlc2hUb2tlbn1gLFxyXG4gICAgICAgIHsgaGVhZGVycyB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5hY2Nlc3NfdG9rZW4gJiYgcmVzcG9uc2U/LnJlZnJlc2hfdG9rZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRUb2tlbihgQmVhcmVyICR7cmVzcG9uc2UuYWNjZXNzX3Rva2VufWApO1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFJlZnJlc2hUb2tlbihyZXNwb25zZS5yZWZyZXNoX3Rva2VuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdlbmVyYXRlVG9rZW5HdWlkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5iYXNlVXJsfS9UZW1wb3JhcnlBY2Nlc3NUb2tlbi9nZW5lcmF0ZWAsIHtcclxuICAgICAgICBSZWZyZXNoVG9rZW46IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCksXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlPy5hY2Nlc3NUb2tlbiB8fCAnJykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcclxuICAgIGlmICh3aW5kb3cucGFyZW50ID09IHdpbmRvdykge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuZW52aXJvbm1lbnQuUE9SVEFMX1VSTDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoeyBsb2dvdXQ6IHRydWUgfSwgdGhpcy5wYXJlbnRXaW5kb3dVcmwpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -2248,7 +2248,7 @@ class MultiselectFieldComponent {
|
|
|
2248
2248
|
}
|
|
2249
2249
|
}
|
|
2250
2250
|
MultiselectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2251
|
-
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options" }, ngImport: i0, template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i1$7.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "
|
|
2251
|
+
MultiselectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options" }, ngImport: i0, template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i1$7.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2252
2252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
|
|
2253
2253
|
type: Component,
|
|
2254
2254
|
args: [{ selector: 'vector-multiselect-field', template: "<div class=\"input-container\">\r\n <p-multiSelect\r\n #multiselect\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"false\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n optionLabel=\"name\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Mostrar todos\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"true\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n", styles: [":root{--theme-primary: #0046e8;--theme-dark: #3a2b68;--background: #f2f2f7;--font-color: #151515;--disabled-background: #bcbcbc;--placeholder-color: #aaaaaa80;--border-radius: 5px;--theme-primary-transparent: rgba(1, 70, 108, .8);--gray-lighter: #eff0f6;--gray-light: #e5e5ea;--gray-medium: #d9dbe9;--gray-dark: #6e7f88;--gray-darker: #6e7191;--error-color: #fd6a6a;--error-color-dark: #ff4136;--error-color-transparent: #fd6a6a1a;--success-color: #11b797;--success-color-dark: #0e8a71;--theme-light: #0145e8;--warning-color: #e9c429;--cancel-color: #ca024f;--form-labels-color: #4e4b66;--font-color-primary: #3a2b68;--font-color-secondary: rgb(87, 87, 87)}.input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
|
|
@@ -2901,13 +2901,13 @@ class MenuComponent {
|
|
|
2901
2901
|
this.activeOption = ((_b = option.children) === null || _b === void 0 ? void 0 : _b.length) ? option : undefined;
|
|
2902
2902
|
}
|
|
2903
2903
|
if (!((_c = option.children) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
2904
|
-
if (option.
|
|
2904
|
+
if (option.frameUrl) {
|
|
2905
|
+
this.menuService.frameUrl$.next(option.frameUrl);
|
|
2906
|
+
}
|
|
2907
|
+
else if (option.route) {
|
|
2905
2908
|
this.router.navigate([option.route]);
|
|
2906
2909
|
this.menuService.frameUrl$.next(undefined);
|
|
2907
2910
|
}
|
|
2908
|
-
else if (option.frameUrl) {
|
|
2909
|
-
this.menuService.frameUrl$.next(option.frameUrl);
|
|
2910
|
-
}
|
|
2911
2911
|
else if (option.externalUrl) {
|
|
2912
2912
|
window.open(option.externalUrl, '_blank');
|
|
2913
2913
|
this.menuService.frameUrl$.next(undefined);
|
|
@@ -2929,13 +2929,13 @@ class MenuComponent {
|
|
|
2929
2929
|
this.activeSubmenuOption = ((_b = submenuItem.children) === null || _b === void 0 ? void 0 : _b.length) ? submenuItem : undefined;
|
|
2930
2930
|
}
|
|
2931
2931
|
if (!((_c = submenuItem.children) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
2932
|
-
if (submenuItem.
|
|
2932
|
+
if (submenuItem.frameUrl) {
|
|
2933
|
+
this.menuService.frameUrl$.next(submenuItem.frameUrl);
|
|
2934
|
+
}
|
|
2935
|
+
else if (submenuItem.route) {
|
|
2933
2936
|
this.router.navigate([submenuItem.route]);
|
|
2934
2937
|
this.menuService.frameUrl$.next(undefined);
|
|
2935
2938
|
}
|
|
2936
|
-
else if (submenuItem.frameUrl) {
|
|
2937
|
-
this.menuService.frameUrl$.next(submenuItem.frameUrl);
|
|
2938
|
-
}
|
|
2939
2939
|
else if (submenuItem.externalUrl) {
|
|
2940
2940
|
window.open(submenuItem.externalUrl, '_blank');
|
|
2941
2941
|
this.menuService.frameUrl$.next(undefined);
|
|
@@ -3267,18 +3267,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3267
3267
|
}], ctorParameters: function () { return [{ type: StorageService }, { type: i2.Router }]; } });
|
|
3268
3268
|
|
|
3269
3269
|
class TokenIsPresentGuard {
|
|
3270
|
-
constructor(storageService) {
|
|
3270
|
+
constructor(storageService, authService) {
|
|
3271
3271
|
this.storageService = storageService;
|
|
3272
|
+
this.authService = authService;
|
|
3272
3273
|
}
|
|
3273
|
-
canActivate() {
|
|
3274
|
-
|
|
3274
|
+
canActivate(routeSnapshot) {
|
|
3275
|
+
if (routeSnapshot.queryParams['tokenGuid']) {
|
|
3276
|
+
return this.authService
|
|
3277
|
+
.getTokenByGuid(routeSnapshot.queryParams['tokenGuid'])
|
|
3278
|
+
.toPromise()
|
|
3279
|
+
.then((response) => !!response.accessToken);
|
|
3280
|
+
}
|
|
3281
|
+
else {
|
|
3282
|
+
return !!this.storageService.getToken();
|
|
3283
|
+
}
|
|
3275
3284
|
}
|
|
3276
3285
|
}
|
|
3277
|
-
TokenIsPresentGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, deps: [{ token: StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3286
|
+
TokenIsPresentGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, deps: [{ token: StorageService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3278
3287
|
TokenIsPresentGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard });
|
|
3279
3288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, decorators: [{
|
|
3280
3289
|
type: Injectable
|
|
3281
|
-
}], ctorParameters: function () { return [{ type: StorageService }]; } });
|
|
3290
|
+
}], ctorParameters: function () { return [{ type: StorageService }, { type: AuthService }]; } });
|
|
3282
3291
|
|
|
3283
3292
|
class HttpInterceptorProvider {
|
|
3284
3293
|
constructor(storageService, errorMessageService, loadingService, authService, messageService, environment) {
|