@igo2/integration 18.0.0-next.1 → 18.0.0-next.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/about/about-tool/about-tool.component.mjs +4 -4
- package/esm2022/lib/about/about.module.mjs +5 -5
- package/esm2022/lib/analytics/analytics-listener.service.mjs +9 -5
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +8 -4
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog.module.mjs +5 -5
- package/esm2022/lib/catalog/catalog.state.mjs +4 -4
- package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +4 -4
- package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +4 -4
- package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +4 -4
- package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +4 -4
- package/esm2022/lib/context/context.module.mjs +5 -5
- package/esm2022/lib/context/context.state.mjs +4 -4
- package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +6 -6
- package/esm2022/lib/directions/directions.module.mjs +5 -5
- package/esm2022/lib/directions/directions.state.mjs +9 -21
- package/esm2022/lib/draw/draw.module.mjs +5 -5
- package/esm2022/lib/draw/draw.state.mjs +6 -6
- package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +4 -4
- package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +5 -5
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +7 -7
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +7 -7
- package/esm2022/lib/filter/filter.module.mjs +5 -5
- package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +4 -4
- package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +106 -106
- package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +4 -4
- package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +10 -6
- package/esm2022/lib/geometry-form/geometry-form.module.mjs +5 -5
- package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +4 -4
- package/esm2022/lib/import-export/import-export.module.mjs +5 -5
- package/esm2022/lib/import-export/import-export.state.mjs +4 -4
- package/esm2022/lib/integration.module.mjs +5 -5
- package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +4 -4
- package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +12 -6
- package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +23 -23
- package/esm2022/lib/map/layer-list-tool.state.mjs +4 -4
- package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +50 -21
- package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +9 -9
- package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +4 -4
- package/esm2022/lib/map/map-proximity.state.mjs +10 -11
- package/esm2022/lib/map/map-tool/map-tool.component.mjs +50 -14
- package/esm2022/lib/map/map-tools/map-tools.component.mjs +58 -25
- package/esm2022/lib/map/map.module.mjs +5 -5
- package/esm2022/lib/map/map.state.mjs +4 -6
- package/esm2022/lib/measure/measure.module.mjs +5 -5
- package/esm2022/lib/measure/measure.state.mjs +7 -6
- package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +4 -4
- package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +5 -5
- package/esm2022/lib/print/print-tool/print-tool.component.mjs +4 -4
- package/esm2022/lib/print/print.module.mjs +5 -5
- package/esm2022/lib/search/query.state.mjs +4 -4
- package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +4 -4
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
- package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +4 -4
- package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +5 -5
- package/esm2022/lib/search/search.module.mjs +5 -5
- package/esm2022/lib/search/search.state.mjs +5 -5
- package/esm2022/lib/storage/storage.state.mjs +4 -4
- package/esm2022/lib/tool/tool.state.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-actions.service.mjs +4 -4
- package/esm2022/lib/workspace/shared/feature-actions.service.mjs +4 -4
- package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +4 -4
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +7 -6
- package/esm2022/lib/workspace/workspace.module.mjs +5 -5
- package/esm2022/lib/workspace/workspace.state.mjs +4 -4
- package/fesm2022/igo2-integration.mjs +525 -434
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/lib/directions/directions-tool/directions-tool.component.d.ts +3 -3
- package/lib/directions/directions.state.d.ts +2 -2
- package/lib/environment/environment.interface.d.ts +2 -1
- package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +4 -6
- package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +5 -6
- package/lib/map/map-details-tool/map-details-tool.component.d.ts +12 -4
- package/lib/map/map-legend/map-legend-tool.component.d.ts +4 -4
- package/lib/map/map-proximity.state.d.ts +4 -3
- package/lib/map/map-tool/map-tool.component.d.ts +14 -3
- package/lib/map/map-tools/map-tools.component.d.ts +15 -6
- package/lib/tool/tool.state.d.ts +2 -1
- package/lib/workspace/workspace-button/workspace-button.component.d.ts +4 -4
- package/package.json +4 -4
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
3
3
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
4
4
|
import { ToolComponent } from '@igo2/common/tool';
|
|
5
5
|
import { ContextListBindingDirective, ContextListComponent } from '@igo2/context';
|
|
6
|
+
import { ConfigService } from '@igo2/core/config';
|
|
6
7
|
import { IgoLanguageModule } from '@igo2/core/language';
|
|
7
|
-
import {
|
|
8
|
+
import { Media, MediaService } from '@igo2/core/media';
|
|
9
|
+
import { ExportButtonComponent, LayerListControlsEnum, LayerViewerComponent, MetadataButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent } from '@igo2/geo';
|
|
8
10
|
import { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';
|
|
9
11
|
import { ToolState } from '../../tool/tool.state';
|
|
10
12
|
import { WorkspaceButtonComponent } from '../../workspace/workspace-button/workspace-button.component';
|
|
@@ -13,8 +15,10 @@ import * as i0 from "@angular/core";
|
|
|
13
15
|
import * as i1 from "./../map.state";
|
|
14
16
|
import * as i2 from "../../tool/tool.state";
|
|
15
17
|
import * as i3 from "../../import-export/import-export.state";
|
|
16
|
-
import * as i4 from "@
|
|
17
|
-
import * as i5 from "@
|
|
18
|
+
import * as i4 from "@igo2/core/config";
|
|
19
|
+
import * as i5 from "@igo2/core/media";
|
|
20
|
+
import * as i6 from "@angular/material/tabs";
|
|
21
|
+
import * as i7 from "@ngx-translate/core";
|
|
18
22
|
/**
|
|
19
23
|
* Tool to browse a map's layers or to choose a different map
|
|
20
24
|
*/
|
|
@@ -22,6 +26,10 @@ let MapToolComponent = class MapToolComponent {
|
|
|
22
26
|
mapState;
|
|
23
27
|
toolState;
|
|
24
28
|
importExportState;
|
|
29
|
+
configService;
|
|
30
|
+
mediaService;
|
|
31
|
+
cdr;
|
|
32
|
+
isDesktop;
|
|
25
33
|
toggleLegendOnVisibilityChange = false;
|
|
26
34
|
expandLegendOfVisibleLayers = false;
|
|
27
35
|
updateLegendOnResolutionChange = false;
|
|
@@ -51,10 +59,30 @@ let MapToolComponent = class MapToolComponent {
|
|
|
51
59
|
}
|
|
52
60
|
return filterSortOptions;
|
|
53
61
|
}
|
|
54
|
-
|
|
62
|
+
_layerViewerOptions;
|
|
63
|
+
get layerViewerOptions() {
|
|
64
|
+
return {
|
|
65
|
+
filterAndSortOptions: this.layerFilterAndSortOptions,
|
|
66
|
+
legend: {
|
|
67
|
+
showForVisibleLayers: this.expandLegendOfVisibleLayers,
|
|
68
|
+
showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
|
|
69
|
+
updateOnResolutionChange: this.updateLegendOnResolutionChange
|
|
70
|
+
},
|
|
71
|
+
queryBadge: this.queryBadge,
|
|
72
|
+
...this._layerViewerOptions
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
constructor(mapState, toolState, importExportState, configService, mediaService, cdr) {
|
|
55
76
|
this.mapState = mapState;
|
|
56
77
|
this.toolState = toolState;
|
|
57
78
|
this.importExportState = importExportState;
|
|
79
|
+
this.configService = configService;
|
|
80
|
+
this.mediaService = mediaService;
|
|
81
|
+
this.cdr = cdr;
|
|
82
|
+
this._layerViewerOptions = this.configService.getConfig('layer');
|
|
83
|
+
}
|
|
84
|
+
ngOnInit() {
|
|
85
|
+
this.handleMedia();
|
|
58
86
|
}
|
|
59
87
|
activateExport(layer) {
|
|
60
88
|
let id = layer.id;
|
|
@@ -68,8 +96,14 @@ let MapToolComponent = class MapToolComponent {
|
|
|
68
96
|
this.importExportState.setMode(ImportExportMode.export);
|
|
69
97
|
this.toolState.toolbox.activateTool('importExport');
|
|
70
98
|
}
|
|
71
|
-
|
|
72
|
-
|
|
99
|
+
handleMedia() {
|
|
100
|
+
this.mediaService.media$.subscribe((result) => {
|
|
101
|
+
this.isDesktop = result === Media.Desktop;
|
|
102
|
+
this.cdr.detectChanges();
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolComponent, deps: [{ token: i1.MapState }, { token: i2.ToolState }, { token: i3.ImportExportState }, { token: i4.ConfigService }, { token: i5.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapToolComponent, isStandalone: true, selector: "igo-map-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge" }, ngImport: i0, template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-viewer\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding></igo-context-list>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: ContextListComponent, selector: "igo-context-list", inputs: ["contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }, { kind: "directive", type: ContextListBindingDirective, selector: "[igoContextListBinding]" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
107
|
};
|
|
74
108
|
MapToolComponent = __decorate([
|
|
75
109
|
ToolComponent({
|
|
@@ -79,26 +113,28 @@ MapToolComponent = __decorate([
|
|
|
79
113
|
}),
|
|
80
114
|
__metadata("design:paramtypes", [MapState,
|
|
81
115
|
ToolState,
|
|
82
|
-
ImportExportState
|
|
116
|
+
ImportExportState,
|
|
117
|
+
ConfigService,
|
|
118
|
+
MediaService,
|
|
119
|
+
ChangeDetectorRef])
|
|
83
120
|
], MapToolComponent);
|
|
84
121
|
export { MapToolComponent };
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolComponent, decorators: [{
|
|
86
123
|
type: Component,
|
|
87
124
|
args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
88
125
|
MatTabsModule,
|
|
89
|
-
LayerListComponent,
|
|
90
|
-
LayerListBindingDirective,
|
|
91
126
|
WorkspaceButtonComponent,
|
|
92
127
|
ExportButtonComponent,
|
|
93
128
|
OgcFilterButtonComponent,
|
|
94
129
|
TimeFilterButtonComponent,
|
|
95
130
|
TrackFeatureButtonComponent,
|
|
96
131
|
MetadataButtonComponent,
|
|
132
|
+
LayerViewerComponent,
|
|
97
133
|
ContextListComponent,
|
|
98
134
|
ContextListBindingDirective,
|
|
99
135
|
IgoLanguageModule
|
|
100
|
-
], template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-
|
|
101
|
-
}], ctorParameters: () => [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.ImportExportState }], propDecorators: { toggleLegendOnVisibilityChange: [{
|
|
136
|
+
], template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-viewer\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding></igo-context-list>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"] }]
|
|
137
|
+
}], ctorParameters: () => [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.ImportExportState }, { type: i4.ConfigService }, { type: i5.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { toggleLegendOnVisibilityChange: [{
|
|
102
138
|
type: Input
|
|
103
139
|
}], expandLegendOfVisibleLayers: [{
|
|
104
140
|
type: Input
|
|
@@ -113,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
113
149
|
}], queryBadge: [{
|
|
114
150
|
type: Input
|
|
115
151
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2wvbWFwLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2wvbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUNMLHFCQUFxQixFQUlyQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUVyQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDNUIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRTFDOztHQUVHO0FBMkJJLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBNkNq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QjtrQkFyQjVCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3FCQUNsQjtxSUFHUSw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBRUcsMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUVHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL3Rvb2wnO1xuaW1wb3J0IHtcbiAgQ29udGV4dExpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICBDb250ZXh0TGlzdENvbXBvbmVudFxufSBmcm9tICdAaWdvMi9jb250ZXh0JztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQge1xuICBFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gIEV4cG9ydE9wdGlvbnMsXG4gIElnb01hcCxcbiAgTGF5ZXIsXG4gIExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUsXG4gIExheWVyTGlzdENvbXBvbmVudCxcbiAgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLFxuICBMYXllckxpc3RDb250cm9sc09wdGlvbnMsXG4gIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRpbWVGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudFxufSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQge1xuICBJbXBvcnRFeHBvcnRNb2RlLFxuICBJbXBvcnRFeHBvcnRTdGF0ZVxufSBmcm9tICcuLi8uLi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQuc3RhdGUnO1xuaW1wb3J0IHsgVG9vbFN0YXRlIH0gZnJvbSAnLi4vLi4vdG9vbC90b29sLnN0YXRlJztcbmltcG9ydCB7IFdvcmtzcGFjZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi8uLi9tYXAuc3RhdGUnO1xuXG4vKipcbiAqIFRvb2wgdG8gYnJvd3NlIGEgbWFwJ3MgbGF5ZXJzIG9yIHRvIGNob29zZSBhIGRpZmZlcmVudCBtYXBcbiAqL1xuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnbWFwJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMubWFwJyxcbiAgaWNvbjogJ21hcCdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tbWFwLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdG9vbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTGF5ZXJMaXN0Q29tcG9uZW50LFxuICAgIExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUsXG4gICAgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50LFxuICAgIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgVGltZUZpbHRlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnQsXG4gICAgTWV0YWRhdGFCdXR0b25Db21wb25lbnQsXG4gICAgQ29udGV4dExpc3RDb21wb25lbnQsXG4gICAgQ29udGV4dExpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwVG9vbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRvZ2dsZUxlZ2VuZE9uVmlzaWJpbGl0eUNoYW5nZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGV4cGFuZExlZ2VuZE9mVmlzaWJsZUxheWVycyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG9nY0J1dHRvbiA9IHRydWU7XG5cbiAgQElucHV0KCkgdGltZUJ1dHRvbiA9IHRydWU7XG5cbiAgQElucHV0KCkgbGF5ZXJMaXN0Q29udHJvbHM6IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyA9IHt9O1xuXG4gIEBJbnB1dCgpIHF1ZXJ5QmFkZ2UgPSBmYWxzZTtcblxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgZ2V0IGV4Y2x1ZGVCYXNlTGF5ZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxheWVyTGlzdENvbnRyb2xzLmV4Y2x1ZGVCYXNlTGF5ZXJzIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGxheWVyRmlsdGVyQW5kU29ydE9wdGlvbnMoKTogYW55IHtcbiAgICBjb25zdCBmaWx0ZXJTb3J0T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIHNob3dUb29sYmFyOiBMYXllckxpc3RDb250cm9sc0VudW0uZGVmYXVsdFxuICAgICAgfSxcbiAgICAgIHRoaXMubGF5ZXJMaXN0Q29udHJvbHNcbiAgICApO1xuXG4gICAgc3dpdGNoICh0aGlzLmxheWVyTGlzdENvbnRyb2xzLnNob3dUb29sYmFyKSB7XG4gICAgICBjYXNlIExheWVyTGlzdENvbnRyb2xzRW51bS5hbHdheXM6XG4gICAgICAgIGZpbHRlclNvcnRPcHRpb25zLnNob3dUb29sYmFyID0gTGF5ZXJMaXN0Q29udHJvbHNFbnVtLmFsd2F5cztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExheWVyTGlzdENvbnRyb2xzRW51bS5uZXZlcjpcbiAgICAgICAgZmlsdGVyU29ydE9wdGlvbnMuc2hvd1Rvb2xiYXIgPSBMYXllckxpc3RDb250cm9sc0VudW0ubmV2ZXI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJTb3J0T3B0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlLFxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUsXG4gICAgcHJpdmF0ZSBpbXBvcnRFeHBvcnRTdGF0ZTogSW1wb3J0RXhwb3J0U3RhdGVcbiAgKSB7fVxuXG4gIGFjdGl2YXRlRXhwb3J0KGxheWVyOiBMYXllcikge1xuICAgIGxldCBpZCA9IGxheWVyLmlkO1xuICAgIGlmIChsYXllci5vcHRpb25zLndvcmtzcGFjZT8ud29ya3NwYWNlSWQpIHtcbiAgICAgIGlkID1cbiAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2Uud29ya3NwYWNlSWQgIT09IGxheWVyLmlkXG4gICAgICAgICAgPyBsYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZFxuICAgICAgICAgIDogbGF5ZXIuaWQ7XG4gICAgfVxuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0c0V4cG9ydE9wdGlvbnMoeyBsYXllcnM6IFtpZF0gfSBhcyBFeHBvcnRPcHRpb25zKTtcbiAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLnNldE1vZGUoSW1wb3J0RXhwb3J0TW9kZS5leHBvcnQpO1xuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdpbXBvcnRFeHBvcnQnKTtcbiAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXA+XG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmludGVncmF0aW9uLnRvb2xzLm1hcCcgfCB0cmFuc2xhdGVcIj5cbiAgICA8aWdvLWxheWVyLWxpc3RcbiAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgIGlnb0xheWVyTGlzdEJpbmRpbmdcbiAgICAgIFtleGNsdWRlQmFzZUxheWVyc109XCJleGNsdWRlQmFzZUxheWVyc1wiXG4gICAgICBbbGF5ZXJGaWx0ZXJBbmRTb3J0T3B0aW9uc109XCJsYXllckZpbHRlckFuZFNvcnRPcHRpb25zXCJcbiAgICAgIFtleHBhbmRMZWdlbmRPZlZpc2libGVMYXllcnNdPVwiZXhwYW5kTGVnZW5kT2ZWaXNpYmxlTGF5ZXJzXCJcbiAgICAgIFt0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2VdPVwidG9nZ2xlTGVnZW5kT25WaXNpYmlsaXR5Q2hhbmdlXCJcbiAgICAgIFt1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VdPVwidXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXCJcbiAgICAgIFtxdWVyeUJhZGdlXT1cInF1ZXJ5QmFkZ2VcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaWdvTGF5ZXJJdGVtVG9vbGJhciBsZXQtbGF5ZXI9XCJsYXllclwiPlxuICAgICAgICA8IS0tIDxpZ28tZG93bmxvYWQtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLWRvd25sb2FkLWJ1dHRvbj4gLS0+XG4gICAgICAgIDxpZ28td29ya3NwYWNlLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby13b3Jrc3BhY2UtYnV0dG9uPlxuICAgICAgICA8aWdvLWV4cG9ydC1idXR0b25cbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZUV4cG9ydChsYXllcilcIlxuICAgICAgICA+PC9pZ28tZXhwb3J0LWJ1dHRvbj5cbiAgICAgICAgPGlnby1vZ2MtZmlsdGVyLWJ1dHRvblxuICAgICAgICAgIFtoZWFkZXJdPVwib2djQnV0dG9uXCJcbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgICAgICA+PC9pZ28tb2djLWZpbHRlci1idXR0b24+XG4gICAgICAgIDxpZ28tdGltZS1maWx0ZXItYnV0dG9uXG4gICAgICAgICAgW2hlYWRlcl09XCJ0aW1lQnV0dG9uXCJcbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgICAgICA+PC9pZ28tdGltZS1maWx0ZXItYnV0dG9uPlxuICAgICAgICA8aWdvLXRyYWNrLWZlYXR1cmUtYnV0dG9uXG4gICAgICAgICAgW3RyYWNrRmVhdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgICAgICA+PC9pZ28tdHJhY2stZmVhdHVyZS1idXR0b24+XG4gICAgICAgIDxpZ28tbWV0YWRhdGEtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLW1ldGFkYXRhLWJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pZ28tbGF5ZXItbGlzdD5cbiAgPC9tYXQtdGFiPlxuXG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmludGVncmF0aW9uLnRvb2xzLmNvbnRleHRzJyB8IHRyYW5zbGF0ZVwiPlxuICAgIDxpZ28tY29udGV4dC1saXN0IGlnb0NvbnRleHRMaXN0QmluZGluZz48L2lnby1jb250ZXh0LWxpc3Q+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbiJdfQ==
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2wvbWFwLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2wvbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wscUJBQXFCLEVBSXJCLHFCQUFxQixFQUVyQixvQkFBb0IsRUFFcEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzVCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3ZH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QkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3FCQUNsQjs0TkFLUSw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBRUcsMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUVHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcblxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi90b29sJztcbmltcG9ydCB7XG4gIENvbnRleHRMaXN0QmluZGluZ0RpcmVjdGl2ZSxcbiAgQ29udGV4dExpc3RDb21wb25lbnRcbn0gZnJvbSAnQGlnbzIvY29udGV4dCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IE1lZGlhLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lZGlhJztcbmltcG9ydCB7XG4gIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgRXhwb3J0T3B0aW9ucyxcbiAgSWdvTWFwLFxuICBMYXllcixcbiAgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLFxuICBMYXllckxpc3RDb250cm9sc09wdGlvbnMsXG4gIExheWVyVmlld2VyQ29tcG9uZW50LFxuICBMYXllclZpZXdlck9wdGlvbnMsXG4gIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRpbWVGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudFxufSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQge1xuICBJbXBvcnRFeHBvcnRNb2RlLFxuICBJbXBvcnRFeHBvcnRTdGF0ZVxufSBmcm9tICcuLi8uLi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQuc3RhdGUnO1xuaW1wb3J0IHsgVG9vbFN0YXRlIH0gZnJvbSAnLi4vLi4vdG9vbC90b29sLnN0YXRlJztcbmltcG9ydCB7IFdvcmtzcGFjZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dvcmtzcGFjZS93b3Jrc3BhY2UtYnV0dG9uL3dvcmtzcGFjZS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi8uLi9tYXAuc3RhdGUnO1xuXG4vKipcbiAqIFRvb2wgdG8gYnJvd3NlIGEgbWFwJ3MgbGF5ZXJzIG9yIHRvIGNob29zZSBhIGRpZmZlcmVudCBtYXBcbiAqL1xuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnbWFwJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMubWFwJyxcbiAgaWNvbjogJ21hcCdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tbWFwLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdG9vbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50LFxuICAgIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgVGltZUZpbHRlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnQsXG4gICAgTWV0YWRhdGFCdXR0b25Db21wb25lbnQsXG4gICAgTGF5ZXJWaWV3ZXJDb21wb25lbnQsXG4gICAgQ29udGV4dExpc3RDb21wb25lbnQsXG4gICAgQ29udGV4dExpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwVG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzRGVza3RvcDogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBleHBhbmRMZWdlbmRPZlZpc2libGVMYXllcnMgPSBmYWxzZTtcblxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBvZ2NCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHRpbWVCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxheWVyTGlzdENvbnRyb2xzOiBMYXllckxpc3RDb250cm9sc09wdGlvbnMgPSB7fTtcblxuICBASW5wdXQoKSBxdWVyeUJhZGdlID0gZmFsc2U7XG5cbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcbiAgfVxuXG4gIGdldCBleGNsdWRlQmFzZUxheWVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sYXllckxpc3RDb250cm9scy5leGNsdWRlQmFzZUxheWVycyB8fCBmYWxzZTtcbiAgfVxuXG4gIGdldCBsYXllckZpbHRlckFuZFNvcnRPcHRpb25zKCk6IGFueSB7XG4gICAgY29uc3QgZmlsdGVyU29ydE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBzaG93VG9vbGJhcjogTGF5ZXJMaXN0Q29udHJvbHNFbnVtLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgICB0aGlzLmxheWVyTGlzdENvbnRyb2xzXG4gICAgKTtcblxuICAgIHN3aXRjaCAodGhpcy5sYXllckxpc3RDb250cm9scy5zaG93VG9vbGJhcikge1xuICAgICAgY2FzZSBMYXllckxpc3RDb250cm9sc0VudW0uYWx3YXlzOlxuICAgICAgICBmaWx0ZXJTb3J0T3B0aW9ucy5zaG93VG9vbGJhciA9IExheWVyTGlzdENvbnRyb2xzRW51bS5hbHdheXM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMYXllckxpc3RDb250cm9sc0VudW0ubmV2ZXI6XG4gICAgICAgIGZpbHRlclNvcnRPcHRpb25zLnNob3dUb29sYmFyID0gTGF5ZXJMaXN0Q29udHJvbHNFbnVtLm5ldmVyO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyU29ydE9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIF9sYXllclZpZXdlck9wdGlvbnM6IFBhcnRpYWw8TGF5ZXJWaWV3ZXJPcHRpb25zPjtcbiAgZ2V0IGxheWVyVmlld2VyT3B0aW9ucygpOiBMYXllclZpZXdlck9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBmaWx0ZXJBbmRTb3J0T3B0aW9uczogdGhpcy5sYXllckZpbHRlckFuZFNvcnRPcHRpb25zLFxuICAgICAgbGVnZW5kOiB7XG4gICAgICAgIHNob3dGb3JWaXNpYmxlTGF5ZXJzOiB0aGlzLmV4cGFuZExlZ2VuZE9mVmlzaWJsZUxheWVycyxcbiAgICAgICAgc2hvd09uVmlzaWJpbGl0eUNoYW5nZTogdGhpcy50b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UsXG4gICAgICAgIHVwZGF0ZU9uUmVzb2x1dGlvbkNoYW5nZTogdGhpcy51cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcbiAgICAgIH0sXG4gICAgICBxdWVyeUJhZGdlOiB0aGlzLnF1ZXJ5QmFkZ2UsXG4gICAgICAuLi50aGlzLl9sYXllclZpZXdlck9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXBTdGF0ZTogTWFwU3RhdGUsXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcbiAgICBwcml2YXRlIGltcG9ydEV4cG9ydFN0YXRlOiBJbXBvcnRFeHBvcnRTdGF0ZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHVibGljIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLl9sYXllclZpZXdlck9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdsYXllcicpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVNZWRpYSgpO1xuICB9XG5cbiAgYWN0aXZhdGVFeHBvcnQobGF5ZXI6IExheWVyKSB7XG4gICAgbGV0IGlkID0gbGF5ZXIuaWQ7XG4gICAgaWYgKGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy53b3Jrc3BhY2VJZCkge1xuICAgICAgaWQgPVxuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZCAhPT0gbGF5ZXIuaWRcbiAgICAgICAgICA/IGxheWVyLm9wdGlvbnMud29ya3NwYWNlLndvcmtzcGFjZUlkXG4gICAgICAgICAgOiBsYXllci5pZDtcbiAgICB9XG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyh7IGxheWVyczogW2lkXSB9IGFzIEV4cG9ydE9wdGlvbnMpO1xuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2ltcG9ydEV4cG9ydCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVNZWRpYSgpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhU2VydmljZS5tZWRpYSQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuaXNEZXNrdG9wID0gcmVzdWx0ID09PSBNZWRpYS5EZXNrdG9wO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cD5cbiAgPG1hdC10YWIgW2xhYmVsXT1cIidpZ28uaW50ZWdyYXRpb24udG9vbHMubWFwJyB8IHRyYW5zbGF0ZVwiPlxuICAgIDxpZ28tbGF5ZXItdmlld2VyXG4gICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICBbb3B0aW9uc109XCJsYXllclZpZXdlck9wdGlvbnNcIlxuICAgICAgW2V4Y2x1ZGVCYXNlTGF5ZXJzXT1cImV4Y2x1ZGVCYXNlTGF5ZXJzXCJcbiAgICAgIFtpc0Rlc2t0b3BdPVwiaXNEZXNrdG9wXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbUJvdHRvbUFjdGlvbnMgbGV0LWxheWVyPVwibGF5ZXJcIj5cbiAgICAgICAgPGlnby13b3Jrc3BhY2UtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLXdvcmtzcGFjZS1idXR0b24+XG4gICAgICAgIDxpZ28tZXhwb3J0LWJ1dHRvblxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlRXhwb3J0KGxheWVyKVwiXG4gICAgICAgID48L2lnby1leHBvcnQtYnV0dG9uPlxuICAgICAgICA8aWdvLW9nYy1maWx0ZXItYnV0dG9uXG4gICAgICAgICAgW2hlYWRlcl09XCJvZ2NCdXR0b25cIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby1vZ2MtZmlsdGVyLWJ1dHRvbj5cbiAgICAgICAgPGlnby10aW1lLWZpbHRlci1idXR0b25cbiAgICAgICAgICBbaGVhZGVyXT1cInRpbWVCdXR0b25cIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby10aW1lLWZpbHRlci1idXR0b24+XG4gICAgICAgIDxpZ28tdHJhY2stZmVhdHVyZS1idXR0b25cbiAgICAgICAgICBbdHJhY2tGZWF0dXJlXT1cInRydWVcIlxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgICAgID48L2lnby10cmFjay1mZWF0dXJlLWJ1dHRvbj5cbiAgICAgICAgPGlnby1tZXRhZGF0YS1idXR0b24gW2xheWVyXT1cImxheWVyXCI+PC9pZ28tbWV0YWRhdGEtYnV0dG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2lnby1sYXllci12aWV3ZXI+XG4gIDwvbWF0LXRhYj5cblxuICA8bWF0LXRhYiBbbGFiZWxdPVwiJ2lnby5pbnRlZ3JhdGlvbi50b29scy5jb250ZXh0cycgfCB0cmFuc2xhdGVcIj5cbiAgICA8aWdvLWNvbnRleHQtbGlzdCBpZ29Db250ZXh0TGlzdEJpbmRpbmc+PC9pZ28tY29udGV4dC1saXN0PlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
|