@c8y/ngx-components 1021.71.2 → 1021.73.3
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/core/beta-feature/beta-preview.component.d.ts +0 -1
- package/core/beta-feature/beta-preview.component.d.ts.map +1 -1
- package/core/common/ApplicationOptions.d.ts +4 -1
- package/core/common/ApplicationOptions.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts +9 -0
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/esm2022/core/beta-feature/beta-preview.component.mjs +1 -3
- package/esm2022/core/common/ApplicationOptions.mjs +1 -1
- package/esm2022/core/plugins/plugins.service.mjs +24 -9
- package/esm2022/messaging-management/messaging-management.module.mjs +21 -5
- package/esm2022/register-device/general/general-device-registration.component.mjs +3 -3
- package/esm2022/register-device/general/general-device-registration.service.mjs +2 -2
- package/esm2022/trusted-certificates/list/trusted-certificate-list.component.mjs +6 -3
- package/fesm2022/c8y-ngx-components-messaging-management.mjs +19 -3
- package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs +3 -3
- package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +5 -2
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +23 -9
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/locales.pot +300 -4
- package/messaging-management/messaging-management.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
|
@@ -8,7 +8,6 @@ export declare class BetaPreviewComponent {
|
|
|
8
8
|
description$: BehaviorSubject<string | Type<any> | Promise<string | Type<any>>>;
|
|
9
9
|
private resolveClose;
|
|
10
10
|
private readonly betaPreviewService;
|
|
11
|
-
private readonly featureCacheService;
|
|
12
11
|
private readonly markdownToHtmlPipe;
|
|
13
12
|
features$: Observable<BetaFeature[]>;
|
|
14
13
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beta-preview.component.d.ts","sourceRoot":"","sources":["../../../core/beta-feature/beta-preview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAkB,UAAU,EAAE,MAAM,MAAM,CAAC;;
|
|
1
|
+
{"version":3,"file":"beta-preview.component.d.ts","sourceRoot":"","sources":["../../../core/beta-feature/beta-preview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAkB,UAAU,EAAE,MAAM,MAAM,CAAC;;AAOnE,qBAQa,oBAAoB;IAC/B,eAAe,EAAE,WAAW,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,YAAY,EAAE,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACrD;IAC1B,OAAO,CAAC,YAAY,CAAmD;IAEvE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IAEjE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAmD;;IAQjF,QAAQ;IAMR,qBAAqB,CAAC,OAAO,EAAE,WAAW;IAK1C,iBAAiB;IAUvB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAInE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,KAAK;yCAhDM,oBAAoB;2CAApB,oBAAoB;CAmDhC"}
|
|
@@ -14,7 +14,10 @@ export declare class ApplicationOptions implements AppOptions {
|
|
|
14
14
|
*/
|
|
15
15
|
brandingEntry?: false;
|
|
16
16
|
/**
|
|
17
|
-
* Enables all beta features in the application.
|
|
17
|
+
* Enables all beta features in the application UI.
|
|
18
|
+
*
|
|
19
|
+
* Note: This only affects features on the frontend.
|
|
20
|
+
* If a beta feature also requires backend support it must be enabled separately on the backend.
|
|
18
21
|
*/
|
|
19
22
|
enableAllBetaFeatures?: boolean;
|
|
20
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationOptions.d.ts","sourceRoot":"","sources":["../../../core/common/ApplicationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EACV,kBAAkB,IAAI,UAAU,EAChC,eAAe,EACf,SAAS,EACT,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,8BAA8B,EAC9B,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAYtB,qBAAa,kBAAmB,YAAW,UAAU;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"ApplicationOptions.d.ts","sourceRoot":"","sources":["../../../core/common/ApplicationOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,15 @@ export declare class PluginsService {
|
|
|
155
155
|
private listApplicationsByCurrentTenant;
|
|
156
156
|
private addPluginToRemotesConfig;
|
|
157
157
|
private removePluginsFromRemotesConfig;
|
|
158
|
+
/**
|
|
159
|
+
* Parses id of the plugin and returns object with context path, raw context path (without version) and module name.
|
|
160
|
+
* For example:
|
|
161
|
+
* ```ts
|
|
162
|
+
* const id = 'widget-plugin@1021.0.1/WidgetPluginModule'
|
|
163
|
+
* const parsed = parsePluginId(id); // { contextPath: 'widget-plugin@1021.0.1', moduleName: 'WidgetPluginModule', rawContextPath: 'widget-plugin' }
|
|
164
|
+
* @param id Plugin id in the format of `<contextPath>@<version>/<moduleName>`
|
|
165
|
+
* @returns Object with context path, module name and raw context path (without version).
|
|
166
|
+
*/
|
|
158
167
|
private parsePluginId;
|
|
159
168
|
static ɵfac: i0.ɵɵFactoryDeclaration<PluginsService, never>;
|
|
160
169
|
static ɵprov: i0.ɵɵInjectableDeclaration<PluginsService>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.service.d.ts","sourceRoot":"","sources":["../../../core/plugins/plugins.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugins.service.d.ts","sourceRoot":"","sources":["../../../core/plugins/plugins.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { CommonModule, MarkdownToHtmlPipe } from '../common';
|
|
|
5
5
|
import { ListGroupModule } from '../list-group';
|
|
6
6
|
import { PreviewService } from './beta-preview.service';
|
|
7
7
|
import { FeatureStatePipe } from './feature-state.pipe';
|
|
8
|
-
import { FeatureCacheService } from './feature-cache.service';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
import * as i1 from "../common/icon.directive";
|
|
11
10
|
import * as i2 from "../i18n/c8y-translate.directive";
|
|
@@ -15,7 +14,6 @@ export class BetaPreviewComponent {
|
|
|
15
14
|
constructor() {
|
|
16
15
|
this.description$ = new BehaviorSubject('');
|
|
17
16
|
this.betaPreviewService = inject(PreviewService);
|
|
18
|
-
this.featureCacheService = inject(FeatureCacheService);
|
|
19
17
|
this.markdownToHtmlPipe = inject(MarkdownToHtmlPipe);
|
|
20
18
|
this.features$ = this.betaPreviewService.getAvailableFeatures$();
|
|
21
19
|
this.shouldClose = new Promise(resolve => {
|
|
@@ -58,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
58
56
|
type: Component,
|
|
59
57
|
args: [{ selector: 'c8y-beta-preview', host: { class: 'd-contents' }, standalone: true, imports: [NgForOf, NgIf, AsyncPipe, CommonModule, ListGroupModule, FeatureStatePipe], providers: [MarkdownToHtmlPipe], template: "<div class=\"card-block separator-bottom bg-component text-center flex-no-shrink p-24\">\n <div class=\"d-flex fit-w a-i-center j-c-center\">\n <i\n class=\"icon-24 m-r-8\"\n [c8yIcon]=\"'science'\"\n ></i>\n <h3\n class=\"m-0\"\n translate\n >\n Beta features preview\n </h3>\n </div>\n <p class=\"text-16 m-t-8\">\n {{\n 'Select any feature to view additional details and documentation. Toggle features on or off using the switches.'\n | translate\n }}\n </p>\n\n <p>\n {{\n 'These beta capabilities may change or be removed before final release. We value your feedback. The descriptions for the features below are available only in English.'\n | translate\n }}\n </p>\n</div>\n\n<div class=\"card-block p-0\">\n <div class=\"d-flex fit-h\">\n <div class=\"col-md-4 col-lg-3 p-l-0 p-r-0 sticky-top m-t-0 inner-scroll bg-level-1\">\n <div class=\"nav-tabs nav-tabs-vertical nav-tabs-vertical--wide p-t-0\">\n <div\n [class.active]=\"feature === selectedFeature\"\n class=\"d-flex fit-w a-i-center\"\n *ngFor=\"let feature of features$ | async\"\n >\n <button\n class=\"d-flex gap-4 text-truncate flex-grow\"\n title=\"{{ feature.label }}\"\n [ngClass]=\"{\n 'bg-component': feature === selectedFeature,\n 'bg-level-1': feature !== selectedFeature\n }\"\n (click)=\"updateSelectedFeature(feature)\"\n >\n <i\n class=\"m-l-0\"\n [c8yIcon]=\"'science'\"\n ></i>\n {{ feature.label }}\n </button>\n <div\n class=\"a-s-stretch d-flex a-i-center separator-bottom p-r-16\"\n [ngClass]=\"{\n 'bg-component': feature === selectedFeature,\n 'bg-level-1': feature !== selectedFeature\n }\"\n >\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Enable or disable' | translate }}\"\n >\n <input\n [attr.aria-label]=\"feature.label\"\n type=\"checkbox\"\n [checked]=\"feature.key | featureState | async\"\n (change)=\"$event.stopPropagation(); onToggle(feature, $event)\"\n />\n <span class=\"slider round\"></span>\n </label>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"col-md-8 col-lg-9 p-24 inner-scroll\"\n *ngIf=\"selectedFeature\"\n >\n <span class=\"tag tag--primary h4\">\n {{ 'Feature preview' | translate }} \u2014 {{ selectedFeature.label }}\n </span>\n <div *ngIf=\"isComponent(description$.value); else stringDescription\">\n <ng-container *ngComponentOutlet=\"description$.value\"></ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"close()\"\n >\n {{ 'Close' | translate }}\n </button>\n</div>\n\n<ng-template #stringDescription>\n <p [innerHTML]=\"description$.value\"></p>\n</ng-template>\n" }]
|
|
60
58
|
}], ctorParameters: () => [] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV0YS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYmV0YS1mZWF0dXJlL2JldGEtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2JldGEtZmVhdHVyZS9iZXRhLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBVTlELE1BQU0sT0FBTyxvQkFBb0I7SUFhL0I7UUFWQSxpQkFBWSxHQUNWLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBR1QsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xELHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWpFLGNBQVMsR0FBOEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFHckYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBVSxPQUFPLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQW9CO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBQy9CLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsV0FBNkQ7UUFDdkUsT0FBTyxXQUFXLFlBQVksUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQW9CLEVBQUUsS0FBWTtRQUMvQyxNQUFNLFNBQVMsR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxPQUFPLENBQUM7UUFDN0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FuRFUsb0JBQW9CO21HQUFwQixvQkFBb0IsdUdBRnBCLENBQUMsa0JBQWtCLENBQUMsMEJDaEJqQyw2dkdBd0dBLDRDRHpGWSxPQUFPLG1IQUFFLElBQUksd0ZBQUUsU0FBUyw2Q0FBRSxZQUFZLCtuQkFBRSxlQUFlLDBCQUFFLGdCQUFnQjs7NEZBR3hFLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxrQkFBa0IsUUFFdEIsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLGNBQ2pCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsYUFDekUsQ0FBQyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZXRhRmVhdHVyZSB9IGZyb20gJy4vYmV0YS1wcmV2aWV3Lm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE1hcmtkb3duVG9IdG1sUGlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBMaXN0R3JvdXBNb2R1bGUgfSBmcm9tICcuLi9saXN0LWdyb3VwJztcbmltcG9ydCB7IFByZXZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9iZXRhLXByZXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBGZWF0dXJlU3RhdGVQaXBlIH0gZnJvbSAnLi9mZWF0dXJlLXN0YXRlLnBpcGUnO1xuaW1wb3J0IHsgRmVhdHVyZUNhY2hlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS1jYWNoZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJldGEtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZXRhLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnZC1jb250ZW50cycgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yT2YsIE5nSWYsIEFzeW5jUGlwZSwgQ29tbW9uTW9kdWxlLCBMaXN0R3JvdXBNb2R1bGUsIEZlYXR1cmVTdGF0ZVBpcGVdLFxuICBwcm92aWRlcnM6IFtNYXJrZG93blRvSHRtbFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEJldGFQcmV2aWV3Q29tcG9uZW50IHtcbiAgc2VsZWN0ZWRGZWF0dXJlOiBCZXRhRmVhdHVyZTtcbiAgc2hvdWxkQ2xvc2U6IFByb21pc2U8Ym9vbGVhbj47XG4gIGRlc2NyaXB0aW9uJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IFR5cGU8YW55PiB8IFByb21pc2U8c3RyaW5nIHwgVHlwZTxhbnk+Pj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICBwcml2YXRlIHJlc29sdmVDbG9zZSE6ICh2YWx1ZTogYm9vbGVhbiB8IFByb21pc2VMaWtlPGJvb2xlYW4+KSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYmV0YVByZXZpZXdTZXJ2aWNlID0gaW5qZWN0KFByZXZpZXdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlQ2FjaGVTZXJ2aWNlID0gaW5qZWN0KEZlYXR1cmVDYWNoZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG1hcmtkb3duVG9IdG1sUGlwZSA9IGluamVjdChNYXJrZG93blRvSHRtbFBpcGUpO1xuXG4gIGZlYXR1cmVzJDogT2JzZXJ2YWJsZTxCZXRhRmVhdHVyZVtdPiA9IHRoaXMuYmV0YVByZXZpZXdTZXJ2aWNlLmdldEF2YWlsYWJsZUZlYXR1cmVzJCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2hvdWxkQ2xvc2UgPSBuZXcgUHJvbWlzZTxib29sZWFuPihyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZUNsb3NlID0gcmVzb2x2ZTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGF3YWl0IHRoaXMuYmV0YVByZXZpZXdTZXJ2aWNlLm1hcmtBbGxGZWF0dXJlc0FzU2VlbigpO1xuICAgIGNvbnN0IGZlYXR1cmVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5mZWF0dXJlcyQpO1xuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRGZWF0dXJlKGZlYXR1cmVzWzBdKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNlbGVjdGVkRmVhdHVyZShmZWF0dXJlOiBCZXRhRmVhdHVyZSkge1xuICAgIHRoaXMuc2VsZWN0ZWRGZWF0dXJlID0gZmVhdHVyZTtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURlc2NyaXB0aW9uKCk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVEZXNjcmlwdGlvbigpIHtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGF3YWl0IHRoaXMuc2VsZWN0ZWRGZWF0dXJlPy5kZXNjcmlwdGlvbigpO1xuICAgIGlmICghdGhpcy5pc0NvbXBvbmVudChkZXNjcmlwdGlvbikpIHtcbiAgICAgIGNvbnN0IGh0bWwgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLm1hcmtkb3duVG9IdG1sUGlwZS50cmFuc2Zvcm0oZGVzY3JpcHRpb24pKTtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24kLm5leHQoaHRtbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24kLm5leHQoZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlzQ29tcG9uZW50KGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBUeXBlPGFueT4gfCBQcm9taXNlPHN0cmluZyB8IFR5cGU8YW55Pj4pIHtcbiAgICByZXR1cm4gZGVzY3JpcHRpb24gaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgfVxuXG4gIGFzeW5jIG9uVG9nZ2xlKGZlYXR1cmU6IEJldGFGZWF0dXJlLCBldmVudDogRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpc0NoZWNrZWQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQ7XG4gICAgYXdhaXQgdGhpcy5iZXRhUHJldmlld1NlcnZpY2Uuc2V0RmVhdHVyZUFjdGl2ZVN0YXRlKGZlYXR1cmUua2V5LCBpc0NoZWNrZWQpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5yZXNvbHZlQ2xvc2UodHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHNlcGFyYXRvci1ib3R0b20gYmctY29tcG9uZW50IHRleHQtY2VudGVyIGZsZXgtbm8tc2hyaW5rIHAtMjRcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmaXQtdyBhLWktY2VudGVyIGotYy1jZW50ZXJcIj5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJpY29uLTI0IG0tci04XCJcbiAgICAgIFtjOHlJY29uXT1cIidzY2llbmNlJ1wiXG4gICAgPjwvaT5cbiAgICA8aDNcbiAgICAgIGNsYXNzPVwibS0wXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIEJldGEgZmVhdHVyZXMgcHJldmlld1xuICAgIDwvaDM+XG4gIDwvZGl2PlxuICA8cCBjbGFzcz1cInRleHQtMTYgbS10LThcIj5cbiAgICB7e1xuICAgICAgJ1NlbGVjdCBhbnkgZmVhdHVyZSB0byB2aWV3IGFkZGl0aW9uYWwgZGV0YWlscyBhbmQgZG9jdW1lbnRhdGlvbi4gVG9nZ2xlIGZlYXR1cmVzIG9uIG9yIG9mZiB1c2luZyB0aGUgc3dpdGNoZXMuJ1xuICAgICAgICB8IHRyYW5zbGF0ZVxuICAgIH19XG4gIDwvcD5cblxuICA8cD5cbiAgICB7e1xuICAgICAgJ1RoZXNlIGJldGEgY2FwYWJpbGl0aWVzIG1heSBjaGFuZ2Ugb3IgYmUgcmVtb3ZlZCBiZWZvcmUgZmluYWwgcmVsZWFzZS4gV2UgdmFsdWUgeW91ciBmZWVkYmFjay4gVGhlIGRlc2NyaXB0aW9ucyBmb3IgdGhlIGZlYXR1cmVzIGJlbG93IGFyZSBhdmFpbGFibGUgb25seSBpbiBFbmdsaXNoLidcbiAgICAgICAgfCB0cmFuc2xhdGVcbiAgICB9fVxuICA8L3A+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgcC0wXCI+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggZml0LWhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLWxnLTMgcC1sLTAgcC1yLTAgc3RpY2t5LXRvcCBtLXQtMCBpbm5lci1zY3JvbGwgYmctbGV2ZWwtMVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm5hdi10YWJzIG5hdi10YWJzLXZlcnRpY2FsIG5hdi10YWJzLXZlcnRpY2FsLS13aWRlIHAtdC0wXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImZlYXR1cmUgPT09IHNlbGVjdGVkRmVhdHVyZVwiXG4gICAgICAgICAgY2xhc3M9XCJkLWZsZXggZml0LXcgYS1pLWNlbnRlclwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZlYXR1cmUgb2YgZmVhdHVyZXMkIHwgYXN5bmNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTQgdGV4dC10cnVuY2F0ZSBmbGV4LWdyb3dcIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBmZWF0dXJlLmxhYmVsIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2JnLWNvbXBvbmVudCc6IGZlYXR1cmUgPT09IHNlbGVjdGVkRmVhdHVyZSxcbiAgICAgICAgICAgICAgJ2JnLWxldmVsLTEnOiBmZWF0dXJlICE9PSBzZWxlY3RlZEZlYXR1cmVcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZVNlbGVjdGVkRmVhdHVyZShmZWF0dXJlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLWwtMFwiXG4gICAgICAgICAgICAgIFtjOHlJY29uXT1cIidzY2llbmNlJ1wiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAge3sgZmVhdHVyZS5sYWJlbCB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYS1zLXN0cmV0Y2ggZC1mbGV4IGEtaS1jZW50ZXIgc2VwYXJhdG9yLWJvdHRvbSBwLXItMTZcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYmctY29tcG9uZW50JzogZmVhdHVyZSA9PT0gc2VsZWN0ZWRGZWF0dXJlLFxuICAgICAgICAgICAgICAnYmctbGV2ZWwtMSc6IGZlYXR1cmUgIT09IHNlbGVjdGVkRmVhdHVyZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwiYzh5LXN3aXRjaCBjOHktc3dpdGNoLS1pbmxpbmUgbS1sLWF1dG9cIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7ICdFbmFibGUgb3IgZGlzYWJsZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZlYXR1cmUubGFiZWxcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiZmVhdHVyZS5rZXkgfCBmZWF0dXJlU3RhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IG9uVG9nZ2xlKGZlYXR1cmUsICRldmVudClcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsaWRlciByb3VuZFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNvbC1tZC04IGNvbC1sZy05IHAtMjQgaW5uZXItc2Nyb2xsXCJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRGZWF0dXJlXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInRhZyB0YWctLXByaW1hcnkgaDRcIj5cbiAgICAgICAge3sgJ0ZlYXR1cmUgcHJldmlldycgfCB0cmFuc2xhdGUgfX0g4oCUIHt7IHNlbGVjdGVkRmVhdHVyZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdiAqbmdJZj1cImlzQ29tcG9uZW50KGRlc2NyaXB0aW9uJC52YWx1ZSk7IGVsc2Ugc3RyaW5nRGVzY3JpcHRpb25cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJkZXNjcmlwdGlvbiQudmFsdWVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgY2FyZC1mb290ZXIgcC0yNCBzZXBhcmF0b3JcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICB0aXRsZT1cInt7ICdDbG9zZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgPlxuICAgIHt7ICdDbG9zZScgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdHJpbmdEZXNjcmlwdGlvbj5cbiAgPHAgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvbiQudmFsdWVcIj48L3A+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV0YS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYmV0YS1mZWF0dXJlL2JldGEtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2JldGEtZmVhdHVyZS9iZXRhLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBVXhELE1BQU0sT0FBTyxvQkFBb0I7SUFZL0I7UUFUQSxpQkFBWSxHQUNWLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBR1QsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWpFLGNBQVMsR0FBOEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFHckYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBVSxPQUFPLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQW9CO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBQy9CLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsV0FBNkQ7UUFDdkUsT0FBTyxXQUFXLFlBQVksUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQW9CLEVBQUUsS0FBWTtRQUMvQyxNQUFNLFNBQVMsR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxPQUFPLENBQUM7UUFDN0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FsRFUsb0JBQW9CO21HQUFwQixvQkFBb0IsdUdBRnBCLENBQUMsa0JBQWtCLENBQUMsMEJDZmpDLDZ2R0F3R0EsNENEMUZZLE9BQU8sbUhBQUUsSUFBSSx3RkFBRSxTQUFTLDZDQUFFLFlBQVksK25CQUFFLGVBQWUsMEJBQUUsZ0JBQWdCOzs0RkFHeEUsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGtCQUFrQixRQUV0QixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsY0FDakIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxhQUN6RSxDQUFDLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJldGFGZWF0dXJlIH0gZnJvbSAnLi9iZXRhLXByZXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTWFya2Rvd25Ub0h0bWxQaXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IExpc3RHcm91cE1vZHVsZSB9IGZyb20gJy4uL2xpc3QtZ3JvdXAnO1xuaW1wb3J0IHsgUHJldmlld1NlcnZpY2UgfSBmcm9tICcuL2JldGEtcHJldmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTdGF0ZVBpcGUgfSBmcm9tICcuL2ZlYXR1cmUtc3RhdGUucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1iZXRhLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmV0YS1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2QtY29udGVudHMnIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0Zvck9mLCBOZ0lmLCBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSwgTGlzdEdyb3VwTW9kdWxlLCBGZWF0dXJlU3RhdGVQaXBlXSxcbiAgcHJvdmlkZXJzOiBbTWFya2Rvd25Ub0h0bWxQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBCZXRhUHJldmlld0NvbXBvbmVudCB7XG4gIHNlbGVjdGVkRmVhdHVyZTogQmV0YUZlYXR1cmU7XG4gIHNob3VsZENsb3NlOiBQcm9taXNlPGJvb2xlYW4+O1xuICBkZXNjcmlwdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBUeXBlPGFueT4gfCBQcm9taXNlPHN0cmluZyB8IFR5cGU8YW55Pj4+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgcHJpdmF0ZSByZXNvbHZlQ2xvc2UhOiAodmFsdWU6IGJvb2xlYW4gfCBQcm9taXNlTGlrZTxib29sZWFuPikgPT4gdm9pZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGJldGFQcmV2aWV3U2VydmljZSA9IGluamVjdChQcmV2aWV3U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya2Rvd25Ub0h0bWxQaXBlID0gaW5qZWN0KE1hcmtkb3duVG9IdG1sUGlwZSk7XG5cbiAgZmVhdHVyZXMkOiBPYnNlcnZhYmxlPEJldGFGZWF0dXJlW10+ID0gdGhpcy5iZXRhUHJldmlld1NlcnZpY2UuZ2V0QXZhaWxhYmxlRmVhdHVyZXMkKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zaG91bGRDbG9zZSA9IG5ldyBQcm9taXNlPGJvb2xlYW4+KHJlc29sdmUgPT4ge1xuICAgICAgdGhpcy5yZXNvbHZlQ2xvc2UgPSByZXNvbHZlO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgdGhpcy5iZXRhUHJldmlld1NlcnZpY2UubWFya0FsbEZlYXR1cmVzQXNTZWVuKCk7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZlYXR1cmVzJCk7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZEZlYXR1cmUoZmVhdHVyZXNbMF0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlU2VsZWN0ZWRGZWF0dXJlKGZlYXR1cmU6IEJldGFGZWF0dXJlKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZlYXR1cmUgPSBmZWF0dXJlO1xuICAgIGF3YWl0IHRoaXMudXBkYXRlRGVzY3JpcHRpb24oKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZURlc2NyaXB0aW9uKCkge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYXdhaXQgdGhpcy5zZWxlY3RlZEZlYXR1cmU/LmRlc2NyaXB0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmlzQ29tcG9uZW50KGRlc2NyaXB0aW9uKSkge1xuICAgICAgY29uc3QgaHRtbCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMubWFya2Rvd25Ub0h0bWxQaXBlLnRyYW5zZm9ybShkZXNjcmlwdGlvbikpO1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiQubmV4dChodG1sKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiQubmV4dChkZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG5cbiAgaXNDb21wb25lbnQoZGVzY3JpcHRpb246IHN0cmluZyB8IFR5cGU8YW55PiB8IFByb21pc2U8c3RyaW5nIHwgVHlwZTxhbnk+Pikge1xuICAgIHJldHVybiBkZXNjcmlwdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xuICB9XG5cbiAgYXN5bmMgb25Ub2dnbGUoZmVhdHVyZTogQmV0YUZlYXR1cmUsIGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlzQ2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcbiAgICBhd2FpdCB0aGlzLmJldGFQcmV2aWV3U2VydmljZS5zZXRGZWF0dXJlQWN0aXZlU3RhdGUoZmVhdHVyZS5rZXksIGlzQ2hlY2tlZCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLnJlc29sdmVDbG9zZSh0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgc2VwYXJhdG9yLWJvdHRvbSBiZy1jb21wb25lbnQgdGV4dC1jZW50ZXIgZmxleC1uby1zaHJpbmsgcC0yNFwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZpdC13IGEtaS1jZW50ZXIgai1jLWNlbnRlclwiPlxuICAgIDxpXG4gICAgICBjbGFzcz1cImljb24tMjQgbS1yLThcIlxuICAgICAgW2M4eUljb25dPVwiJ3NjaWVuY2UnXCJcbiAgICA+PC9pPlxuICAgIDxoM1xuICAgICAgY2xhc3M9XCJtLTBcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgQmV0YSBmZWF0dXJlcyBwcmV2aWV3XG4gICAgPC9oMz5cbiAgPC9kaXY+XG4gIDxwIGNsYXNzPVwidGV4dC0xNiBtLXQtOFwiPlxuICAgIHt7XG4gICAgICAnU2VsZWN0IGFueSBmZWF0dXJlIHRvIHZpZXcgYWRkaXRpb25hbCBkZXRhaWxzIGFuZCBkb2N1bWVudGF0aW9uLiBUb2dnbGUgZmVhdHVyZXMgb24gb3Igb2ZmIHVzaW5nIHRoZSBzd2l0Y2hlcy4nXG4gICAgICAgIHwgdHJhbnNsYXRlXG4gICAgfX1cbiAgPC9wPlxuXG4gIDxwPlxuICAgIHt7XG4gICAgICAnVGhlc2UgYmV0YSBjYXBhYmlsaXRpZXMgbWF5IGNoYW5nZSBvciBiZSByZW1vdmVkIGJlZm9yZSBmaW5hbCByZWxlYXNlLiBXZSB2YWx1ZSB5b3VyIGZlZWRiYWNrLiBUaGUgZGVzY3JpcHRpb25zIGZvciB0aGUgZmVhdHVyZXMgYmVsb3cgYXJlIGF2YWlsYWJsZSBvbmx5IGluIEVuZ2xpc2guJ1xuICAgICAgICB8IHRyYW5zbGF0ZVxuICAgIH19XG4gIDwvcD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBwLTBcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmaXQtaFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBjb2wtbGctMyBwLWwtMCBwLXItMCBzdGlja3ktdG9wIG0tdC0wIGlubmVyLXNjcm9sbCBiZy1sZXZlbC0xXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibmF2LXRhYnMgbmF2LXRhYnMtdmVydGljYWwgbmF2LXRhYnMtdmVydGljYWwtLXdpZGUgcC10LTBcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZmVhdHVyZSA9PT0gc2VsZWN0ZWRGZWF0dXJlXCJcbiAgICAgICAgICBjbGFzcz1cImQtZmxleCBmaXQtdyBhLWktY2VudGVyXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBmZWF0dXJlcyQgfCBhc3luY1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBnYXAtNCB0ZXh0LXRydW5jYXRlIGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgICB0aXRsZT1cInt7IGZlYXR1cmUubGFiZWwgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYmctY29tcG9uZW50JzogZmVhdHVyZSA9PT0gc2VsZWN0ZWRGZWF0dXJlLFxuICAgICAgICAgICAgICAnYmctbGV2ZWwtMSc6IGZlYXR1cmUgIT09IHNlbGVjdGVkRmVhdHVyZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRGZWF0dXJlKGZlYXR1cmUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cIm0tbC0wXCJcbiAgICAgICAgICAgICAgW2M4eUljb25dPVwiJ3NjaWVuY2UnXCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICB7eyBmZWF0dXJlLmxhYmVsIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhLXMtc3RyZXRjaCBkLWZsZXggYS1pLWNlbnRlciBzZXBhcmF0b3ItYm90dG9tIHAtci0xNlwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdiZy1jb21wb25lbnQnOiBmZWF0dXJlID09PSBzZWxlY3RlZEZlYXR1cmUsXG4gICAgICAgICAgICAgICdiZy1sZXZlbC0xJzogZmVhdHVyZSAhPT0gc2VsZWN0ZWRGZWF0dXJlXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJjOHktc3dpdGNoIGM4eS1zd2l0Y2gtLWlubGluZSBtLWwtYXV0b1wiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0VuYWJsZSBvciBkaXNhYmxlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmVhdHVyZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJmZWF0dXJlLmtleSB8IGZlYXR1cmVTdGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgb25Ub2dnbGUoZmVhdHVyZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xpZGVyIHJvdW5kXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29sLW1kLTggY29sLWxnLTkgcC0yNCBpbm5lci1zY3JvbGxcIlxuICAgICAgKm5nSWY9XCJzZWxlY3RlZEZlYXR1cmVcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGFnIHRhZy0tcHJpbWFyeSBoNFwiPlxuICAgICAgICB7eyAnRmVhdHVyZSBwcmV2aWV3JyB8IHRyYW5zbGF0ZSB9fSDigJQge3sgc2VsZWN0ZWRGZWF0dXJlLmxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNDb21wb25lbnQoZGVzY3JpcHRpb24kLnZhbHVlKTsgZWxzZSBzdHJpbmdEZXNjcmlwdGlvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImRlc2NyaXB0aW9uJC52YWx1ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBjYXJkLWZvb3RlciBwLTI0IHNlcGFyYXRvclwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgIHRpdGxlPVwie3sgJ0Nsb3NlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICA+XG4gICAge3sgJ0Nsb3NlJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3N0cmluZ0Rlc2NyaXB0aW9uPlxuICA8cCBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uJC52YWx1ZVwiPjwvcD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -33,4 +33,4 @@ export var PluginsExportScopes;
|
|
|
33
33
|
*/
|
|
34
34
|
PluginsExportScopes["DEFAULT"] = "";
|
|
35
35
|
})(PluginsExportScopes || (PluginsExportScopes = {}));
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBNlE5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBa0JYO0FBbEJELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsb0NBQWEsQ0FBQTtJQUNiOzs7T0FHRztJQUNILHdDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsc0RBQStCLENBQUE7SUFDL0I7O09BRUc7SUFDSCxtQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQWxCVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiwgVmVyc2lvbmluZ01hdHJpeCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb25PcHRpb25zIGFzIEFwcE9wdGlvbnMsXG4gIEJyYW5kaW5nQ3NzVmFycyxcbiAgTGFuZ3VhZ2VzLFxuICBJMThuRXh0cmEsXG4gIERvY3MsXG4gIEljb24sXG4gIExvZ2luRXh0cmFMaW5rLFxuICBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uLFxuICBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24sXG4gIFJlbW90ZVBsdWdpbnMsXG4gIE1hcFRpbGVMYXllcixcbiAgTWFwRGVmYXVsdENvbmZpZyxcbiAgUGx1Z2luc0V4cG9ydHMsXG4gIE1lc3NhZ2VCYW5uZXJDb25maWd1cmF0aW9uXG59IGZyb20gJ0BjOHkvb3B0aW9ucyc7XG5cbi8qXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdBUk5JTkctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBvcmlnaW4gQXBwT3B0aW9uc1xuICogKipORVZFUioqIGNoYW5nZSB0aGlzIGZpbGUgZGlyZWN0bHkuIEluc3RlYWQgZG86XG4gKiAxLiBvcGVuIHBhY2thZ2VzL29wdGlvbnMvc3JjL0FwcGxpY2F0aW9uT3B0aW9ucy50cyBhbmQgYWRkIHlvdXIgcHJvcGVydHkgdGhlcmVcbiAqIDIuIGNoZWNrIGluIHRoaXMgZmlsZSBpZiBhbGwgb3B0aW9ucyBhcmUgaW1wbGVtZW50ZWQuXG4gKlxuICogVE9ETzogVGhpcyBmaWxlIHNob3VsZCB0aHJvdyB3aGVuIGEgcHJvcGVydHkgaXMgaW4gdGhlIEFwcE9wdGlvbnMgYnV0IG5vdCBpbXBsZW1lbnRlZCBoZXJlLlxuICogICAgICAgVGhpcyBzZWVtcyBub3QgdG8gd29yayBhdG0uIFdlIG5lZWQgdG8gY2hlY2sgd2h5LlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIGltcGxlbWVudHMgQXBwT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29udGV4dFBhdGg6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgd2ViU2RrVmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFNldCB0byBgdHJ1ZWAgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGh5YnJpZCBhbmQgdXNlcyBBbmd1bGFyIGFuZCBBbmd1bGFySlMgc2ltdWx0YW5lb3VzbHkuICovXG4gIHVwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnJhbmRpbmcgZW50cnkgZmlsZS4gKFNldCBpdCB0byBmYWxzZSB0byBkaXNhYmxlIGFueSBzdHlsaW5nLiBZb3UgY2FuIGhhbmRsZSB0aGUgc3R5bGluZyB0aGVuIG9uIHlvdXIgb3duIGUuZy4gaW4gYW4gYW5ndWxhci5qc29uIGZpbGUgdXNpbmcgbmctY2xpKVxuICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBnbG9iYWwgc3R5bGVzIHZpYSB0aGUgYW5ndWxhci5qc29uIGZpbGUuXG4gICAqL1xuICBicmFuZGluZ0VudHJ5PzogZmFsc2U7XG4gIC8qKlxuICAgKiBFbmFibGVzIGFsbCBiZXRhIGZlYXR1cmVzIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIGVuYWJsZUFsbEJldGFGZWF0dXJlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgYmV0YSBwcmV2aWV3IHNlY3Rpb24gaW4gdGhlIHJpZ2h0IGRyYXdlci5cbiAgICovXG4gIGhpZGVCZXRhUHJldmlldz86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLlxuICAgKiBJZiBzZXQgdG8gYHRydWVgIG9yIGxlZnQgdW5kZWZpbmVkLCBhbiBVUkwgd2lsbCBiZSB1c2VkIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbnMgY29udGV4dFBhdGguXG4gICAqIElmIHNldCB0byBgZmFsc2VgLCBubyBkeW5hbWljIG9wdGlvbnMgd2lsbCBiZSBmZXRjaGVkLlxuICAgKiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gZmF2aWNvbi4gKi9cbiAgZmF2aWNvblVybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byAqLmNzcyBmaWxlIHdoaWNoIHdpbGwgcmVwbGFjZSBkZWZhdWx0IGJyYW5kaW5nLiAqL1xuICBicmFuZGluZ1VybD86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgdGhlIGJyYW5kaW5nIHByZXZpZXcgbW9kZS4gSWYgc2V0IHRvIHRydWUsIHRoZSBgZHluYW1pY09wdGlvbnNVcmxgIHdpbGwgYmUgcG9sbGVkIHJlZ3VsYXJseSBmb3IgY2hhbmdlcy4gSW4gY2FzZSB0aGUgYGxhc3RVcGRhdGVkYCBmaWVsZCBvZiB0aGUgZHluYW1pYyBvcHRpb25zIGNoYW5nZXMsIHRoZSBwYWdlIGlzIHJlbG9hZGVkIGluIG9yZGVyIHRvIGFwcGx5IHRoZSBuZXcgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nUHJldmlldz86IGJvb2xlYW47XG4gIC8qKiBPYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gQ1NTIGN1c3RvbSB2YXJpYWJsZXMuICovXG4gIGJyYW5kaW5nQ3NzVmFycz86IEJyYW5kaW5nQ3NzVmFycztcbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgYWRkaW5nIG9yIG92ZXJyaWRpbmcgbGFuZ3VhZ2VzIGF2YWlsYWJsZSBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAgICpcbiAgICogLSBgbmFtZWA6IEVuZ2xpc2ggbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYG5hdGl2ZU5hbWVgOiBuYXRpdmUgbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYHVybGA6IGZ1bGwgVVJMIHRvIEpTT04gZmlsZSB3aXRoIGNvbXBpbGVkIHRyYW5zbGF0aW9ucztcbiAgICogICAgaWYgbm90IGRlZmluZWQsIHRyYW5zbGF0aW9ucyB3aWxsIGJlIGxvYWRlZCBmcm9tIGAke2xvY2FsZVBhdGh9LyR7bGFuZ0NvZGV9Lmpzb25gLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiBgYGBqc29uXG4gICAqIFwibGFuZ3VhZ2VzXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwibmFtZVwiOiBcIkdlcm1hblwiLFxuICAgKiAgICAgXCJuYXRpdmVOYW1lXCI6IFwiRGV1dHNjaFwiLFxuICAgKiAgICAgXCJ1cmxcIjogXCIvYXBwcy9wdWJsaWMvdWktYXNzZXRzL2RlLmpzb25cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGxhbmd1YWdlcz86IExhbmd1YWdlcztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgY3VzdG9tIHRyYW5zbGF0aW9ucy4gSXQgaXMgYW4gb3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyAoaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZ2V0dGluZy1zdGFydGVkLyNhLW5hbWUtbGFuZ3VhZ2VzLWEtYXZhaWxhYmxlLWxhbmd1YWdlcylcbiAgICogYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyBpbiBFbmdsaXNoIGFuZCB0aGUgdmFsdWUgLSBpdHMgdHJhbnNsYXRpb24uXG4gICAqXG4gICAqIC0gYEhvbWVgOiBcIlN0YXJ0c2VpdGVcIlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIFN0eWxlc2hlZXQgKENTUykgdGhhdCB3aWxsIGJlIGFkZGVkIGF0IHJ1bnRpbWUuIFRoZSBzdHJpbmcgc2hvdWxkIGFjdHVhbGx5IGNvbnRhaW4gdGhlIENTUyBub3QgYSBwYXRoIG9yIFVSTCB0byBpdC4gKi9cbiAgZXh0cmFDc3M/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uIGxpbmtzIHNldHRpbmdzLiAqL1xuICBkb2NzPzogRG9jcztcbiAgLyoqIEFwcGxpY2F0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIGluIGFwcCBzd2l0Y2hlciBhbmQgaGVhZGVyIGJhci4gKi9cbiAgaWNvbj86IEljb247XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBvbGQgb3B0aW9uc1xuICAvKiogSGlkZSBhcHBsaWNhdGlvbiBpbiBhcHAgc3dpdGNoZXIgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBub0FwcFN3aXRjaGVyPzogYm9vbGVhbjtcbiAgLyoqIEhUTUwgcGFnZSB0aXRsZS4gKi9cbiAgZ2xvYmFsVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIaWRlIFwicG93ZXJlZCBieVwiIGFuZCB2ZXJzaW9uIGluZm8gYXQgdGhlIGJvdHRvbSBvZiB0aGUgbmF2aWdhdG9yIGFuZCBpbiB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICBoaWRlUG93ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBIaWRlcyB0aGUgaGVhZGVyIGJhciAqL1xuICBoaWRlSGVhZGVyPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gc3VwcG9ydCBwYWdlIChzZXQgdG8gYGZhbHNlYCB0byBoaWRlIHRoZSBsaW5rKS4gKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rKHMpIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rIHwgTG9naW5FeHRyYUxpbmtbXTtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogTWVzc2FnZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdlQmFubmVyPzogTWVzc2FnZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgcmVtb3RlcyBkZWZpbmVkIGluIHRoZSBgcmVtb3Rlc2AgcXVlcnkgcGFyYW1ldGVyIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBmb3JjZVVybFJlbW90ZXM/OiBib29sZWFuO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMve3t2ZXJzaW9ufX1gKS5cbiAgICogQWx0ZXJuYXRpdmVseSwgaWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQgaGVyZSwgaXQnbGwgYmUgdXNlZCBhcyB0aGUgYmFzZSBVUkxcbiAgICogYW5kIGFueSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb24uXG4gICAqL1xuICBjb250ZXh0SGVscD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBjb2NrcGl0IGFuZCBkZXZpY2VtYW5hZ2VtZW50IHVzZSB0aGUgb25seVJvb3RzIHF1ZXJ5IHRvIHJlc29sdmUgcm9vdCBub2Rlcy4gVGhpc1xuICAgKiBjb3VsZCBsZWFkIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgaWYgYSBjdXN0b21lciBoYXMgYSBsb3Qgb2Ygcm9vdCBub2Rlcy4gVGhlcmVmb3JlIHlvdSBjYW4gZGlzYWJsZVxuICAgKiB0aGUgdXNlIG9mIHRoaXMgcXVlcnkgd2l0aCB0aGlzIGZsYWcuXG4gICAqL1xuICBkaXNhYmxlT25seVJvb3RzUXVlcnk/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGZvcmNlIHNob3dpbmcgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGZvcmNlU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBzaG93IHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBpc1NldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgYSBXZWJTREsgYXBwIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICogSW4gY2FzZSB5b3Ugd291bGQgbGlrZSB0byBkZXZlbG9wIGp1c3QgYSBzdGF0aWMgYXBwbGljYXRpb24sIHRoYXQgZG9lcyBub3QgcmVxdWlyZSBhbnkga2luZCBvZiBhY2Nlc3MgdG8gdGhlIGJhY2tlbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoaXMgZmxhZyB0byBkaXNhYmxlIHRoZSBsb2dpbiBzY3JlZW4uXG4gICAqIE5PVEU6IG5vdCBhbGwgV2ViU0RLIGNvbXBvbmVudHMgc3VwcG9ydCB0aGlzLCBzb21lIG1pZ2h0IHJlcXVpcmUgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIGFuZCB3b24ndCB3b3JrLlxuICAgKi9cbiAgbm9Mb2dpbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiBzdXBwb3J0aW5nL2xvYWRpbmcgcGx1Z2lucyBmb3IgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUGx1Z2lucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiB0aGUgdmVyc2lvbiB3YXJuaW5nIHdoaWNoIGlzIHNob3duIGluIHRoZSBkZXYgdG9vbHMuXG4gICAqL1xuICBub1ZlcnNpb25XYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgdGhlIG1hcCBsYXllcnMuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIG9wZW4gc3RyZWV0IG1hcCBsYXllci5cbiAgICovXG4gIG1hcExheWVycz86IE1hcFRpbGVMYXllcltdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNldCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIG9uIHRoZSBtYXBzLlxuICAgKi9cbiAgbWFwQ29uZmlnPzogTWFwRGVmYXVsdENvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBVUkwgdXNlZCB0byBsb29rdXAgZ2VvIGNvb3JkaW5hdGVzIGZvciBhIHVzZXIgcHJvdmlkZWQgYWRkcmVzcyB2aWEgW25vbWluYXRpbSBBUEldKGh0dHBzOi8vbm9taW5hdGltLm9yZy9yZWxlYXNlLWRvY3MvZGV2ZWxvcC9hcGkvU2VhcmNoLykuXG4gICAqIENhbiBiZSBzZXQgdG8gZW1wdHkgdG8gZGlzYWJsZSB0aGUgZmluZCBhZGRyZXNzIGZlYXR1cmUgb24gdGhlIGxvY2F0aW9uIHRhYi5cbiAgICogVXNlczogYGh0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaD9mb3JtYXQ9anNvbiZxPXtzZWFyY2hUZXJtfWAgaWYgbm90IHNldC5cbiAgICovXG4gIG1hcE5vbWluYXRpbVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByb290IGVsZW1lbnQuIEJ5IGRlZmF1bHQgYzh5LWJvb3RzdHJhcC5cbiAgICovXG4gIHJvb3RUYWdOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogSGlkZXMgcG9zc2liaWxpdHkgdG8gY3JlYXRlIHR5cGVkIGRhc2hib2FyZHMgZm9yIGFzc2V0cyAoYW5kIGdyb3VwcykuIElmIHRydWUsIHR5cGVkIGRhc2hib2FyZHMgY2FuIGJlIGNyZWF0ZWQgb25seSBmb3IgZGV2aWNlcy5cbiAgICogSXQgaXMgdHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgaGlkZVR5cGVEYXNoYm9hcmRGb3JBc3NldHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBtYXRyaXggb2YgdmVyc2lvbnMgaW5kaWNhdGluZyB3aGljaCB2ZXJzaW9ucyBvZiB0aGUgYXBwbGljYXRpb24gKGtleSkgYXJlIGRlcGVuZGVudCBvbiB3aGljaCB2ZXJzaW9uIG9mIGEgY3VtdWxvY2l0eSBjb21wb25lbnQgKEFQSSB2ZXJzaW9uIGFuZCBXZWIgU0RLIHZlcnNpb24gb2YgdGhlIHNoZWxsIGFwcGxpY2F0aW9uIGN1cnJlbnRseSBzdXBwb3J0ZWQsIGluZGljYXRlZCBieSB0aGUgdmFsdWUpLlxuICAgKiBUaGUgdmVyc2lvbnMgb2YgdGhlIGRlcGVuZGVudCBjb21wb25lbnRzIGNhbiBiZSBpbmRpY2F0ZWQgYnkgYSBzZW12ZXIgcmFuZ2UuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGpzb25cbiAgICoge1xuICAgKiAgXCIxLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwiPj0xMDE2LjAuMCA8MTAxNy4wLjBcIixcbiAgICogICAgXCJhcGlcIjogXCI+PTEwMTYuMC4wIDwxMDE3LjAuMFwiXG4gICAqICB9LFxuICAgKiAgXCIyLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwifjEwMTcuMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwifjEwMTcuMC4wXCJcbiAgICogIH0sXG4gICAqICBcIjMuMC4wXCI6IHtcbiAgICogICAgXCJzZGtcIjogXCI+PTEwMTguMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwiPj0xMDE4LjAuMFwiXG4gICAqICB9LFxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgdmVyc2lvbmluZ01hdHJpeD86IFZlcnNpb25pbmdNYXRyaXg7XG4gIC8qKlxuICAgKiBJcyB1c2VkIGZvciBwbHVnaW5zIHRvIGluZGljYXRlIHRoZWlyIG93bmVyLiBTb2Z0d2FyZSBBRyBwbHVnaW5zIGFyZSBtYXJrZWQgd2l0aCBPRkZJQ0lBTCBsYWJlbC5cbiAgICogWW91IGNhbiB1c2UgdGhlIHNwZWNpYWwgXCJBUkNISVZFRFwiIGxhYmVsIHRvIG1hcmsgdGhlbSBhcyBhcmNoaXZlZC5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiByZWZyZXNoIG1lY2hhbmlzbSB1c2VkIGZvciBhbGFybXMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiAtICdyZWFsdGltZSc6IFV0aWxpemVzIGEgcmVhbHRpbWUgbWVjaGFuaXNtIGZvciB1cGRhdGluZyBhbGFybXMuXG4gICAqIC0gJ2ludGVydmFsJzogVXRpbGl6ZXMgSFRUUCBwb2xsaW5nIGF0IHJlZ3VsYXIgaW50ZXJ2YWxzIHRvIHJlZnJlc2ggdGhlIGFsYXJtcy5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGFsbG93cyB0byBzd2l0Y2ggYmV0d2VlbiByZWFsdGltZSBhbmQgaW50ZXJ2YWwtYmFzZWQgcmVmcmVzaCBtZXRob2RzLlxuICAgKi9cbiAgYWxhcm1zUmVmcmVzaFR5cGU/OiAnaW50ZXJ2YWwnIHwgJ3JlYWx0aW1lJztcbn1cblxuLyoqXG4gKiBUZWxscyBob3cgYSBwbHVnaW4gaXMgc2NvcGVkLlxuICovXG5leHBvcnQgZW51bSBQbHVnaW5zRXhwb3J0U2NvcGVzIHtcbiAgLyoqXG4gICAqIExpbWl0IHRoZSBwbHVnaW4gdG8gdGhlIGN1cnJlbnQgYXBwbGljYXRpb24uIEl0IGlzIGltcG9ydGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBTRUxGID0gJ3NlbGYnLFxuICAvKipcbiAgICogQWxsb3dzIHRvIGFkZCB0aGUgcGx1Z2luIHRvIGEgZ2xvYmFsIHNjb3BlLCBtZWFuaW5nIGl0IGlzIGltcG9ydGVkIHRvIGFsbCBhcHBsaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZS5cbiAgICogVGhpcyBpcyBub3QgdXNlZCBhdCB0aGUgbW9tZW50IGJ1dCBwbGFubmVkIHRvIGJlIGltcGxlbWVudGVkIGluIHRoZSBuZXcgYnJhbmRpbmcgZWRpdG9yLlxuICAgKi9cbiAgR0xPQkFMID0gJ2dsb2JhbCcsXG4gIC8qKlxuICAgKiBMaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLiBUaGUgcGx1Z2luIGlzIG5vdCBpbXBvcnRlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgU0VMRl9PUFRJT05BTCA9ICdzZWxmLW9wdGlvbmFsJyxcbiAgLyoqXG4gICAqIExpa2UgdW5kZWZpbmVkIHRoZSBwbHVnaW4gaXMgYXZhaWxhYmxlIGZvciBhbnkgcHJpdmF0ZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIERFRkFVTFQgPSAnJ1xufVxuIl19
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBZ1I5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBa0JYO0FBbEJELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsb0NBQWEsQ0FBQTtJQUNiOzs7T0FHRztJQUNILHdDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsc0RBQStCLENBQUE7SUFDL0I7O09BRUc7SUFDSCxtQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQWxCVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiwgVmVyc2lvbmluZ01hdHJpeCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb25PcHRpb25zIGFzIEFwcE9wdGlvbnMsXG4gIEJyYW5kaW5nQ3NzVmFycyxcbiAgTGFuZ3VhZ2VzLFxuICBJMThuRXh0cmEsXG4gIERvY3MsXG4gIEljb24sXG4gIExvZ2luRXh0cmFMaW5rLFxuICBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uLFxuICBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24sXG4gIFJlbW90ZVBsdWdpbnMsXG4gIE1hcFRpbGVMYXllcixcbiAgTWFwRGVmYXVsdENvbmZpZyxcbiAgUGx1Z2luc0V4cG9ydHMsXG4gIE1lc3NhZ2VCYW5uZXJDb25maWd1cmF0aW9uXG59IGZyb20gJ0BjOHkvb3B0aW9ucyc7XG5cbi8qXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdBUk5JTkctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBvcmlnaW4gQXBwT3B0aW9uc1xuICogKipORVZFUioqIGNoYW5nZSB0aGlzIGZpbGUgZGlyZWN0bHkuIEluc3RlYWQgZG86XG4gKiAxLiBvcGVuIHBhY2thZ2VzL29wdGlvbnMvc3JjL0FwcGxpY2F0aW9uT3B0aW9ucy50cyBhbmQgYWRkIHlvdXIgcHJvcGVydHkgdGhlcmVcbiAqIDIuIGNoZWNrIGluIHRoaXMgZmlsZSBpZiBhbGwgb3B0aW9ucyBhcmUgaW1wbGVtZW50ZWQuXG4gKlxuICogVE9ETzogVGhpcyBmaWxlIHNob3VsZCB0aHJvdyB3aGVuIGEgcHJvcGVydHkgaXMgaW4gdGhlIEFwcE9wdGlvbnMgYnV0IG5vdCBpbXBsZW1lbnRlZCBoZXJlLlxuICogICAgICAgVGhpcyBzZWVtcyBub3QgdG8gd29yayBhdG0uIFdlIG5lZWQgdG8gY2hlY2sgd2h5LlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIGltcGxlbWVudHMgQXBwT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29udGV4dFBhdGg6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgd2ViU2RrVmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFNldCB0byBgdHJ1ZWAgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGh5YnJpZCBhbmQgdXNlcyBBbmd1bGFyIGFuZCBBbmd1bGFySlMgc2ltdWx0YW5lb3VzbHkuICovXG4gIHVwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnJhbmRpbmcgZW50cnkgZmlsZS4gKFNldCBpdCB0byBmYWxzZSB0byBkaXNhYmxlIGFueSBzdHlsaW5nLiBZb3UgY2FuIGhhbmRsZSB0aGUgc3R5bGluZyB0aGVuIG9uIHlvdXIgb3duIGUuZy4gaW4gYW4gYW5ndWxhci5qc29uIGZpbGUgdXNpbmcgbmctY2xpKVxuICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBnbG9iYWwgc3R5bGVzIHZpYSB0aGUgYW5ndWxhci5qc29uIGZpbGUuXG4gICAqL1xuICBicmFuZGluZ0VudHJ5PzogZmFsc2U7XG4gIC8qKlxuICAgKiBFbmFibGVzIGFsbCBiZXRhIGZlYXR1cmVzIGluIHRoZSBhcHBsaWNhdGlvbiBVSS5cbiAgICpcbiAgICogTm90ZTogVGhpcyBvbmx5IGFmZmVjdHMgZmVhdHVyZXMgb24gdGhlIGZyb250ZW5kLlxuICAgKiBJZiBhIGJldGEgZmVhdHVyZSBhbHNvIHJlcXVpcmVzIGJhY2tlbmQgc3VwcG9ydCBpdCBtdXN0IGJlIGVuYWJsZWQgc2VwYXJhdGVseSBvbiB0aGUgYmFja2VuZC5cbiAgICovXG4gIGVuYWJsZUFsbEJldGFGZWF0dXJlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgYmV0YSBwcmV2aWV3IHNlY3Rpb24gaW4gdGhlIHJpZ2h0IGRyYXdlci5cbiAgICovXG4gIGhpZGVCZXRhUHJldmlldz86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLlxuICAgKiBJZiBzZXQgdG8gYHRydWVgIG9yIGxlZnQgdW5kZWZpbmVkLCBhbiBVUkwgd2lsbCBiZSB1c2VkIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbnMgY29udGV4dFBhdGguXG4gICAqIElmIHNldCB0byBgZmFsc2VgLCBubyBkeW5hbWljIG9wdGlvbnMgd2lsbCBiZSBmZXRjaGVkLlxuICAgKiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gZmF2aWNvbi4gKi9cbiAgZmF2aWNvblVybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byAqLmNzcyBmaWxlIHdoaWNoIHdpbGwgcmVwbGFjZSBkZWZhdWx0IGJyYW5kaW5nLiAqL1xuICBicmFuZGluZ1VybD86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgdGhlIGJyYW5kaW5nIHByZXZpZXcgbW9kZS4gSWYgc2V0IHRvIHRydWUsIHRoZSBgZHluYW1pY09wdGlvbnNVcmxgIHdpbGwgYmUgcG9sbGVkIHJlZ3VsYXJseSBmb3IgY2hhbmdlcy4gSW4gY2FzZSB0aGUgYGxhc3RVcGRhdGVkYCBmaWVsZCBvZiB0aGUgZHluYW1pYyBvcHRpb25zIGNoYW5nZXMsIHRoZSBwYWdlIGlzIHJlbG9hZGVkIGluIG9yZGVyIHRvIGFwcGx5IHRoZSBuZXcgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nUHJldmlldz86IGJvb2xlYW47XG4gIC8qKiBPYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gQ1NTIGN1c3RvbSB2YXJpYWJsZXMuICovXG4gIGJyYW5kaW5nQ3NzVmFycz86IEJyYW5kaW5nQ3NzVmFycztcbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgYWRkaW5nIG9yIG92ZXJyaWRpbmcgbGFuZ3VhZ2VzIGF2YWlsYWJsZSBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAgICpcbiAgICogLSBgbmFtZWA6IEVuZ2xpc2ggbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYG5hdGl2ZU5hbWVgOiBuYXRpdmUgbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYHVybGA6IGZ1bGwgVVJMIHRvIEpTT04gZmlsZSB3aXRoIGNvbXBpbGVkIHRyYW5zbGF0aW9ucztcbiAgICogICAgaWYgbm90IGRlZmluZWQsIHRyYW5zbGF0aW9ucyB3aWxsIGJlIGxvYWRlZCBmcm9tIGAke2xvY2FsZVBhdGh9LyR7bGFuZ0NvZGV9Lmpzb25gLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiBgYGBqc29uXG4gICAqIFwibGFuZ3VhZ2VzXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwibmFtZVwiOiBcIkdlcm1hblwiLFxuICAgKiAgICAgXCJuYXRpdmVOYW1lXCI6IFwiRGV1dHNjaFwiLFxuICAgKiAgICAgXCJ1cmxcIjogXCIvYXBwcy9wdWJsaWMvdWktYXNzZXRzL2RlLmpzb25cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGxhbmd1YWdlcz86IExhbmd1YWdlcztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgY3VzdG9tIHRyYW5zbGF0aW9ucy4gSXQgaXMgYW4gb3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyAoaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZ2V0dGluZy1zdGFydGVkLyNhLW5hbWUtbGFuZ3VhZ2VzLWEtYXZhaWxhYmxlLWxhbmd1YWdlcylcbiAgICogYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyBpbiBFbmdsaXNoIGFuZCB0aGUgdmFsdWUgLSBpdHMgdHJhbnNsYXRpb24uXG4gICAqXG4gICAqIC0gYEhvbWVgOiBcIlN0YXJ0c2VpdGVcIlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIFN0eWxlc2hlZXQgKENTUykgdGhhdCB3aWxsIGJlIGFkZGVkIGF0IHJ1bnRpbWUuIFRoZSBzdHJpbmcgc2hvdWxkIGFjdHVhbGx5IGNvbnRhaW4gdGhlIENTUyBub3QgYSBwYXRoIG9yIFVSTCB0byBpdC4gKi9cbiAgZXh0cmFDc3M/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uIGxpbmtzIHNldHRpbmdzLiAqL1xuICBkb2NzPzogRG9jcztcbiAgLyoqIEFwcGxpY2F0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIGluIGFwcCBzd2l0Y2hlciBhbmQgaGVhZGVyIGJhci4gKi9cbiAgaWNvbj86IEljb247XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBvbGQgb3B0aW9uc1xuICAvKiogSGlkZSBhcHBsaWNhdGlvbiBpbiBhcHAgc3dpdGNoZXIgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBub0FwcFN3aXRjaGVyPzogYm9vbGVhbjtcbiAgLyoqIEhUTUwgcGFnZSB0aXRsZS4gKi9cbiAgZ2xvYmFsVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIaWRlIFwicG93ZXJlZCBieVwiIGFuZCB2ZXJzaW9uIGluZm8gYXQgdGhlIGJvdHRvbSBvZiB0aGUgbmF2aWdhdG9yIGFuZCBpbiB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICBoaWRlUG93ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBIaWRlcyB0aGUgaGVhZGVyIGJhciAqL1xuICBoaWRlSGVhZGVyPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gc3VwcG9ydCBwYWdlIChzZXQgdG8gYGZhbHNlYCB0byBoaWRlIHRoZSBsaW5rKS4gKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rKHMpIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rIHwgTG9naW5FeHRyYUxpbmtbXTtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogTWVzc2FnZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdlQmFubmVyPzogTWVzc2FnZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgcmVtb3RlcyBkZWZpbmVkIGluIHRoZSBgcmVtb3Rlc2AgcXVlcnkgcGFyYW1ldGVyIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBmb3JjZVVybFJlbW90ZXM/OiBib29sZWFuO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMve3t2ZXJzaW9ufX1gKS5cbiAgICogQWx0ZXJuYXRpdmVseSwgaWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQgaGVyZSwgaXQnbGwgYmUgdXNlZCBhcyB0aGUgYmFzZSBVUkxcbiAgICogYW5kIGFueSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb24uXG4gICAqL1xuICBjb250ZXh0SGVscD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBjb2NrcGl0IGFuZCBkZXZpY2VtYW5hZ2VtZW50IHVzZSB0aGUgb25seVJvb3RzIHF1ZXJ5IHRvIHJlc29sdmUgcm9vdCBub2Rlcy4gVGhpc1xuICAgKiBjb3VsZCBsZWFkIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgaWYgYSBjdXN0b21lciBoYXMgYSBsb3Qgb2Ygcm9vdCBub2Rlcy4gVGhlcmVmb3JlIHlvdSBjYW4gZGlzYWJsZVxuICAgKiB0aGUgdXNlIG9mIHRoaXMgcXVlcnkgd2l0aCB0aGlzIGZsYWcuXG4gICAqL1xuICBkaXNhYmxlT25seVJvb3RzUXVlcnk/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGZvcmNlIHNob3dpbmcgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGZvcmNlU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBzaG93IHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBpc1NldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgYSBXZWJTREsgYXBwIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICogSW4gY2FzZSB5b3Ugd291bGQgbGlrZSB0byBkZXZlbG9wIGp1c3QgYSBzdGF0aWMgYXBwbGljYXRpb24sIHRoYXQgZG9lcyBub3QgcmVxdWlyZSBhbnkga2luZCBvZiBhY2Nlc3MgdG8gdGhlIGJhY2tlbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoaXMgZmxhZyB0byBkaXNhYmxlIHRoZSBsb2dpbiBzY3JlZW4uXG4gICAqIE5PVEU6IG5vdCBhbGwgV2ViU0RLIGNvbXBvbmVudHMgc3VwcG9ydCB0aGlzLCBzb21lIG1pZ2h0IHJlcXVpcmUgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIGFuZCB3b24ndCB3b3JrLlxuICAgKi9cbiAgbm9Mb2dpbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiBzdXBwb3J0aW5nL2xvYWRpbmcgcGx1Z2lucyBmb3IgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUGx1Z2lucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiB0aGUgdmVyc2lvbiB3YXJuaW5nIHdoaWNoIGlzIHNob3duIGluIHRoZSBkZXYgdG9vbHMuXG4gICAqL1xuICBub1ZlcnNpb25XYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgdGhlIG1hcCBsYXllcnMuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIG9wZW4gc3RyZWV0IG1hcCBsYXllci5cbiAgICovXG4gIG1hcExheWVycz86IE1hcFRpbGVMYXllcltdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNldCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIG9uIHRoZSBtYXBzLlxuICAgKi9cbiAgbWFwQ29uZmlnPzogTWFwRGVmYXVsdENvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBVUkwgdXNlZCB0byBsb29rdXAgZ2VvIGNvb3JkaW5hdGVzIGZvciBhIHVzZXIgcHJvdmlkZWQgYWRkcmVzcyB2aWEgW25vbWluYXRpbSBBUEldKGh0dHBzOi8vbm9taW5hdGltLm9yZy9yZWxlYXNlLWRvY3MvZGV2ZWxvcC9hcGkvU2VhcmNoLykuXG4gICAqIENhbiBiZSBzZXQgdG8gZW1wdHkgdG8gZGlzYWJsZSB0aGUgZmluZCBhZGRyZXNzIGZlYXR1cmUgb24gdGhlIGxvY2F0aW9uIHRhYi5cbiAgICogVXNlczogYGh0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaD9mb3JtYXQ9anNvbiZxPXtzZWFyY2hUZXJtfWAgaWYgbm90IHNldC5cbiAgICovXG4gIG1hcE5vbWluYXRpbVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByb290IGVsZW1lbnQuIEJ5IGRlZmF1bHQgYzh5LWJvb3RzdHJhcC5cbiAgICovXG4gIHJvb3RUYWdOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogSGlkZXMgcG9zc2liaWxpdHkgdG8gY3JlYXRlIHR5cGVkIGRhc2hib2FyZHMgZm9yIGFzc2V0cyAoYW5kIGdyb3VwcykuIElmIHRydWUsIHR5cGVkIGRhc2hib2FyZHMgY2FuIGJlIGNyZWF0ZWQgb25seSBmb3IgZGV2aWNlcy5cbiAgICogSXQgaXMgdHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgaGlkZVR5cGVEYXNoYm9hcmRGb3JBc3NldHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBtYXRyaXggb2YgdmVyc2lvbnMgaW5kaWNhdGluZyB3aGljaCB2ZXJzaW9ucyBvZiB0aGUgYXBwbGljYXRpb24gKGtleSkgYXJlIGRlcGVuZGVudCBvbiB3aGljaCB2ZXJzaW9uIG9mIGEgY3VtdWxvY2l0eSBjb21wb25lbnQgKEFQSSB2ZXJzaW9uIGFuZCBXZWIgU0RLIHZlcnNpb24gb2YgdGhlIHNoZWxsIGFwcGxpY2F0aW9uIGN1cnJlbnRseSBzdXBwb3J0ZWQsIGluZGljYXRlZCBieSB0aGUgdmFsdWUpLlxuICAgKiBUaGUgdmVyc2lvbnMgb2YgdGhlIGRlcGVuZGVudCBjb21wb25lbnRzIGNhbiBiZSBpbmRpY2F0ZWQgYnkgYSBzZW12ZXIgcmFuZ2UuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGpzb25cbiAgICoge1xuICAgKiAgXCIxLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwiPj0xMDE2LjAuMCA8MTAxNy4wLjBcIixcbiAgICogICAgXCJhcGlcIjogXCI+PTEwMTYuMC4wIDwxMDE3LjAuMFwiXG4gICAqICB9LFxuICAgKiAgXCIyLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwifjEwMTcuMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwifjEwMTcuMC4wXCJcbiAgICogIH0sXG4gICAqICBcIjMuMC4wXCI6IHtcbiAgICogICAgXCJzZGtcIjogXCI+PTEwMTguMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwiPj0xMDE4LjAuMFwiXG4gICAqICB9LFxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgdmVyc2lvbmluZ01hdHJpeD86IFZlcnNpb25pbmdNYXRyaXg7XG4gIC8qKlxuICAgKiBJcyB1c2VkIGZvciBwbHVnaW5zIHRvIGluZGljYXRlIHRoZWlyIG93bmVyLiBTb2Z0d2FyZSBBRyBwbHVnaW5zIGFyZSBtYXJrZWQgd2l0aCBPRkZJQ0lBTCBsYWJlbC5cbiAgICogWW91IGNhbiB1c2UgdGhlIHNwZWNpYWwgXCJBUkNISVZFRFwiIGxhYmVsIHRvIG1hcmsgdGhlbSBhcyBhcmNoaXZlZC5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiByZWZyZXNoIG1lY2hhbmlzbSB1c2VkIGZvciBhbGFybXMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiAtICdyZWFsdGltZSc6IFV0aWxpemVzIGEgcmVhbHRpbWUgbWVjaGFuaXNtIGZvciB1cGRhdGluZyBhbGFybXMuXG4gICAqIC0gJ2ludGVydmFsJzogVXRpbGl6ZXMgSFRUUCBwb2xsaW5nIGF0IHJlZ3VsYXIgaW50ZXJ2YWxzIHRvIHJlZnJlc2ggdGhlIGFsYXJtcy5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGFsbG93cyB0byBzd2l0Y2ggYmV0d2VlbiByZWFsdGltZSBhbmQgaW50ZXJ2YWwtYmFzZWQgcmVmcmVzaCBtZXRob2RzLlxuICAgKi9cbiAgYWxhcm1zUmVmcmVzaFR5cGU/OiAnaW50ZXJ2YWwnIHwgJ3JlYWx0aW1lJztcbn1cblxuLyoqXG4gKiBUZWxscyBob3cgYSBwbHVnaW4gaXMgc2NvcGVkLlxuICovXG5leHBvcnQgZW51bSBQbHVnaW5zRXhwb3J0U2NvcGVzIHtcbiAgLyoqXG4gICAqIExpbWl0IHRoZSBwbHVnaW4gdG8gdGhlIGN1cnJlbnQgYXBwbGljYXRpb24uIEl0IGlzIGltcG9ydGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBTRUxGID0gJ3NlbGYnLFxuICAvKipcbiAgICogQWxsb3dzIHRvIGFkZCB0aGUgcGx1Z2luIHRvIGEgZ2xvYmFsIHNjb3BlLCBtZWFuaW5nIGl0IGlzIGltcG9ydGVkIHRvIGFsbCBhcHBsaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZS5cbiAgICogVGhpcyBpcyBub3QgdXNlZCBhdCB0aGUgbW9tZW50IGJ1dCBwbGFubmVkIHRvIGJlIGltcGxlbWVudGVkIGluIHRoZSBuZXcgYnJhbmRpbmcgZWRpdG9yLlxuICAgKi9cbiAgR0xPQkFMID0gJ2dsb2JhbCcsXG4gIC8qKlxuICAgKiBMaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLiBUaGUgcGx1Z2luIGlzIG5vdCBpbXBvcnRlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgU0VMRl9PUFRJT05BTCA9ICdzZWxmLW9wdGlvbmFsJyxcbiAgLyoqXG4gICAqIExpa2UgdW5kZWZpbmVkIHRoZSBwbHVnaW4gaXMgYXZhaWxhYmxlIGZvciBhbnkgcHJpdmF0ZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIERFRkFVTFQgPSAnJ1xufVxuIl19
|
|
@@ -403,21 +403,36 @@ export class PluginsService {
|
|
|
403
403
|
const remotesCopy = cloneDeep(remotesConfig);
|
|
404
404
|
const temp = Array.isArray(plugins) ? plugins : [plugins];
|
|
405
405
|
temp.forEach(plugin => {
|
|
406
|
-
const {
|
|
407
|
-
if (!
|
|
406
|
+
const { rawContextPath, moduleName } = this.parsePluginId(plugin.id);
|
|
407
|
+
if (!rawContextPath || !moduleName) {
|
|
408
408
|
return;
|
|
409
409
|
}
|
|
410
|
-
|
|
411
|
-
remotesCopy
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
410
|
+
// Find all keys in remotesConfig that match the plugin context (regardless of version)
|
|
411
|
+
Object.keys(remotesCopy).forEach(key => {
|
|
412
|
+
if (key === rawContextPath || key.startsWith(`${rawContextPath}@`)) {
|
|
413
|
+
remotesCopy[key] = remotesCopy[key].filter(p => p !== moduleName);
|
|
414
|
+
remotesCopy[key] = [...new Set(remotesCopy[key])];
|
|
415
|
+
if (remotesCopy[key].length === 0) {
|
|
416
|
+
delete remotesCopy[key];
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
});
|
|
415
420
|
});
|
|
416
421
|
return remotesCopy;
|
|
417
422
|
}
|
|
423
|
+
/**
|
|
424
|
+
* Parses id of the plugin and returns object with context path, raw context path (without version) and module name.
|
|
425
|
+
* For example:
|
|
426
|
+
* ```ts
|
|
427
|
+
* const id = 'widget-plugin@1021.0.1/WidgetPluginModule'
|
|
428
|
+
* const parsed = parsePluginId(id); // { contextPath: 'widget-plugin@1021.0.1', moduleName: 'WidgetPluginModule', rawContextPath: 'widget-plugin' }
|
|
429
|
+
* @param id Plugin id in the format of `<contextPath>@<version>/<moduleName>`
|
|
430
|
+
* @returns Object with context path, module name and raw context path (without version).
|
|
431
|
+
*/
|
|
418
432
|
parsePluginId(id) {
|
|
419
433
|
const [contextPath, moduleName] = id.split('/');
|
|
420
|
-
|
|
434
|
+
const [rawContextPath] = contextPath.split('@');
|
|
435
|
+
return { rawContextPath, contextPath, moduleName };
|
|
421
436
|
}
|
|
422
437
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginsService, deps: [{ token: i1.ApplicationService }, { token: i2.AppStateService }, { token: i1.FetchClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
423
438
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginsService }); }
|
|
@@ -425,4 +440,4 @@ export class PluginsService {
|
|
|
425
440
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginsService, decorators: [{
|
|
426
441
|
type: Injectable
|
|
427
442
|
}], ctorParameters: () => [{ type: i1.ApplicationService }, { type: i2.AppStateService }, { type: i1.FetchClient }] });
|
|
428
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9wbHVnaW5zL3BsdWdpbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsV0FBVyxFQU1aLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFxQixXQUFXLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFHbEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLDRCQUE0QixDQUFDLE9BQWlDO1FBQ25FLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FB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LENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxPQUFPO1lBQ1QsQ0FBQztZQUNELFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQ2xGLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxhQUFhLENBQUMsRUFBVTtRQUM5QixNQUFNLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDOytHQXJpQlUsY0FBYzttSEFBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25BdmFpbGFiaWxpdHksXG4gIEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyxcbiAgRmV0Y2hDbGllbnQsXG4gIElBcHBsaWNhdGlvbixcbiAgSUFwcGxpY2F0aW9uVmVyc2lvbixcbiAgSUZldGNoT3B0aW9ucyxcbiAgSUZldGNoUmVzcG9uc2UsXG4gIElNYW5pZmVzdFxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGdldCwgdW5pcUJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvZXJjZSwgY29tcGFyZSB9IGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBncm91cEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUGx1Z2luLCBQYWNrYWdlVHlwZSwgUGx1Z2luc0NvbmZpZyB9IGZyb20gJy4vcGx1Z2lucy5tb2RlbCc7XG5pbXBvcnQgeyBQbHVnaW5zRXhwb3J0U2NvcGVzIH0gZnJvbSAnLi4vY29tbW9uL0FwcGxpY2F0aW9uT3B0aW9ucyc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuL3BsdWdpbnMtcmVzb2x2ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBsdWdpbnNTZXJ2aWNlIHtcbiAgc3RhdGljIGNvbnZlcnRJbnN0YWxsZWRSZW1vdGVzVG9JZHMocmVtb3RlczogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zKTogc3RyaW5nW10ge1xuICAgIGlmICghcmVtb3Rlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpbXBvcnRDb250ZXh0UGF0aHMgPSBPYmplY3Qua2V5cyhyZW1vdGVzKTtcbiAgICBjb25zdCBwbHVnaW5zID0gW107XG4gICAgaW1wb3J0Q29udGV4dFBhdGhzLmZvckVhY2goY29udGV4dFBhdGggPT4ge1xuICAgICAgY29uc3QgbW9kdWxlTmFtZXMgPSByZW1vdGVzW2NvbnRleHRQYXRoXSB8fCBbXTtcbiAgICAgIHBsdWdpbnMucHVzaChcbiAgICAgICAgLi4ubW9kdWxlTmFtZXMubWFwKG1vZHVsZSA9PiBQbHVnaW5zU2VydmljZS5jcmVhdGVQbHVnaW5JZChjb250ZXh0UGF0aCwgbW9kdWxlLCAnJywgdHJ1ZSkpXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiBwbHVnaW5zO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVBsdWdpbklkKFxuICAgIGNvbnRleHRQYXRoOiBzdHJpbmcsXG4gICAgcGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbiB8IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgdXNlTGF0ZXN0ID0gZmFsc2VcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBtb2R1bGVOYW1lID0gdHlwZW9mIHBsdWdpbiA9PT0gJ3N0cmluZycgPyBwbHVnaW4gOiBwbHVnaW4ubW9kdWxlO1xuICAgIGlmICh1c2VMYXRlc3QpIHtcbiAgICAgIHJldHVybiBgJHtjb250ZXh0UGF0aH0vJHttb2R1bGVOYW1lfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtjb250ZXh0UGF0aH1AJHt2ZXJzaW9ufS8ke21vZHVsZU5hbWV9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnRcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhdmFpbGFibGUgcGFja2FnZXMuXG4gICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGEgbGlzdCBvZiBwYWNrYWdlcy5cbiAgICovXG4gIGFzeW5jIGxpc3RQYWNrYWdlcyhwYXJhbXM6IGFueSA9IHt9KTogUHJvbWlzZTxJQXBwbGljYXRpb25bXT4ge1xuICAgIGNvbnN0IGFwcHMgPSBhd2FpdCB0aGlzLmxpc3RBcHBsaWNhdGlvbnNCeUN1cnJlbnRUZW5hbnQocGFyYW1zKTtcbiAgICBjb25zdCB3ZWJBcHBzID0gYXBwcy5maWx0ZXIoYXBwID0+IHRoaXMuaXNQYWNrYWdlKGFwcCkpO1xuICAgIGNvbnN0IHVuaXF1ZVdlYkFwcHMgPSB0aGlzLnJlbW92ZUR1cGxpY2F0ZXMod2ViQXBwcywgJ2NvbnRleHRQYXRoJyk7XG4gICAgcmV0dXJuIHVuaXF1ZVdlYkFwcHMuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFuIGFwcGxpY2F0aW9uIGlzIGEgcGFja2FnZS5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uIEFwcGxpY2F0aW9uIG1hbmFnZWQgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIHRydWUgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGEgcGFja2FnZS5cbiAgICovXG4gIGlzUGFja2FnZShhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFwcGxpY2F0aW9uLm1hbmlmZXN0Py5pc1BhY2thZ2UgPT09IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcmVtb3RlcyBmaWVsZCBpbiB0aGUgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbiBieSBhZGRpbmcgbmV3IHBsdWdpbnMuXG4gICAqIEltcG9ydGFudDogaWYgdGhlIHJlbW90ZXMgb2JqZWN0IGlzIG5vdCBzZXQgb24gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LFxuICAgKiByZW1vdGVzIHdpbGwgbm90IGJlIGFkZGVkLiBNYWtlIHN1cmUgdGhhdCB0aGlzIG9iamVjdCBleGlzdHMgaW4gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHBhcmFtIHBsdWdpbnMgTGlzdCBvZiByZW1vdGVzIHRvIGJlIGFkZGVkLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIHVwZGF0ZWQgYXBwbGljYXRpb24gcmVtb3Rlcy5cbiAgICovXG4gIGFzeW5jIGFkZFJlbW90ZXMoXG4gICAgYXBwbGljYXRpb246IElBcHBsaWNhdGlvbixcbiAgICBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbiB8IEFwcGxpY2F0aW9uUGx1Z2luW11cbiAgKTogUHJvbWlzZTxQbHVnaW5zQ29uZmlnPiB7XG4gICAgY29uc3QgcGx1Z2luc0FycmF5ID0gQXJyYXkuaXNBcnJheShwbHVnaW5zKSA/IHBsdWdpbnMgOiBbcGx1Z2luc107XG4gICAgY29uc3QgbWFuaWZlc3RSZW1vdGVzID0gYXBwbGljYXRpb24ubWFuaWZlc3Q/LnJlbW90ZXMgfHwge307XG4gICAgY29uc3QgYXBwQ29uZmlnOiBQbHVnaW5zQ29uZmlnIHwgdW5kZWZpbmVkID0gYXBwbGljYXRpb24/LmNvbmZpZyBhcyBQbHVnaW5zQ29uZmlnO1xuICAgIGNvbnN0IGFwcENvbmZpZ1JlbW90ZXMgPSBhcHBDb25maWc/LnJlbW90ZXMgfHwgbWFuaWZlc3RSZW1vdGVzO1xuICAgIGNvbnN0IGFwcENvbmZpZ0V4Y2x1ZGVkUmVtb3RlcyA9IGFwcENvbmZpZz8uZXhjbHVkZWRSZW1vdGVzIHx8IHt9O1xuICAgIC8vIG9ubHkgbm9ybWFsIGFuZCBzZWxmIG9wdGlvbmFsIHNjb3BlZCBwbHVnaW5zIHNob3VsZCBiZSBhZGRlZCB0byByZW1vdGVzXG4gICAgLy8gc2VsZiBzY29wZWQgcGx1Z2lucyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYWRkZWRcbiAgICBjb25zdCBhbGxQbHVnaW5zRXhjZXB0U2VsZlNjb3BlZCA9IHRoaXMuZ2V0QWxsUGx1Z2luc0V4Y2VwdFNlbGZTY29wZWQoXG4gICAgICBwbHVnaW5zQXJyYXksXG4gICAgICBhcHBsaWNhdGlvbi5jb250ZXh0UGF0aFxuICAgICk7XG4gICAgY29uc3QgbmV3UmVtb3RlcyA9IHRoaXMuYWRkUGx1Z2luVG9SZW1vdGVzQ29uZmlnKGFwcENvbmZpZ1JlbW90ZXMsIGFsbFBsdWdpbnNFeGNlcHRTZWxmU2NvcGVkKTtcbiAgICAvLyBzaG91bGQgYmUgdW5wcm9ibGVtYXRpYyB0byByZW1vdmUgYWxsIGNhdGVnb3JpZXMgb2YgcGx1Z2lucyBmcm9tIGV4Y2x1ZGVkIHJlbW90ZXNcbiAgICBjb25zdCBuZXdFeGNsdWRlZFJlbW90ZXMgPSB0aGlzLnJlbW92ZVBsdWdpbnNGcm9tUmVtb3Rlc0NvbmZpZyhcbiAgICAgIGFwcENvbmZpZ0V4Y2x1ZGVkUmVtb3RlcyxcbiAgICAgIHBsdWdpbnNcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnVwZGF0ZVJlbW90ZXNJbkFwcENvbmZpZyhhcHBsaWNhdGlvbiwgbmV3UmVtb3RlcywgbmV3RXhjbHVkZWRSZW1vdGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSByZW1vdGVzIGZpZWxkIGluIHRoZSBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIGJ5IHJlbW92aW5nIHBsdWdpbnMuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHBhcmFtIHBsdWdpbnMgTGlzdCBvZiByZW1vdGVzIHRvIGJlIHJlbW92ZWQuXG4gICAqIEByZXR1cm5zIFJldHVybnMgdXBkYXRlZCBhcHBsaWNhdGlvbiByZW1vdGVzLlxuICAgKi9cbiAgYXN5bmMgcmVtb3ZlUmVtb3RlcyhcbiAgICBhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uLFxuICAgIHBsdWdpbnM6IEFwcGxpY2F0aW9uUGx1Z2luIHwgQXBwbGljYXRpb25QbHVnaW5bXVxuICApOiBQcm9taXNlPFBsdWdpbnNDb25maWc+IHtcbiAgICBjb25zdCBwbHVnaW5zQXJyYXkgPSBBcnJheS5pc0FycmF5KHBsdWdpbnMpID8gcGx1Z2lucyA6IFtwbHVnaW5zXTtcbiAgICBjb25zdCBtYW5pZmVzdFJlbW90ZXMgPSBhcHBsaWNhdGlvbi5tYW5pZmVzdD8ucmVtb3RlcyB8fCB7fTtcbiAgICBjb25zdCBhcHBDb25maWc6IFBsdWdpbnNDb25maWcgfCB1bmRlZmluZWQgPSBhcHBsaWNhdGlvbj8uY29uZmlnIGFzIFBsdWdpbnNDb25maWc7XG4gICAgY29uc3QgYXBwQ29uZmlnUmVtb3RlcyA9IGFwcENvbmZpZz8ucmVtb3RlcyB8fCBtYW5pZmVzdFJlbW90ZXM7XG4gICAgY29uc3QgYXBwQ29uZmlnRXhjbHVkZWRSZW1vdGVzID0gYXBwQ29uZmlnPy5leGNsdWRlZFJlbW90ZXMgfHwge307XG4gICAgLy8gYXBwIHBsdWdpbnMgbmVlZCB0byBiZSByZW1vdmVkIGZyb20gcmVtb3Rlc1xuICAgIGNvbnN0IG5ld1JlbW90ZXMgPSB0aGlzLnJlbW92ZVBsdWdpbnNGcm9tUmVtb3Rlc0NvbmZpZyhhcHBDb25maWdSZW1vdGVzLCBwbHVnaW5zKTtcbiAgICAvLyBzZWxmIHNjb3BlZCBwbHVnaW5zIG5lZWQgdG8gYmUgYWRkZWQgdG8gZXhjbHVkZWQgcmVtb3Rlc1xuICAgIC8vIGFzIHRoZXkgd291bGQgYmUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gcmVtb3Rlc1xuICAgIGNvbnN0IHNlbGZTY29wZWRQbHVnaW5zID0gdGhpcy5nZXRTZWxmU2NvcGVkUGx1Z2lucyhwbHVnaW5zQXJyYXksIGFwcGxpY2F0aW9uLmNvbnRleHRQYXRoKTtcbiAgICBjb25zdCBuZXdFeGNsdWRlZFJlbW90ZXMgPSB0aGlzLmFkZFBsdWdpblRvUmVtb3Rlc0NvbmZpZyhcbiAgICAgIGFwcENvbmZpZ0V4Y2x1ZGVkUmVtb3RlcyxcbiAgICAgIHNlbGZTY29wZWRQbHVnaW5zXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy51cGRhdGVSZW1vdGVzSW5BcHBDb25maWcoYXBwbGljYXRpb24sIG5ld1JlbW90ZXMsIG5ld0V4Y2x1ZGVkUmVtb3Rlcyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcmVtb3RlcyBmaWVsZCBpbiB0aGUgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uIEFwcGxpY2F0aW9uIG1hbmFnZWQgb2JqZWN0LlxuICAgKiBAcGFyYW0gcGx1Z2lucyBMaXN0IG9mIHJlbW90ZXMgdG8gYmUgYWRkZWQuXG4gICAqIEByZXR1cm5zIFJldHVybnMgdXBkYXRlZCBhcHBsaWNhdGlvbiByZW1vdGVzLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlUmVtb3Rlc0luQXBwQ29uZmlnKFxuICAgIGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24sXG4gICAgcGx1Z2luczogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zLFxuICAgIGV4Y2x1ZGVkUmVtb3Rlcz86IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2luc1xuICApOiBQcm9taXNlPFBsdWdpbnNDb25maWc+IHtcbiAgICBjb25zdCB1cGRhdGVkQXBwV2l0aENvbmZpZyA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLnVwZGF0ZUFwcGxpY2F0aW9uQ29uZmlnKFxuICAgICAgYXBwbGljYXRpb24sXG4gICAgICB7XG4gICAgICAgIHJlbW90ZXM6IHBsdWdpbnMsXG4gICAgICAgIGV4Y2x1ZGVkUmVtb3RlczogZXhjbHVkZWRSZW1vdGVzIHx8IHt9XG4gICAgICB9IGFzIFBsdWdpbnNDb25maWdcbiAgICApO1xuICAgIHJldHVybiB1cGRhdGVkQXBwV2l0aENvbmZpZz8uY29uZmlnIHx8IHsgcmVtb3Rlczoge30gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSBhcHBsaWNhdGlvbiBtYW5pZmVzdC5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uIEFwcGxpY2F0aW9uIG1hbmFnZWQgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIHRoZSBhcHBsaWNhdGlvbiBtYW5pZmVzdC5cbiAgICovXG4gIGFzeW5jIGdldEN1bXVsb2NpdHlKc29uRmlsZShhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKSB7XG4gICAgY29uc3QgYzh5SnNvbiA9IGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmdldEFwcE1hbmlmZXN0KGFwcGxpY2F0aW9uKTtcbiAgICBpZiAoIWM4eUpzb24ucmVtb3Rlcykge1xuICAgICAgYzh5SnNvbi5yZW1vdGVzID0ge307XG4gICAgfVxuICAgIHJldHVybiBjOHlKc29uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgc3RhdGUgb2YgcmVtb3RlcyBpbiB0aGUgY29uZmlndXJhdGlvbiAod2hlbiBpdCdzIG1pc3NpbmcpLCBiYXNlZCBvbiB0aGUgbGlzdCBvZiByZW1vdGVzIGJlaW5nIGluIHRoZSBhcHBsaWNhdGlvbiBtYW5pZmVzdC5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uICBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHJldHVybnMgUmV0dXJucyBhIGxpc3Qgb2YgcmVtb3RlcyB0aGF0IGhhcyBiZWVuIGFzc2lnbmVkIHRvIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICovXG4gIGFzeW5jIHNldEluaXRpYWxSZW1vdGVzKGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24pIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWFuaWZlc3Q6IElNYW5pZmVzdCA9IGF3YWl0IHRoaXMuZ2V0Q3VtdWxvY2l0eUpzb25GaWxlKGFwcGxpY2F0aW9uKTtcbiAgICAgIGNvbnN0IG1hbmlmZXN0UmVtb3RlczogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zID0gbWFuaWZlc3QucmVtb3RlcztcblxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlUmVtb3Rlc0luQXBwQ29uZmlnKGFwcGxpY2F0aW9uLCBtYW5pZmVzdFJlbW90ZXMgfHwge30sIHt9KTtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZXNldFJlbW90ZXMoYXBwbGljYXRpb246IElBcHBsaWNhdGlvbikge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS51cGRhdGVBcHBsaWNhdGlvbkNvbmZpZyhhcHBsaWNhdGlvbiwge1xuICAgICAgcmVtb3RlczogdW5kZWZpbmVkLFxuICAgICAgZXhjbHVkZWRSZW1vdGVzOiB1bmRlZmluZWRcbiAgICB9IGFzIFBsdWdpbnNDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnRzIHZlcnNpb25zIGxpc3Qgb3IgbGlzdCBvZiBvYmplY3RzIGJ5IHZlcnNpb24gcHJvcGVydHlcbiAgICogQHJldHVybnMgbGlzdCBvZiB2ZXJzaW9ucyBhcyBhcnJheSBvZiBzdHJpbmdzIG9yIGFycmF5IG9mIG9iamVjdHMgc29ydGVkIGJ5IHZlcnNpb24gcHJvcGVydHlcbiAgICpcbiAgICogQHBhcmFtIHt7IGxpc3Q6IFRbXTsgcGF0aDogc3RyaW5nW10gfSB8IHN0cmluZ1tdfSBzb3VyY2UgZGF0YSB0byBzb3J0XG4gICAqIEBwYXJhbSB7J2FzYycgfCAnZGVzYyd9IG9yZGVyIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nIG9yZGVyIG9mIHNvcnRpbmdcbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBkYXRhID0gWycxLjUuMCcsICcyLjAuMCddO1xuICAgKiBjb25zdCBzb3J0ZWREYXRhID0gcGx1Z2luc1NlcnZpY2Uuc29ydFZlcnNpb25zKHZlcnNpb25zLCAnZGVzYycpO1xuICAgKiAvLyBzb3J0ZWREYXRhOlxuICAgKiAvLyBbJzIuMC4wJywgJzEuNS4wJ11cbiAgICogYGBgXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgZGF0YSA9IFtcbiAgICogIHthcHA6IHthcHBWZXJzaW9uOiAnMS41LjAnfX0sXG4gICAqICB7YXBwOiB7YXBwVmVyc2lvbjogJzIuMC4wJ319LFxuICAgKiBdO1xuICAgKiBjb25zdCBzb3J0ZWREYXRhID0gcGx1Z2luc1NlcnZpY2Uuc29ydFZlcnNpb25zKHtsaXN0OiBkYXRhLCBwYXRoOiBbJ2FwcCcsICdhcHBWZXJzaW9uJ119LCAnZGVzYycpO1xuICAgKiAvLyBzb3J0ZWREYXRhOlxuICAgKiAvLyBbXG4gICAqIC8vICB7YXBwOiB7YXBwVmVyc2lvbjogJzIuMC4wJ319LFxuICAgKiAvLyAge2FwcDoge2FwcFZlcnNpb246ICcxLjUuMCd9fVxuICAgKiAvLyBdXG4gICAqIGBgYFxuICAgKi9cbiAgc29ydFZlcnNpb25zPFQ+KHNvdXJjZTogeyBsaXN0OiBUW107IHBhdGg6IHN0cmluZ1tdIH0sIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyk6IFRbXTtcbiAgc29ydFZlcnNpb25zKHNvdXJjZTogc3RyaW5nW10sIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyk6IHN0cmluZ1tdO1xuICBzb3J0VmVyc2lvbnMoc291cmNlOiBhbnksIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyk6IGFueSB7XG4gICAgY29uc3Qgc291cmNlQ29weSA9IGNsb25lRGVlcChzb3VyY2UpO1xuICAgIGlmIChzb3VyY2UubGlzdCAmJiBzb3VyY2UucGF0aCkge1xuICAgICAgY29uc3QgcGF0aCA9IHNvdXJjZUNvcHkucGF0aC5qb2luKCcuJyk7XG4gICAgICByZXR1cm4gc291cmNlQ29weS5saXN0LnNvcnQoXG4gICAgICAgIChhLCBiKSA9PiBjb21wYXJlKGNvZXJjZShnZXQoYSwgcGF0aCkpLCBjb2VyY2UoZ2V0KGIsIHBhdGgpKSkgKiAob3JkZXIgPT09ICdhc2MnID8gMSA6IC0xKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNvdXJjZUNvcHkuc29ydCgoYSwgYikgPT4gY29tcGFyZShjb2VyY2UoYSksIGNvZXJjZShiKSkgKiAob3JkZXIgPT09ICdhc2MnID8gMSA6IC0xKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIGEgbGlzdCBvZiBleHBvcnRlZCBwbHVnaW5zIGZyb20gdGhlIGFwcGxpY2F0aW9uIG9iamVjdC5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uIEFwcGxpY2F0aW9uIG1hbmFnZWQgb2JqZWN0LlxuICAgKiBAcGFyYW0gdXNlTGF0ZXN0IFNldCB0aGlzIHRvIHRydWUsIHRvIG5vdCBiaW5kIHRoZSBwbHVnaW4gdG8gYW55IHZlcnNpb24uXG4gICAqIEByZXR1cm5zIFJldHVybnMgYSBsaXN0IG9mIGV4cG9ydGVkIHBsdWdpbnMuXG4gICAqL1xuICBnZXRNRkV4cG9ydHMoXG4gICAgYXBwbGljYXRpb246IElBcHBsaWNhdGlvbixcbiAgICBleGNsdWRlZFNjb3BlcyA9IFtcbiAgICAgIFBsdWdpbnNFeHBvcnRTY29wZXMuU0VMRixcbiAgICAgIFBsdWdpbnNFeHBvcnRTY29wZXMuU0VMRl9PUFRJT05BTCxcbiAgICAgIFBsdWdpbnNFeHBvcnRTY29wZXMuR0xPQkFMXG4gICAgXSxcbiAgICB1c2VMYXRlc3QgPSBmYWxzZVxuICApOiBBcHBsaWNhdGlvblBsdWdpbltdIHtcbiAgICBjb25zdCBtYW5pZmVzdDogUGFydGlhbDxJTWFuaWZlc3Q+ID0gYXBwbGljYXRpb24ubWFuaWZlc3Q7XG4gICAgaWYgKCFtYW5pZmVzdCB8fCAhbWFuaWZlc3QuZXhwb3J0cykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5leHRlbmRQbHVnaW5zRGV0YWlscyhcbiAgICAgIGFwcGxpY2F0aW9uLFxuICAgICAge1xuICAgICAgICB2ZXJzaW9uOiBtYW5pZmVzdC52ZXJzaW9uLFxuICAgICAgICBiaW5hcnlJZDogdW5kZWZpbmVkXG4gICAgICB9LFxuICAgICAgdXNlTGF0ZXN0XG4gICAgKS5maWx0ZXIocGx1Z2luID0+ICFleGNsdWRlZFNjb3Blcy5pbmNsdWRlcyhwbHVnaW4uc2NvcGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0cyBhIGxpc3Qgb2YgZXhwb3J0cyBmcm9tIGVhY2ggYXZhaWxhYmxlIHBhY2thZ2UuXG4gICAqIEBwYXJhbSBhbGxWZXJzaW9ucyBJZiBzZXQgdG8gdHJ1ZSwgYWxsIGFuZCBub3Qgb25seSBsYXRlc3QgdmVyc2lvbnMgYXJlIGluY2x1ZGVkLlxuICAgKiBAcGFyYW0gZXhjbHVkZWRTY29wZXMgRGVmaW5lcyB3aGljaCBzY29wZXMgc2hvdWxkIG5vdCBiZSBsb2FkZWQuXG4gICAqIEByZXR1cm5zIFJldHVybnMgYSBsaXN0IG9mIGFsbCBleHBvcnRlZCBwbHVnaW5zLlxuICAgKi9cbiAgYXN5bmMgZ2V0QWxsTUZFeHBvcnRzKFxuICAgIGFsbFZlcnNpb25zID0gZmFsc2UsXG4gICAgZXhjbHVkZWRTY29wZXMgPSBbXG4gICAgICBQbHVnaW5zRXhwb3J0U2NvcGVzLlNFTEYsXG4gICAgICBQbHVnaW5zRXhwb3J0U2NvcGVzLlNFTEZfT1BUSU9OQUwsXG4gICAgICBQbHVnaW5zRXhwb3J0U2NvcGVzLkdMT0JBTFxuICAgIF1cbiAgKTogUHJvbWlzZTxBcHBsaWNhdGlvblBsdWdpbltdPiB7XG4gICAgY29uc3QgcGx1Z2lucyA9IG5ldyBBcnJheTxBcHBsaWNhdGlvblBsdWdpbj4oKTtcbiAgICBjb25zdCBwYWNrYWdlcyA9IGF3YWl0IHRoaXMubGlzdFBhY2thZ2VzKCk7XG4gICAgZm9yIChjb25zdCBwa2cgb2YgcGFja2FnZXMpIHtcbiAgICAgIGlmICghcGtnPy5tYW5pZmVzdD8uZXhwb3J0cykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChhbGxWZXJzaW9ucyAmJiBBcnJheS5pc0FycmF5KHBrZy5hcHBsaWNhdGlvblZlcnNpb25zKSkge1xuICAgICAgICBwa2cuYXBwbGljYXRpb25WZXJzaW9ucy5mb3JFYWNoKHZlcnNpb24gPT4ge1xuICAgICAgICAgIHBsdWdpbnMucHVzaCguLi50aGlzLmV4dGVuZFBsdWdpbnNEZXRhaWxzKHBrZywgdmVyc2lvbikpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMucHVzaChcbiAgICAgICAgICAuLi50aGlzLmV4dGVuZFBsdWdpbnNEZXRhaWxzKHBrZywge1xuICAgICAgICAgICAgdmVyc2lvbjogcGtnLm1hbmlmZXN0LnZlcnNpb24sXG4gICAgICAgICAgICBiaW5hcnlJZDogdW5kZWZpbmVkXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBsdWdpbnMuZmlsdGVyKHBsdWdpbiA9PiAhZXhjbHVkZWRTY29wZXMuaW5jbHVkZXMocGx1Z2luLnNjb3BlKSk7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMgYSBsaXN0IG9mIHJlbW90ZXMgZnJvbSB0aGUgYXBwbGljYXRpb24gb2JqZWN0LlxuICAgKiBAcGFyYW0gYXBwbGljYXRpb24gQXBwbGljYXRpb24gbWFuYWdlZCBvYmplY3QuXG4gICAqIEByZXR1cm5zIFJldHVybnMgbGlzdCBvZiByZW1vdGVzLlxuICAgKi9cbiAgZ2V0TUZSZW1vdGVzKGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24pOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gYXBwbGljYXRpb24ubWFuaWZlc3QgfHwge307XG4gICAgY29uc3QgY29uZmlnOiBQbHVnaW5zQ29uZmlnID0gYXBwbGljYXRpb24/LmNvbmZpZyBhcyBQbHVnaW5zQ29uZmlnO1xuICAgIGxldCByZW1vdGVzID0gY29uZmlnPy5yZW1vdGVzIHx8IG1hbmlmZXN0LnJlbW90ZXMgfHwge307XG4gICAgY29uc3QgbWFuaWZlc3RFeHBvcnRzID0gbWFuaWZlc3QuZXhwb3J0cyB8fCBtYW5pZmVzdC5tYW5pZmVzdD8uZXhwb3J0cyB8fCBbXTtcbiAgICBjb25zdCBzZWxmUmVtb3Rlczogc3RyaW5nW10gPSBtYW5pZmVzdEV4cG9ydHNcbiAgICAgIC5maWx0ZXIocGx1Z2luID0+IHBsdWdpbi5zY29wZSA9PT0gUGx1Z2luc0V4cG9ydFNjb3Blcy5TRUxGKVxuICAgICAgLm1hcChwbHVnaW4gPT4gcGx1Z2luLm1vZHVsZSB8fCBwbHVnaW4ubmFtZSk7XG5cbiAgICBpZiAoc2VsZlJlbW90ZXMubGVuZ3RoKSB7XG4gICAgICByZW1vdGVzID0gUGx1Z2luc1Jlc29sdmVTZXJ2aWNlLm1lcmdlUmVtb3RlcyhbXG4gICAgICAgIHsgW2FwcGxpY2F0aW9uLmNvbnRleHRQYXRoXTogc2VsZlJlbW90ZXMgfSxcbiAgICAgICAgcmVtb3Rlc1xuICAgICAgXSk7XG4gICAgfVxuXG4gICAgcmVtb3RlcyA9IFBsdWdpbnNSZXNvbHZlU2VydmljZS5yZW1vdmVSZW1vdGVzKHJlbW90ZXMsIGNvbmZpZz8uZXhjbHVkZWRSZW1vdGVzKTtcbiAgICByZXR1cm4gcmVtb3RlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSB0eXBlIG9mIGEgcGFja2FnZS5cbiAgICogQSBwYWNrYWdlIGlzIE9GRklDSUFMIGlmIGl0IGNvbWVzIGZyb20gbWFuYWdlbWVudCB0ZW5hbnQgYW5kIGhhcyBhIGxhYmVsIGF0dGFjaGVkIGNhbGxlZCBPRkZJQ0lBTC5cbiAgICogQSBwYWNrYWdlIGlzIENPTU1VTklUWSBpZiBpdCBoYXMgYSBsYWJlbCBjYWxsZWQgQ09NTVVOSVRZLlxuICAgKiBBIHBhY2thZ2UgaXMgQ1VTVE9NIGlmIGl0IGRvZXMgbm90IGhhdmUgYW55IGxhYmVsIGF0dGFjaGVkLlxuICAgKiBBIHBhY2thZ2UgaXMgVU5LTk9XTiBpZiBpdCBoYXMgYSBsYWJlbCBhdHRhY2hlZCBidXQgaXQgZG9lcyBub3QgbWF0Y2ggQ09NTVVOSVRZIG9yIE9GRklDSUFMLlxuICAgKlxuICAgKiBMYWJlbHMgY2FuIGJlIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHN0YXR1cyBvZiBhIHBhY2thZ2UuIENvbW11bml0eSBwYWNrYWdlcyBhbHdheXMgbmVlZFxuICAgKiBhIGxpY2Vuc2UgdmFsaWRhdGlvbi4gVGhlIGxhYmVsIHdpbGwgYmUgc2hvd24gb24gdGhlIGFwcGxpY2F0aW9uIGNhcmQgdG8gdGVsbCBhIHVzZXJcbiAgICogd2hldGhlciB0aGV5IGFyZSBsb29raW5nIGludG8gYW4gb2ZmaWNpYWwgb3IgY29tbXVuaXR5IHBhY2thZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBwYWNrYWdlQXBwbGljYXRpb24gVGhlIHBhY2thZ2UgYXBwbGljYXRpb24gb2JqZWN0IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBUaGUgcGFja2FnZSB0eXBlLlxuICAgKi9cbiAgZ2V0UGFja2FnZVR5cGUocGFja2FnZUFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24pOiBQYWNrYWdlVHlwZSB7XG4gICAgY29uc3QgbGFiZWwgPSBwYWNrYWdlQXBwbGljYXRpb24ubGFiZWwgfHwgcGFja2FnZUFwcGxpY2F0aW9uLm1hbmlmZXN0Py5sYWJlbDtcbiAgICBpZiAobGFiZWwgPT09IFBhY2thZ2VUeXBlLkFSQ0hJVkVEKSB7XG4gICAgICByZXR1cm4gUGFja2FnZVR5cGUuQVJDSElWRUQ7XG4gICAgfVxuICAgIGlmICghbGFiZWwpIHtcbiAgICAgIHJldHVybiBQYWNrYWdlVHlwZS5DVVNUT007XG4gICAgfVxuICAgIGlmIChsYWJlbCA9PT0gUGFja2FnZVR5cGUuT0ZGSUNJQUwgJiYgdGhpcy5pc093bmVkQnlNYW5hZ2VtZW50KHBhY2thZ2VBcHBsaWNhdGlvbikpIHtcbiAgICAgIHJldHVybiBQYWNrYWdlVHlwZS5PRkZJQ0lBTDtcbiAgICB9XG4gICAgaWYgKGxhYmVsID09PSBQYWNrYWdlVHlwZS5DT01NVU5JVFkpIHtcbiAgICAgIHJldHVybiBQYWNrYWdlVHlwZS5DT01NVU5JVFk7XG4gICAgfVxuICAgIHJldHVybiBQYWNrYWdlVHlwZS5VTktOT1dOO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIGlmIGFuIGFwcGxpY2F0aW9uIGlzIG93bmVkIGJ5IG1hbmFnZW1lbnQgdGVuYW50LlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIFRoZSBhcHBsaWNhdGlvbiB0byB2ZXJpZnkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgb3duZWQgYnkgbWFuYWdlbWVudCB0ZW5hbnQuXG4gICAqL1xuICBpc093bmVkQnlNYW5hZ2VtZW50KGFwcDogSUFwcGxpY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYXBwT3duZXIgPSBnZXQoYXBwLCAnb3duZXIudGVuYW50LmlkJyk7XG4gICAgcmV0dXJuIGFwcE93bmVyID09PSAnbWFuYWdlbWVudCc7XG4gIH1cblxuICBwbHVnaW5zRnJvbU1hbmlmZXN0KG1hbmlmZXN0OiBJTWFuaWZlc3QpOiBBcHBsaWNhdGlvblBsdWdpbltdIHtcbiAgICBjb25zdCBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbltdID0gbWFuaWZlc3QuZXhwb3J0cztcbiAgICBjb25zdCBleHRlbmRlZFBsdWdpbnMgPSBwbHVnaW5zXG4gICAgICAuZmlsdGVyKHAgPT4gcC5zY29wZSA9PT0gUGx1Z2luc0V4cG9ydFNjb3Blcy5TRUxGKVxuICAgICAgLm1hcChwID0+ICh7XG4gICAgICAgIC4uLnAsXG4gICAgICAgIGlkOiBQbHVnaW5zU2VydmljZS5jcmVhdGVQbHVnaW5JZChtYW5pZmVzdC5jb250ZXh0UGF0aCwgcCwgbWFuaWZlc3QudmVyc2lvbiksXG4gICAgICAgIGNvbnRleHRQYXRoOiBtYW5pZmVzdC5jb250ZXh0UGF0aCxcbiAgICAgICAgdmVyc2lvbjogbWFuaWZlc3QudmVyc2lvbixcbiAgICAgICAgdmVyc2lvbmluZ01hdHJpeDogbWFuaWZlc3QudmVyc2lvbmluZ01hdHJpeCxcbiAgICAgICAgbGljZW5zZTogbWFuaWZlc3QubGljZW5zZSxcbiAgICAgICAgdHlwZTogUGFja2FnZVR5cGUuQ1VTVE9NXG4gICAgICB9KSk7XG4gICAgcmV0dXJuIGV4dGVuZGVkUGx1Z2lucztcbiAgfVxuXG4gIGFzeW5jIGdldFJlYWRtZUZpbGVDb250ZW50KGJhc2VVcmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmlsZUNvbnRlbnQoYmFzZVVybCwgJ3JlYWRtZScpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q2hhbmdlbG9nRmlsZUNvbnRlbnQoYmFzZVVybDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRGaWxlQ29udGVudChiYXNlVXJsLCAnY2hhbmdlbG9nJyk7XG4gIH1cblxuICBhc3luYyBnZXRGaWxlQ29udGVudChiYXNlVXJsOiBzdHJpbmcsIGZpbGVUeXBlOiAncmVhZG1lJyB8ICdjaGFuZ2Vsb2cnKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5nZXRGaWxlKGJhc2VVcmwsIGZpbGVUeXBlKTtcblxuICAgIGlmIChmaWxlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICByZXR1cm4gYXdhaXQgZmlsZS50ZXh0KCk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RmlsZShcbiAgICBiYXNlVXJsOiBzdHJpbmcsXG4gICAgZmlsZVR5cGU6ICdyZWFkbWUnIHwgJ2NoYW5nZWxvZydcbiAgKTogUHJvbWlzZTxJRmV0Y2hSZXNwb25zZT4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IElGZXRjaE9wdGlvbnMgPSB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ3RleHQvbWFya2Rvd24nIH1cbiAgICB9O1xuXG4gICAgY29uc3QgdXBwZXJjYXNlRmlsZW5hbWUgPSBmaWxlVHlwZSA9PT0gJ3JlYWRtZScgPyAnUkVBRE1FLm1kJyA6ICdDSEFOR0VMT0cubWQnO1xuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKGAke2Jhc2VVcmx9JHt1cHBlcmNhc2VGaWxlbmFtZX1gLCBvcHRpb25zKTtcblxuICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5mZXRjaChgJHtiYXNlVXJsfSR7dXBwZXJjYXNlRmlsZW5hbWUudG9Mb3dlckNhc2UoKX1gLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NlbGZTY29wZWRQbHVnaW4ocGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbiwgY29udGV4dFBhdGg/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgcGx1Z2luLnNjb3BlID09PSBQbHVnaW5zRXhwb3J0U2NvcGVzLlNFTEYgJiZcbiAgICAgICghY29udGV4dFBhdGggfHwgcGx1Z2luLmNvbnRleHRQYXRoID09PSBjb250ZXh0UGF0aClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxmU2NvcGVkUGx1Z2lucyhcbiAgICBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbltdLFxuICAgIGNvbnRleHRQYXRoPzogc3RyaW5nXG4gICk6IEFwcGxpY2F0aW9uUGx1Z2luW10ge1xuICAgIHJldHVybiBwbHVnaW5zLmZpbHRlcihwbHVnaW4gPT4gdGhpcy5pc1NlbGZTY29wZWRQbHVnaW4ocGx1Z2luLCBjb250ZXh0UGF0aCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxQbHVnaW5zRXhjZXB0U2VsZlNjb3BlZChcbiAgICBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbltdLFxuICAgIGNvbnRleHRQYXRoPzogc3RyaW5nXG4gICk6IEFwcGxpY2F0aW9uUGx1Z2luW10ge1xuICAgIHJldHVybiBwbHVnaW5zLmZpbHRlcihwbHVnaW4gPT4gIXRoaXMuaXNTZWxmU2NvcGVkUGx1Z2luKHBsdWdpbiwgY29udGV4dFBhdGgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRHVwbGljYXRlcyhhcHBzOiBJQXBwbGljYXRpb25bXSwga2V5OiBzdHJpbmcpOiBJQXBwbGljYXRpb25bXSB7XG4gICAgY29uc3QgdW5pcXVlTGlzdDogSUFwcGxpY2F0aW9uW10gPSBbXTtcbiAgICBjb25zdCBncm91cGVkQXBwc0J5S2V5OiBSZWNvcmQ8c3RyaW5nLCBJQXBwbGljYXRpb25bXT4gPSBncm91cEJ5KGFwcHMsIGtleSk7XG4gICAgY29uc3QgZ3JvdXBlZEFwcHM6IElBcHBsaWNhdGlvbltdW10gPSBPYmplY3Qua2V5cyhncm91cGVkQXBwc0J5S2V5KS5tYXAoXG4gICAgICBrZXkgPT4gZ3JvdXBlZEFwcHNCeUtleVtrZXldXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGFwcHNHcm91cCBvZiBncm91cGVkQXBwcykge1xuICAgICAgaWYgKGFwcHNHcm91cC5sZW5ndGggPCAyKSB7XG4gICAgICAgIHVuaXF1ZUxpc3QucHVzaCguLi5hcHBzR3JvdXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYXBwRnJvbUN1cnJlbnRUZW5hbnQgPSBhcHBzR3JvdXAuZmluZChhcHAgPT4gdGhpcy5pc0Zyb21DdXJyZW50VGVuYW50KGFwcCkpO1xuICAgICAgICBpZiAoYXBwRnJvbUN1cnJlbnRUZW5hbnQpIHtcbiAgICAgICAgICB1bmlxdWVMaXN0LnB1c2goYXBwRnJvbUN1cnJlbnRUZW5hbnQpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFwcE5vdE93bmVkQnlNYW5hZ2VtZW50ID0gYXBwc0dyb3VwLmZpbmQoYXBwID0+ICF0aGlzLmlzT3duZWRCeU1hbmFnZW1lbnQoYXBwKSk7XG4gICAgICAgIHVuaXF1ZUxpc3QucHVzaChhcHBOb3RPd25lZEJ5TWFuYWdlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmlxdWVMaXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Zyb21DdXJyZW50VGVuYW50KGFwcDogSUFwcGxpY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFwcC5vd25lci50ZW5hbnQuaWQgPT09IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWUubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb2RpZmllcyB0aGUgbGlzdCBvZiBwbHVnaW5zIHRvIGhhdmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBzdWNoIGFzIGlkLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGV4dGVuZFBsdWdpbnNEZXRhaWxzKFxuICAgIGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24sXG4gICAgdmVyc2lvbjogSUFwcGxpY2F0aW9uVmVyc2lvbixcbiAgICB1c2VMYXRlc3QgPSBmYWxzZVxuICApOiBBcHBsaWNhdGlvblBsdWdpbltdIHtcbiAgICBjb25zdCBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbltdID0gYXBwbGljYXRpb24ubWFuaWZlc3QuZXhwb3J0cztcbiAgICBjb25zdCBleHRlbmRlZFBsdWdpbnM6IEFwcGxpY2F0aW9uUGx1Z2luW10gPSBwbHVnaW5zLm1hcChwID0+ICh7XG4gICAgICAuLi5wLFxuICAgICAgaWQ6IFBsdWdpbnNTZXJ2aWNlLmNyZWF0ZVBsdWdpbklkKGFwcGxpY2F0aW9uLmNvbnRleHRQYXRoLCBwLCB2ZXJzaW9uLnZlcnNpb24sIHVzZUxhdGVzdCksXG4gICAgICBpZExhdGVzdDogUGx1Z2luc1NlcnZpY2UuY3JlYXRlUGx1Z2luSWQoYXBwbGljYXRpb24uY29udGV4dFBhdGgsIHAsIHZlcnNpb24udmVyc2lvbiwgdHJ1ZSksXG4gICAgICBjb250ZXh0UGF0aDogYXBwbGljYXRpb24uY29udGV4dFBhdGgsXG4gICAgICB2ZXJzaW9uOiB2ZXJzaW9uLnZlcnNpb24sXG4gICAgICB2ZXJzaW9uaW5nTWF0cml4OiBhcHBsaWNhdGlvbi5tYW5pZmVzdC52ZXJzaW9uaW5nTWF0cml4LFxuICAgICAgdGFnczogdXNlTGF0ZXN0ID8gWydsYXRlc3QnXSA6IHZlcnNpb24udGFncyB8fCBbXSxcbiAgICAgIGxpY2Vuc2U6IGFwcGxpY2F0aW9uLm1hbmlmZXN0LmxpY2Vuc2UsXG4gICAgICB0eXBlOiB0aGlzLmdldFBhY2thZ2VUeXBlKGFwcGxpY2F0aW9uKSxcbiAgICAgIG9yaWdpbkFwcDogYXBwbGljYXRpb25cbiAgICB9KSk7XG4gICAgcmV0dXJuIGV4dGVuZGVkUGx1Z2lucztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbGlzdEFwcGxpY2F0aW9uc0J5Q3VycmVudFRlbmFudChwYXJhbXM6IGFueSA9IHt9KTogUHJvbWlzZTxJQXBwbGljYXRpb25bXT4ge1xuICAgIGNvbnN0IGZpbHRlciA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdIT1NURUQnLFxuICAgICAgICBwYWdlU2l6ZTogMjAwMCxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWVcbiAgICAgIH0sXG4gICAgICBwYXJhbXNcbiAgICApO1xuICAgIGNvbnN0IHNoYXJlZEZpbHRlciA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGF2YWlsYWJpbGl0eTogQXBwbGljYXRpb25BdmFpbGFiaWxpdHkuU0hBUkVELFxuICAgICAgICB0eXBlOiAnSE9TVEVEJyxcbiAgICAgICAgcGFnZVNpemU6IDIwMDAsXG4gICAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgICB9LFxuICAgICAgcGFyYW1zXG4gICAgKTtcblxuICAgIGNvbnN0IHRlbmFudE5hbWUgPSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LnZhbHVlLm5hbWU7XG4gICAgY29uc3QgW3Jlc3VsdEFwcHNPd25lZEJ5VGVuYW50LCByZXN1bHRTaGFyZWRBcHBzXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmxpc3RCeVRlbmFudCh0ZW5hbnROYW1lLCBmaWx0ZXIpLFxuICAgICAgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UubGlzdChzaGFyZWRGaWx0ZXIpXG4gICAgXSk7XG4gICAgY29uc3QgeyBkYXRhOiBhcHBzT3duZWRCeVRlbmFudCB9ID0gcmVzdWx0QXBwc093bmVkQnlUZW5hbnQ7XG4gICAgY29uc3QgeyBkYXRhOiBzaGFyZWRBcHBzIH0gPSByZXN1bHRTaGFyZWRBcHBzO1xuICAgIGNvbnN0IHdlYkFwcHMgPSBbLi4uYXBwc093bmVkQnlUZW5hbnQsIC4uLnNoYXJlZEFwcHNdO1xuICAgIHJldHVybiB1bmlxQnkod2ViQXBwcywgKGFwcDogSUFwcGxpY2F0aW9uKSA9PiBhcHAuaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRQbHVnaW5Ub1JlbW90ZXNDb25maWcoXG4gICAgcmVtb3Rlc0NvbmZpZzogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zLFxuICAgIHBsdWdpbnM6IEFwcGxpY2F0aW9uUGx1Z2luIHwgQXBwbGljYXRpb25QbHVnaW5bXVxuICApOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMge1xuICAgIGlmICghcGx1Z2lucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZW1vdGVzQ29weSA9IGNsb25lRGVlcChyZW1vdGVzQ29uZmlnKTtcbiAgICBjb25zdCB0ZW1wID0gQXJyYXkuaXNBcnJheShwbHVnaW5zKSA/IHBsdWdpbnMgOiBbcGx1Z2luc107XG5cbiAgICB0ZW1wLmZvckVhY2gocGx1Z2luID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGV4dFBhdGgsIG1vZHVsZU5hbWUgfSA9IHRoaXMucGFyc2VQbHVnaW5JZChwbHVnaW4uaWQpO1xuICAgICAgaWYgKCFjb250ZXh0UGF0aCB8fCAhbW9kdWxlTmFtZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZW1vdGVzQ29weVtjb250ZXh0UGF0aF0/Lmxlbmd0aCA+PSAwXG4gICAgICAgID8gcmVtb3Rlc0NvcHlbY29udGV4dFBhdGhdLnB1c2gobW9kdWxlTmFtZSlcbiAgICAgICAgOiAocmVtb3Rlc0NvcHlbY29udGV4dFBhdGhdID0gW10pLnB1c2gobW9kdWxlTmFtZSk7XG4gICAgICByZW1vdGVzQ29weVtjb250ZXh0UGF0aF0gPSBbLi4ubmV3IFNldChyZW1vdGVzQ29weVtjb250ZXh0UGF0aF0pXTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVtb3Rlc0NvcHk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVBsdWdpbnNGcm9tUmVtb3Rlc0NvbmZpZyhcbiAgICByZW1vdGVzQ29uZmlnOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMsXG4gICAgcGx1Z2luczogQXBwbGljYXRpb25QbHVnaW4gfCBBcHBsaWNhdGlvblBsdWdpbltdXG4gICk6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyB7XG4gICAgY29uc3QgcmVtb3Rlc0NvcHk6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyA9IGNsb25lRGVlcChyZW1vdGVzQ29uZmlnKTtcbiAgICBjb25zdCB0ZW1wID0gQXJyYXkuaXNBcnJheShwbHVnaW5zKSA/IHBsdWdpbnMgOiBbcGx1Z2luc107XG5cbiAgICB0ZW1wLmZvckVhY2gocGx1Z2luID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGV4dFBhdGgsIG1vZHVsZU5hbWUgfSA9IHRoaXMucGFyc2VQbHVnaW5JZChwbHVnaW4uaWQpO1xuICAgICAgaWYgKCFjb250ZXh0UGF0aCB8fCAhbW9kdWxlTmFtZSB8fCAhcmVtb3Rlc0NvcHlbY29udGV4dFBhdGhdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXSA9IHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXS5maWx0ZXIocCA9PiBwICE9PSBtb2R1bGVOYW1lKTtcbiAgICAgIHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXSA9IFsuLi5uZXcgU2V0KHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXSldO1xuICAgICAgaWYgKHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZGVsZXRlIHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVtb3Rlc0NvcHk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUGx1Z2luSWQoaWQ6IHN0cmluZyk6IHsgY29udGV4dFBhdGg6IHN0cmluZzsgbW9kdWxlTmFtZTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IFtjb250ZXh0UGF0aCwgbW9kdWxlTmFtZV0gPSBpZC5zcGxpdCgnLycpO1xuICAgIHJldHVybiB7IGNvbnRleHRQYXRoLCBtb2R1bGVOYW1lIH07XG4gIH1cbn1cbiJdfQ==
|
|
443
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9wbHVnaW5zL3BsdWdpbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsV0FBVyxFQU1aLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFxQixXQUFXLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFHbEUsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLDRCQUE0QixDQUFDLE9BQWlDO1FBQ25FLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FB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LENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckQsQ0FBQzsrR0ExakJVLGNBQWM7bUhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uQXZhaWxhYmlsaXR5LFxuICBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMsXG4gIEZldGNoQ2xpZW50LFxuICBJQXBwbGljYXRpb24sXG4gIElBcHBsaWNhdGlvblZlcnNpb24sXG4gIElGZXRjaE9wdGlvbnMsXG4gIElGZXRjaFJlc3BvbnNlLFxuICBJTWFuaWZlc3Rcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBnZXQsIHVuaXFCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb2VyY2UsIGNvbXBhcmUgfSBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ3JvdXBCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblBsdWdpbiwgUGFja2FnZVR5cGUsIFBsdWdpbnNDb25maWcgfSBmcm9tICcuL3BsdWdpbnMubW9kZWwnO1xuaW1wb3J0IHsgUGx1Z2luc0V4cG9ydFNjb3BlcyB9IGZyb20gJy4uL2NvbW1vbi9BcHBsaWNhdGlvbk9wdGlvbnMnO1xuaW1wb3J0IHsgUGx1Z2luc1Jlc29sdmVTZXJ2aWNlIH0gZnJvbSAnLi9wbHVnaW5zLXJlc29sdmUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQbHVnaW5zU2VydmljZSB7XG4gIHN0YXRpYyBjb252ZXJ0SW5zdGFsbGVkUmVtb3Rlc1RvSWRzKHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyk6IHN0cmluZ1tdIHtcbiAgICBpZiAoIXJlbW90ZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW1wb3J0Q29udGV4dFBhdGhzID0gT2JqZWN0LmtleXMocmVtb3Rlcyk7XG4gICAgY29uc3QgcGx1Z2lucyA9IFtdO1xuICAgIGltcG9ydENvbnRleHRQYXRocy5mb3JFYWNoKGNvbnRleHRQYXRoID0+IHtcbiAgICAgIGNvbnN0IG1vZHVsZU5hbWVzID0gcmVtb3Rlc1tjb250ZXh0UGF0aF0gfHwgW107XG4gICAgICBwbHVnaW5zLnB1c2goXG4gICAgICAgIC4uLm1vZHVsZU5hbWVzLm1hcChtb2R1bGUgPT4gUGx1Z2luc1NlcnZpY2UuY3JlYXRlUGx1Z2luSWQoY29udGV4dFBhdGgsIG1vZHVsZSwgJycsIHRydWUpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGx1Z2lucztcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVQbHVnaW5JZChcbiAgICBjb250ZXh0UGF0aDogc3RyaW5nLFxuICAgIHBsdWdpbjogQXBwbGljYXRpb25QbHVnaW4gfCBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHVzZUxhdGVzdCA9IGZhbHNlXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IHR5cGVvZiBwbHVnaW4gPT09ICdzdHJpbmcnID8gcGx1Z2luIDogcGx1Z2luLm1vZHVsZTtcbiAgICBpZiAodXNlTGF0ZXN0KSB7XG4gICAgICByZXR1cm4gYCR7Y29udGV4dFBhdGh9LyR7bW9kdWxlTmFtZX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7Y29udGV4dFBhdGh9QCR7dmVyc2lvbn0vJHttb2R1bGVOYW1lfWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU3RhdGVTZXJ2aWNlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjbGllbnQ6IEZldGNoQ2xpZW50XG4gICkge31cblxuICAvKipcbiAgICogRmV0Y2hlcyBhIGxpc3Qgb2YgYXZhaWxhYmxlIHBhY2thZ2VzLlxuICAgKiBAcGFyYW0gcGFyYW1zIEFkZGl0aW9uYWwgcXVlcnkgcGFyYW1ldGVycy5cbiAgICogQHJldHVybnMgUmV0dXJucyBhIGxpc3Qgb2YgcGFja2FnZXMuXG4gICAqL1xuICBhc3luYyBsaXN0UGFja2FnZXMocGFyYW1zOiBhbnkgPSB7fSk6IFByb21pc2U8SUFwcGxpY2F0aW9uW10+IHtcbiAgICBjb25zdCBhcHBzID0gYXdhaXQgdGhpcy5saXN0QXBwbGljYXRpb25zQnlDdXJyZW50VGVuYW50KHBhcmFtcyk7XG4gICAgY29uc3Qgd2ViQXBwcyA9IGFwcHMuZmlsdGVyKGFwcCA9PiB0aGlzLmlzUGFja2FnZShhcHApKTtcbiAgICBjb25zdCB1bmlxdWVXZWJBcHBzID0gdGhpcy5yZW1vdmVEdXBsaWNhdGVzKHdlYkFwcHMsICdjb250ZXh0UGF0aCcpO1xuICAgIHJldHVybiB1bmlxdWVXZWJBcHBzLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhbiBhcHBsaWNhdGlvbiBpcyBhIHBhY2thZ2UuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHJldHVybnMgUmV0dXJucyB0cnVlIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBhIHBhY2thZ2UuXG4gICAqL1xuICBpc1BhY2thZ2UoYXBwbGljYXRpb246IElBcHBsaWNhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhcHBsaWNhdGlvbi5tYW5pZmVzdD8uaXNQYWNrYWdlID09PSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHJlbW90ZXMgZmllbGQgaW4gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gYnkgYWRkaW5nIG5ldyBwbHVnaW5zLlxuICAgKiBJbXBvcnRhbnQ6IGlmIHRoZSByZW1vdGVzIG9iamVjdCBpcyBub3Qgc2V0IG9uIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCxcbiAgICogcmVtb3RlcyB3aWxsIG5vdCBiZSBhZGRlZC4gTWFrZSBzdXJlIHRoYXQgdGhpcyBvYmplY3QgZXhpc3RzIGluIHRoZSBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gYXBwbGljYXRpb24gQXBwbGljYXRpb24gbWFuYWdlZCBvYmplY3QuXG4gICAqIEBwYXJhbSBwbHVnaW5zIExpc3Qgb2YgcmVtb3RlcyB0byBiZSBhZGRlZC5cbiAgICogQHJldHVybnMgUmV0dXJucyB1cGRhdGVkIGFwcGxpY2F0aW9uIHJlbW90ZXMuXG4gICAqL1xuICBhc3luYyBhZGRSZW1vdGVzKFxuICAgIGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24sXG4gICAgcGx1Z2luczogQXBwbGljYXRpb25QbHVnaW4gfCBBcHBsaWNhdGlvblBsdWdpbltdXG4gICk6IFByb21pc2U8UGx1Z2luc0NvbmZpZz4ge1xuICAgIGNvbnN0IHBsdWdpbnNBcnJheSA9IEFycmF5LmlzQXJyYXkocGx1Z2lucykgPyBwbHVnaW5zIDogW3BsdWdpbnNdO1xuICAgIGNvbnN0IG1hbmlmZXN0UmVtb3RlcyA9IGFwcGxpY2F0aW9uLm1hbmlmZXN0Py5yZW1vdGVzIHx8IHt9O1xuICAgIGNvbnN0IGFwcENvbmZpZzogUGx1Z2luc0NvbmZpZyB8IHVuZGVmaW5lZCA9IGFwcGxpY2F0aW9uPy5jb25maWcgYXMgUGx1Z2luc0NvbmZpZztcbiAgICBjb25zdCBhcHBDb25maWdSZW1vdGVzID0gYXBwQ29uZmlnPy5yZW1vdGVzIHx8IG1hbmlmZXN0UmVtb3RlcztcbiAgICBjb25zdCBhcHBDb25maWdFeGNsdWRlZFJlbW90ZXMgPSBhcHBDb25maWc/LmV4Y2x1ZGVkUmVtb3RlcyB8fCB7fTtcbiAgICAvLyBvbmx5IG5vcm1hbCBhbmQgc2VsZiBvcHRpb25hbCBzY29wZWQgcGx1Z2lucyBzaG91bGQgYmUgYWRkZWQgdG8gcmVtb3Rlc1xuICAgIC8vIHNlbGYgc2NvcGVkIHBsdWdpbnMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkXG4gICAgY29uc3QgYWxsUGx1Z2luc0V4Y2VwdFNlbGZTY29wZWQgPSB0aGlzLmdldEFsbFBsdWdpbnNFeGNlcHRTZWxmU2NvcGVkKFxuICAgICAgcGx1Z2luc0FycmF5LFxuICAgICAgYXBwbGljYXRpb24uY29udGV4dFBhdGhcbiAgICApO1xuICAgIGNvbnN0IG5ld1JlbW90ZXMgPSB0aGlzLmFkZFBsdWdpblRvUmVtb3Rlc0NvbmZpZyhhcHBDb25maWdSZW1vdGVzLCBhbGxQbHVnaW5zRXhjZXB0U2VsZlNjb3BlZCk7XG4gICAgLy8gc2hvdWxkIGJlIHVucHJvYmxlbWF0aWMgdG8gcmVtb3ZlIGFsbCBjYXRlZ29yaWVzIG9mIHBsdWdpbnMgZnJvbSBleGNsdWRlZCByZW1vdGVzXG4gICAgY29uc3QgbmV3RXhjbHVkZWRSZW1vdGVzID0gdGhpcy5yZW1vdmVQbHVnaW5zRnJvbVJlbW90ZXNDb25maWcoXG4gICAgICBhcHBDb25maWdFeGNsdWRlZFJlbW90ZXMsXG4gICAgICBwbHVnaW5zXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy51cGRhdGVSZW1vdGVzSW5BcHBDb25maWcoYXBwbGljYXRpb24sIG5ld1JlbW90ZXMsIG5ld0V4Y2x1ZGVkUmVtb3Rlcyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcmVtb3RlcyBmaWVsZCBpbiB0aGUgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbiBieSByZW1vdmluZyBwbHVnaW5zLlxuICAgKiBAcGFyYW0gYXBwbGljYXRpb24gQXBwbGljYXRpb24gbWFuYWdlZCBvYmplY3QuXG4gICAqIEBwYXJhbSBwbHVnaW5zIExpc3Qgb2YgcmVtb3RlcyB0byBiZSByZW1vdmVkLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIHVwZGF0ZWQgYXBwbGljYXRpb24gcmVtb3Rlcy5cbiAgICovXG4gIGFzeW5jIHJlbW92ZVJlbW90ZXMoXG4gICAgYXBwbGljYXRpb246IElBcHBsaWNhdGlvbixcbiAgICBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbiB8IEFwcGxpY2F0aW9uUGx1Z2luW11cbiAgKTogUHJvbWlzZTxQbHVnaW5zQ29uZmlnPiB7XG4gICAgY29uc3QgcGx1Z2luc0FycmF5ID0gQXJyYXkuaXNBcnJheShwbHVnaW5zKSA/IHBsdWdpbnMgOiBbcGx1Z2luc107XG4gICAgY29uc3QgbWFuaWZlc3RSZW1vdGVzID0gYXBwbGljYXRpb24ubWFuaWZlc3Q/LnJlbW90ZXMgfHwge307XG4gICAgY29uc3QgYXBwQ29uZmlnOiBQbHVnaW5zQ29uZmlnIHwgdW5kZWZpbmVkID0gYXBwbGljYXRpb24/LmNvbmZpZyBhcyBQbHVnaW5zQ29uZmlnO1xuICAgIGNvbnN0IGFwcENvbmZpZ1JlbW90ZXMgPSBhcHBDb25maWc/LnJlbW90ZXMgfHwgbWFuaWZlc3RSZW1vdGVzO1xuICAgIGNvbnN0IGFwcENvbmZpZ0V4Y2x1ZGVkUmVtb3RlcyA9IGFwcENvbmZpZz8uZXhjbHVkZWRSZW1vdGVzIHx8IHt9O1xuICAgIC8vIGFwcCBwbHVnaW5zIG5lZWQgdG8gYmUgcmVtb3ZlZCBmcm9tIHJlbW90ZXNcbiAgICBjb25zdCBuZXdSZW1vdGVzID0gdGhpcy5yZW1vdmVQbHVnaW5zRnJvbVJlbW90ZXNDb25maWcoYXBwQ29uZmlnUmVtb3RlcywgcGx1Z2lucyk7XG4gICAgLy8gc2VsZiBzY29wZWQgcGx1Z2lucyBuZWVkIHRvIGJlIGFkZGVkIHRvIGV4Y2x1ZGVkIHJlbW90ZXNcbiAgICAvLyBhcyB0aGV5IHdvdWxkIGJlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHJlbW90ZXNcbiAgICBjb25zdCBzZWxmU2NvcGVkUGx1Z2lucyA9IHRoaXMuZ2V0U2VsZlNjb3BlZFBsdWdpbnMocGx1Z2luc0FycmF5LCBhcHBsaWNhdGlvbi5jb250ZXh0UGF0aCk7XG4gICAgY29uc3QgbmV3RXhjbHVkZWRSZW1vdGVzID0gdGhpcy5hZGRQbHVnaW5Ub1JlbW90ZXNDb25maWcoXG4gICAgICBhcHBDb25maWdFeGNsdWRlZFJlbW90ZXMsXG4gICAgICBzZWxmU2NvcGVkUGx1Z2luc1xuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlUmVtb3Rlc0luQXBwQ29uZmlnKGFwcGxpY2F0aW9uLCBuZXdSZW1vdGVzLCBuZXdFeGNsdWRlZFJlbW90ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHJlbW90ZXMgZmllbGQgaW4gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHBhcmFtIHBsdWdpbnMgTGlzdCBvZiByZW1vdGVzIHRvIGJlIGFkZGVkLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIHVwZGF0ZWQgYXBwbGljYXRpb24gcmVtb3Rlcy5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZVJlbW90ZXNJbkFwcENvbmZpZyhcbiAgICBhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uLFxuICAgIHBsdWdpbnM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyxcbiAgICBleGNsdWRlZFJlbW90ZXM/OiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnNcbiAgKTogUHJvbWlzZTxQbHVnaW5zQ29uZmlnPiB7XG4gICAgY29uc3QgdXBkYXRlZEFwcFdpdGhDb25maWcgPSBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS51cGRhdGVBcHBsaWNhdGlvbkNvbmZpZyhcbiAgICAgIGFwcGxpY2F0aW9uLFxuICAgICAge1xuICAgICAgICByZW1vdGVzOiBwbHVnaW5zLFxuICAgICAgICBleGNsdWRlZFJlbW90ZXM6IGV4Y2x1ZGVkUmVtb3RlcyB8fCB7fVxuICAgICAgfSBhcyBQbHVnaW5zQ29uZmlnXG4gICAgKTtcbiAgICByZXR1cm4gdXBkYXRlZEFwcFdpdGhDb25maWc/LmNvbmZpZyB8fCB7IHJlbW90ZXM6IHt9IH07XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgYXBwbGljYXRpb24gbWFuaWZlc3QuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHJldHVybnMgUmV0dXJucyB0aGUgYXBwbGljYXRpb24gbWFuaWZlc3QuXG4gICAqL1xuICBhc3luYyBnZXRDdW11bG9jaXR5SnNvbkZpbGUoYXBwbGljYXRpb246IElBcHBsaWNhdGlvbikge1xuICAgIGNvbnN0IGM4eUpzb24gPSBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBNYW5pZmVzdChhcHBsaWNhdGlvbik7XG4gICAgaWYgKCFjOHlKc29uLnJlbW90ZXMpIHtcbiAgICAgIGM4eUpzb24ucmVtb3RlcyA9IHt9O1xuICAgIH1cbiAgICByZXR1cm4gYzh5SnNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbml0aWFsIHN0YXRlIG9mIHJlbW90ZXMgaW4gdGhlIGNvbmZpZ3VyYXRpb24gKHdoZW4gaXQncyBtaXNzaW5nKSwgYmFzZWQgb24gdGhlIGxpc3Qgb2YgcmVtb3RlcyBiZWluZyBpbiB0aGUgYXBwbGljYXRpb24gbWFuaWZlc3QuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiAgQXBwbGljYXRpb24gbWFuYWdlZCBvYmplY3QuXG4gICAqIEByZXR1cm5zIFJldHVybnMgYSBsaXN0IG9mIHJlbW90ZXMgdGhhdCBoYXMgYmVlbiBhc3NpZ25lZCB0byB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqL1xuICBhc3luYyBzZXRJbml0aWFsUmVtb3RlcyhhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hbmlmZXN0OiBJTWFuaWZlc3QgPSBhd2FpdCB0aGlzLmdldEN1bXVsb2NpdHlKc29uRmlsZShhcHBsaWNhdGlvbik7XG4gICAgICBjb25zdCBtYW5pZmVzdFJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyA9IG1hbmlmZXN0LnJlbW90ZXM7XG5cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnVwZGF0ZVJlbW90ZXNJbkFwcENvbmZpZyhhcHBsaWNhdGlvbiwgbWFuaWZlc3RSZW1vdGVzIHx8IHt9LCB7fSk7XG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVzZXRSZW1vdGVzKGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UudXBkYXRlQXBwbGljYXRpb25Db25maWcoYXBwbGljYXRpb24sIHtcbiAgICAgIHJlbW90ZXM6IHVuZGVmaW5lZCxcbiAgICAgIGV4Y2x1ZGVkUmVtb3RlczogdW5kZWZpbmVkXG4gICAgfSBhcyBQbHVnaW5zQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0cyB2ZXJzaW9ucyBsaXN0IG9yIGxpc3Qgb2Ygb2JqZWN0cyBieSB2ZXJzaW9uIHByb3BlcnR5XG4gICAqIEByZXR1cm5zIGxpc3Qgb2YgdmVyc2lvbnMgYXMgYXJyYXkgb2Ygc3RyaW5ncyBvciBhcnJheSBvZiBvYmplY3RzIHNvcnRlZCBieSB2ZXJzaW9uIHByb3BlcnR5XG4gICAqXG4gICAqIEBwYXJhbSB7eyBsaXN0OiBUW107IHBhdGg6IHN0cmluZ1tdIH0gfCBzdHJpbmdbXX0gc291cmNlIGRhdGEgdG8gc29ydFxuICAgKiBAcGFyYW0geydhc2MnIHwgJ2Rlc2MnfSBvcmRlciBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZyBvcmRlciBvZiBzb3J0aW5nXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgZGF0YSA9IFsnMS41LjAnLCAnMi4wLjAnXTtcbiAgICogY29uc3Qgc29ydGVkRGF0YSA9IHBsdWdpbnNTZXJ2aWNlLnNvcnRWZXJzaW9ucyh2ZXJzaW9ucywgJ2Rlc2MnKTtcbiAgICogLy8gc29ydGVkRGF0YTpcbiAgICogLy8gWycyLjAuMCcsICcxLjUuMCddXG4gICAqIGBgYFxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGRhdGEgPSBbXG4gICAqICB7YXBwOiB7YXBwVmVyc2lvbjogJzEuNS4wJ319LFxuICAgKiAge2FwcDoge2FwcFZlcnNpb246ICcyLjAuMCd9fSxcbiAgICogXTtcbiAgICogY29uc3Qgc29ydGVkRGF0YSA9IHBsdWdpbnNTZXJ2aWNlLnNvcnRWZXJzaW9ucyh7bGlzdDogZGF0YSwgcGF0aDogWydhcHAnLCAnYXBwVmVyc2lvbiddfSwgJ2Rlc2MnKTtcbiAgICogLy8gc29ydGVkRGF0YTpcbiAgICogLy8gW1xuICAgKiAvLyAge2FwcDoge2FwcFZlcnNpb246ICcyLjAuMCd9fSxcbiAgICogLy8gIHthcHA6IHthcHBWZXJzaW9uOiAnMS41LjAnfX1cbiAgICogLy8gXVxuICAgKiBgYGBcbiAgICovXG4gIHNvcnRWZXJzaW9uczxUPihzb3VyY2U6IHsgbGlzdDogVFtdOyBwYXRoOiBzdHJpbmdbXSB9LCBvcmRlcjogJ2FzYycgfCAnZGVzYycpOiBUW107XG4gIHNvcnRWZXJzaW9ucyhzb3VyY2U6IHN0cmluZ1tdLCBvcmRlcjogJ2FzYycgfCAnZGVzYycpOiBzdHJpbmdbXTtcbiAgc29ydFZlcnNpb25zKHNvdXJjZTogYW55LCBvcmRlcjogJ2FzYycgfCAnZGVzYycpOiBhbnkge1xuICAgIGNvbnN0IHNvdXJjZUNvcHkgPSBjbG9uZURlZXAoc291cmNlKTtcbiAgICBpZiAoc291cmNlLmxpc3QgJiYgc291cmNlLnBhdGgpIHtcbiAgICAgIGNvbnN0IHBhdGggPSBzb3VyY2VDb3B5LnBhdGguam9pbignLicpO1xuICAgICAgcmV0dXJuIHNvdXJjZUNvcHkubGlzdC5zb3J0KFxuICAgICAgICAoYSwgYikgPT4gY29tcGFyZShjb2VyY2UoZ2V0KGEsIHBhdGgpKSwgY29lcmNlKGdldChiLCBwYXRoKSkpICogKG9yZGVyID09PSAnYXNjJyA/IDEgOiAtMSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzb3VyY2VDb3B5LnNvcnQoKGEsIGIpID0+IGNvbXBhcmUoY29lcmNlKGEpLCBjb2VyY2UoYikpICogKG9yZGVyID09PSAnYXNjJyA/IDEgOiAtMSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0cyBhIGxpc3Qgb2YgZXhwb3J0ZWQgcGx1Z2lucyBmcm9tIHRoZSBhcHBsaWNhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbiBBcHBsaWNhdGlvbiBtYW5hZ2VkIG9iamVjdC5cbiAgICogQHBhcmFtIHVzZUxhdGVzdCBTZXQgdGhpcyB0byB0cnVlLCB0byBub3QgYmluZCB0aGUgcGx1Z2luIHRvIGFueSB2ZXJzaW9uLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGEgbGlzdCBvZiBleHBvcnRlZCBwbHVnaW5zLlxuICAgKi9cbiAgZ2V0TUZFeHBvcnRzKFxuICAgIGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24sXG4gICAgZXhjbHVkZWRTY29wZXMgPSBbXG4gICAgICBQbHVnaW5zRXhwb3J0U2NvcGVzLlNFTEYsXG4gICAgICBQbHVnaW5zRXhwb3J0U2NvcGVzLlNFTEZfT1BUSU9OQUwsXG4gICAgICBQbHVnaW5zRXhwb3J0U2NvcGVzLkdMT0JBTFxuICAgIF0sXG4gICAgdXNlTGF0ZXN0ID0gZmFsc2VcbiAgKTogQXBwbGljYXRpb25QbHVnaW5bXSB7XG4gICAgY29uc3QgbWFuaWZlc3Q6IFBhcnRpYWw8SU1hbmlmZXN0PiA9IGFwcGxpY2F0aW9uLm1hbmlmZXN0O1xuICAgIGlmICghbWFuaWZlc3QgfHwgIW1hbmlmZXN0LmV4cG9ydHMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kUGx1Z2luc0RldGFpbHMoXG4gICAgICBhcHBsaWNhdGlvbixcbiAgICAgIHtcbiAgICAgICAgdmVyc2lvbjogbWFuaWZlc3QudmVyc2lvbixcbiAgICAgICAgYmluYXJ5SWQ6IHVuZGVmaW5lZFxuICAgICAgfSxcbiAgICAgIHVzZUxhdGVzdFxuICAgICkuZmlsdGVyKHBsdWdpbiA9PiAhZXhjbHVkZWRTY29wZXMuaW5jbHVkZXMocGx1Z2luLnNjb3BlKSk7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMgYSBsaXN0IG9mIGV4cG9ydHMgZnJvbSBlYWNoIGF2YWlsYWJsZSBwYWNrYWdlLlxuICAgKiBAcGFyYW0gYWxsVmVyc2lvbnMgSWYgc2V0IHRvIHRydWUsIGFsbCBhbmQgbm90IG9ubHkgbGF0ZXN0IHZlcnNpb25zIGFyZSBpbmNsdWRlZC5cbiAgICogQHBhcmFtIGV4Y2x1ZGVkU2NvcGVzIERlZmluZXMgd2hpY2ggc2NvcGVzIHNob3VsZCBub3QgYmUgbG9hZGVkLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGEgbGlzdCBvZiBhbGwgZXhwb3J0ZWQgcGx1Z2lucy5cbiAgICovXG4gIGFzeW5jIGdldEFsbE1GRXhwb3J0cyhcbiAgICBhbGxWZXJzaW9ucyA9IGZhbHNlLFxuICAgIGV4Y2x1ZGVkU2NvcGVzID0gW1xuICAgICAgUGx1Z2luc0V4cG9ydFNjb3Blcy5TRUxGLFxuICAgICAgUGx1Z2luc0V4cG9ydFNjb3Blcy5TRUxGX09QVElPTkFMLFxuICAgICAgUGx1Z2luc0V4cG9ydFNjb3Blcy5HTE9CQUxcbiAgICBdXG4gICk6IFByb21pc2U8QXBwbGljYXRpb25QbHVnaW5bXT4ge1xuICAgIGNvbnN0IHBsdWdpbnMgPSBuZXcgQXJyYXk8QXBwbGljYXRpb25QbHVnaW4+KCk7XG4gICAgY29uc3QgcGFja2FnZXMgPSBhd2FpdCB0aGlzLmxpc3RQYWNrYWdlcygpO1xuICAgIGZvciAoY29uc3QgcGtnIG9mIHBhY2thZ2VzKSB7XG4gICAgICBpZiAoIXBrZz8ubWFuaWZlc3Q/LmV4cG9ydHMpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoYWxsVmVyc2lvbnMgJiYgQXJyYXkuaXNBcnJheShwa2cuYXBwbGljYXRpb25WZXJzaW9ucykpIHtcbiAgICAgICAgcGtnLmFwcGxpY2F0aW9uVmVyc2lvbnMuZm9yRWFjaCh2ZXJzaW9uID0+IHtcbiAgICAgICAgICBwbHVnaW5zLnB1c2goLi4udGhpcy5leHRlbmRQbHVnaW5zRGV0YWlscyhwa2csIHZlcnNpb24pKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwbHVnaW5zLnB1c2goXG4gICAgICAgICAgLi4udGhpcy5leHRlbmRQbHVnaW5zRGV0YWlscyhwa2csIHtcbiAgICAgICAgICAgIHZlcnNpb246IHBrZy5tYW5pZmVzdC52ZXJzaW9uLFxuICAgICAgICAgICAgYmluYXJ5SWQ6IHVuZGVmaW5lZFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwbHVnaW5zLmZpbHRlcihwbHVnaW4gPT4gIWV4Y2x1ZGVkU2NvcGVzLmluY2x1ZGVzKHBsdWdpbi5zY29wZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIGEgbGlzdCBvZiByZW1vdGVzIGZyb20gdGhlIGFwcGxpY2F0aW9uIG9iamVjdC5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uIEFwcGxpY2F0aW9uIG1hbmFnZWQgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGxpc3Qgb2YgcmVtb3Rlcy5cbiAgICovXG4gIGdldE1GUmVtb3RlcyhhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKTogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zIHtcbiAgICBjb25zdCBtYW5pZmVzdCA9IGFwcGxpY2F0aW9uLm1hbmlmZXN0IHx8IHt9O1xuICAgIGNvbnN0IGNvbmZpZzogUGx1Z2luc0NvbmZpZyA9IGFwcGxpY2F0aW9uPy5jb25maWcgYXMgUGx1Z2luc0NvbmZpZztcbiAgICBsZXQgcmVtb3RlcyA9IGNvbmZpZz8ucmVtb3RlcyB8fCBtYW5pZmVzdC5yZW1vdGVzIHx8IHt9O1xuICAgIGNvbnN0IG1hbmlmZXN0RXhwb3J0cyA9IG1hbmlmZXN0LmV4cG9ydHMgfHwgbWFuaWZlc3QubWFuaWZlc3Q/LmV4cG9ydHMgfHwgW107XG4gICAgY29uc3Qgc2VsZlJlbW90ZXM6IHN0cmluZ1tdID0gbWFuaWZlc3RFeHBvcnRzXG4gICAgICAuZmlsdGVyKHBsdWdpbiA9PiBwbHVnaW4uc2NvcGUgPT09IFBsdWdpbnNFeHBvcnRTY29wZXMuU0VMRilcbiAgICAgIC5tYXAocGx1Z2luID0+IHBsdWdpbi5tb2R1bGUgfHwgcGx1Z2luLm5hbWUpO1xuXG4gICAgaWYgKHNlbGZSZW1vdGVzLmxlbmd0aCkge1xuICAgICAgcmVtb3RlcyA9IFBsdWdpbnNSZXNvbHZlU2VydmljZS5tZXJnZVJlbW90ZXMoW1xuICAgICAgICB7IFthcHBsaWNhdGlvbi5jb250ZXh0UGF0aF06IHNlbGZSZW1vdGVzIH0sXG4gICAgICAgIHJlbW90ZXNcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIHJlbW90ZXMgPSBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UucmVtb3ZlUmVtb3RlcyhyZW1vdGVzLCBjb25maWc/LmV4Y2x1ZGVkUmVtb3Rlcyk7XG4gICAgcmV0dXJuIHJlbW90ZXM7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBhIHBhY2thZ2UuXG4gICAqIEEgcGFja2FnZSBpcyBPRkZJQ0lBTCBpZiBpdCBjb21lcyBmcm9tIG1hbmFnZW1lbnQgdGVuYW50IGFuZCBoYXMgYSBsYWJlbCBhdHRhY2hlZCBjYWxsZWQgT0ZGSUNJQUwuXG4gICAqIEEgcGFja2FnZSBpcyBDT01NVU5JVFkgaWYgaXQgaGFzIGEgbGFiZWwgY2FsbGVkIENPTU1VTklUWS5cbiAgICogQSBwYWNrYWdlIGlzIENVU1RPTSBpZiBpdCBkb2VzIG5vdCBoYXZlIGFueSBsYWJlbCBhdHRhY2hlZC5cbiAgICogQSBwYWNrYWdlIGlzIFVOS05PV04gaWYgaXQgaGFzIGEgbGFiZWwgYXR0YWNoZWQgYnV0IGl0IGRvZXMgbm90IG1hdGNoIENPTU1VTklUWSBvciBPRkZJQ0lBTC5cbiAgICpcbiAgICogTGFiZWxzIGNhbiBiZSB1c2VkIHRvIGlkZW50aWZ5IHRoZSBzdGF0dXMgb2YgYSBwYWNrYWdlLiBDb21tdW5pdHkgcGFja2FnZXMgYWx3YXlzIG5lZWRcbiAgICogYSBsaWNlbnNlIHZhbGlkYXRpb24uIFRoZSBsYWJlbCB3aWxsIGJlIHNob3duIG9uIHRoZSBhcHBsaWNhdGlvbiBjYXJkIHRvIHRlbGwgYSB1c2VyXG4gICAqIHdoZXRoZXIgdGhleSBhcmUgbG9va2luZyBpbnRvIGFuIG9mZmljaWFsIG9yIGNvbW11bml0eSBwYWNrYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gcGFja2FnZUFwcGxpY2F0aW9uIFRoZSBwYWNrYWdlIGFwcGxpY2F0aW9uIG9iamVjdCB0byBjaGVjay5cbiAgICogQHJldHVybnMgVGhlIHBhY2thZ2UgdHlwZS5cbiAgICovXG4gIGdldFBhY2thZ2VUeXBlKHBhY2thZ2VBcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKTogUGFja2FnZVR5cGUge1xuICAgIGNvbnN0IGxhYmVsID0gcGFja2FnZUFwcGxpY2F0aW9uLmxhYmVsIHx8IHBhY2thZ2VBcHBsaWNhdGlvbi5tYW5pZmVzdD8ubGFiZWw7XG4gICAgaWYgKGxhYmVsID09PSBQYWNrYWdlVHlwZS5BUkNISVZFRCkge1xuICAgICAgcmV0dXJuIFBhY2thZ2VUeXBlLkFSQ0hJVkVEO1xuICAgIH1cbiAgICBpZiAoIWxhYmVsKSB7XG4gICAgICByZXR1cm4gUGFja2FnZVR5cGUuQ1VTVE9NO1xuICAgIH1cbiAgICBpZiAobGFiZWwgPT09IFBhY2thZ2VUeXBlLk9GRklDSUFMICYmIHRoaXMuaXNPd25lZEJ5TWFuYWdlbWVudChwYWNrYWdlQXBwbGljYXRpb24pKSB7XG4gICAgICByZXR1cm4gUGFja2FnZVR5cGUuT0ZGSUNJQUw7XG4gICAgfVxuICAgIGlmIChsYWJlbCA9PT0gUGFja2FnZVR5cGUuQ09NTVVOSVRZKSB7XG4gICAgICByZXR1cm4gUGFja2FnZVR5cGUuQ09NTVVOSVRZO1xuICAgIH1cbiAgICByZXR1cm4gUGFja2FnZVR5cGUuVU5LTk9XTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyBpZiBhbiBhcHBsaWNhdGlvbiBpcyBvd25lZCBieSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICpcbiAgICogQHBhcmFtIGFwcCBUaGUgYXBwbGljYXRpb24gdG8gdmVyaWZ5LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIG93bmVkIGJ5IG1hbmFnZW1lbnQgdGVuYW50LlxuICAgKi9cbiAgaXNPd25lZEJ5TWFuYWdlbWVudChhcHA6IElBcHBsaWNhdGlvbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFwcE93bmVyID0gZ2V0KGFwcCwgJ293bmVyLnRlbmFudC5pZCcpO1xuICAgIHJldHVybiBhcHBPd25lciA9PT0gJ21hbmFnZW1lbnQnO1xuICB9XG5cbiAgcGx1Z2luc0Zyb21NYW5pZmVzdChtYW5pZmVzdDogSU1hbmlmZXN0KTogQXBwbGljYXRpb25QbHVnaW5bXSB7XG4gICAgY29uc3QgcGx1Z2luczogQXBwbGljYXRpb25QbHVnaW5bXSA9IG1hbmlmZXN0LmV4cG9ydHM7XG4gICAgY29uc3QgZXh0ZW5kZWRQbHVnaW5zID0gcGx1Z2luc1xuICAgICAgLmZpbHRlcihwID0+IHAuc2NvcGUgPT09IFBsdWdpbnNFeHBvcnRTY29wZXMuU0VMRilcbiAgICAgIC5tYXAocCA9PiAoe1xuICAgICAgICAuLi5wLFxuICAgICAgICBpZDogUGx1Z2luc1NlcnZpY2UuY3JlYXRlUGx1Z2luSWQobWFuaWZlc3QuY29udGV4dFBhdGgsIHAsIG1hbmlmZXN0LnZlcnNpb24pLFxuICAgICAgICBjb250ZXh0UGF0aDogbWFuaWZlc3QuY29udGV4dFBhdGgsXG4gICAgICAgIHZlcnNpb246IG1hbmlmZXN0LnZlcnNpb24sXG4gICAgICAgIHZlcnNpb25pbmdNYXRyaXg6IG1hbmlmZXN0LnZlcnNpb25pbmdNYXRyaXgsXG4gICAgICAgIGxpY2Vuc2U6IG1hbmlmZXN0LmxpY2Vuc2UsXG4gICAgICAgIHR5cGU6IFBhY2thZ2VUeXBlLkNVU1RPTVxuICAgICAgfSkpO1xuICAgIHJldHVybiBleHRlbmRlZFBsdWdpbnM7XG4gIH1cblxuICBhc3luYyBnZXRSZWFkbWVGaWxlQ29udGVudChiYXNlVXJsOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmdldEZpbGVDb250ZW50KGJhc2VVcmwsICdyZWFkbWUnKTtcbiAgfVxuXG4gIGFzeW5jIGdldENoYW5nZWxvZ0ZpbGVDb250ZW50KGJhc2VVcmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RmlsZUNvbnRlbnQoYmFzZVVybCwgJ2NoYW5nZWxvZycpO1xuICB9XG5cbiAgYXN5bmMgZ2V0RmlsZUNvbnRlbnQoYmFzZVVybDogc3RyaW5nLCBmaWxlVHlwZTogJ3JlYWRtZScgfCAnY2hhbmdlbG9nJyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHRoaXMuZ2V0RmlsZShiYXNlVXJsLCBmaWxlVHlwZSk7XG5cbiAgICBpZiAoZmlsZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgcmV0dXJuIGF3YWl0IGZpbGUudGV4dCgpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEZpbGUoXG4gICAgYmFzZVVybDogc3RyaW5nLFxuICAgIGZpbGVUeXBlOiAncmVhZG1lJyB8ICdjaGFuZ2Vsb2cnXG4gICk6IFByb21pc2U8SUZldGNoUmVzcG9uc2U+IHtcbiAgICBjb25zdCBvcHRpb25zOiBJRmV0Y2hPcHRpb25zID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICd0ZXh0L21hcmtkb3duJyB9XG4gICAgfTtcblxuICAgIGNvbnN0IHVwcGVyY2FzZUZpbGVuYW1lID0gZmlsZVR5cGUgPT09ICdyZWFkbWUnID8gJ1JFQURNRS5tZCcgOiAnQ0hBTkdFTE9HLm1kJztcblxuICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5mZXRjaChgJHtiYXNlVXJsfSR7dXBwZXJjYXNlRmlsZW5hbWV9YCwgb3B0aW9ucyk7XG5cbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQuZmV0Y2goYCR7YmFzZVVybH0ke3VwcGVyY2FzZUZpbGVuYW1lLnRvTG93ZXJDYXNlKCl9YCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWxmU2NvcGVkUGx1Z2luKHBsdWdpbjogQXBwbGljYXRpb25QbHVnaW4sIGNvbnRleHRQYXRoPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBsdWdpbi5zY29wZSA9PT0gUGx1Z2luc0V4cG9ydFNjb3Blcy5TRUxGICYmXG4gICAgICAoIWNvbnRleHRQYXRoIHx8IHBsdWdpbi5jb250ZXh0UGF0aCA9PT0gY29udGV4dFBhdGgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZlNjb3BlZFBsdWdpbnMoXG4gICAgcGx1Z2luczogQXBwbGljYXRpb25QbHVnaW5bXSxcbiAgICBjb250ZXh0UGF0aD86IHN0cmluZ1xuICApOiBBcHBsaWNhdGlvblBsdWdpbltdIHtcbiAgICByZXR1cm4gcGx1Z2lucy5maWx0ZXIocGx1Z2luID0+IHRoaXMuaXNTZWxmU2NvcGVkUGx1Z2luKHBsdWdpbiwgY29udGV4dFBhdGgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsUGx1Z2luc0V4Y2VwdFNlbGZTY29wZWQoXG4gICAgcGx1Z2luczogQXBwbGljYXRpb25QbHVnaW5bXSxcbiAgICBjb250ZXh0UGF0aD86IHN0cmluZ1xuICApOiBBcHBsaWNhdGlvblBsdWdpbltdIHtcbiAgICByZXR1cm4gcGx1Z2lucy5maWx0ZXIocGx1Z2luID0+ICF0aGlzLmlzU2VsZlNjb3BlZFBsdWdpbihwbHVnaW4sIGNvbnRleHRQYXRoKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUR1cGxpY2F0ZXMoYXBwczogSUFwcGxpY2F0aW9uW10sIGtleTogc3RyaW5nKTogSUFwcGxpY2F0aW9uW10ge1xuICAgIGNvbnN0IHVuaXF1ZUxpc3Q6IElBcHBsaWNhdGlvbltdID0gW107XG4gICAgY29uc3QgZ3JvdXBlZEFwcHNCeUtleTogUmVjb3JkPHN0cmluZywgSUFwcGxpY2F0aW9uW10+ID0gZ3JvdXBCeShhcHBzLCBrZXkpO1xuICAgIGNvbnN0IGdyb3VwZWRBcHBzOiBJQXBwbGljYXRpb25bXVtdID0gT2JqZWN0LmtleXMoZ3JvdXBlZEFwcHNCeUtleSkubWFwKFxuICAgICAga2V5ID0+IGdyb3VwZWRBcHBzQnlLZXlba2V5XVxuICAgICk7XG4gICAgZm9yIChjb25zdCBhcHBzR3JvdXAgb2YgZ3JvdXBlZEFwcHMpIHtcbiAgICAgIGlmIChhcHBzR3JvdXAubGVuZ3RoIDwgMikge1xuICAgICAgICB1bmlxdWVMaXN0LnB1c2goLi4uYXBwc0dyb3VwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGFwcEZyb21DdXJyZW50VGVuYW50ID0gYXBwc0dyb3VwLmZpbmQoYXBwID0+IHRoaXMuaXNGcm9tQ3VycmVudFRlbmFudChhcHApKTtcbiAgICAgICAgaWYgKGFwcEZyb21DdXJyZW50VGVuYW50KSB7XG4gICAgICAgICAgdW5pcXVlTGlzdC5wdXNoKGFwcEZyb21DdXJyZW50VGVuYW50KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcHBOb3RPd25lZEJ5TWFuYWdlbWVudCA9IGFwcHNHcm91cC5maW5kKGFwcCA9PiAhdGhpcy5pc093bmVkQnlNYW5hZ2VtZW50KGFwcCkpO1xuICAgICAgICB1bmlxdWVMaXN0LnB1c2goYXBwTm90T3duZWRCeU1hbmFnZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5pcXVlTGlzdDtcbiAgfVxuXG4gIHByaXZhdGUgaXNGcm9tQ3VycmVudFRlbmFudChhcHA6IElBcHBsaWNhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhcHAub3duZXIudGVuYW50LmlkID09PSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LnZhbHVlLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZpZXMgdGhlIGxpc3Qgb2YgcGx1Z2lucyB0byBoYXZlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBpZC5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBleHRlbmRQbHVnaW5zRGV0YWlscyhcbiAgICBhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uLFxuICAgIHZlcnNpb246IElBcHBsaWNhdGlvblZlcnNpb24sXG4gICAgdXNlTGF0ZXN0ID0gZmFsc2VcbiAgKTogQXBwbGljYXRpb25QbHVnaW5bXSB7XG4gICAgY29uc3QgcGx1Z2luczogQXBwbGljYXRpb25QbHVnaW5bXSA9IGFwcGxpY2F0aW9uLm1hbmlmZXN0LmV4cG9ydHM7XG4gICAgY29uc3QgZXh0ZW5kZWRQbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbltdID0gcGx1Z2lucy5tYXAocCA9PiAoe1xuICAgICAgLi4ucCxcbiAgICAgIGlkOiBQbHVnaW5zU2VydmljZS5jcmVhdGVQbHVnaW5JZChhcHBsaWNhdGlvbi5jb250ZXh0UGF0aCwgcCwgdmVyc2lvbi52ZXJzaW9uLCB1c2VMYXRlc3QpLFxuICAgICAgaWRMYXRlc3Q6IFBsdWdpbnNTZXJ2aWNlLmNyZWF0ZVBsdWdpbklkKGFwcGxpY2F0aW9uLmNvbnRleHRQYXRoLCBwLCB2ZXJzaW9uLnZlcnNpb24sIHRydWUpLFxuICAgICAgY29udGV4dFBhdGg6IGFwcGxpY2F0aW9uLmNvbnRleHRQYXRoLFxuICAgICAgdmVyc2lvbjogdmVyc2lvbi52ZXJzaW9uLFxuICAgICAgdmVyc2lvbmluZ01hdHJpeDogYXBwbGljYXRpb24ubWFuaWZlc3QudmVyc2lvbmluZ01hdHJpeCxcbiAgICAgIHRhZ3M6IHVzZUxhdGVzdCA/IFsnbGF0ZXN0J10gOiB2ZXJzaW9uLnRhZ3MgfHwgW10sXG4gICAgICBsaWNlbnNlOiBhcHBsaWNhdGlvbi5tYW5pZmVzdC5saWNlbnNlLFxuICAgICAgdHlwZTogdGhpcy5nZXRQYWNrYWdlVHlwZShhcHBsaWNhdGlvbiksXG4gICAgICBvcmlnaW5BcHA6IGFwcGxpY2F0aW9uXG4gICAgfSkpO1xuICAgIHJldHVybiBleHRlbmRlZFBsdWdpbnM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxpc3RBcHBsaWNhdGlvbnNCeUN1cnJlbnRUZW5hbnQocGFyYW1zOiBhbnkgPSB7fSk6IFByb21pc2U8SUFwcGxpY2F0aW9uW10+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICB0eXBlOiAnSE9TVEVEJyxcbiAgICAgICAgcGFnZVNpemU6IDIwMDAsXG4gICAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgICB9LFxuICAgICAgcGFyYW1zXG4gICAgKTtcbiAgICBjb25zdCBzaGFyZWRGaWx0ZXIgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBhdmFpbGFiaWxpdHk6IEFwcGxpY2F0aW9uQXZhaWxhYmlsaXR5LlNIQVJFRCxcbiAgICAgICAgdHlwZTogJ0hPU1RFRCcsXG4gICAgICAgIHBhZ2VTaXplOiAyMDAwLFxuICAgICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHBhcmFtc1xuICAgICk7XG5cbiAgICBjb25zdCB0ZW5hbnROYW1lID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZS5uYW1lO1xuICAgIGNvbnN0IFtyZXN1bHRBcHBzT3duZWRCeVRlbmFudCwgcmVzdWx0U2hhcmVkQXBwc10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5saXN0QnlUZW5hbnQodGVuYW50TmFtZSwgZmlsdGVyKSxcbiAgICAgIHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLmxpc3Qoc2hhcmVkRmlsdGVyKVxuICAgIF0pO1xuICAgIGNvbnN0IHsgZGF0YTogYXBwc093bmVkQnlUZW5hbnQgfSA9IHJlc3VsdEFwcHNPd25lZEJ5VGVuYW50O1xuICAgIGNvbnN0IHsgZGF0YTogc2hhcmVkQXBwcyB9ID0gcmVzdWx0U2hhcmVkQXBwcztcbiAgICBjb25zdCB3ZWJBcHBzID0gWy4uLmFwcHNPd25lZEJ5VGVuYW50LCAuLi5zaGFyZWRBcHBzXTtcbiAgICByZXR1cm4gdW5pcUJ5KHdlYkFwcHMsIChhcHA6IElBcHBsaWNhdGlvbikgPT4gYXBwLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUGx1Z2luVG9SZW1vdGVzQ29uZmlnKFxuICAgIHJlbW90ZXNDb25maWc6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyxcbiAgICBwbHVnaW5zOiBBcHBsaWNhdGlvblBsdWdpbiB8IEFwcGxpY2F0aW9uUGx1Z2luW11cbiAgKTogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zIHtcbiAgICBpZiAoIXBsdWdpbnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVtb3Rlc0NvcHkgPSBjbG9uZURlZXAocmVtb3Rlc0NvbmZpZyk7XG4gICAgY29uc3QgdGVtcCA9IEFycmF5LmlzQXJyYXkocGx1Z2lucykgPyBwbHVnaW5zIDogW3BsdWdpbnNdO1xuXG4gICAgdGVtcC5mb3JFYWNoKHBsdWdpbiA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRleHRQYXRoLCBtb2R1bGVOYW1lIH0gPSB0aGlzLnBhcnNlUGx1Z2luSWQocGx1Z2luLmlkKTtcbiAgICAgIGlmICghY29udGV4dFBhdGggfHwgIW1vZHVsZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVtb3Rlc0NvcHlbY29udGV4dFBhdGhdPy5sZW5ndGggPj0gMFxuICAgICAgICA/IHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXS5wdXNoKG1vZHVsZU5hbWUpXG4gICAgICAgIDogKHJlbW90ZXNDb3B5W2NvbnRleHRQYXRoXSA9IFtdKS5wdXNoKG1vZHVsZU5hbWUpO1xuICAgICAgcmVtb3Rlc0NvcHlbY29udGV4dFBhdGhdID0gWy4uLm5ldyBTZXQocmVtb3Rlc0NvcHlbY29udGV4dFBhdGhdKV07XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlbW90ZXNDb3B5O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVQbHVnaW5zRnJvbVJlbW90ZXNDb25maWcoXG4gICAgcmVtb3Rlc0NvbmZpZzogQXBwbGljYXRpb25SZW1vdGVQbHVnaW5zLFxuICAgIHBsdWdpbnM6IEFwcGxpY2F0aW9uUGx1Z2luIHwgQXBwbGljYXRpb25QbHVnaW5bXVxuICApOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMge1xuICAgIGNvbnN0IHJlbW90ZXNDb3B5OiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMgPSBjbG9uZURlZXAocmVtb3Rlc0NvbmZpZyk7XG4gICAgY29uc3QgdGVtcCA9IEFycmF5LmlzQXJyYXkocGx1Z2lucykgPyBwbHVnaW5zIDogW3BsdWdpbnNdO1xuXG4gICAgdGVtcC5mb3JFYWNoKHBsdWdpbiA9PiB7XG4gICAgICBjb25zdCB7IHJhd0NvbnRleHRQYXRoLCBtb2R1bGVOYW1lIH0gPSB0aGlzLnBhcnNlUGx1Z2luSWQocGx1Z2luLmlkKTtcbiAgICAgIGlmICghcmF3Q29udGV4dFBhdGggfHwgIW1vZHVsZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5kIGFsbCBrZXlzIGluIHJlbW90ZXNDb25maWcgdGhhdCBtYXRjaCB0aGUgcGx1Z2luIGNvbnRleHQgKHJlZ2FyZGxlc3Mgb2YgdmVyc2lvbilcbiAgICAgIE9iamVjdC5rZXlzKHJlbW90ZXNDb3B5KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09IHJhd0NvbnRleHRQYXRoIHx8IGtleS5zdGFydHNXaXRoKGAke3Jhd0NvbnRleHRQYXRofUBgKSkge1xuICAgICAgICAgIHJlbW90ZXNDb3B5W2tleV0gPSByZW1vdGVzQ29weVtrZXldLmZpbHRlcihwID0+IHAgIT09IG1vZHVsZU5hbWUpO1xuICAgICAgICAgIHJlbW90ZXNDb3B5W2tleV0gPSBbLi4ubmV3IFNldChyZW1vdGVzQ29weVtrZXldKV07XG4gICAgICAgICAgaWYgKHJlbW90ZXNDb3B5W2tleV0ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBkZWxldGUgcmVtb3Rlc0NvcHlba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlbW90ZXNDb3B5O1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyBpZCBvZiB0aGUgcGx1Z2luIGFuZCByZXR1cm5zIG9iamVjdCB3aXRoIGNvbnRleHQgcGF0aCwgcmF3IGNvbnRleHQgcGF0aCAod2l0aG91dCB2ZXJzaW9uKSBhbmQgbW9kdWxlIG5hbWUuXG4gICAqIEZvciBleGFtcGxlOlxuICAgKiBgYGB0c1xuICAgKiBjb25zdCBpZCA9ICd3aWRnZXQtcGx1Z2luQDEwMjEuMC4xL1dpZGdldFBsdWdpbk1vZHVsZSdcbiAgICogY29uc3QgcGFyc2VkID0gcGFyc2VQbHVnaW5JZChpZCk7IC8vIHsgY29udGV4dFBhdGg6ICd3aWRnZXQtcGx1Z2luQDEwMjEuMC4xJywgbW9kdWxlTmFtZTogJ1dpZGdldFBsdWdpbk1vZHVsZScsIHJhd0NvbnRleHRQYXRoOiAnd2lkZ2V0LXBsdWdpbicgfVxuICAgKiBAcGFyYW0gaWQgUGx1Z2luIGlkIGluIHRoZSBmb3JtYXQgb2YgYDxjb250ZXh0UGF0aD5APHZlcnNpb24+Lzxtb2R1bGVOYW1lPmBcbiAgICogQHJldHVybnMgT2JqZWN0IHdpdGggY29udGV4dCBwYXRoLCBtb2R1bGUgbmFtZSBhbmQgcmF3IGNvbnRleHQgcGF0aCAod2l0aG91dCB2ZXJzaW9uKS5cbiAgICovXG4gIHByaXZhdGUgcGFyc2VQbHVnaW5JZChpZDogc3RyaW5nKToge1xuICAgIGNvbnRleHRQYXRoOiBzdHJpbmc7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHJhd0NvbnRleHRQYXRoOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IFtjb250ZXh0UGF0aCwgbW9kdWxlTmFtZV0gPSBpZC5zcGxpdCgnLycpO1xuICAgIGNvbnN0IFtyYXdDb250ZXh0UGF0aF0gPSBjb250ZXh0UGF0aC5zcGxpdCgnQCcpO1xuICAgIHJldHVybiB7IHJhd0NvbnRleHRQYXRoLCBjb250ZXh0UGF0aCwgbW9kdWxlTmFtZSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { hookNavigator, hookRoute, hookTab } from '@c8y/ngx-components';
|
|
2
|
+
import { hookNavigator, hookPreview, hookRoute, hookTab } from '@c8y/ngx-components';
|
|
3
3
|
import { MessagingNavigatorNodeFactory } from './navigator/messaging-navigator-factory';
|
|
4
4
|
import { NamespaceListComponent } from './messaging/namespace-list/namespace-list.component';
|
|
5
5
|
import { TopicListViewComponent } from './messaging/topic/topic-list-view.component';
|
|
6
6
|
import { TopicSubscribersViewComponent } from './messaging/topic/topic-subscribers-view/topic-subscribers-view.component';
|
|
7
7
|
import { TopicDetailsTabFactory } from './navigator/topic-details-tab.factory';
|
|
8
|
-
import { basePath } from './constants';
|
|
8
|
+
import { basePath, MESSAGING_MANAGEMENT_FEATURE_KEY } from './constants';
|
|
9
9
|
import { MessagingManagementGuard } from './messaging-management.guard';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class MessagingManagementModule {
|
|
@@ -35,7 +35,15 @@ export class MessagingManagementModule {
|
|
|
35
35
|
}
|
|
36
36
|
]),
|
|
37
37
|
hookTab(TopicDetailsTabFactory),
|
|
38
|
-
hookNavigator(MessagingNavigatorNodeFactory)
|
|
38
|
+
hookNavigator(MessagingNavigatorNodeFactory),
|
|
39
|
+
hookPreview({
|
|
40
|
+
key: MESSAGING_MANAGEMENT_FEATURE_KEY,
|
|
41
|
+
label: 'Messaging service - monitoring & management',
|
|
42
|
+
description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
|
|
43
|
+
settings: {
|
|
44
|
+
reload: true
|
|
45
|
+
}
|
|
46
|
+
})
|
|
39
47
|
] }); }
|
|
40
48
|
}
|
|
41
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessagingManagementModule, decorators: [{
|
|
@@ -65,8 +73,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
65
73
|
}
|
|
66
74
|
]),
|
|
67
75
|
hookTab(TopicDetailsTabFactory),
|
|
68
|
-
hookNavigator(MessagingNavigatorNodeFactory)
|
|
76
|
+
hookNavigator(MessagingNavigatorNodeFactory),
|
|
77
|
+
hookPreview({
|
|
78
|
+
key: MESSAGING_MANAGEMENT_FEATURE_KEY,
|
|
79
|
+
label: 'Messaging service - monitoring & management',
|
|
80
|
+
description: () => import('@c8y/style/markdown-files/messaging-management-preview.md').then(m => m.default),
|
|
81
|
+
settings: {
|
|
82
|
+
reload: true
|
|
83
|
+
}
|
|
84
|
+
})
|
|
69
85
|
]
|
|
70
86
|
}]
|
|
71
87
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnaW5nLW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbWVzc2FnaW5nLW1hbmFnZW1lbnQvbWVzc2FnaW5nLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQzFILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBdUN4RSxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGFBcEN6QjtZQUNULFNBQVMsQ0FBQztnQkFDUjtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUsc0JBQXNCO29CQUNqQyxXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDeEM7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyx1QkFBdUI7b0JBQ3hDLFNBQVMsRUFBRSxzQkFBc0I7b0JBQ2pDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN4QztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxHQUFHLG9DQUFvQztvQkFDckQsVUFBVSxFQUFFLFFBQVEsR0FBRyxnREFBZ0Q7b0JBQ3ZFLFNBQVMsRUFBRSxNQUFNO2lCQUNsQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxHQUFHLGdEQUFnRDtvQkFDakUsU0FBUyxFQUFFLDZCQUE2QjtvQkFDeEMsV0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3hDO2FBQ0YsQ0FBQztZQUNGLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztZQUMvQixhQUFhLENBQUMsNkJBQTZCLENBQUM7WUFDNUMsV0FBVyxDQUFDO2dCQUNWLEdBQUcsRUFBRSxnQ0FBZ0M7Z0JBQ3JDLEtBQUssRUFBRSw2Q0FBNkM7Z0JBQ3BELFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FDaEIsTUFBTSxDQUFDLDJEQUEyRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDMUYsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxJQUFJO2lCQUNiO2FBQ0YsQ0FBQztTQUNIOzs0RkFFVSx5QkFBeUI7a0JBckNyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxTQUFTLENBQUM7NEJBQ1I7Z0NBQ0UsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsU0FBUyxFQUFFLHNCQUFzQjtnQ0FDakMsV0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUM7NkJBQ3hDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxRQUFRLEdBQUcsdUJBQXVCO2dDQUN4QyxTQUFTLEVBQUUsc0JBQXNCO2dDQUNqQyxXQUFXLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzs2QkFDeEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyxvQ0FBb0M7Z0NBQ3JELFVBQVUsRUFBRSxRQUFRLEdBQUcsZ0RBQWdEO2dDQUN2RSxTQUFTLEVBQUUsTUFBTTs2QkFDbEI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLFFBQVEsR0FBRyxnREFBZ0Q7Z0NBQ2pFLFNBQVMsRUFBRSw2QkFBNkI7Z0NBQ3hDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDOzZCQUN4Qzt5QkFDRixDQUFDO3dCQUNGLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDL0IsYUFBYSxDQUFDLDZCQUE2QixDQUFDO3dCQUM1QyxXQUFXLENBQUM7NEJBQ1YsR0FBRyxFQUFFLGdDQUFnQzs0QkFDckMsS0FBSyxFQUFFLDZDQUE2Qzs0QkFDcEQsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUNoQixNQUFNLENBQUMsMkRBQTJELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzRCQUMxRixRQUFRLEVBQUU7Z0NBQ1IsTUFBTSxFQUFFLElBQUk7NkJBQ2I7eUJBQ0YsQ0FBQztxQkFDSDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBob29rTmF2aWdhdG9yLCBob29rUHJldmlldywgaG9va1JvdXRlLCBob29rVGFiIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNZXNzYWdpbmdOYXZpZ2F0b3JOb2RlRmFjdG9yeSB9IGZyb20gJy4vbmF2aWdhdG9yL21lc3NhZ2luZy1uYXZpZ2F0b3ItZmFjdG9yeSc7XG5pbXBvcnQgeyBOYW1lc3BhY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdpbmcvbmFtZXNwYWNlLWxpc3QvbmFtZXNwYWNlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRvcGljTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2luZy90b3BpYy90b3BpYy1saXN0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFRvcGljU3Vic2NyaWJlcnNWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdpbmcvdG9waWMvdG9waWMtc3Vic2NyaWJlcnMtdmlldy90b3BpYy1zdWJzY3JpYmVycy12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb3BpY0RldGFpbHNUYWJGYWN0b3J5IH0gZnJvbSAnLi9uYXZpZ2F0b3IvdG9waWMtZGV0YWlscy10YWIuZmFjdG9yeSc7XG5pbXBvcnQgeyBiYXNlUGF0aCwgTUVTU0FHSU5HX01BTkFHRU1FTlRfRkVBVFVSRV9LRVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBNZXNzYWdpbmdNYW5hZ2VtZW50R3VhcmQgfSBmcm9tICcuL21lc3NhZ2luZy1tYW5hZ2VtZW50Lmd1YXJkJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgaG9va1JvdXRlKFtcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGgsXG4gICAgICAgIGNvbXBvbmVudDogTmFtZXNwYWNlTGlzdENvbXBvbmVudCxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtNZXNzYWdpbmdNYW5hZ2VtZW50R3VhcmRdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBiYXNlUGF0aCArICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UnLFxuICAgICAgICBjb21wb25lbnQ6IFRvcGljTGlzdFZpZXdDb21wb25lbnQsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbTWVzc2FnaW5nTWFuYWdlbWVudEd1YXJkXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGggKyAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3RvcGljLzp0b3BpYycsXG4gICAgICAgIHJlZGlyZWN0VG86IGJhc2VQYXRoICsgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS90b3BpYy86dG9waWMvc3Vic2NyaWJlcnMnLFxuICAgICAgICBwYXRoTWF0Y2g6ICdmdWxsJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYmFzZVBhdGggKyAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3RvcGljLzp0b3BpYy9zdWJzY3JpYmVycycsXG4gICAgICAgIGNvbXBvbmVudDogVG9waWNTdWJzY3JpYmVyc1ZpZXdDb21wb25lbnQsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbTWVzc2FnaW5nTWFuYWdlbWVudEd1YXJkXVxuICAgICAgfVxuICAgIF0pLFxuICAgIGhvb2tUYWIoVG9waWNEZXRhaWxzVGFiRmFjdG9yeSksXG4gICAgaG9va05hdmlnYXRvcihNZXNzYWdpbmdOYXZpZ2F0b3JOb2RlRmFjdG9yeSksXG4gICAgaG9va1ByZXZpZXcoe1xuICAgICAga2V5OiBNRVNTQUdJTkdfTUFOQUdFTUVOVF9GRUFUVVJFX0tFWSxcbiAgICAgIGxhYmVsOiAnTWVzc2FnaW5nIHNlcnZpY2UgLSBtb25pdG9yaW5nICYgbWFuYWdlbWVudCcsXG4gICAgICBkZXNjcmlwdGlvbjogKCkgPT5cbiAgICAgICAgaW1wb3J0KCdAYzh5L3N0eWxlL21hcmtkb3duLWZpbGVzL21lc3NhZ2luZy1tYW5hZ2VtZW50LXByZXZpZXcubWQnKS50aGVuKG0gPT4gbS5kZWZhdWx0KSxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHJlbG9hZDogdHJ1ZVxuICAgICAgfVxuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnaW5nTWFuYWdlbWVudE1vZHVsZSB7fVxuIl19
|