@igo2/context 16.3.0 → 17.0.0-next.2
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/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +43 -18
- package/esm2022/lib/context-import-export/context-import-export.module.mjs +10 -66
- package/esm2022/lib/context-import-export/shared/context-export.service.mjs +4 -4
- package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +1 -1
- package/esm2022/lib/context-import-export/shared/context-import.errors.mjs +1 -1
- package/esm2022/lib/context-import-export/shared/context-import.service.mjs +7 -7
- package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +1 -1
- package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +10 -9
- package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +10 -9
- package/esm2022/lib/context-manager/context-form/context-form.component.mjs +32 -16
- package/esm2022/lib/context-manager/context-item/context-item.component.mjs +30 -15
- package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +16 -10
- package/esm2022/lib/context-manager/context-list/context-list.component.mjs +48 -17
- package/esm2022/lib/context-manager/context-manager.module.mjs +23 -102
- package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +12 -9
- package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +47 -18
- package/esm2022/lib/context-manager/index.mjs +19 -1
- package/esm2022/lib/context-manager/shared/context.interface.mjs +1 -1
- package/esm2022/lib/context-manager/shared/context.service.mjs +17 -9
- package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +14 -9
- package/esm2022/lib/context-manager/shared/map-context.directive.mjs +9 -8
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +14 -10
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +25 -11
- package/esm2022/lib/context-map-button/context-map-button.module.mjs +16 -75
- package/esm2022/lib/context-map-button/index.mjs +10 -1
- package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +33 -16
- package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +25 -11
- package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +7 -7
- package/esm2022/lib/context-map-button/user-button/user-button.animation.mjs +1 -1
- package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +24 -13
- package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +17 -9
- package/esm2022/lib/context.module.mjs +9 -11
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/environment/index.mjs +1 -1
- package/esm2022/lib/share-map/index.mjs +9 -1
- package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +36 -18
- package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +28 -15
- package/esm2022/lib/share-map/share-map/share-map.component.mjs +21 -13
- package/esm2022/lib/share-map/share-map.module.mjs +10 -50
- package/esm2022/lib/share-map/shared/share-map.service.mjs +8 -8
- package/esm2022/lib/sidenav/sidenav.component.mjs +29 -16
- package/esm2022/lib/sidenav/sidenav.module.mjs +10 -46
- package/esm2022/public_api.mjs +1 -1
- package/fesm2022/igo2-context.mjs +1363 -1380
- package/fesm2022/igo2-context.mjs.map +1 -1
- package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +3 -2
- package/lib/context-import-export/context-import-export.module.d.ts +4 -15
- package/lib/context-import-export/shared/context-export.utils.d.ts +1 -1
- package/lib/context-import-export/shared/context-import.service.d.ts +1 -1
- package/lib/context-import-export/shared/context-import.utils.d.ts +1 -1
- package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +2 -2
- package/lib/context-manager/context-edit/context-edit.component.d.ts +1 -1
- package/lib/context-manager/context-form/context-form.component.d.ts +2 -2
- package/lib/context-manager/context-item/context-item.component.d.ts +2 -2
- package/lib/context-manager/context-list/context-list-binding.directive.d.ts +4 -2
- package/lib/context-manager/context-list/context-list.component.d.ts +4 -2
- package/lib/context-manager/context-manager.module.d.ts +6 -22
- package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +3 -2
- package/lib/context-manager/context-permissions/context-permissions.component.d.ts +2 -2
- package/lib/context-manager/index.d.ts +7 -0
- package/lib/context-manager/shared/context.interface.d.ts +1 -1
- package/lib/context-manager/shared/context.service.d.ts +5 -1
- package/lib/context-manager/shared/layer-context.directive.d.ts +3 -2
- package/lib/context-manager/shared/map-context.directive.d.ts +2 -2
- package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +2 -2
- package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +1 -1
- package/lib/context-map-button/context-map-button.module.d.ts +5 -18
- package/lib/context-map-button/index.d.ts +4 -0
- package/lib/context-map-button/poi-button/poi-button.component.d.ts +3 -2
- package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +1 -1
- package/lib/context-map-button/poi-button/shared/poi.service.d.ts +1 -1
- package/lib/context-map-button/user-button/user-button.component.d.ts +2 -2
- package/lib/context-map-button/user-button/user-dialog.component.d.ts +2 -2
- package/lib/context.module.d.ts +9 -9
- package/lib/share-map/index.d.ts +4 -0
- package/lib/share-map/share-map/share-map-api.component.d.ts +3 -2
- package/lib/share-map/share-map/share-map-url.component.d.ts +2 -2
- package/lib/share-map/share-map/share-map.component.d.ts +2 -2
- package/lib/share-map/share-map.module.d.ts +4 -11
- package/lib/share-map/shared/share-map.service.d.ts +1 -1
- package/lib/sidenav/sidenav.component.d.ts +2 -2
- package/lib/sidenav/sidenav.module.d.ts +4 -10
- package/locale/en.context.json +200 -200
- package/locale/fr.context.json +200 -200
- package/package.json +12 -12
- package/src/context-theme.scss +5 -5
- package/src/lib/context-manager/context-item/context-item.theming.scss +21 -21
- package/src/lib/context-manager/context-list/context-list.theming.scss +23 -23
- package/src/lib/context-manager/context-manager.theming.scss +7 -7
|
@@ -1,18 +1,23 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
1
2
|
import { ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { CustomHtmlComponent } from '@igo2/common';
|
|
8
|
+
import { MessageService } from '@igo2/core/message';
|
|
3
9
|
import { Clipboard } from '@igo2/utils';
|
|
10
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
11
|
import { combineLatest } from 'rxjs';
|
|
5
12
|
import { ShareMapService } from '../shared/share-map.service';
|
|
6
13
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@igo2/core";
|
|
14
|
+
import * as i1 from "@igo2/core/message";
|
|
8
15
|
import * as i2 from "../shared/share-map.service";
|
|
9
|
-
import * as i3 from "@angular/
|
|
10
|
-
import * as i4 from "@angular/material/
|
|
11
|
-
import * as i5 from "@angular/material/
|
|
12
|
-
import * as i6 from "@angular/material/
|
|
13
|
-
import * as i7 from "@
|
|
14
|
-
import * as i8 from "@igo2/common";
|
|
15
|
-
import * as i9 from "@ngx-translate/core";
|
|
16
|
+
import * as i3 from "@angular/material/form-field";
|
|
17
|
+
import * as i4 from "@angular/material/input";
|
|
18
|
+
import * as i5 from "@angular/material/button";
|
|
19
|
+
import * as i6 from "@angular/material/icon";
|
|
20
|
+
import * as i7 from "@ngx-translate/core";
|
|
16
21
|
export class ShareMapUrlComponent {
|
|
17
22
|
messageService;
|
|
18
23
|
shareMapService;
|
|
@@ -53,13 +58,21 @@ export class ShareMapUrlComponent {
|
|
|
53
58
|
this.messageService.success('igo.context.shareMap.dialog.copyMsg', 'igo.context.shareMap.dialog.copyTitle');
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapUrlComponent, deps: [{ token: i1.MessageService }, { token: i2.ShareMapService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ShareMapUrlComponent, isStandalone: true, selector: "igo-share-map-url", inputs: { map: "map" }, ngImport: i0, template: "<div class=\"igo-input-container linkToShare\">\n <mat-form-field>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"3\"\n [placeholder]=\"'igo.context.shareMap.placeholderLink' | translate\"\n [value]=\"url\"\n ></textarea>\n </mat-form-field>\n\n <div class=\"igo-form-button-group\">\n <button mat-raised-button (click)=\"copyTextToClipboard(textArea)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n {{ 'igo.context.shareMap.copy' | translate }}\n </button>\n </div>\n <div>\n <br />\n <section class=\"mat-typography\">\n <div\n *ngIf=\"('igo.context.shareMap.htmlClarifications' | translate) === ''\"\n >\n <h4 *ngIf=\"('igo.context.shareMap.included' | translate) !== ''\">\n {{ 'igo.context.shareMap.included' | translate }}\n </h4>\n <ul>\n <li *ngIf=\"('igo.context.shareMap.context' | translate) !== ''\">\n {{ 'igo.context.shareMap.context' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.center' | translate) !== ''\">\n {{ 'igo.context.shareMap.center' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.zoom' | translate) !== ''\">\n {{ 'igo.context.shareMap.zoom' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.addedLayers' | translate) !== ''\">\n {{ 'igo.context.shareMap.addedLayers' | translate }}\n </li>\n <li\n *ngIf=\"('igo.context.shareMap.visibleInvisible' | translate) !== ''\"\n >\n {{ 'igo.context.shareMap.visibleInvisible' | translate }}\n </li>\n </ul>\n\n <h4 *ngIf=\"('igo.context.shareMap.excluded' | translate) !== ''\">\n {{ 'igo.context.shareMap.excluded' | translate }}\n </h4>\n <ul>\n <li *ngIf=\"('igo.context.shareMap.order' | translate) !== ''\">\n {{ 'igo.context.shareMap.order' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.opacity' | translate) !== ''\">\n {{ 'igo.context.shareMap.opacity' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.filterOgc' | translate) !== ''\">\n {{ 'igo.context.shareMap.filterOgc' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.filterTime' | translate) !== ''\">\n {{ 'igo.context.shareMap.filterTime' | translate }}\n </li>\n </ul>\n </div>\n <igo-custom-html\n class=\"shareCustomPadding\"\n *ngIf=\"('igo.context.shareMap.htmlClarifications' | translate) !== ''\"\n class=\"mat-typography\"\n [html]=\"'igo.context.shareMap.htmlClarifications' | translate\"\n >\n </igo-custom-html>\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";mat-form-field{width:100%}.linkToShare\\a0 {padding:25px 5px 5px}.linkToShare\\a0 textarea{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0 textarea.textAreaWithButton{width:calc(100% - 60px)}.linkToShare\\a0 mat-form-field>button{float:right;margin:-10px 0}.igo-form-button-group{text-align:center;padding-top:10px}igo-custom-html.shareCustomPadding{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
58
63
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapUrlComponent, decorators: [{
|
|
60
65
|
type: Component,
|
|
61
|
-
args: [{ selector: 'igo-share-map-url',
|
|
62
|
-
|
|
66
|
+
args: [{ selector: 'igo-share-map-url', standalone: true, imports: [
|
|
67
|
+
MatFormFieldModule,
|
|
68
|
+
MatInputModule,
|
|
69
|
+
MatButtonModule,
|
|
70
|
+
MatIconModule,
|
|
71
|
+
NgIf,
|
|
72
|
+
CustomHtmlComponent,
|
|
73
|
+
TranslateModule
|
|
74
|
+
], template: "<div class=\"igo-input-container linkToShare\">\n <mat-form-field>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"3\"\n [placeholder]=\"'igo.context.shareMap.placeholderLink' | translate\"\n [value]=\"url\"\n ></textarea>\n </mat-form-field>\n\n <div class=\"igo-form-button-group\">\n <button mat-raised-button (click)=\"copyTextToClipboard(textArea)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n {{ 'igo.context.shareMap.copy' | translate }}\n </button>\n </div>\n <div>\n <br />\n <section class=\"mat-typography\">\n <div\n *ngIf=\"('igo.context.shareMap.htmlClarifications' | translate) === ''\"\n >\n <h4 *ngIf=\"('igo.context.shareMap.included' | translate) !== ''\">\n {{ 'igo.context.shareMap.included' | translate }}\n </h4>\n <ul>\n <li *ngIf=\"('igo.context.shareMap.context' | translate) !== ''\">\n {{ 'igo.context.shareMap.context' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.center' | translate) !== ''\">\n {{ 'igo.context.shareMap.center' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.zoom' | translate) !== ''\">\n {{ 'igo.context.shareMap.zoom' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.addedLayers' | translate) !== ''\">\n {{ 'igo.context.shareMap.addedLayers' | translate }}\n </li>\n <li\n *ngIf=\"('igo.context.shareMap.visibleInvisible' | translate) !== ''\"\n >\n {{ 'igo.context.shareMap.visibleInvisible' | translate }}\n </li>\n </ul>\n\n <h4 *ngIf=\"('igo.context.shareMap.excluded' | translate) !== ''\">\n {{ 'igo.context.shareMap.excluded' | translate }}\n </h4>\n <ul>\n <li *ngIf=\"('igo.context.shareMap.order' | translate) !== ''\">\n {{ 'igo.context.shareMap.order' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.opacity' | translate) !== ''\">\n {{ 'igo.context.shareMap.opacity' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.filterOgc' | translate) !== ''\">\n {{ 'igo.context.shareMap.filterOgc' | translate }}\n </li>\n <li *ngIf=\"('igo.context.shareMap.filterTime' | translate) !== ''\">\n {{ 'igo.context.shareMap.filterTime' | translate }}\n </li>\n </ul>\n </div>\n <igo-custom-html\n class=\"shareCustomPadding\"\n *ngIf=\"('igo.context.shareMap.htmlClarifications' | translate) !== ''\"\n class=\"mat-typography\"\n [html]=\"'igo.context.shareMap.htmlClarifications' | translate\"\n >\n </igo-custom-html>\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";mat-form-field{width:100%}.linkToShare\\a0 {padding:25px 5px 5px}.linkToShare\\a0 textarea{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0 textarea.textAreaWithButton{width:calc(100% - 60px)}.linkToShare\\a0 mat-form-field>button{float:right;margin:-10px 0}.igo-form-button-group{text-align:center;padding-top:10px}igo-custom-html.shareCustomPadding{padding:0}\n"] }]
|
|
75
|
+
}], ctorParameters: () => [{ type: i1.MessageService }, { type: i2.ShareMapService }, { type: i0.ChangeDetectorRef }], propDecorators: { map: [{
|
|
63
76
|
type: Input
|
|
64
77
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLXVybC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlLW1hcC9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwL3NoYXJlLW1hcC11cmwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7O0FBTzlELE1BQU0sT0FBTyxvQkFBb0I7SUFXckI7SUFDQTtJQUNBO0lBWkYsVUFBVSxDQUFlO0lBRXhCLEdBQUcsQ0FBUztJQUVkLEdBQUcsQ0FBUztJQUNaLGlCQUFpQixHQUFHO1FBQ3pCLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtLQUN2QyxDQUFDO0lBRUYsWUFDVSxjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxLQUF3QjtRQUZ4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFVBQUssR0FBTCxLQUFLLENBQW1CO0lBQy9CLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1lBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU07WUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPO1NBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWMsRUFBRTtRQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQzlDLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQVE7UUFDMUIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUN6QixxQ0FBcUMsRUFDckMsdUNBQXVDLENBQ3hDLENBQUM7U0FDSDtJQUNILENBQUM7d0dBbERVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGlGQ3RCakMseThGQTJFQTs7NEZEckRhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxtQkFBbUI7bUtBT3BCLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFNoYXJlTWFwU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zaGFyZS1tYXAtdXJsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hhcmUtbWFwLXVybC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2hhcmUtbWFwLXVybC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZU1hcFVybENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIG1hcFN0YXRlJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XHJcblxyXG4gIHB1YmxpYyB1cmw6IHN0cmluZztcclxuICBwdWJsaWMgcHVibGljU2hhcmVPcHRpb24gPSB7XHJcbiAgICBsYXllcmxpc3RDb250cm9sczogeyBxdWVyeXN0cmluZzogJycgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNoYXJlTWFwU2VydmljZTogU2hhcmVNYXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNldFVybCgpO1xyXG4gICAgdGhpcy5tYXBTdGF0ZSQkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnN0YXRlJCxcclxuICAgICAgdGhpcy5tYXAuc3RhdHVzJFxyXG4gICAgXSkuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgIHRoaXMucmVzZXRVcmwoKTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzZXRVcmwoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXBTdGF0ZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFVybCh2YWx1ZXM6IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnVybCA9IHRoaXMuc2hhcmVNYXBTZXJ2aWNlLmdldFVybFdpdGhvdXRBcGkoXHJcbiAgICAgIHRoaXMubWFwLFxyXG4gICAgICB0aGlzLnB1YmxpY1NoYXJlT3B0aW9uXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY29weVRleHRUb0NsaXBib2FyZCh0ZXh0QXJlYSkge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KHRleHRBcmVhKTtcclxuICAgIGlmIChzdWNjZXNzZnVsKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgICAnaWdvLmNvbnRleHQuc2hhcmVNYXAuZGlhbG9nLmNvcHlNc2cnLFxyXG4gICAgICAgICdpZ28uY29udGV4dC5zaGFyZU1hcC5kaWFsb2cuY29weVRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lciBsaW5rVG9TaGFyZVwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDx0ZXh0YXJlYVxyXG4gICAgICAjdGV4dEFyZWFcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgcmVhZG9ubHlcclxuICAgICAgcm93cz1cIjNcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LnNoYXJlTWFwLnBsYWNlaG9sZGVyTGluaycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBbdmFsdWVdPVwidXJsXCJcclxuICAgID48L3RleHRhcmVhPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXBcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dEFyZWEpXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cclxuICAgICAge3sgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNvcHknIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPGJyIC8+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuaHRtbENsYXJpZmljYXRpb25zJyB8IHRyYW5zbGF0ZSkgPT09ICcnXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxoNCAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuaW5jbHVkZWQnIHwgdHJhbnNsYXRlKSAhPT0gJydcIj5cclxuICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5pbmNsdWRlZCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2g0PlxyXG4gICAgICAgIDx1bD5cclxuICAgICAgICAgIDxsaSAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuY29udGV4dCcgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxyXG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAuY29udGV4dCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNlbnRlcicgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxyXG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAuY2VudGVyJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDxsaSAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuem9vbScgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxyXG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAuem9vbScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmFkZGVkTGF5ZXJzJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCI+XHJcbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5hZGRlZExheWVycycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLnZpc2libGVJbnZpc2libGUnIHwgdHJhbnNsYXRlKSAhPT0gJydcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAudmlzaWJsZUludmlzaWJsZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuXHJcbiAgICAgICAgPGg0ICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5leGNsdWRlZCcgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxyXG4gICAgICAgICAge3sgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmV4Y2x1ZGVkJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDQ+XHJcbiAgICAgICAgPHVsPlxyXG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5vcmRlcicgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxyXG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAub3JkZXInIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5vcGFjaXR5JyB8IHRyYW5zbGF0ZSkgIT09ICcnXCI+XHJcbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5vcGFjaXR5JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDxsaSAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuZmlsdGVyT2djJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCI+XHJcbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJPZ2MnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJUaW1lJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCI+XHJcbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJUaW1lJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGlnby1jdXN0b20taHRtbFxyXG4gICAgICAgIGNsYXNzPVwic2hhcmVDdXN0b21QYWRkaW5nXCJcclxuICAgICAgICAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuaHRtbENsYXJpZmljYXRpb25zJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCJcclxuICAgICAgICBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICBbaHRtbF09XCInaWdvLmNvbnRleHQuc2hhcmVNYXAuaHRtbENsYXJpZmljYXRpb25zJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgID5cclxuICAgICAgPC9pZ28tY3VzdG9tLWh0bWw+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLXVybC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlLW1hcC9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwL3NoYXJlLW1hcC11cmwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBaUI5RCxNQUFNLE9BQU8sb0JBQW9CO0lBV3JCO0lBQ0E7SUFDQTtJQVpGLFVBQVUsQ0FBZTtJQUV4QixHQUFHLENBQVM7SUFFZCxHQUFHLENBQVM7SUFDWixpQkFBaUIsR0FBRztRQUN6QixpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7S0FDdkMsQ0FBQztJQUVGLFlBQ1UsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsS0FBd0I7UUFGeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUMvQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNO1lBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTztTQUNqQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFjLEVBQUU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUM5QyxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUFRO1FBQzFCLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUN6QixxQ0FBcUMsRUFDckMsdUNBQXVDLENBQ3hDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzt1R0FsRFUsb0JBQW9COzJGQUFwQixvQkFBb0IscUdDdkNqQyxtekZBMkVBLHFnQkQ3Q0ksa0JBQWtCLHlPQUNsQixjQUFjLDBXQUNkLGVBQWUsMk5BQ2YsYUFBYSxvTEFDYixJQUFJLDZGQUNKLG1CQUFtQiw2RUFDbkIsZUFBZTs7MkZBR04sb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNFLG1CQUFtQixjQUdqQixJQUFJLFdBQ1A7d0JBQ1Asa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDaEI7aUpBS1EsR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuXHJcbmltcG9ydCB7IEN1c3RvbUh0bWxDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XHJcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgU2hhcmVNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlLW1hcC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNoYXJlLW1hcC11cmwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgQ3VzdG9tSHRtbENvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlTWFwVXJsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgbWFwU3RhdGUkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgcHVibGljIHVybDogc3RyaW5nO1xyXG4gIHB1YmxpYyBwdWJsaWNTaGFyZU9wdGlvbiA9IHtcclxuICAgIGxheWVybGlzdENvbnRyb2xzOiB7IHF1ZXJ5c3RyaW5nOiAnJyB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgc2hhcmVNYXBTZXJ2aWNlOiBTaGFyZU1hcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2V0VXJsKCk7XHJcbiAgICB0aGlzLm1hcFN0YXRlJCQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuc3RhdGUkLFxyXG4gICAgICB0aGlzLm1hcC5zdGF0dXMkXHJcbiAgICBdKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgdGhpcy5yZXNldFVybCgpO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNldFVybCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFN0YXRlJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0VXJsKHZhbHVlczogYW55ID0ge30pIHtcclxuICAgIHRoaXMudXJsID0gdGhpcy5zaGFyZU1hcFNlcnZpY2UuZ2V0VXJsV2l0aG91dEFwaShcclxuICAgICAgdGhpcy5tYXAsXHJcbiAgICAgIHRoaXMucHVibGljU2hhcmVPcHRpb25cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKHRleHRBcmVhKSB7XHJcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGV4dEFyZWEpO1xyXG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICdpZ28uY29udGV4dC5zaGFyZU1hcC5kaWFsb2cuY29weU1zZycsXHJcbiAgICAgICAgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmRpYWxvZy5jb3B5VGl0bGUnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyIGxpbmtUb1NoYXJlXCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8dGV4dGFyZWFcbiAgICAgICN0ZXh0QXJlYVxuICAgICAgbWF0SW5wdXRcbiAgICAgIHJlYWRvbmx5XG4gICAgICByb3dzPVwiM1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LnNoYXJlTWFwLnBsYWNlaG9sZGVyTGluaycgfCB0cmFuc2xhdGVcIlxuICAgICAgW3ZhbHVlXT1cInVybFwiXG4gICAgPjwvdGV4dGFyZWE+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJ1dHRvbi1ncm91cFwiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dEFyZWEpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNvbnRlbnQtY29weVwiPjwvbWF0LWljb24+XG4gICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAuY29weScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXY+XG4gICAgPGJyIC8+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuaHRtbENsYXJpZmljYXRpb25zJyB8IHRyYW5zbGF0ZSkgPT09ICcnXCJcbiAgICAgID5cbiAgICAgICAgPGg0ICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5pbmNsdWRlZCcgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxuICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5pbmNsdWRlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaSAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuY29udGV4dCcgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxuICAgICAgICAgICAge3sgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNvbnRleHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNlbnRlcicgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxuICAgICAgICAgICAge3sgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNlbnRlcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuem9vbScgfCB0cmFuc2xhdGUpICE9PSAnJ1wiPlxuICAgICAgICAgICAge3sgJ2lnby5jb250ZXh0LnNoYXJlTWFwLnpvb20nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmFkZGVkTGF5ZXJzJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCI+XG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAuYWRkZWRMYXllcnMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC52aXNpYmxlSW52aXNpYmxlJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAudmlzaWJsZUludmlzaWJsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuXG4gICAgICAgIDxoNCAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuZXhjbHVkZWQnIHwgdHJhbnNsYXRlKSAhPT0gJydcIj5cbiAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAuZXhjbHVkZWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLm9yZGVyJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCI+XG4gICAgICAgICAgICB7eyAnaWdvLmNvbnRleHQuc2hhcmVNYXAub3JkZXInIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLm9wYWNpdHknIHwgdHJhbnNsYXRlKSAhPT0gJydcIj5cbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5vcGFjaXR5JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJPZ2MnIHwgdHJhbnNsYXRlKSAhPT0gJydcIj5cbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJPZ2MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmZpbHRlclRpbWUnIHwgdHJhbnNsYXRlKSAhPT0gJydcIj5cbiAgICAgICAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJUaW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpZ28tY3VzdG9tLWh0bWxcbiAgICAgICAgY2xhc3M9XCJzaGFyZUN1c3RvbVBhZGRpbmdcIlxuICAgICAgICAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAuaHRtbENsYXJpZmljYXRpb25zJyB8IHRyYW5zbGF0ZSkgIT09ICcnXCJcbiAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgIFtodG1sXT1cIidpZ28uY29udGV4dC5zaGFyZU1hcC5odG1sQ2xhcmlmaWNhdGlvbnMnIHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgIDwvaWdvLWN1c3RvbS1odG1sPlxuICAgIDwvc2VjdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { NgIf } from '@angular/common';
|
|
1
2
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
4
|
+
import { ConfigService } from '@igo2/core/config';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { ShareMapApiComponent } from './share-map-api.component';
|
|
7
|
+
import { ShareMapUrlComponent } from './share-map-url.component';
|
|
3
8
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@igo2/core";
|
|
5
|
-
import * as i2 from "@angular/
|
|
6
|
-
import * as i3 from "@
|
|
7
|
-
import * as i4 from "./share-map-url.component";
|
|
8
|
-
import * as i5 from "./share-map-api.component";
|
|
9
|
-
import * as i6 from "@ngx-translate/core";
|
|
9
|
+
import * as i1 from "@igo2/core/config";
|
|
10
|
+
import * as i2 from "@angular/material/tabs";
|
|
11
|
+
import * as i3 from "@ngx-translate/core";
|
|
10
12
|
export class ShareMapComponent {
|
|
11
13
|
config;
|
|
12
14
|
map;
|
|
@@ -15,13 +17,19 @@ export class ShareMapComponent {
|
|
|
15
17
|
this.config = config;
|
|
16
18
|
this.hasApi = this.config.getConfig('context.url') ? true : false;
|
|
17
19
|
}
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
19
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ShareMapComponent, isStandalone: true, selector: "igo-share-map", inputs: { map: "map" }, ngImport: i0, template: "<mat-tab-group *ngIf=\"hasApi\">\n <mat-tab [label]=\"'igo.context.shareMap.shareWithApi' | translate\">\n <igo-share-map-api [map]=\"map\"></igo-share-map-api>\n </mat-tab>\n <mat-tab [label]=\"'igo.context.shareMap.shareWithUrl' | translate\">\n <igo-share-map-url [map]=\"map\"></igo-share-map-url>\n </mat-tab>\n</mat-tab-group>\n\n<igo-share-map-url *ngIf=\"!hasApi\" [map]=\"map\"></igo-share-map-url>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: ShareMapApiComponent, selector: "igo-share-map-api", inputs: ["map"] }, { kind: "component", type: ShareMapUrlComponent, selector: "igo-share-map-url", inputs: ["map"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
20
22
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapComponent, decorators: [{
|
|
22
24
|
type: Component,
|
|
23
|
-
args: [{ selector: 'igo-share-map',
|
|
24
|
-
|
|
25
|
+
args: [{ selector: 'igo-share-map', standalone: true, imports: [
|
|
26
|
+
NgIf,
|
|
27
|
+
MatTabsModule,
|
|
28
|
+
ShareMapApiComponent,
|
|
29
|
+
ShareMapUrlComponent,
|
|
30
|
+
TranslateModule
|
|
31
|
+
], template: "<mat-tab-group *ngIf=\"hasApi\">\n <mat-tab [label]=\"'igo.context.shareMap.shareWithApi' | translate\">\n <igo-share-map-api [map]=\"map\"></igo-share-map-api>\n </mat-tab>\n <mat-tab [label]=\"'igo.context.shareMap.shareWithUrl' | translate\">\n <igo-share-map-url [map]=\"map\"></igo-share-map-url>\n </mat-tab>\n</mat-tab-group>\n\n<igo-share-map-url *ngIf=\"!hasApi\" [map]=\"map\"></igo-share-map-url>\n" }]
|
|
32
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }], propDecorators: { map: [{
|
|
25
33
|
type: Input
|
|
26
34
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwL3NoYXJlLW1hcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlLW1hcC9zaGFyZS1tYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQWVqRSxNQUFNLE9BQU8saUJBQWlCO0lBS1I7SUFKWCxHQUFHLENBQVM7SUFFZCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXRCLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEUsQ0FBQzt1R0FQVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixpR0N6QjlCLHFhQVVBLDBERFFJLElBQUksNEZBQ0osYUFBYSw0bUJBQ2Isb0JBQW9CLCtFQUNwQixvQkFBb0IsOEVBQ3BCLGVBQWU7OzJGQUdOLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsZUFBZTtxQkFDaEI7a0ZBR1EsR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcclxuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTaGFyZU1hcEFwaUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmUtbWFwLWFwaS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFyZU1hcFVybENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmUtbWFwLXVybC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2hhcmUtbWFwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hhcmUtbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1tYXAuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgU2hhcmVNYXBBcGlDb21wb25lbnQsXHJcbiAgICBTaGFyZU1hcFVybENvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlTWFwQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgcHVibGljIGhhc0FwaSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSkge1xyXG4gICAgdGhpcy5oYXNBcGkgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2NvbnRleHQudXJsJykgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdGFiLWdyb3VwICpuZ0lmPVwiaGFzQXBpXCI+XG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmNvbnRleHQuc2hhcmVNYXAuc2hhcmVXaXRoQXBpJyB8IHRyYW5zbGF0ZVwiPlxuICAgIDxpZ28tc2hhcmUtbWFwLWFwaSBbbWFwXT1cIm1hcFwiPjwvaWdvLXNoYXJlLW1hcC1hcGk+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgW2xhYmVsXT1cIidpZ28uY29udGV4dC5zaGFyZU1hcC5zaGFyZVdpdGhVcmwnIHwgdHJhbnNsYXRlXCI+XG4gICAgPGlnby1zaGFyZS1tYXAtdXJsIFttYXBdPVwibWFwXCI+PC9pZ28tc2hhcmUtbWFwLXVybD5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuXG48aWdvLXNoYXJlLW1hcC11cmwgKm5nSWY9XCIhaGFzQXBpXCIgW21hcF09XCJtYXBcIj48L2lnby1zaGFyZS1tYXAtdXJsPlxuIl19
|
|
@@ -1,66 +1,26 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { MatInputModule } from '@angular/material/input';
|
|
8
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
9
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
-
import { IgoCustomHtmlModule } from '@igo2/common';
|
|
11
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
12
2
|
import { ShareMapApiComponent } from './share-map/share-map-api.component';
|
|
13
3
|
import { ShareMapUrlComponent } from './share-map/share-map-url.component';
|
|
14
4
|
import { ShareMapComponent } from './share-map/share-map.component';
|
|
15
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated import the components/directives directly or SHARE_MAP_DIRECTIVES for the set
|
|
8
|
+
*/
|
|
16
9
|
export class IgoShareMapModule {
|
|
17
10
|
static forRoot() {
|
|
18
11
|
return {
|
|
19
12
|
ngModule: IgoShareMapModule
|
|
20
13
|
};
|
|
21
14
|
}
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
-
|
|
25
|
-
ReactiveFormsModule,
|
|
26
|
-
MatIconModule,
|
|
27
|
-
MatTooltipModule,
|
|
28
|
-
MatTabsModule,
|
|
29
|
-
MatFormFieldModule,
|
|
30
|
-
MatInputModule,
|
|
31
|
-
MatButtonModule,
|
|
32
|
-
IgoLanguageModule,
|
|
33
|
-
IgoCustomHtmlModule], exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] });
|
|
34
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoShareMapModule, imports: [CommonModule,
|
|
35
|
-
FormsModule,
|
|
36
|
-
ReactiveFormsModule,
|
|
37
|
-
MatIconModule,
|
|
38
|
-
MatTooltipModule,
|
|
39
|
-
MatTabsModule,
|
|
40
|
-
MatFormFieldModule,
|
|
41
|
-
MatInputModule,
|
|
42
|
-
MatButtonModule,
|
|
43
|
-
IgoLanguageModule,
|
|
44
|
-
IgoCustomHtmlModule] });
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoShareMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoShareMapModule, imports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent], exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] });
|
|
17
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoShareMapModule, imports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] });
|
|
45
18
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoShareMapModule, decorators: [{
|
|
47
20
|
type: NgModule,
|
|
48
21
|
args: [{
|
|
49
|
-
imports: [
|
|
50
|
-
|
|
51
|
-
FormsModule,
|
|
52
|
-
ReactiveFormsModule,
|
|
53
|
-
MatIconModule,
|
|
54
|
-
MatTooltipModule,
|
|
55
|
-
MatTabsModule,
|
|
56
|
-
MatFormFieldModule,
|
|
57
|
-
MatInputModule,
|
|
58
|
-
MatButtonModule,
|
|
59
|
-
IgoLanguageModule,
|
|
60
|
-
IgoCustomHtmlModule
|
|
61
|
-
],
|
|
62
|
-
exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent],
|
|
63
|
-
declarations: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent]
|
|
22
|
+
imports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent],
|
|
23
|
+
exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent]
|
|
64
24
|
}]
|
|
65
25
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFcEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7U0FDNUIsQ0FBQztJQUNKLENBQUM7dUdBTFUsaUJBQWlCO3dHQUFqQixpQkFBaUIsWUFIbEIsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLGFBQzdELGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQjt3R0FFNUQsaUJBQWlCLFlBSGxCLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQjs7MkZBRzVELGlCQUFpQjtrQkFKN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztvQkFDeEUsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7aUJBQ3pFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNoYXJlTWFwQXBpQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZS1tYXAvc2hhcmUtbWFwLWFwaS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFyZU1hcFVybENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmUtbWFwL3NoYXJlLW1hcC11cmwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2hhcmVNYXBDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlLW1hcC9zaGFyZS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIGNvbXBvbmVudHMvZGlyZWN0aXZlcyBkaXJlY3RseSBvciBTSEFSRV9NQVBfRElSRUNUSVZFUyBmb3IgdGhlIHNldFxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbU2hhcmVNYXBDb21wb25lbnQsIFNoYXJlTWFwVXJsQ29tcG9uZW50LCBTaGFyZU1hcEFwaUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW1NoYXJlTWFwQ29tcG9uZW50LCBTaGFyZU1hcFVybENvbXBvbmVudCwgU2hhcmVNYXBBcGlDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TaGFyZU1hcE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29TaGFyZU1hcE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb1NoYXJlTWFwTW9kdWxlXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { RouteService } from '@igo2/core';
|
|
2
|
+
import { RouteService } from '@igo2/core/route';
|
|
3
3
|
import { ContextService } from '../../context-manager/shared/context.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../context-manager/shared/context.service";
|
|
6
|
-
import * as i2 from "@igo2/core";
|
|
6
|
+
import * as i2 from "@igo2/core/route";
|
|
7
7
|
export class ShareMapService {
|
|
8
8
|
contextService;
|
|
9
9
|
route;
|
|
@@ -207,15 +207,15 @@ export class ShareMapService {
|
|
|
207
207
|
}
|
|
208
208
|
return addedLayersQueryParams;
|
|
209
209
|
}
|
|
210
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
211
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
210
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapService, deps: [{ token: i1.ContextService }, { token: i2.RouteService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
211
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapService, providedIn: 'root' });
|
|
212
212
|
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ShareMapService, decorators: [{
|
|
214
214
|
type: Injectable,
|
|
215
215
|
args: [{
|
|
216
216
|
providedIn: 'root'
|
|
217
217
|
}]
|
|
218
|
-
}], ctorParameters:
|
|
218
|
+
}], ctorParameters: () => [{ type: i1.ContextService }, { type: i2.RouteService, decorators: [{
|
|
219
219
|
type: Optional
|
|
220
|
-
}] }]
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7OztBQUs5RSxNQUFNLE9BQU8sZUFBZTtJQUloQjtJQUNZO0lBSmQsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUV0QixZQUNVLGNBQThCLEVBQ2xCLEtBQW1CO1FBRC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRXZDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUNwQyxVQUFVLENBQUMsR0FDYixTQUFTLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUFZLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBVyxFQUFFLFVBQVU7UUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDakMsT0FBTyxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVcsRUFBRSxVQUFVLEVBQUUsRUFBVTtRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7U0FDRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVcsRUFBRSxpQkFBaUI7UUFDN0MsSUFDRSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1gsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0I7WUFDdEMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDdkMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUM3QjtZQUNBLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUN2RCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUMxRCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRTFCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUNoRCxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FDakQsQ0FBQztRQUVGLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUNELElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNuQjtRQUVELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDakQsU0FBUyxHQUFHLEdBQUcsVUFBVSxNQUFNLFlBQVksR0FBRyxDQUFDO1lBQy9DLFlBQVksR0FBRyxlQUFlLENBQUM7U0FDaEM7YUFBTTtZQUNMLFNBQVMsR0FBRyxHQUFHLFlBQVksTUFBTSxVQUFVLEdBQUcsQ0FBQztZQUMvQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1NBQzlCO1FBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUU7WUFDaEMsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNaLFNBQVMsSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDaEUsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUU7WUFDeEMsSUFDRSxPQUFPLFlBQVksQ0FBQyxFQUFFLEtBQUssV0FBVztnQkFDdEMsT0FBTyxZQUFZLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFDMUM7Z0JBQ0EsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakU7U0FDRjtRQUVELE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUN4RCxNQUFNLEVBQ04sZUFBZSxFQUNmLEtBQUssQ0FDTixDQUFDO1FBQ0YsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQ3pELE1BQU0sRUFDTixlQUFlLEVBQ2YsTUFBTSxDQUNQLENBQUM7UUFDRixNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDL0QsTUFBTSxFQUNOLGVBQWUsRUFDZixZQUFZLENBQ2IsQ0FBQztRQUNGLE1BQU0scUNBQXFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUNwRSxNQUFNLEVBQ04sZUFBZSxFQUNmLGlCQUFpQixDQUNsQixDQUFDO1FBQ0YsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQ25FLE1BQU0sRUFDTixlQUFlLEVBQ2YsZ0JBQWdCLENBQ2pCLENBQUM7UUFFRixTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUVqRCxNQUFNLElBQUksR0FBRyxHQUFHLE9BQU8sSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsTUFBTSxNQUFNLEdBQUcsR0FBRyxTQUFTLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDckU7UUFFRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNyQixDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSx5QkFBeUIsSUFBSSxHQUFHLElBQUksMEJBQTBCLElBQUksZ0NBQWdDLElBQUkscUNBQXFDLElBQUksb0NBQW9DLFNBQVMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4UyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSx5QkFBeUIsSUFBSSxHQUFHLElBQUksMEJBQTBCLElBQUksZ0NBQWdDLElBQUkscUNBQXFDLElBQUksb0NBQW9DLEVBQUUsQ0FBQztRQUNyUixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM5QixHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ2xEO1FBQ0QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLG1CQUFtQixDQUN6QixNQUFlLEVBQ2YsZUFBc0IsRUFDdEIsV0FBbUI7UUFFbkIsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDaEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FDbEQsRUFBRTtZQUNELElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzVDLElBQUksT0FBTyxHQUFHLGtCQUFrQixDQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksWUFBb0IsQ0FBQztnQkFDekIsUUFBUSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQ25ELEtBQUssS0FBSzt3QkFDUixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxVQUFVOzZCQUN2QyxPQUErQixDQUFDO3dCQUNuQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNqRSxZQUFZOzRCQUNWLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTztnQ0FDMUMsQ0FBQyxDQUFDLFlBQVk7Z0NBQ2QsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7d0JBQ3ZDLE1BQU07b0JBQ1IsS0FBSyxNQUFNLENBQUM7b0JBQ1osS0FBSyxZQUFZLENBQUM7b0JBQ2xCLEtBQUssaUJBQWlCLENBQUM7b0JBQ3ZCLEtBQUssZ0JBQWdCO3dCQUNuQixVQUFVLEdBQUcsa0JBQWtCLENBQzVCLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxDQUFDLEtBQUssQ0FDeEMsQ0FBQzt3QkFDRixNQUFNO2lCQUNUO2dCQUNELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxVQUFVLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUUvRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksWUFBWSxFQUFFO29CQUNoQixNQUFNLFFBQVEsR0FDWCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdkQsQ0FBQyxDQUFDLEdBQUc7d0JBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQztvQkFDVixPQUFPLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxRQUFRLFdBQVcsWUFBWSxFQUFFLENBQUMsQ0FBQztpQkFDcEU7Z0JBQ0QsT0FBTyxHQUFHLEdBQUcsT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUVqQyxJQUNFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxFQUN0RTtvQkFDQSxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLEdBQUcsRUFBRSxPQUFPO3dCQUNaLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixDQUFDO3FCQUM3QixDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7d0JBQ3ZDLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7eUJBQ3pDO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjtRQUVELElBQUksc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksb0JBQW9CLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNwQyxJQUFJLFVBQVUsQ0FBQztZQUNmLElBQUksU0FBUyxDQUFDO1lBQ2Q7Ozs7O1FBS0o7WUFDSSxRQUFRLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDakMsS0FBSyxLQUFLO29CQUNSLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7b0JBQzFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7b0JBQzVDLE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7b0JBQzNDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQzdDLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7b0JBQzdDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7b0JBQy9DLE1BQU07Z0JBQ1IsS0FBSyxpQkFBaUI7b0JBQ3BCLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQzlDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEQsTUFBTTtnQkFDUixLQUFLLGdCQUFnQjtvQkFDbkIsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztvQkFDOUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO29CQUNoRCxNQUFNO2dCQUNSO29CQUNFLFVBQVUsR0FBRyxFQUFFLENBQUM7b0JBQ2hCLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDbEI7WUFFRCxJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUMzQixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkMsa0JBQWtCLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3hDLGlCQUFpQixJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztZQUNILGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7WUFDdkIsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QixzQkFBc0IsR0FBRyxHQUFHLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztTQUNsRztRQUVELE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQzt3R0F0UVUsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUm91dGVTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IExheWVyLCBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XHJcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlTWFwU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZSA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZTogUm91dGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXNbJ2xhbmcnXSkge1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcmxXaXRoQXBpKGZvcm1WYWx1ZXMpIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlXHJcbiAgICAgID8gYCR7bG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWV9P2NvbnRleHQ9JHtcclxuICAgICAgICAgIGZvcm1WYWx1ZXMudXJpXHJcbiAgICAgICAgfSZsYW5nPSR7dGhpcy5sYW5ndWFnZX1gXHJcbiAgICAgIDogYCR7bG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWV9P2NvbnRleHQ9JHtmb3JtVmFsdWVzLnVyaX1gO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29udGV4dFNoYXJlZChtYXA6IElnb01hcCwgZm9ybVZhbHVlcykge1xyXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcclxuICAgIGNvbnRleHQuc2NvcGUgPSAncHVibGljJztcclxuICAgIGNvbnRleHQudGl0bGUgPSBmb3JtVmFsdWVzLnRpdGxlO1xyXG4gICAgY29udGV4dC51cmkgPSBmb3JtVmFsdWVzLnVyaTtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLmNyZWF0ZShjb250ZXh0KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNvbnRleHRTaGFyZWQobWFwOiBJZ29NYXAsIGZvcm1WYWx1ZXMsIGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldENvbnRleHRGcm9tTWFwKG1hcCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoaWQsIHtcclxuICAgICAgdGl0bGU6IGZvcm1WYWx1ZXMudGl0bGUsXHJcbiAgICAgIG1hcDogY29udGV4dC5tYXBcclxuICAgIH0gYXMgRGV0YWlsZWRDb250ZXh0KTtcclxuICB9XHJcblxyXG4gIGdldFVybFdpdGhvdXRBcGkobWFwOiBJZ29NYXAsIHB1YmxpY1NoYXJlT3B0aW9uKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICF0aGlzLnJvdXRlIHx8XHJcbiAgICAgICF0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5IHx8XHJcbiAgICAgICF0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleSB8fFxyXG4gICAgICAhbWFwLnZpZXdDb250cm9sbGVyLmdldFpvb20oKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGxsYyA9IHB1YmxpY1NoYXJlT3B0aW9uLmxheWVybGlzdENvbnRyb2xzLnF1ZXJ5c3RyaW5nO1xyXG5cclxuICAgIGxldCB2aXNpYmxlS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPbkxheWVyc0tleTtcclxuICAgIGxldCBpbnZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleTtcclxuICAgIGNvbnN0IGxheWVycyA9IG1hcC5sYXllcnM7XHJcblxyXG4gICAgY29uc3QgdmlzaWJsZUxheWVycyA9IGxheWVycy5maWx0ZXIoXHJcbiAgICAgIChsYXkpID0+IGxheS52aXNpYmxlICYmICFsYXkuaXNJZ29JbnRlcm5hbExheWVyXHJcbiAgICApO1xyXG4gICAgY29uc3QgaW52aXNpYmxlTGF5ZXJzID0gbGF5ZXJzLmZpbHRlcihcclxuICAgICAgKGxheSkgPT4gIWxheS52aXNpYmxlICYmICFsYXkuaXNJZ29JbnRlcm5hbExheWVyXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh2aXNpYmxlTGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB2aXNpYmxlS2V5ID0gJyc7XHJcbiAgICB9XHJcbiAgICBpZiAoaW52aXNpYmxlTGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBpbnZpc2libGVLZXkgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbGF5ZXJzVXJsID0gJyc7XHJcbiAgICBsZXQgbGF5ZXJzVG9Mb29wID0gW107XHJcbiAgICBpZiAodmlzaWJsZUxheWVycy5sZW5ndGggPiBpbnZpc2libGVMYXllcnMubGVuZ3RoKSB7XHJcbiAgICAgIGxheWVyc1VybCA9IGAke3Zpc2libGVLZXl9PSomJHtpbnZpc2libGVLZXl9PWA7XHJcbiAgICAgIGxheWVyc1RvTG9vcCA9IGludmlzaWJsZUxheWVycztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxheWVyc1VybCA9IGAke2ludmlzaWJsZUtleX09KiYke3Zpc2libGVLZXl9PWA7XHJcbiAgICAgIGxheWVyc1RvTG9vcCA9IHZpc2libGVMYXllcnM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBsYXllciBvZiBsYXllcnNUb0xvb3ApIHtcclxuICAgICAgaWYgKGxheWVyLmlkKSB7XHJcbiAgICAgICAgbGF5ZXJzVXJsICs9IGxheWVyLmlkICsgJywnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb250ZXh0TGF5ZXJzSUQgPSBbXTtcclxuICAgIGNvbnN0IGNvbnRleHRMYXllcnMgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQkLnZhbHVlLmxheWVycztcclxuICAgIGZvciAoY29uc3QgY29udGV4dExheWVyIG9mIGNvbnRleHRMYXllcnMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHR5cGVvZiBjb250ZXh0TGF5ZXIuaWQgIT09ICd1bmRlZmluZWQnIHx8XHJcbiAgICAgICAgdHlwZW9mIGNvbnRleHRMYXllci5zb3VyY2UgIT09ICd1bmRlZmluZWQnXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnRleHRMYXllcnNJRC5wdXNoKGNvbnRleHRMYXllci5pZCB8fCBjb250ZXh0TGF5ZXIuc291cmNlLmlkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXMgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAnd21zJ1xyXG4gICAgKTtcclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXRzID0gdGhpcy5tYWtlTGF5ZXJzQnlTZXJ2aWNlKFxyXG4gICAgICBsYXllcnMsXHJcbiAgICAgIGNvbnRleHRMYXllcnNJRCxcclxuICAgICAgJ3dtdHMnXHJcbiAgICApO1xyXG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc0FyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAnYXJjZ2lzcmVzdCdcclxuICAgICk7XHJcbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zSW1hZ2VBcmNnaXNSZXN0ID0gdGhpcy5tYWtlTGF5ZXJzQnlTZXJ2aWNlKFxyXG4gICAgICBsYXllcnMsXHJcbiAgICAgIGNvbnRleHRMYXllcnNJRCxcclxuICAgICAgJ2ltYWdlYXJjZ2lzcmVzdCdcclxuICAgICk7XHJcbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zVGlsZUFyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAndGlsZWFyY2dpc3Jlc3QnXHJcbiAgICApO1xyXG5cclxuICAgIGxheWVyc1VybCA9IGxheWVyc1VybC5zdWJzdHIoMCwgbGF5ZXJzVXJsLmxlbmd0aCAtIDEpO1xyXG5cclxuICAgIGNvbnN0IHpvb21LZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuem9vbUtleTtcclxuICAgIGNvbnN0IGNlbnRlcktleSA9IHRoaXMucm91dGUub3B0aW9ucy5jZW50ZXJLZXk7XHJcbiAgICBjb25zdCBjb250ZXh0S2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmNvbnRleHRLZXk7XHJcblxyXG4gICAgY29uc3Qgem9vbSA9IGAke3pvb21LZXl9PSR7bWFwLnZpZXdDb250cm9sbGVyLmdldFpvb20oKX1gO1xyXG4gICAgY29uc3QgYXJyYXlDZW50ZXIgPSBtYXAudmlld0NvbnRyb2xsZXIuZ2V0Q2VudGVyKCdFUFNHOjQzMjYnKSB8fCBbXTtcclxuICAgIGNvbnN0IGxvbmcgPSBhcnJheUNlbnRlclswXS50b0ZpeGVkKDUpLnJlcGxhY2UoL1xcLihbXjBdKykwKyQvLCAnLiQxJyk7XHJcbiAgICBjb25zdCBsYXQgPSBhcnJheUNlbnRlclsxXS50b0ZpeGVkKDUpLnJlcGxhY2UoL1xcLihbXjBdKykwKyQvLCAnLiQxJyk7XHJcbiAgICBjb25zdCBjZW50ZXIgPSBgJHtjZW50ZXJLZXl9PSR7bG9uZ30sJHtsYXR9YC5yZXBsYWNlKC8uMDAwMDAvZywgJycpO1xyXG4gICAgbGV0IGNvbnRleHQgPSAnJztcclxuICAgIGlmICh0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQkLnZhbHVlKSB7XHJcbiAgICAgIGNvbnRleHQgPSBgJHtjb250ZXh0S2V5fT0ke3RoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUudXJpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHVybCA9IHRoaXMubGFuZ3VhZ2VcclxuICAgICAgPyBgJHtsb2NhdGlvbi5vcmlnaW59JHtsb2NhdGlvbi5wYXRobmFtZX0/JHtjb250ZXh0fSYke3pvb219JiR7Y2VudGVyfSYke2xheWVyc1VybH0mJHtsbGN9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtc30mJHtsbGN9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtdHN9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc0FyY2dpc1Jlc3R9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc0ltYWdlQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zVGlsZUFyY2dpc1Jlc3R9Jmxhbmc9JHt0aGlzLmxhbmd1YWdlfWBcclxuICAgICAgOiBgJHtsb2NhdGlvbi5vcmlnaW59JHtsb2NhdGlvbi5wYXRobmFtZX0/JHtjb250ZXh0fSYke3pvb219JiR7Y2VudGVyfSYke2xheWVyc1VybH0mJHtsbGN9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtc30mJHtsbGN9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtdHN9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc0FyY2dpc1Jlc3R9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc0ltYWdlQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zVGlsZUFyY2dpc1Jlc3R9YDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XHJcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKC8mJi9nLCAnJicpO1xyXG4gICAgICB1cmwgPSB1cmwuZW5kc1dpdGgoJyYnKSA/IHVybC5zbGljZSgwLCAtMSkgOiB1cmw7XHJcbiAgICB9XHJcbiAgICB1cmwgPSB1cmwuZW5kc1dpdGgoJyYnKSA/IHVybC5zbGljZSgwLCAtMSkgOiB1cmw7XHJcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnPyZ3bScsICcmd20nKTtcclxuICAgIHVybCA9IHVybC5yZXBsYWNlKCc/JicsICc/Jyk7XHJcblxyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFrZUxheWVyc0J5U2VydmljZShcclxuICAgIGxheWVyczogTGF5ZXJbXSxcclxuICAgIGNvbnRleHRMYXllcnNJRDogYW55W10sXHJcbiAgICB0eXBlU2VydmljZTogc3RyaW5nXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzQnlTZXJ2aWNlID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVycy5maWx0ZXIoXHJcbiAgICAgIChsKSA9PiBsLmRhdGFTb3VyY2Uub3B0aW9ucz8udHlwZSA9PT0gdHlwZVNlcnZpY2VcclxuICAgICkpIHtcclxuICAgICAgaWYgKGNvbnRleHRMYXllcnNJRC5pbmRleE9mKGxheWVyLmlkKSA9PT0gLTEpIHtcclxuICAgICAgICBsZXQgbGlua1VybCA9IGVuY29kZVVSSUNvbXBvbmVudCgobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkudXJsKTtcclxuICAgICAgICBsZXQgYWRkZWRMYXllciA9ICcnO1xyXG4gICAgICAgIGxldCBsYXllclZlcnNpb246IHN0cmluZztcclxuICAgICAgICBzd2l0Y2ggKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy50eXBlLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgIGNhc2UgJ3dtcyc6XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFzb3VyY2VPcHRpb25zID0gbGF5ZXIuZGF0YVNvdXJjZVxyXG4gICAgICAgICAgICAgIC5vcHRpb25zIGFzIFdNU0RhdGFTb3VyY2VPcHRpb25zO1xyXG4gICAgICAgICAgICBhZGRlZExheWVyID0gZW5jb2RlVVJJQ29tcG9uZW50KGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlMpO1xyXG4gICAgICAgICAgICBsYXllclZlcnNpb24gPVxyXG4gICAgICAgICAgICAgIGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5WRVJTSU9OID09PSAnMS4zLjAnXHJcbiAgICAgICAgICAgICAgICA/IGxheWVyVmVyc2lvblxyXG4gICAgICAgICAgICAgICAgOiBkYXRhc291cmNlT3B0aW9ucy5wYXJhbXMuVkVSU0lPTjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICd3bXRzJzpcclxuICAgICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAnaW1hZ2VhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcclxuICAgICAgICAgICAgYWRkZWRMYXllciA9IGVuY29kZVVSSUNvbXBvbmVudChcclxuICAgICAgICAgICAgICAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkubGF5ZXJcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGFkZGVkTGF5ZXJQb3NpdGlvbiA9IGAke2FkZGVkTGF5ZXJ9Omlnb3oke2xheWVyLnpJbmRleH1gO1xyXG5cclxuICAgICAgICBsZXQgdmVyc2lvbiA9ICcnO1xyXG4gICAgICAgIGlmIChsYXllclZlcnNpb24pIHtcclxuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID1cclxuICAgICAgICAgICAgKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnVybC5pbmRleE9mKCc/JykgPT09IC0xXHJcbiAgICAgICAgICAgICAgPyAnPydcclxuICAgICAgICAgICAgICA6ICcmJztcclxuICAgICAgICAgIHZlcnNpb24gPSBlbmNvZGVVUklDb21wb25lbnQoYCR7b3BlcmF0b3J9VkVSU0lPTj0ke2xheWVyVmVyc2lvbn1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGlua1VybCA9IGAke2xpbmtVcmx9JHt2ZXJzaW9ufWA7XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICFhZGRlZExheWVyc0J5U2VydmljZS5maW5kKChkZWZpbmVkVXJsKSA9PiBkZWZpbmVkVXJsLnVybCA9PT0gbGlua1VybClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLnB1c2goe1xyXG4gICAgICAgICAgICB1cmw6IGxpbmtVcmwsXHJcbiAgICAgICAgICAgIGxheWVyczogW2FkZGVkTGF5ZXJQb3NpdGlvbl1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhZGRlZExheWVyc0J5U2VydmljZS5mb3JFYWNoKChzZXJ2aWNlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlLnVybCA9PT0gbGlua1VybCkge1xyXG4gICAgICAgICAgICAgIHNlcnZpY2UubGF5ZXJzLnB1c2goYWRkZWRMYXllclBvc2l0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXMgPSAnJztcclxuICAgIGlmIChhZGRlZExheWVyc0J5U2VydmljZS5sZW5ndGggPj0gMSkge1xyXG4gICAgICBsZXQgbGlua1VybEtleTtcclxuICAgICAgbGV0IGxheWVyc0tleTtcclxuICAgICAgLypcclxuICAgICAgY29uc3QgbGlua1VybEtleSA9ICh0eXBlU2VydmljZSA9PT0gJ3dtcycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtc1VybEtleSA6XHJcbiAgICAgICAgKHR5cGVTZXJ2aWNlID09PSAnd210cycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNVcmxLZXkgOiAnJyA7XHJcbiAgICAgIGNvbnN0IGxheWVyc0tleSA9ICh0eXBlU2VydmljZSA9PT0gJ3dtcycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtc0xheWVyc0tleSA6XHJcbiAgICAgICAgKHR5cGVTZXJ2aWNlID09PSAnd210cycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNMYXllcnNLZXkgOiAnJyA7XHJcbiovXHJcbiAgICAgIHN3aXRjaCAodHlwZVNlcnZpY2UudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgIGNhc2UgJ3dtcyc6XHJcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtc1VybEtleTtcclxuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy53bXNMYXllcnNLZXk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd3bXRzJzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleTtcclxuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy53bXRzTGF5ZXJzS2V5O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmFyY2dpc1VybEtleTtcclxuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5hcmNnaXNMYXllcnNLZXk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdpbWFnZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy5pYXJjZ2lzVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNMYXllcnNLZXk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0aWxlYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnRhcmNnaXNVcmxLZXk7XHJcbiAgICAgICAgICBsYXllcnNLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudGFyY2dpc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gJyc7XHJcbiAgICAgICAgICBsYXllcnNLZXkgPSAnJztcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IGxpbmtVcmxRdWVyeVBhcmFtcyA9ICcnO1xyXG4gICAgICBsZXQgbGF5ZXJzUXVlcnlQYXJhbXMgPSAnJztcclxuICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xyXG4gICAgICAgIGxpbmtVcmxRdWVyeVBhcmFtcyArPSBgJHtzZXJ2aWNlLnVybH0sYDtcclxuICAgICAgICBsYXllcnNRdWVyeVBhcmFtcyArPSBgKCR7c2VydmljZS5sYXllcnMuam9pbignLCcpfSksYDtcclxuICAgICAgfSk7XHJcbiAgICAgIGxpbmtVcmxRdWVyeVBhcmFtcyA9IGxpbmtVcmxRdWVyeVBhcmFtcy5lbmRzV2l0aCgnLCcpXHJcbiAgICAgICAgPyBsaW5rVXJsUXVlcnlQYXJhbXMuc2xpY2UoMCwgLTEpXHJcbiAgICAgICAgOiBsaW5rVXJsUXVlcnlQYXJhbXM7XHJcbiAgICAgIGxheWVyc1F1ZXJ5UGFyYW1zID0gbGF5ZXJzUXVlcnlQYXJhbXMuZW5kc1dpdGgoJywnKVxyXG4gICAgICAgID8gbGF5ZXJzUXVlcnlQYXJhbXMuc2xpY2UoMCwgLTEpXHJcbiAgICAgICAgOiBsYXllcnNRdWVyeVBhcmFtcztcclxuICAgICAgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9IGAke2xpbmtVcmxLZXl9PSR7bGlua1VybFF1ZXJ5UGFyYW1zfSYke2xheWVyc0tleX09JHtsYXllcnNRdWVyeVBhcmFtc31gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
220
|
+
}] }] });
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBSzlFLE1BQU0sT0FBTyxlQUFlO0lBSWhCO0lBQ1k7SUFKZCxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRXRCLFlBQ1UsY0FBOEIsRUFDbEIsS0FBbUI7UUFEL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUNwQyxVQUFVLENBQUMsR0FDYixTQUFTLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUFZLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6RSxDQUFD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O1lBQ25CLENBQUM7WUFFRCxJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUMzQixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkMsa0JBQWtCLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3hDLGlCQUFpQixJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztZQUNILGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7WUFDdkIsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QixzQkFBc0IsR0FBRyxHQUFHLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUNuRyxDQUFDO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO3VHQXRRVSxlQUFlOzJHQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3JvdXRlJztcclxuaW1wb3J0IHsgTGF5ZXIsIFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVNYXBTZXJ2aWNlIHtcclxuICBwcml2YXRlIGxhbmd1YWdlID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBSb3V0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcclxuICAgICAgaWYgKHBhcmFtc1snbGFuZyddKSB7XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHBhcmFtc1snbGFuZyddO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVybFdpdGhBcGkoZm9ybVZhbHVlcykge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VcclxuICAgICAgPyBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0/Y29udGV4dD0ke1xyXG4gICAgICAgICAgZm9ybVZhbHVlcy51cmlcclxuICAgICAgICB9Jmxhbmc9JHt0aGlzLmxhbmd1YWdlfWBcclxuICAgICAgOiBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0/Y29udGV4dD0ke2Zvcm1WYWx1ZXMudXJpfWA7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDb250ZXh0U2hhcmVkKG1hcDogSWdvTWFwLCBmb3JtVmFsdWVzKSB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5nZXRDb250ZXh0RnJvbU1hcChtYXApO1xyXG4gICAgY29udGV4dC5zY29wZSA9ICdwdWJsaWMnO1xyXG4gICAgY29udGV4dC50aXRsZSA9IGZvcm1WYWx1ZXMudGl0bGU7XHJcbiAgICBjb250ZXh0LnVyaSA9IGZvcm1WYWx1ZXMudXJpO1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UuY3JlYXRlKGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29udGV4dFNoYXJlZChtYXA6IElnb01hcCwgZm9ybVZhbHVlcywgaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZShpZCwge1xyXG4gICAgICB0aXRsZTogZm9ybVZhbHVlcy50aXRsZSxcclxuICAgICAgbWFwOiBjb250ZXh0Lm1hcFxyXG4gICAgfSBhcyBEZXRhaWxlZENvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXJsV2l0aG91dEFwaShtYXA6IElnb01hcCwgcHVibGljU2hhcmVPcHRpb24pIHtcclxuICAgIGlmIChcclxuICAgICAgIXRoaXMucm91dGUgfHxcclxuICAgICAgIXRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgfHxcclxuICAgICAgIXRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5IHx8XHJcbiAgICAgICFtYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGxjID0gcHVibGljU2hhcmVPcHRpb24ubGF5ZXJsaXN0Q29udHJvbHMucXVlcnlzdHJpbmc7XHJcblxyXG4gICAgbGV0IHZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5O1xyXG4gICAgbGV0IGludmlzaWJsZUtleSA9IHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5O1xyXG4gICAgY29uc3QgbGF5ZXJzID0gbWFwLmxheWVycztcclxuXHJcbiAgICBjb25zdCB2aXNpYmxlTGF5ZXJzID0gbGF5ZXJzLmZpbHRlcihcclxuICAgICAgKGxheSkgPT4gbGF5LnZpc2libGUgJiYgIWxheS5pc0lnb0ludGVybmFsTGF5ZXJcclxuICAgICk7XHJcbiAgICBjb25zdCBpbnZpc2libGVMYXllcnMgPSBsYXllcnMuZmlsdGVyKFxyXG4gICAgICAobGF5KSA9PiAhbGF5LnZpc2libGUgJiYgIWxheS5pc0lnb0ludGVybmFsTGF5ZXJcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHZpc2libGVLZXkgPSAnJztcclxuICAgIH1cclxuICAgIGlmIChpbnZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGludmlzaWJsZUtleSA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBsYXllcnNVcmwgPSAnJztcclxuICAgIGxldCBsYXllcnNUb0xvb3AgPSBbXTtcclxuICAgIGlmICh2aXNpYmxlTGF5ZXJzLmxlbmd0aCA+IGludmlzaWJsZUxheWVycy5sZW5ndGgpIHtcclxuICAgICAgbGF5ZXJzVXJsID0gYCR7dmlzaWJsZUtleX09KiYke2ludmlzaWJsZUtleX09YDtcclxuICAgICAgbGF5ZXJzVG9Mb29wID0gaW52aXNpYmxlTGF5ZXJzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGF5ZXJzVXJsID0gYCR7aW52aXNpYmxlS2V5fT0qJiR7dmlzaWJsZUtleX09YDtcclxuICAgICAgbGF5ZXJzVG9Mb29wID0gdmlzaWJsZUxheWVycztcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVyc1RvTG9vcCkge1xyXG4gICAgICBpZiAobGF5ZXIuaWQpIHtcclxuICAgICAgICBsYXllcnNVcmwgKz0gbGF5ZXIuaWQgKyAnLCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGNvbnRleHRMYXllcnNJRCA9IFtdO1xyXG4gICAgY29uc3QgY29udGV4dExheWVycyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUubGF5ZXJzO1xyXG4gICAgZm9yIChjb25zdCBjb250ZXh0TGF5ZXIgb2YgY29udGV4dExheWVycykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdHlwZW9mIGNvbnRleHRMYXllci5pZCAhPT0gJ3VuZGVmaW5lZCcgfHxcclxuICAgICAgICB0eXBlb2YgY29udGV4dExheWVyLnNvdXJjZSAhPT0gJ3VuZGVmaW5lZCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29udGV4dExheWVyc0lELnB1c2goY29udGV4dExheWVyLmlkIHx8IGNvbnRleHRMYXllci5zb3VyY2UuaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtcyA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShcclxuICAgICAgbGF5ZXJzLFxyXG4gICAgICBjb250ZXh0TGF5ZXJzSUQsXHJcbiAgICAgICd3bXMnXHJcbiAgICApO1xyXG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtdHMgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAnd210cydcclxuICAgICk7XHJcbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShcclxuICAgICAgbGF5ZXJzLFxyXG4gICAgICBjb250ZXh0TGF5ZXJzSUQsXHJcbiAgICAgICdhcmNnaXNyZXN0J1xyXG4gICAgKTtcclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNJbWFnZUFyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAnaW1hZ2VhcmNnaXNyZXN0J1xyXG4gICAgKTtcclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShcclxuICAgICAgbGF5ZXJzLFxyXG4gICAgICBjb250ZXh0TGF5ZXJzSUQsXHJcbiAgICAgICd0aWxlYXJjZ2lzcmVzdCdcclxuICAgICk7XHJcblxyXG4gICAgbGF5ZXJzVXJsID0gbGF5ZXJzVXJsLnN1YnN0cigwLCBsYXllcnNVcmwubGVuZ3RoIC0gMSk7XHJcblxyXG4gICAgY29uc3Qgem9vbUtleSA9IHRoaXMucm91dGUub3B0aW9ucy56b29tS2V5O1xyXG4gICAgY29uc3QgY2VudGVyS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmNlbnRlcktleTtcclxuICAgIGNvbnN0IGNvbnRleHRLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuY29udGV4dEtleTtcclxuXHJcbiAgICBjb25zdCB6b29tID0gYCR7em9vbUtleX09JHttYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpfWA7XHJcbiAgICBjb25zdCBhcnJheUNlbnRlciA9IG1hcC52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIoJ0VQU0c6NDMyNicpIHx8IFtdO1xyXG4gICAgY29uc3QgbG9uZyA9IGFycmF5Q2VudGVyWzBdLnRvRml4ZWQoNSkucmVwbGFjZSgvXFwuKFteMF0rKTArJC8sICcuJDEnKTtcclxuICAgIGNvbnN0IGxhdCA9IGFycmF5Q2VudGVyWzFdLnRvRml4ZWQoNSkucmVwbGFjZSgvXFwuKFteMF0rKTArJC8sICcuJDEnKTtcclxuICAgIGNvbnN0IGNlbnRlciA9IGAke2NlbnRlcktleX09JHtsb25nfSwke2xhdH1gLnJlcGxhY2UoLy4wMDAwMC9nLCAnJyk7XHJcbiAgICBsZXQgY29udGV4dCA9ICcnO1xyXG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUpIHtcclxuICAgICAgY29udGV4dCA9IGAke2NvbnRleHRLZXl9PSR7dGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS51cml9YDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdXJsID0gdGhpcy5sYW5ndWFnZVxyXG4gICAgICA/IGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9JiR7em9vbX0mJHtjZW50ZXJ9JiR7bGF5ZXJzVXJsfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV210c30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zSW1hZ2VBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdH0mbGFuZz0ke3RoaXMubGFuZ3VhZ2V9YFxyXG4gICAgICA6IGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9JiR7em9vbX0mJHtjZW50ZXJ9JiR7bGF5ZXJzVXJsfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV210c30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zSW1hZ2VBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdH1gO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcclxuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XHJcbiAgICAgIHVybCA9IHVybC5lbmRzV2l0aCgnJicpID8gdXJsLnNsaWNlKDAsIC0xKSA6IHVybDtcclxuICAgIH1cclxuICAgIHVybCA9IHVybC5lbmRzV2l0aCgnJicpID8gdXJsLnNsaWNlKDAsIC0xKSA6IHVybDtcclxuICAgIHVybCA9IHVybC5yZXBsYWNlKCc/JndtJywgJyZ3bScpO1xyXG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJz8mJywgJz8nKTtcclxuXHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYWtlTGF5ZXJzQnlTZXJ2aWNlKFxyXG4gICAgbGF5ZXJzOiBMYXllcltdLFxyXG4gICAgY29udGV4dExheWVyc0lEOiBhbnlbXSxcclxuICAgIHR5cGVTZXJ2aWNlOiBzdHJpbmdcclxuICApOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYWRkZWRMYXllcnNCeVNlcnZpY2UgPSBbXTtcclxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzLmZpbHRlcihcclxuICAgICAgKGwpID0+IGwuZGF0YVNvdXJjZS5vcHRpb25zPy50eXBlID09PSB0eXBlU2VydmljZVxyXG4gICAgKSkge1xyXG4gICAgICBpZiAoY29udGV4dExheWVyc0lELmluZGV4T2YobGF5ZXIuaWQpID09PSAtMSkge1xyXG4gICAgICAgIGxldCBsaW5rVXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS51cmwpO1xyXG4gICAgICAgIGxldCBhZGRlZExheWVyID0gJyc7XHJcbiAgICAgICAgbGV0IGxheWVyVmVyc2lvbjogc3RyaW5nO1xyXG4gICAgICAgIHN3aXRjaCAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgY2FzZSAnd21zJzpcclxuICAgICAgICAgICAgY29uc3QgZGF0YXNvdXJjZU9wdGlvbnMgPSBsYXllci5kYXRhU291cmNlXHJcbiAgICAgICAgICAgICAgLm9wdGlvbnMgYXMgV01TRGF0YVNvdXJjZU9wdGlvbnM7XHJcbiAgICAgICAgICAgIGFkZGVkTGF5ZXIgPSBlbmNvZGVVUklDb21wb25lbnQoZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLkxBWUVSUyk7XHJcbiAgICAgICAgICAgIGxheWVyVmVyc2lvbiA9XHJcbiAgICAgICAgICAgICAgZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLlZFUlNJT04gPT09ICcxLjMuMCdcclxuICAgICAgICAgICAgICAgID8gbGF5ZXJWZXJzaW9uXHJcbiAgICAgICAgICAgICAgICA6IGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5WRVJTSU9OO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxyXG4gICAgICAgICAgY2FzZSAnYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBjYXNlICdpbWFnZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAndGlsZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgICBhZGRlZExheWVyID0gZW5jb2RlVVJJQ29tcG9uZW50KFxyXG4gICAgICAgICAgICAgIChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5sYXllclxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYWRkZWRMYXllclBvc2l0aW9uID0gYCR7YWRkZWRMYXllcn06aWdveiR7bGF5ZXIuekluZGV4fWA7XHJcblxyXG4gICAgICAgIGxldCB2ZXJzaW9uID0gJyc7XHJcbiAgICAgICAgaWYgKGxheWVyVmVyc2lvbikge1xyXG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPVxyXG4gICAgICAgICAgICAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkudXJsLmluZGV4T2YoJz8nKSA9PT0gLTFcclxuICAgICAgICAgICAgICA/ICc/J1xyXG4gICAgICAgICAgICAgIDogJyYnO1xyXG4gICAgICAgICAgdmVyc2lvbiA9IGVuY29kZVVSSUNvbXBvbmVudChgJHtvcGVyYXRvcn1WRVJTSU9OPSR7bGF5ZXJWZXJzaW9ufWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaW5rVXJsID0gYCR7bGlua1VybH0ke3ZlcnNpb259YDtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIWFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZpbmQoKGRlZmluZWRVcmwpID0+IGRlZmluZWRVcmwudXJsID09PSBsaW5rVXJsKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UucHVzaCh7XHJcbiAgICAgICAgICAgIHVybDogbGlua1VybCxcclxuICAgICAgICAgICAgbGF5ZXJzOiBbYWRkZWRMYXllclBvc2l0aW9uXVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZvckVhY2goKHNlcnZpY2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNlcnZpY2UudXJsID09PSBsaW5rVXJsKSB7XHJcbiAgICAgICAgICAgICAgc2VydmljZS5sYXllcnMucHVzaChhZGRlZExheWVyUG9zaXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9ICcnO1xyXG4gICAgaWYgKGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIGxldCBsaW5rVXJsS2V5O1xyXG4gICAgICBsZXQgbGF5ZXJzS2V5O1xyXG4gICAgICAvKlxyXG4gICAgICBjb25zdCBsaW5rVXJsS2V5ID0gKHR5cGVTZXJ2aWNlID09PSAnd21zJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5IDpcclxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleSA6ICcnIDtcclxuICAgICAgY29uc3QgbGF5ZXJzS2V5ID0gKHR5cGVTZXJ2aWNlID09PSAnd21zJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud21zTGF5ZXJzS2V5IDpcclxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c0xheWVyc0tleSA6ICcnIDtcclxuKi9cclxuICAgICAgc3dpdGNoICh0eXBlU2VydmljZS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgY2FzZSAnd21zJzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3dtdHMnOlxyXG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy53bXRzVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNMYXllcnNLZXk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuYXJjZ2lzVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmFyY2dpc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2ltYWdlYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNVcmxLZXk7XHJcbiAgICAgICAgICBsYXllcnNLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuaWFyY2dpc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudGFyY2dpc1VybEtleTtcclxuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy50YXJjZ2lzTGF5ZXJzS2V5O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSAnJztcclxuICAgICAgICAgIGxheWVyc0tleSA9ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgbGlua1VybFF1ZXJ5UGFyYW1zID0gJyc7XHJcbiAgICAgIGxldCBsYXllcnNRdWVyeVBhcmFtcyA9ICcnO1xyXG4gICAgICBhZGRlZExheWVyc0J5U2VydmljZS5mb3JFYWNoKChzZXJ2aWNlKSA9PiB7XHJcbiAgICAgICAgbGlua1VybFF1ZXJ5UGFyYW1zICs9IGAke3NlcnZpY2UudXJsfSxgO1xyXG4gICAgICAgIGxheWVyc1F1ZXJ5UGFyYW1zICs9IGAoJHtzZXJ2aWNlLmxheWVycy5qb2luKCcsJyl9KSxgO1xyXG4gICAgICB9KTtcclxuICAgICAgbGlua1VybFF1ZXJ5UGFyYW1zID0gbGlua1VybFF1ZXJ5UGFyYW1zLmVuZHNXaXRoKCcsJylcclxuICAgICAgICA/IGxpbmtVcmxRdWVyeVBhcmFtcy5zbGljZSgwLCAtMSlcclxuICAgICAgICA6IGxpbmtVcmxRdWVyeVBhcmFtcztcclxuICAgICAgbGF5ZXJzUXVlcnlQYXJhbXMgPSBsYXllcnNRdWVyeVBhcmFtcy5lbmRzV2l0aCgnLCcpXHJcbiAgICAgICAgPyBsYXllcnNRdWVyeVBhcmFtcy5zbGljZSgwLCAtMSlcclxuICAgICAgICA6IGxheWVyc1F1ZXJ5UGFyYW1zO1xyXG4gICAgICBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zID0gYCR7bGlua1VybEtleX09JHtsaW5rVXJsUXVlcnlQYXJhbXN9JiR7bGF5ZXJzS2V5fT0ke2xheWVyc1F1ZXJ5UGFyYW1zfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|