@igo2/geo 1.13.0 → 1.13.1
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/esm2020/lib/datasource/shared/capabilities.service.mjs +22 -17
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +5 -5
- package/esm2020/lib/draw/draw/draw.component.mjs +384 -273
- package/esm2020/lib/draw/draw/draw.module.mjs +19 -15
- package/esm2020/lib/draw/shared/draw-style.service.mjs +35 -18
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +51 -24
- package/esm2020/lib/feature/shared/feature.utils.mjs +4 -5
- package/esm2020/lib/feature/shared/store.mjs +14 -2
- package/esm2020/lib/filter/filter.module.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +44 -39
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +23 -10
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +98 -68
- package/esm2020/lib/import-export/import-export.module.mjs +6 -3
- package/esm2020/lib/import-export/shared/import.utils.mjs +3 -2
- package/esm2020/lib/layer/index.mjs +2 -1
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +28 -22
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +47 -28
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +3 -3
- package/esm2020/lib/layer/layer.module.mjs +19 -7
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +4 -1
- package/esm2020/lib/layer/style-modal/index.mjs +2 -0
- package/esm2020/lib/layer/style-modal/style-modal.component.mjs +288 -0
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +21 -18
- package/esm2020/lib/map/shared/map.interface.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +4 -1
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +16 -14
- package/esm2020/lib/search/shared/search.utils.mjs +13 -1
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +8 -6
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +9 -4
- package/fesm2015/igo2-geo.mjs +3784 -3199
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +3726 -3169
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +0 -3
- package/lib/draw/draw/draw.component.d.ts +71 -50
- package/lib/draw/draw/draw.module.d.ts +13 -10
- package/lib/draw/shared/draw-style.service.d.ts +7 -1
- package/lib/draw/shared/draw.interface.d.ts +4 -0
- package/lib/feature/feature-details/feature-details.component.d.ts +4 -0
- package/lib/feature/shared/store.d.ts +1 -0
- package/lib/import-export/import-export/import-export.component.d.ts +2 -0
- package/lib/import-export/import-export.module.d.ts +1 -1
- package/lib/layer/index.d.ts +1 -0
- package/lib/layer/layer-list/layer-list.component.d.ts +3 -4
- package/lib/layer/layer.module.d.ts +20 -18
- package/lib/layer/shared/layers/layer.interface.d.ts +1 -0
- package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
- package/lib/layer/style-modal/index.d.ts +1 -0
- package/lib/layer/style-modal/style-modal.component.d.ts +42 -0
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +3 -1
- package/lib/map/shared/map.interface.d.ts +2 -1
- package/package.json +8 -8
|
@@ -3,8 +3,8 @@ import { BehaviorSubject } from 'rxjs';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/material/form-field";
|
|
5
5
|
import * as i2 from "@angular/material/input";
|
|
6
|
-
import * as i3 from "@angular/
|
|
7
|
-
import * as i4 from "@angular/
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
8
|
import * as i5 from "@angular/material/icon";
|
|
9
9
|
import * as i6 from "@angular/material/button";
|
|
10
10
|
import * as i7 from "@angular/material/tooltip";
|
|
@@ -143,7 +143,7 @@ LayerListToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Laye
|
|
|
143
143
|
i0.ɵɵproperty("matTooltip", ctx.selectionMode ? i0.ɵɵpipeBind1(17, 26, "igo.geo.layer.deactivateSelectionMode") : i0.ɵɵpipeBind1(18, 28, "igo.geo.layer.activateSelectionMode"));
|
|
144
144
|
i0.ɵɵadvance(4);
|
|
145
145
|
i0.ɵɵproperty("svgIcon", ctx.selectionMode ? "checkbox-multiple-marked-outline" : "checkbox-multiple-blank-outline");
|
|
146
|
-
} }, dependencies: [i1.MatFormField, i1.MatSuffix, i2.MatInput, i3.
|
|
146
|
+
} }, dependencies: [i1.MatFormField, i1.MatSuffix, i2.MatInput, i3.DefaultValueAccessor, i3.NgControlStatus, i4.NgIf, i3.NgModel, i5.MatIcon, i6.MatButton, i7.MatTooltip, i8.MatListItem, i9.MatBadge, i10.IgoBadgeIconDirective, i11.TranslatePipe], styles: ["mat-form-field.inputFilter[_ngcontent-%COMP%]{width:calc(100% - 100px);max-width:200px}.selection-mode[_ngcontent-%COMP%]{margin-left:5px}"], changeDetection: 0 });
|
|
147
147
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerListToolComponent, [{
|
|
148
148
|
type: Component,
|
|
149
149
|
args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: " <mat-list-item>\n <mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"text\" [(ngModel)]=\"term\">\n <button\n mat-button\n *ngIf=\"term\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <div [matTooltip]=\"sortAlpha ?\n ('igo.geo.layer.sortMapOrder' | translate) :\n ('igo.geo.layer.sortAlphabetically' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"sort-alpha\" [color]=\"sortAlpha ? 'warn' : 'primary'\" mat-icon-button (click)=\"toggleSortAlpha()\">\n <mat-icon [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"></mat-icon>\n </button>\n </div>\n\n <div [matTooltip]=\"onlyVisible ?\n ('igo.geo.layer.resetLayersList' | translate) :\n ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"only-visible\" mat-icon-button [disabled]=\"layersAreAllVisible && !onlyVisible\"\n [color]=\"onlyVisible ? 'warn' : 'primary'\" (click)=\"toggleOnlyVisible()\">\n <mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye\"\n igoMatBadgeInverseColor=\"true\"\n igoMatBadgeInheritColor=\"true\"\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\">\n </mat-icon>\n </button>\n </div>\n\n <div [matTooltip]=\"selectionMode ?\n ('igo.geo.layer.deactivateSelectionMode' | translate) :\n ('igo.geo.layer.activateSelectionMode' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"selection-mode\" mat-icon-button\n color=\"primary\" (click)=\"toggleSelectionMode()\">\n <mat-icon [svgIcon]=\"selectionMode ? 'checkbox-multiple-marked-outline' : 'checkbox-multiple-blank-outline'\"></mat-icon>\n </button>\n </div>\n\n</mat-list-item>\n", styles: ["mat-form-field.inputFilter{width:calc(100% - 100px);max-width:200px}.selection-mode{margin-left:5px}\n"] }]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
5
5
|
import { MatButtonModule } from '@angular/material/button';
|
|
6
6
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
@@ -14,6 +14,7 @@ import { MatSelectModule } from '@angular/material/select';
|
|
|
14
14
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
15
15
|
import { MatSliderModule } from '@angular/material/slider';
|
|
16
16
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
17
|
+
import { ColorPickerModule } from 'ngx-color-picker';
|
|
17
18
|
import { IgoLanguageModule } from '@igo2/core';
|
|
18
19
|
import { IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule, IgoCustomHtmlModule } from '@igo2/common';
|
|
19
20
|
import { LayerService } from './shared/layer.service';
|
|
@@ -28,6 +29,7 @@ import { LayerLegendListBindingDirective } from './layer-legend-list/layer-legen
|
|
|
28
29
|
import { TrackFeatureButtonComponent } from './track-feature-button/track-feature-button.component';
|
|
29
30
|
import { LayerLegendListComponent } from './layer-legend-list/layer-legend-list.component';
|
|
30
31
|
import { LayerLegendItemComponent } from './layer-legend-item/layer-legend-item.component';
|
|
32
|
+
import { StyleModalComponent } from './style-modal/style-modal.component';
|
|
31
33
|
import * as i0 from "@angular/core";
|
|
32
34
|
import * as i1 from "@angular/common";
|
|
33
35
|
import * as i2 from "@angular/material/icon";
|
|
@@ -55,6 +57,7 @@ export class IgoLayerModule {
|
|
|
55
57
|
IgoLayerModule.ɵfac = function IgoLayerModule_Factory(t) { return new (t || IgoLayerModule)(); };
|
|
56
58
|
IgoLayerModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLayerModule });
|
|
57
59
|
IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputModule,
|
|
60
|
+
ReactiveFormsModule,
|
|
58
61
|
MatFormFieldModule,
|
|
59
62
|
CommonModule,
|
|
60
63
|
FormsModule,
|
|
@@ -69,6 +72,7 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
69
72
|
MatSliderModule,
|
|
70
73
|
MatBadgeModule,
|
|
71
74
|
MatCheckboxModule,
|
|
75
|
+
ColorPickerModule,
|
|
72
76
|
IgoLanguageModule,
|
|
73
77
|
IgoListModule,
|
|
74
78
|
IgoCollapsibleModule,
|
|
@@ -81,6 +85,7 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
81
85
|
args: [{
|
|
82
86
|
imports: [
|
|
83
87
|
MatInputModule,
|
|
88
|
+
ReactiveFormsModule,
|
|
84
89
|
MatFormFieldModule,
|
|
85
90
|
CommonModule,
|
|
86
91
|
FormsModule,
|
|
@@ -95,6 +100,7 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
95
100
|
MatSliderModule,
|
|
96
101
|
MatBadgeModule,
|
|
97
102
|
MatCheckboxModule,
|
|
103
|
+
ColorPickerModule,
|
|
98
104
|
IgoLanguageModule,
|
|
99
105
|
IgoListModule,
|
|
100
106
|
IgoCollapsibleModule,
|
|
@@ -112,7 +118,8 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
112
118
|
LayerLegendListComponent,
|
|
113
119
|
LayerListBindingDirective,
|
|
114
120
|
LayerLegendListBindingDirective,
|
|
115
|
-
TrackFeatureButtonComponent
|
|
121
|
+
TrackFeatureButtonComponent,
|
|
122
|
+
StyleModalComponent
|
|
116
123
|
],
|
|
117
124
|
declarations: [
|
|
118
125
|
LayerItemComponent,
|
|
@@ -123,7 +130,8 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
123
130
|
LayerLegendListComponent,
|
|
124
131
|
LayerListBindingDirective,
|
|
125
132
|
LayerLegendListBindingDirective,
|
|
126
|
-
TrackFeatureButtonComponent
|
|
133
|
+
TrackFeatureButtonComponent,
|
|
134
|
+
StyleModalComponent
|
|
127
135
|
]
|
|
128
136
|
}]
|
|
129
137
|
}], null, null); })();
|
|
@@ -135,7 +143,9 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
135
143
|
LayerLegendListComponent,
|
|
136
144
|
LayerListBindingDirective,
|
|
137
145
|
LayerLegendListBindingDirective,
|
|
138
|
-
TrackFeatureButtonComponent
|
|
146
|
+
TrackFeatureButtonComponent,
|
|
147
|
+
StyleModalComponent], imports: [MatInputModule,
|
|
148
|
+
ReactiveFormsModule,
|
|
139
149
|
MatFormFieldModule,
|
|
140
150
|
CommonModule,
|
|
141
151
|
FormsModule,
|
|
@@ -150,6 +160,7 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
150
160
|
MatSliderModule,
|
|
151
161
|
MatBadgeModule,
|
|
152
162
|
MatCheckboxModule,
|
|
163
|
+
ColorPickerModule,
|
|
153
164
|
IgoLanguageModule,
|
|
154
165
|
IgoListModule,
|
|
155
166
|
IgoCollapsibleModule,
|
|
@@ -164,10 +175,11 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
164
175
|
LayerLegendListComponent,
|
|
165
176
|
LayerListBindingDirective,
|
|
166
177
|
LayerLegendListBindingDirective,
|
|
167
|
-
TrackFeatureButtonComponent
|
|
178
|
+
TrackFeatureButtonComponent,
|
|
179
|
+
StyleModalComponent] }); })();
|
|
168
180
|
i0.ɵɵsetComponentScope(LayerItemComponent, [i1.NgClass, i1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.MatListItem, i6.MatLine, i5.MatListIconCssMatStyler, i7.MatBadge, i8.MatCheckbox, LayerLegendComponent], [i1.AsyncPipe, i9.TranslatePipe]);
|
|
169
181
|
i0.ɵɵsetComponentScope(LayerLegendItemComponent, [i4.MatTooltip, i5.MatListItem, i6.MatLine, LayerLegendComponent], []);
|
|
170
|
-
i0.ɵɵsetComponentScope(LayerListComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i10.
|
|
182
|
+
i0.ɵɵsetComponentScope(LayerListComponent, [i10.NgControlStatus, i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i10.NgModel, i11.MatDivider, i12.MatMenu, i12.MatMenuTrigger, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.MatList, i5.MatListItem, i13.MatSlider, i7.MatBadge, i8.MatCheckbox, i14.ListItemDirective, i14.ListComponent, i14.PanelComponent, LayerItemComponent,
|
|
171
183
|
LayerListToolComponent], [i1.AsyncPipe, i9.TranslatePipe]);
|
|
172
184
|
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1.NgForOf, i1.NgIf, i11.MatDivider, i15.MatSlideToggle, i4.MatTooltip, i14.ListItemDirective, i14.ListComponent, LayerLegendItemComponent], [i1.AsyncPipe, i9.TranslatePipe]);
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FB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eEIseUJBQXlCO29CQUN6QiwrQkFBK0I7b0JBQy9CLDJCQUEyQjtvQkFDM0IsbUJBQW1CO2lCQUNwQjthQUNGOzt3RkFDWSxjQUFjLG1CQVp2QixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsK0JBQStCO1FBQy9CLDJCQUEyQjtRQUMzQixtQkFBbUIsYUEvQ25CLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixlQUFlO1FBQ2YsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsbUJBQW1CLGFBR25CLGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QiwrQkFBK0I7UUFDL0IsMkJBQTJCO1FBQzNCLG1CQUFtQjt1QkFHbkIsa0JBQWtCLHNKQUVsQixvQkFBb0I7dUJBRHBCLHdCQUF3Qiw4Q0FDeEIsb0JBQW9CO3VCQUNwQixrQkFBa0IsMlRBSGxCLGtCQUFrQjtJQUlsQixzQkFBc0I7dUJBQ3RCLHdCQUF3QixxSEFKeEIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1jb2xvci1waWNrZXInO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHtcbiAgSWdvTGlzdE1vZHVsZSxcbiAgSWdvQ29sbGFwc2libGVNb2R1bGUsXG4gIElnb0ltYWdlTW9kdWxlLFxuICBJZ29QYW5lbE1vZHVsZSxcbiAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxuICBJZ29DdXN0b21IdG1sTW9kdWxlXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc3R5bGUuc2VydmljZSc7XG5pbXBvcnQgeyBMYXllckxpc3RUb29sU2VydmljZSB9IGZyb20gJy4vbGF5ZXItbGlzdC10b29sL2xheWVyLWxpc3QtdG9vbC5zZXJ2aWNlJztcbmltcG9ydCB7IExheWVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItaXRlbS9sYXllci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXllckxlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4vbGF5ZXItbGVnZW5kL2xheWVyLWxlZ2VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5ZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXllci1saXN0L2xheWVyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IExheWVyTGlzdFRvb2xDb21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxpc3QtdG9vbC9sYXllci1saXN0LXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IExheWVyTGlzdEJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2xheWVyLWxpc3QvbGF5ZXItbGlzdC1iaW5kaW5nLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9sYXllci1sZWdlbmQtbGlzdC9sYXllci1sZWdlbmQtbGlzdC1iaW5kaW5nLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3RyYWNrLWZlYXR1cmUtYnV0dG9uL3RyYWNrLWZlYXR1cmUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXllckxlZ2VuZExpc3RDb21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC1saXN0L2xheWVyLWxlZ2VuZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXllckxlZ2VuZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xheWVyLWxlZ2VuZC1pdGVtL2xheWVyLWxlZ2VuZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHlsZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS1tb2RhbC9zdHlsZS1tb2RhbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29MaXN0TW9kdWxlLFxuICAgIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxuICAgIElnb0ltYWdlTW9kdWxlLFxuICAgIElnb1BhbmVsTW9kdWxlLFxuICAgIElnb01hdEJhZGdlSWNvbk1vZHVsZSxcbiAgICBJZ29DdXN0b21IdG1sTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBMYXllckl0ZW1Db21wb25lbnQsXG4gICAgTGF5ZXJMZWdlbmRJdGVtQ29tcG9uZW50LFxuICAgIExheWVyTGVnZW5kQ29tcG9uZW50LFxuICAgIExheWVyTGlzdENvbXBvbmVudCxcbiAgICBMYXllckxpc3RUb29sQ29tcG9uZW50LFxuICAgIExheWVyTGVnZW5kTGlzdENvbXBvbmVudCxcbiAgICBMYXllckxpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICAgIExheWVyTGVnZW5kTGlzdEJpbmRpbmdEaXJlY3RpdmUsXG4gICAgVHJhY2tGZWF0dXJlQnV0dG9uQ29tcG9uZW50LFxuICAgIFN0eWxlTW9kYWxDb21wb25lbnRcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTGF5ZXJJdGVtQ29tcG9uZW50LFxuICAgIExheWVyTGVnZW5kSXRlbUNvbXBvbmVudCxcbiAgICBMYXllckxlZ2VuZENvbXBvbmVudCxcbiAgICBMYXllckxpc3RDb21wb25lbnQsXG4gICAgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCxcbiAgICBMYXllckxlZ2VuZExpc3RDb21wb25lbnQsXG4gICAgTGF5ZXJMaXN0QmluZGluZ0RpcmVjdGl2ZSxcbiAgICBMYXllckxlZ2VuZExpc3RCaW5kaW5nRGlyZWN0aXZlLFxuICAgIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBTdHlsZU1vZGFsQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvTGF5ZXJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0xheWVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29MYXllck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW0xheWVyU2VydmljZSwgU3R5bGVTZXJ2aWNlLCBMYXllckxpc3RUb29sU2VydmljZV1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -14,4 +14,4 @@ export var TooltipType;
|
|
|
14
14
|
TooltipType["ABSTRACT"] = "abstract";
|
|
15
15
|
TooltipType["CUSTOM"] = "custom";
|
|
16
16
|
})(TooltipType || (TooltipType = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0VBLE1BQU0sQ0FBTixJQUFZLGdCQVFYO0FBUkQsV0FBWSxnQkFBZ0I7SUFDMUIsdUNBQW1CLENBQUE7SUFDbkIsdUNBQW1CLENBQUE7SUFDbkIsNkNBQXlCLENBQUE7SUFDekIsbURBQStCLENBQUE7SUFDL0IsbURBQStCLENBQUE7SUFDL0IscUNBQWlCLENBQUE7SUFDakIsNkNBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFRM0I7QUFZRCxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixvQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xMYXllciBmcm9tICdvbC9sYXllci9MYXllcic7XG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlJztcbmltcG9ydCB7IEFueURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYW55LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1hcEV4dGVudCwgTWFwVmlld09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyT3B0aW9ucyB7XG4gIGlzSWdvSW50ZXJuYWxMYXllcj86IGJvb2xlYW47IC8vIHVzZWZ1bCB3aGVuIG1hcE9mZmxpbmUgZGlyZWN0aXZlIHNldCB0aGUgcmVzb2x1dGlvbiBvZiB0aGUgbGF5ZXJzLlxuICBzb3VyY2U/OiBEYXRhU291cmNlO1xuICBzb3VyY2VPcHRpb25zPzogQW55RGF0YVNvdXJjZU9wdGlvbnM7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIGJhc2VMYXllcj86IGJvb2xlYW47XG4gIG9wYWNpdHk/OiBudW1iZXI7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBleHRlbnQ/OiBNYXBFeHRlbnQ7XG4gIHpJbmRleD86IG51bWJlcjtcbiAgbWVzc2FnZXM/OiBNZXNzYWdlW107XG4gIG1pblJlc29sdXRpb24/OiBudW1iZXI7XG4gIG1heFJlc29sdXRpb24/OiBudW1iZXI7XG4gIG1pblNjYWxlRGVub20/OiBudW1iZXI7XG4gIG1heFNjYWxlRGVub20/OiBudW1iZXI7XG4gIHNob3dJbkxheWVyTGlzdD86IGJvb2xlYW47XG4gIHJlbW92YWJsZT86IGJvb2xlYW47XG4gIHdvcmtzcGFjZT86IEdlb1dvcmtzcGFjZU9wdGlvbnM7XG4gIGxlZ2VuZE9wdGlvbnM/OiBMZWdlbmRPcHRpb25zO1xuICBvbD86IG9sTGF5ZXI8b2xTb3VyY2U+O1xuICB0b29sdGlwPzogVG9vbHRpcENvbnRlbnQ7XG4gIF9pbnRlcm5hbD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGNoZWNrPzogYm9vbGVhbjtcbiAgbGlua2VkTGF5ZXJzPzogTGF5ZXJzTGluaztcbiAgc2hvd0J1dHRvblpvb21Ub0V4dGVudD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvV29ya3NwYWNlT3B0aW9ucyB7XG4gIHNyY0lkPzogc3RyaW5nO1xuICB3b3Jrc3BhY2VJZD86IHN0cmluZztcbiAgbWluUmVzb2x1dGlvbj86IG51bWJlcjtcbiAgbWF4UmVzb2x1dGlvbj86IG51bWJlcjtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHF1ZXJ5T3B0aW9ucz86IEdlb1dvcmtzcGFjZVF1ZXJ5T3B0aW9ucztcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHBhZ2VTaXplT3B0aW9ucz86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlb1dvcmtzcGFjZVF1ZXJ5T3B0aW9ucyB7XG4gIG1hcFF1ZXJ5T25PcGVuVGFiPzogYm9vbGVhbjtcbiAgdGFiUXVlcnk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyc0xpbmsge1xuICBsaW5rSWQ6IHN0cmluZztcbiAgbGlua3M/OiBMYXllcnNMaW5rUHJvcGVydGllc1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBMYXllcnNMaW5rUHJvcGVydGllcyB7XG4gIGxpbmtlZElkczogc3RyaW5nW107XG4gIHN5bmNlZERlbGV0ZTogYm9vbGVhbjtcbiAgcHJvcGVydGllczogTGlua2VkUHJvcGVydGllc1tdO1xufVxuXG5leHBvcnQgZW51bSBMaW5rZWRQcm9wZXJ0aWVzIHtcbiAgT1BBQ0lUWSA9ICdvcGFjaXR5JyxcbiAgVklTSUJMRSA9ICd2aXNpYmxlJyxcbiAgT0dDRklMVEVSUyA9ICdvZ2NGaWx0ZXJzJyxcbiAgTUlOUkVTT0xVVElPTiA9ICdtaW5SZXNvbHV0aW9uJyxcbiAgTUFYUkVTT0xVVElPTiA9ICdtYXhSZXNvbHV0aW9uJyxcbiAgWklOREVYID0gJ3pJbmRleCcsXG4gIFRJTUVGSUxURVIgPSAndGltZUZpbHRlcidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cExheWVycyB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGxheWVycz86IExheWVyT3B0aW9ucztcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb29sdGlwQ29udGVudCB7XG4gIHR5cGU/OiBUb29sdGlwVHlwZTtcbiAgdGV4dD86IHN0cmluZztcbn1cbmV4cG9ydCBlbnVtIFRvb2x0aXBUeXBlIHtcbiAgVElUTEUgPSAndGl0bGUnLFxuICBBQlNUUkFDVCA9ICdhYnN0cmFjdCcsXG4gIENVU1RPTSA9ICdjdXN0b20nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnZW5kT3B0aW9ucyB7XG4gIGNvbGxhcHNlZD86IGJvb2xlYW47XG4gIGRpc3BsYXk/OiBib29sZWFuO1xuICB1cmw/OiBzdHJpbmc7XG4gIGh0bWw/OiBzdHJpbmc7XG4gIHN0eWxlc0F2YWlsYWJsZT86IEl0ZW1TdHlsZU9wdGlvbnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWdlbmRNYXBWaWV3T3B0aW9ucyBleHRlbmRzIE1hcFZpZXdPcHRpb25ze1xuICBzY2FsZT86IG51bWJlcjtcbiAgc2l6ZT86IFtudW1iZXIsIG51bWJlcl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlbVN0eWxlT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0TGF5ZXJMZWdlbmQge1xuICB0aXRsZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgZGlzcGxheTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -141,6 +141,9 @@ export class VectorLayer extends Layer {
|
|
|
141
141
|
}
|
|
142
142
|
super.setMap(map);
|
|
143
143
|
}
|
|
144
|
+
setExtent(extent) {
|
|
145
|
+
this.options.extent = extent;
|
|
146
|
+
}
|
|
144
147
|
onUnwatch() {
|
|
145
148
|
this.dataSource.onUnwatch();
|
|
146
149
|
this.stopAnimation();
|
|
@@ -372,4 +375,4 @@ export class VectorLayer extends Layer {
|
|
|
372
375
|
}
|
|
373
376
|
}
|
|
374
377
|
}
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFHNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQVFsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFLaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBR3BHLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0lBb0JwQyxZQUNFLE9BQTJCLEVBQ3BCLGNBQStCLEVBQy9CLGVBQWlDLEVBQ2hDLGlCQUFxQyxFQUNyQyxZQUEyQjtRQUVuQyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUx6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ2hDLHNC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S0FBSyxhQUFhLEVBQUU7d0JBQ2pDLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO3FCQUN2QjtvQkFDRCxJQUFJLE1BQU0sRUFBRTt3QkFDVixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO3dCQUN4RixZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQ2xFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDbkI7eUJBQU07d0JBQ0wsT0FBTyxFQUFFLENBQUM7cUJBQ1g7aUJBQ0Y7cUJBQU07b0JBQ0wsT0FBTyxFQUFFLENBQUM7aUJBQ1g7WUFDSCxDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDWjtJQUNELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVyVmVjdG9yIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xuaW1wb3J0IHsgZWFzZU91dCB9IGZyb20gJ29sL2Vhc2luZyc7XG5pbXBvcnQgeyBhc0FycmF5IGFzIENvbG9yQXNBcnJheSB9IGZyb20gJ29sL2NvbG9yJztcbmltcG9ydCB7IGdldFZlY3RvckNvbnRleHQgfSBmcm9tICdvbC9yZW5kZXInO1xuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCBvbFByb2plY3Rpb24gZnJvbSAnb2wvcHJvai9Qcm9qZWN0aW9uJztcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcblxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlJztcbmltcG9ydCB7IEFyY0dJU1Jlc3REYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFdlYlNvY2tldERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZWJzb2NrZXQtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBDbHVzdGVyRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NsdXN0ZXItZGF0YXNvdXJjZSc7XG5cbmltcG9ydCB7IFZlY3RvcldhdGNoZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi8uLi9tYXAnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuL2xheWVyJztcbmltcG9ydCB7IFZlY3RvckxheWVyT3B0aW9ucyB9IGZyb20gJy4vdmVjdG9yLWxheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBidWlsZFVybCwgZGVmYXVsdE1heEZlYXR1cmVzIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLXdmcy51dGlscyc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEdlb05ldHdvcmtTZXJ2aWNlLCBTaW1wbGVHZXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vb2ZmbGluZS9zaGFyZWQvZ2VvLW5ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2VvREJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vb2ZmbGluZS9nZW9EQi9nZW9EQi5zZXJ2aWNlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5leHBvcnQgY2xhc3MgVmVjdG9yTGF5ZXIgZXh0ZW5kcyBMYXllciB7XG4gIHB1YmxpYyBkYXRhU291cmNlOlxuICAgIHwgRmVhdHVyZURhdGFTb3VyY2VcbiAgICB8IFdGU0RhdGFTb3VyY2VcbiAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlXG4gICAgfCBXZWJTb2NrZXREYXRhU291cmNlXG4gICAgfCBDbHVzdGVyRGF0YVNvdXJjZTtcbiAgcHVibGljIG9wdGlvbnM6IFZlY3RvckxheWVyT3B0aW9ucztcbiAgcHVibGljIG9sOiBvbExheWVyVmVjdG9yPG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+PjtcbiAgcHJpdmF0ZSB3YXRjaGVyOiBWZWN0b3JXYXRjaGVyO1xuICBwcml2YXRlIHRyYWNrRmVhdHVyZUxpc3RlbmVySWQ7XG5cbiAgZ2V0IGJyb3dzYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmJyb3dzYWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICBnZXQgZXhwb3J0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmV4cG9ydGFibGUgIT09IGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogVmVjdG9yTGF5ZXJPcHRpb25zLFxuICAgIHB1YmxpYyBtZXNzYWdlU2VydmljZT86IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3IsXG4gICAgcHJpdmF0ZSBnZW9OZXR3b3JrU2VydmljZT86IEdlb05ldHdvcmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ2VvREJTZXJ2aWNlPzogR2VvREJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMsIG1lc3NhZ2VTZXJ2aWNlLCBhdXRoSW50ZXJjZXB0b3IpO1xuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBWZWN0b3JXYXRjaGVyKHRoaXMpO1xuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMud2F0Y2hlci5zdGF0dXMkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogb2xMYXllclZlY3RvcjxvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5Pj4ge1xuICAgIGNvbnN0IG9sT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMub3B0aW9ucywge1xuICAgICAgc291cmNlOiB0aGlzLm9wdGlvbnMuc291cmNlLm9sIGFzIG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmFuaW1hdGlvbikge1xuICAgICAgdGhpcy5kYXRhU291cmNlLm9sLm9uKFxuICAgICAgICAnYWRkZmVhdHVyZScsXG4gICAgICAgIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICB0aGlzLmZsYXNoKGUuZmVhdHVyZSk7XG4gICAgICAgIH0uYmluZCh0aGlzKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnRyYWNrRmVhdHVyZSkge1xuICAgICAgdGhpcy5lbmFibGVUcmFja0ZlYXR1cmUodGhpcy5vcHRpb25zLnRyYWNrRmVhdHVyZSk7XG4gICAgfVxuXG4gICAgY29uc3QgdmVjdG9yID0gbmV3IG9sTGF5ZXJWZWN0b3Iob2xPcHRpb25zKTtcbiAgICBjb25zdCB2ZWN0b3JTb3VyY2UgPSB2ZWN0b3IuZ2V0U291cmNlKCkgYXMgb2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT47XG4gICAgY29uc3QgdXJsID0gdmVjdG9yU291cmNlLmdldFVybCgpO1xuICAgIGlmICh1cmwpIHtcbiAgICAgIGxldCBsb2FkZXI7XG4gICAgICBjb25zdCB3ZnNPcHRpb25zID0gb2xPcHRpb25zLnNvdXJjZU9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnM7XG4gICAgICBpZiAod2ZzT3B0aW9ucz8udHlwZSA9PT0gJ3dmcycgJiYgKHdmc09wdGlvbnMucGFyYW1zIHx8IHdmc09wdGlvbnMucGFyYW1zV0ZTKSkge1xuICAgICAgICBsb2FkZXIgPSAoZXh0ZW50LCByZXNvbHV0aW9uLCBwcm9qLCBzdWNjZXNzLCBmYWlsdXJlKSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXN0b21XRlNMb2FkZXIoXG4gICAgICAgICAgICB2ZWN0b3JTb3VyY2UsXG4gICAgICAgICAgICB3ZnNPcHRpb25zLFxuICAgICAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgICAgICBleHRlbnQsXG4gICAgICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICAgICAgcHJvaixcbiAgICAgICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgICAgICBmYWlsdXJlXG4gICAgICAgICAgKTtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvYWRlciA9IChleHRlbnQsIHJlc29sdXRpb24sIHByb2osIHN1Y2Nlc3MsIGZhaWx1cmUpID0+IHtcbiAgICAgICAgICB0aGlzLmN1c3RvbUxvYWRlcihcbiAgICAgICAgICAgIHZlY3RvclNvdXJjZSxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIHRoaXMuYXV0aEludGVyY2VwdG9yLFxuICAgICAgICAgICAgZXh0ZW50LFxuICAgICAgICAgICAgcmVzb2x1dGlvbixcbiAgICAgICAgICAgIHByb2osXG4gICAgICAgICAgICBzdWNjZXNzLFxuICAgICAgICAgICAgZmFpbHVyZVxuICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAobG9hZGVyKSB7XG4gICAgICAgIHZlY3RvclNvdXJjZS5zZXRMb2FkZXIobG9hZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlY3RvcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBmbGFzaChmZWF0dXJlKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBjb25zdCBsaXN0ZW5lcktleSA9IHRoaXMub2wub24oJ3Bvc3RyZW5kZXInLCBhbmltYXRlLmJpbmQodGhpcykpO1xuXG4gICAgZnVuY3Rpb24gYW5pbWF0ZShldmVudCkge1xuICAgICAgY29uc3QgdmVjdG9yQ29udGV4dCA9IGdldFZlY3RvckNvbnRleHQoZXZlbnQpO1xuICAgICAgY29uc3QgZnJhbWVTdGF0ZSA9IGV2ZW50LmZyYW1lU3RhdGU7XG4gICAgICBjb25zdCBmbGFzaEdlb20gPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkuY2xvbmUoKTtcbiAgICAgIGNvbnN0IGVsYXBzZWQgPSBmcmFtZVN0YXRlLnRpbWUgLSBzdGFydDtcbiAgICAgIGNvbnN0IGVsYXBzZWRSYXRpbyA9IGVsYXBzZWQgLyB0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmR1cmF0aW9uO1xuICAgICAgY29uc3Qgb3BhY2l0eSA9IGVhc2VPdXQoMSAtIGVsYXBzZWRSYXRpbyk7XG4gICAgICBjb25zdCBuZXdDb2xvciA9IENvbG9yQXNBcnJheSh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNvbG9yIHx8ICdyZWQnKTtcbiAgICAgIG5ld0NvbG9yWzNdID0gb3BhY2l0eTtcbiAgICAgIGxldCBzdHlsZSA9IHRoaXMub2xcbiAgICAgICAgLmdldFN0eWxlRnVuY3Rpb24oKVxuICAgICAgICAuY2FsbCh0aGlzLCBmZWF0dXJlKVxuICAgICAgICAuZmluZCgoc3R5bGUyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHN0eWxlMi5nZXRJbWFnZSgpO1xuICAgICAgICB9KTtcbiAgICAgIGlmICghc3R5bGUpIHtcbiAgICAgICAgc3R5bGUgPSB0aGlzLm9sLmdldFN0eWxlRnVuY3Rpb24oKS5jYWxsKHRoaXMsIGZlYXR1cmUpWzBdO1xuICAgICAgfVxuICAgICAgY29uc3Qgc3R5bGVDbG9uZSA9IHN0eWxlLmNsb25lKCk7XG5cbiAgICAgIHN3aXRjaCAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSkge1xuICAgICAgICBjYXNlICdQb2ludCc6XG4gICAgICAgICAgaWYoc3R5bGVDbG9uZS5nZXRJbWFnZSgpICE9PSBudWxsICYmXG4gICAgICAgICAgICB0eXBlb2Ygc3R5bGVDbG9uZS5nZXRJbWFnZSgpLmdldFJhZGl1cyA9PT0gJ2Z1bmN0aW9uJyl7XG4gICAgICAgICAgICBjb25zdCByYWRpdXMgPVxuICAgICAgICAgICAgZWFzZU91dChlbGFwc2VkUmF0aW8pICogKHN0eWxlQ2xvbmUuZ2V0SW1hZ2UoKS5nZXRSYWRpdXMoKSAqIDMpO1xuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRJbWFnZSgpLnNldFJhZGl1cyhyYWRpdXMpO1xuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRJbWFnZSgpLnNldE9wYWNpdHkob3BhY2l0eSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0xpbmVTdHJpbmcnOlxuICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICBpZiAoc3R5bGVDbG9uZS5nZXRJbWFnZSgpKSB7XG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEltYWdlKCkuZ2V0U3Ryb2tlKCkuc2V0Q29sb3IobmV3Q29sb3IpO1xuICAgICAgICAgICAgc3R5bGVDbG9uZVxuICAgICAgICAgICAgICAuZ2V0SW1hZ2UoKVxuICAgICAgICAgICAgICAuZ2V0U3Ryb2tlKClcbiAgICAgICAgICAgICAgLnNldFdpZHRoKFxuICAgICAgICAgICAgICAgIGVhc2VPdXQoZWxhcHNlZFJhdGlvKSAqXG4gICAgICAgICAgICAgICAgICAoc3R5bGVDbG9uZS5nZXRJbWFnZSgpLmdldFN0cm9rZSgpLmdldFdpZHRoKCkgKiAzKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3R5bGVDbG9uZS5nZXRTdHJva2UoKSkge1xuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRTdHJva2UoKS5zZXRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgICBzdHlsZUNsb25lXG4gICAgICAgICAgICAgIC5nZXRTdHJva2UoKVxuICAgICAgICAgICAgICAuc2V0V2lkdGgoXG4gICAgICAgICAgICAgICAgZWFzZU91dChlbGFwc2VkUmF0aW8pICogKHN0eWxlQ2xvbmUuZ2V0U3Ryb2tlKCkuZ2V0V2lkdGgoKSAqIDMpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdQb2x5Z29uJzpcbiAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgaWYgKHN0eWxlQ2xvbmUuZ2V0SW1hZ2UoKSkge1xuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRJbWFnZSgpLmdldEZpbGwoKS5zZXRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdHlsZUNsb25lLmdldEZpbGwoKSkge1xuICAgICAgICAgICAgc3R5bGVDbG9uZS5nZXRGaWxsKCkuc2V0Q29sb3IobmV3Q29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgc3R5bGVDbG9uZS5zZXRUZXh0KCcnKTtcbiAgICAgIHZlY3RvckNvbnRleHQuc2V0U3R5bGUoc3R5bGVDbG9uZSk7XG4gICAgICB2ZWN0b3JDb250ZXh0LmRyYXdHZW9tZXRyeShmbGFzaEdlb20pO1xuXG4gICAgICBpZiAoZWxhcHNlZCA+IHRoaXMub3B0aW9ucy5hbmltYXRpb24uZHVyYXRpb24pIHtcbiAgICAgICAgdW5CeUtleShsaXN0ZW5lcktleSk7XG4gICAgICAgIC8vIHJlbW92ZSBsYXN0IGdlb21ldHJ5XG4gICAgICAgIC8vIHRoZXJlIGlzIGEgbGl0dGxlIGZsYXNoIGJlZm9yZSBmZWF0dXJlIGRpc2FwcGVhciwgYmV0dGVyIHNvbHV0aW9uID9cbiAgICAgICAgdGhpcy5tYXAub2wucmVuZGVyKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIHRlbGwgT3BlbkxheWVycyB0byBjb250aW51ZSBwb3N0Y29tcG9zZSBhbmltYXRpb25cbiAgICAgIHRoaXMubWFwLm9sLnJlbmRlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRNYXAobWFwOiBJZ29NYXAgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAobWFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMud2F0Y2hlci51bnN1YnNjcmliZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhdGNoZXIuc3Vic2NyaWJlKCgpID0+IHt9KTtcbiAgICB9XG4gICAgc3VwZXIuc2V0TWFwKG1hcCk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZS5vblVud2F0Y2goKTtcbiAgICB0aGlzLnN0b3BBbmltYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wQW5pbWF0aW9uKCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZS5vbC51bihcbiAgICAgICdhZGRmZWF0dXJlJyxcbiAgICAgIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgIHRoaXMuZmxhc2goZS5mZWF0dXJlKTtcbiAgICAgICAgfVxuICAgICAgfS5iaW5kKHRoaXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVUcmFja0ZlYXR1cmUoaWQ6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMudHJhY2tGZWF0dXJlTGlzdGVuZXJJZCA9IHRoaXMuZGF0YVNvdXJjZS5vbC5vbihcbiAgICAgICdhZGRmZWF0dXJlJyxcbiAgICAgIHRoaXMudHJhY2tGZWF0dXJlLmJpbmQodGhpcywgaWQpXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgY2VudGVyTWFwT25GZWF0dXJlKGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBjb25zdCBmZWF0ID0gdGhpcy5kYXRhU291cmNlLm9sLmdldEZlYXR1cmVCeUlkKGlkKTtcbiAgICBpZiAoZmVhdCkge1xuICAgICAgdGhpcy5tYXAub2wuZ2V0VmlldygpLnNldENlbnRlcigoZmVhdC5nZXRHZW9tZXRyeSgpIGFzIGFueSkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyYWNrRmVhdHVyZShpZCwgZmVhdCkge1xuICAgIGlmIChmZWF0LmZlYXR1cmUuZ2V0SWQoKSA9PT0gaWQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLmNlbnRlck1hcE9uRmVhdHVyZShpZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc2FibGVUcmFja0ZlYXR1cmUoaWQ/OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB1bkJ5S2V5KHRoaXMudHJhY2tGZWF0dXJlTGlzdGVuZXJJZCk7XG4gIH1cblxuICAvKipcbiAgICogQ3VzdG9tIGxvYWRlciBmb3IgYSBXRlMgZGF0YXNvdXJjZVxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIHZlY3RvclNvdXJjZSB0aGUgdmVjdG9yIHNvdXJjZSB0byBiZSBjcmVhdGVkXG4gICAqIEBwYXJhbSBvcHRpb25zIG9sT3B0aW9ucyBmcm9tIHNvdXJjZVxuICAgKiBAcGFyYW0gaW50ZXJjZXB0b3IgdGhlIGludGVyY2VwdG9yIG9mIHRoZSBkYXRhXG4gICAqIEBwYXJhbSBleHRlbnQgdGhlIGV4dGVudCBvZiB0aGUgcmVxdWVzdGVkIGRhdGFcbiAgICogQHBhcmFtIHJlc29sdXRpb24gdGhlIGN1cnJlbnQgcmVzb2x1dGlvblxuICAgKiBAcGFyYW0gcHJvaiB0aGUgcHJvamVjdGlvbiB0byByZXRyaWV2ZSB0aGUgZGF0YVxuICAgKiBAcGFyYW0gc3VjY2VzcyBzdWNjZXNzIGNhbGxiYWNrXG4gICAqIEBwYXJhbSBmYWlsdXJlIGZhaWx1cmUgY2FsbGJhY2tcbiAgICogQHBhcmFtIHJhbmRvbVBhcmFtIHJhbmRvbSBwYXJhbWV0ZXIgdG8gZW5zdXJlIGNhY2hlIGlzIG5vdCBjYXVzaW5nIHByb2JsZW1zIGluIHJldHJpZXZpbmcgbmV3IGRhdGFcbiAgICovXG4gIHB1YmxpYyBjdXN0b21XRlNMb2FkZXIoXG4gICAgdmVjdG9yU291cmNlLFxuICAgIG9wdGlvbnMsXG4gICAgaW50ZXJjZXB0b3IsXG4gICAgZXh0ZW50LFxuICAgIHJlc29sdXRpb24sXG4gICAgcHJvaixcbiAgICBzdWNjZXNzLFxuICAgIGZhaWx1cmUsXG4gICAgcmFuZG9tUGFyYW0/OiBib29sZWFuXG4gICkge1xuICAgIHtcbiAgICAgIGNvbnN0IHBhcmFtc1dGUyA9IG9wdGlvbnMucGFyYW1zV0ZTO1xuICAgICAgY29uc3Qgd2ZzUHJvaiA9IHBhcmFtc1dGUy5zcnNOYW1lID8gbmV3IG9sUHJvamVjdGlvbih7IGNvZGU6IHBhcmFtc1dGUy5zcnNOYW1lIH0pIDogcHJvajtcbiAgICAgIGNvbnN0IGN1cnJlbnRFeHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KGV4dGVudCwgcHJvaiwgd2ZzUHJvaik7XG4gICAgICBwYXJhbXNXRlMuc3JzTmFtZSA9IHBhcmFtc1dGUy5zcnNOYW1lIHx8IHByb2ouZ2V0Q29kZSgpO1xuICAgICAgY29uc3QgdXJsID0gYnVpbGRVcmwoXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIGN1cnJlbnRFeHRlbnQsXG4gICAgICAgIHdmc1Byb2osXG4gICAgICAgIChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyxcbiAgICAgICAgcmFuZG9tUGFyYW0pO1xuICAgICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICAgICAgaWYgKHBhcmFtc1dGUy52ZXJzaW9uID09PSAnMi4wLjAnICYmIHBhcmFtc1dGUy5tYXhGZWF0dXJlcyA+IGRlZmF1bHRNYXhGZWF0dXJlcykge1xuICAgICAgICBjb25zdCBuYk9mRmVhdHVyZSA9IDEwMDA7XG4gICAgICAgIHdoaWxlIChzdGFydEluZGV4IDwgcGFyYW1zV0ZTLm1heEZlYXR1cmVzKSB7XG4gICAgICAgICAgbGV0IGFsdGVyZWRVcmwgPSB1cmwucmVwbGFjZSgnY291bnQ9JyArIHBhcmFtc1dGUy5tYXhGZWF0dXJlcywgJ2NvdW50PScgKyBuYk9mRmVhdHVyZSk7XG4gICAgICAgICAgYWx0ZXJlZFVybCA9IGFsdGVyZWRVcmwucmVwbGFjZSgnc3RhcnRJbmRleD0wJywgJzAnKTtcbiAgICAgICAgICBhbHRlcmVkVXJsICs9ICcmc3RhcnRJbmRleD0nICsgc3RhcnRJbmRleDtcbiAgICAgICAgICBhbHRlcmVkVXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XG4gICAgICAgICAgdGhpcy5nZXRGZWF0dXJlcyh2ZWN0b3JTb3VyY2UsIGludGVyY2VwdG9yLCBjdXJyZW50RXh0ZW50LCB3ZnNQcm9qLCBwcm9qLCBhbHRlcmVkVXJsLCBuYk9mRmVhdHVyZSwgc3VjY2VzcywgZmFpbHVyZSk7XG4gICAgICAgICAgc3RhcnRJbmRleCArPSBuYk9mRmVhdHVyZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5nZXRGZWF0dXJlcyh2ZWN0b3JTb3VyY2UsIGludGVyY2VwdG9yLCBjdXJyZW50RXh0ZW50LCB3ZnNQcm9qLCBwcm9qLCB1cmwsIHBhcmFtc1dGUy5tYXhGZWF0dXJlcywgc3VjY2VzcywgZmFpbHVyZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvKipcbiAgICogQ3VzdG9tIGxvYWRlciB0byBnZXQgZmVhdHVyZSBmcm9tIGEgV0ZTIGRhdGFzb3VyY2VcbiAgICogQGludGVybmFsXG4gICAqIEBwYXJhbSB2ZWN0b3JTb3VyY2UgdGhlIHZlY3RvciBzb3VyY2UgdG8gYmUgY3JlYXRlZFxuICAgKiBAcGFyYW0gaW50ZXJjZXB0b3IgdGhlIGludGVyY2VwdG9yIG9mIHRoZSBkYXRhXG4gICAqIEBwYXJhbSBleHRlbnQgdGhlIGV4dGVudCBvZiB0aGUgcmVxdWVzdGVkIGRhdGFcbiAgICogQHBhcmFtIGRhdGFQcm9qZWN0aW9uIHRoZSBwcm9qZWN0aW9uIG9mIHRoZSByZXRyaWV2ZWQgZGF0YVxuICAgKiBAcGFyYW0gZmVhdHVyZVByb2plY3Rpb24gdGhlIHByb2plY3Rpb24gb2YgdGhlIGNyZWF0ZWQgZmVhdHVyZXNcbiAgICogQHBhcmFtIHVybCB0aGUgdXJsIHN0cmluZyB0byByZXRyaWV2ZSB0aGUgZGF0YVxuICAgKiBAcGFyYW0gdGhyZXNob2xkIHRoZSB0aHJlc2hvbGQgdG8gbWFuYWdlIFwibW9yZSBmZWF0dXJlc1wiIChUT0RPKVxuICAgKiBAcGFyYW0gc3VjY2VzcyBzdWNjZXNzIGNhbGxiYWNrXG4gICAqIEBwYXJhbSBmYWlsdXJlIGZhaWx1cmUgY2FsbGJhY2tcbiAgICovXG4gIHByaXZhdGUgZ2V0RmVhdHVyZXMoXG4gICAgdmVjdG9yU291cmNlOiBvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5PixcbiAgICBpbnRlcmNlcHRvcixcbiAgICBleHRlbnQsXG4gICAgZGF0YVByb2plY3Rpb24sXG4gICAgZmVhdHVyZVByb2plY3Rpb24sXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdGhyZXNob2xkOiBudW1iZXIsXG4gICAgc3VjY2VzcywgZmFpbHVyZSkge1xuXG4gICAgY29uc3QgaWRBc3NvY2lhdGVkQ2FsbCA9ICh0aGlzLmRhdGFTb3VyY2UgYXMgV0ZTRGF0YVNvdXJjZSkubW9zdFJlY2VudElkQ2FsbE9HQ0ZpbHRlcjtcbiAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBjb25zdCBhbHRlcmVkVXJsV2l0aEtleUF1dGggPSBpbnRlcmNlcHRvci5hbHRlclVybFdpdGhLZXlBdXRoKHVybCk7XG4gICAgbGV0IG1vZGlmaWVkVXJsID0gdXJsO1xuICAgIGlmIChhbHRlcmVkVXJsV2l0aEtleUF1dGgpIHtcbiAgICAgIG1vZGlmaWVkVXJsID0gYWx0ZXJlZFVybFdpdGhLZXlBdXRoO1xuICAgIH1cbiAgICB4aHIub3BlbignR0VUJywgbW9kaWZpZWRVcmwpO1xuICAgIGlmIChpbnRlcmNlcHRvcikge1xuICAgICAgaW50ZXJjZXB0b3IuaW50ZXJjZXB0WGhyKHhociwgbW9kaWZpZWRVcmwpO1xuICAgIH1cbiAgICBjb25zdCBvbkVycm9yID0gKCkgPT4ge1xuICAgICAgdmVjdG9yU291cmNlLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xuICAgICAgZmFpbHVyZSgpO1xuICAgIH07XG4gICAgeGhyLm9uZXJyb3IgPSBvbkVycm9yO1xuICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpZiAoeGhyLnN0YXR1cyA9PT0gMjAwICYmIHhoci5yZXNwb25zZVRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBmZWF0dXJlcyA9XG4gICAgICAgICAgdmVjdG9yU291cmNlXG4gICAgICAgICAgICAuZ2V0Rm9ybWF0KClcbiAgICAgICAgICAgIC5yZWFkRmVhdHVyZXMoeGhyLnJlc3BvbnNlVGV4dCwgeyBkYXRhUHJvamVjdGlvbiwgZmVhdHVyZVByb2plY3Rpb24gfSkgYXMgb2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XG4gICAgICAgIC8vIFRPRE8gTWFuYWdlIFwiTW9yZSBmZWF0dXJlXCJcbiAgICAgICAgLyppZiAoZmVhdHVyZXMubGVuZ3RoID09PSAwIHx8IGZlYXR1cmVzLmxlbmd0aCA8IHRocmVzaG9sZCApIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnTm8gbW9yZSBkYXRhIHRvIGRvd25sb2FkIGF0IHRoaXMgcmVzb2x1dGlvbicpO1xuICAgICAgICB9Ki9cbiAgICAgICAgLy8gQXZvaWRzIHJldHJpZXZpbmcgYW4gb2xkZXIgY2FsbCB0aGF0IHRvb2sgbG9uZ2VyIHRvIGJlIHByb2Nlc3NcbiAgICAgICAgaWYgKGlkQXNzb2NpYXRlZENhbGwgPT09ICh0aGlzLmRhdGFTb3VyY2UgYXMgV0ZTRGF0YVNvdXJjZSkubW9zdFJlY2VudElkQ2FsbE9HQ0ZpbHRlcilcbiAgICAgICAge1xuICAgICAgICAgICAgdmVjdG9yU291cmNlLmFkZEZlYXR1cmVzKGZlYXR1cmVzKTtcbiAgICAgICAgICAgIHN1Y2Nlc3MoZmVhdHVyZXMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc3VjY2VzcyhbXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHhoci5zZW5kKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3VzdG9tIGxvYWRlciBmb3IgdmVjdG9yIGxheWVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIHZlY3RvclNvdXJjZSB0aGUgdmVjdG9yIHNvdXJjZSB0byBiZSBjcmVhdGVkXG4gICAqIEBwYXJhbSB1cmwgdGhlIHVybCBzdHJpbmcgb3IgZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIGRhdGFcbiAgICogQHBhcmFtIGludGVyY2VwdG9yIHRoZSBpbnRlcmNlcHRvciBvZiB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZXh0ZW50IHRoZSBleHRlbnQgb2YgdGhlIHJlcXVlc3RlZCBkYXRhXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIHRoZSBjdXJyZW50IHJlc29sdXRpb25cbiAgICogQHBhcmFtIHByb2plY3Rpb24gdGhlIHByb2plY3Rpb24gdG8gcmV0cmlldmUgdGhlIGRhdGFcbiAgICovXG4gIHByaXZhdGUgY3VzdG9tTG9hZGVyKFxuICAgIHZlY3RvclNvdXJjZSxcbiAgICB1cmwsXG4gICAgaW50ZXJjZXB0b3IsXG4gICAgZXh0ZW50LFxuICAgIHJlc29sdXRpb24sXG4gICAgcHJvamVjdGlvbixcbiAgICBzdWNjZXNzLFxuICAgIGZhaWx1cmVcbiAgKSB7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgbGV0IG1vZGlmaWVkVXJsID0gdXJsO1xuICAgIGlmICh0eXBlb2YgdXJsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBhbHRlcmVkVXJsV2l0aEtleUF1dGggPSBpbnRlcmNlcHRvci5hbHRlclVybFdpdGhLZXlBdXRoKHVybCk7XG4gICAgICBpZiAoYWx0ZXJlZFVybFdpdGhLZXlBdXRoKSB7XG4gICAgICAgIG1vZGlmaWVkVXJsID0gYWx0ZXJlZFVybFdpdGhLZXlBdXRoO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBtb2RpZmllZFVybCA9IHVybChleHRlbnQsIHJlc29sdXRpb24sIHByb2plY3Rpb24pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmdlb05ldHdvcmtTZXJ2aWNlICYmIHR5cGVvZiB1cmwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IGZvcm1hdCA9IHZlY3RvclNvdXJjZS5nZXRGb3JtYXQoKTtcbiAgICAgIGNvbnN0IHR5cGUgPSBmb3JtYXQuZ2V0VHlwZSgpO1xuXG4gICAgICBsZXQgcmVzcG9uc2VUeXBlID0gdHlwZTtcbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIHZlY3RvclNvdXJjZS5yZW1vdmVMb2FkZWRFeHRlbnQoZXh0ZW50KTtcbiAgICAgICAgZmFpbHVyZSgpO1xuICAgICAgfTtcblxuICAgICAgY29uc3Qgb3B0aW9uczogU2ltcGxlR2V0T3B0aW9ucyA9IHsgcmVzcG9uc2VUeXBlIH07XG4gICAgICB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdlb0RCU2VydmljZS5nZXQodXJsKS5waXBlKGNvbmNhdE1hcChyID0+XG4gICAgICAgIHIgPyBvZihyKSA6IHRoaXMuZ2VvTmV0d29ya1NlcnZpY2UuZ2V0KG1vZGlmaWVkVXJsLCBvcHRpb25zKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlcykgPT4ge1xuICAgICAgICAgICAgICBvbkVycm9yKCk7XG4gICAgICAgICAgICAgIHRocm93IHJlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICBpZiAoY29udGVudCkge1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0ID0gdmVjdG9yU291cmNlLmdldEZvcm1hdCgpO1xuICAgICAgICAgICAgY29uc3QgdHlwZSA9IGZvcm1hdC5nZXRUeXBlKCk7XG4gICAgICAgICAgICBsZXQgc291cmNlO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdqc29uJyB8fCB0eXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgICAgc291cmNlID0gY29udGVudDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3htbCcpIHtcbiAgICAgICAgICAgICAgc291cmNlID0gY29udGVudDtcbiAgICAgICAgICAgICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICBzb3VyY2UgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKFxuICAgICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94bWwnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXJyYXlidWZmZXInKSB7XG4gICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gZm9ybWF0LnJlYWRGZWF0dXJlcyhzb3VyY2UsIHsgZXh0ZW50LCBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbiB9KTtcbiAgICAgICAgICAgICAgdmVjdG9yU291cmNlLmFkZEZlYXR1cmVzKGZlYXR1cmVzLCBmb3JtYXQucmVhZFByb2plY3Rpb24oc291cmNlKSk7XG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZmVhdHVyZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb25FcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICB9IGVsc2Uge1xuICAgIHhoci5vcGVuKCAnR0VUJywgbW9kaWZpZWRVcmwpO1xuICAgIGNvbnN0IGZvcm1hdCA9IHZlY3RvclNvdXJjZS5nZXRGb3JtYXQoKTtcbiAgICBpZiAoZm9ybWF0LmdldFR5cGUoKSA9PT0gJ2FycmF5YnVmZmVyJykge1xuICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XG4gICAgfVxuICAgIGlmIChpbnRlcmNlcHRvcikge1xuICAgICAgaW50ZXJjZXB0b3IuaW50ZXJjZXB0WGhyKHhociwgbW9kaWZpZWRVcmwpO1xuICAgIH1cblxuICAgIGNvbnN0IG9uRXJyb3IgPSAoKSA9PiB7XG4gICAgICB2ZWN0b3JTb3VyY2UucmVtb3ZlTG9hZGVkRXh0ZW50KGV4dGVudCk7XG4gICAgICBmYWlsdXJlKCk7XG4gICAgfTtcbiAgICB4aHIub25lcnJvciA9IG9uRXJyb3I7XG4gICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIC8vIHN0YXR1cyB3aWxsIGJlIDAgZm9yIGZpbGU6Ly8gdXJsc1xuICAgICAgaWYgKCF4aHIuc3RhdHVzIHx8ICh4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDwgMzAwKSkge1xuICAgICAgICBjb25zdCB0eXBlID0gZm9ybWF0LmdldFR5cGUoKTtcbiAgICAgICAgbGV0IHNvdXJjZTtcbiAgICAgICAgaWYgKHR5cGUgPT09ICdqc29uJyB8fCB0eXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICBzb3VyY2UgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd4bWwnKSB7XG4gICAgICAgICAgc291cmNlID0geGhyLnJlc3BvbnNlWE1MO1xuICAgICAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgICAgICBzb3VyY2UgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKFxuICAgICAgICAgICAgICB4aHIucmVzcG9uc2VUZXh0LFxuICAgICAgICAgICAgICAnYXBwbGljYXRpb24veG1sJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2FycmF5YnVmZmVyJykge1xuICAgICAgICAgIHNvdXJjZSA9IHhoci5yZXNwb25zZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgY29uc3QgZmVhdHVyZXMgPSBmb3JtYXQucmVhZEZlYXR1cmVzKHNvdXJjZSwgeyBleHRlbnQsIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uIH0pO1xuICAgICAgICAgIHZlY3RvclNvdXJjZS5hZGRGZWF0dXJlcyhmZWF0dXJlcywgZm9ybWF0LnJlYWRQcm9qZWN0aW9uKHNvdXJjZSkpO1xuICAgICAgICAgIHN1Y2Nlc3MoZmVhdHVyZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9uRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25FcnJvcigpO1xuICAgICAgfVxuICAgIH07XG4gICAgeGhyLnNlbmQoKTtcbiAgfVxuICB9XG59XG4iXX0=
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFHNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQVFsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFLaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBR3BHLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0lBb0JwQyxZQUNFLE9BQTJCLEVBQ3BCLGNBQStCLEVBQy9CLGVBQWlDLEVBQ2hDLGlCQUFxQyxFQUNyQyxZQUEyQjtRQUVuQyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUx6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ2hDLHNC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ZUFBZSxDQUN0QyxHQUFHLENBQUMsWUFBWSxFQUNoQixpQkFBaUIsQ0FDbEIsQ0FBQzt5QkFDSDtxQkFDRjt5QkFBTSxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUU7d0JBQ2pDLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO3FCQUN2QjtvQkFDRCxJQUFJLE1BQU0sRUFBRTt3QkFDVixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO3dCQUN4RixZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQ2xFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDbkI7eUJBQU07d0JBQ0wsT0FBTyxFQUFFLENBQUM7cUJBQ1g7aUJBQ0Y7cUJBQU07b0JBQ0wsT0FBTyxFQUFFLENBQUM7aUJBQ1g7WUFDSCxDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDWjtJQUNELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbExheWVyVmVjdG9yIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xuaW1wb3J0IHsgZWFzZU91dCB9IGZyb20gJ29sL2Vhc2luZyc7XG5pbXBvcnQgeyBhc0FycmF5IGFzIENvbG9yQXNBcnJheSB9IGZyb20gJ29sL2NvbG9yJztcbmltcG9ydCB7IGdldFZlY3RvckNvbnRleHQgfSBmcm9tICdvbC9yZW5kZXInO1xuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCBvbFByb2plY3Rpb24gZnJvbSAnb2wvcHJvai9Qcm9qZWN0aW9uJztcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcblxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlJztcbmltcG9ydCB7IEFyY0dJU1Jlc3REYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFdlYlNvY2tldERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZWJzb2NrZXQtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBDbHVzdGVyRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NsdXN0ZXItZGF0YXNvdXJjZSc7XG5cbmltcG9ydCB7IFZlY3RvcldhdGNoZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBJZ29NYXAsIE1hcEV4dGVudCB9IGZyb20gJy4uLy4uLy4uL21hcCc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4vbGF5ZXInO1xuaW1wb3J0IHsgVmVjdG9yTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi92ZWN0b3ItbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IFdGU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkVXJsLCBkZWZhdWx0TWF4RmVhdHVyZXMgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtd2ZzLnV0aWxzJztcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2VvTmV0d29ya1NlcnZpY2UsIFNpbXBsZUdldE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9vZmZsaW5lL3NoYXJlZC9nZW8tbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbmNhdE1hcCwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZW9EQlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9vZmZsaW5lL2dlb0RCL2dlb0RCLnNlcnZpY2UnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmV4cG9ydCBjbGFzcyBWZWN0b3JMYXllciBleHRlbmRzIExheWVyIHtcbiAgcHVibGljIGRhdGFTb3VyY2U6XG4gICAgfCBGZWF0dXJlRGF0YVNvdXJjZVxuICAgIHwgV0ZTRGF0YVNvdXJjZVxuICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VcbiAgICB8IFdlYlNvY2tldERhdGFTb3VyY2VcbiAgICB8IENsdXN0ZXJEYXRhU291cmNlO1xuICBwdWJsaWMgb3B0aW9uczogVmVjdG9yTGF5ZXJPcHRpb25zO1xuICBwdWJsaWMgb2w6IG9sTGF5ZXJWZWN0b3I8b2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT4+O1xuICBwcml2YXRlIHdhdGNoZXI6IFZlY3RvcldhdGNoZXI7XG4gIHByaXZhdGUgdHJhY2tGZWF0dXJlTGlzdGVuZXJJZDtcblxuICBnZXQgYnJvd3NhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYnJvd3NhYmxlICE9PSBmYWxzZTtcbiAgfVxuXG4gIGdldCBleHBvcnRhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZXhwb3J0YWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBWZWN0b3JMYXllck9wdGlvbnMsXG4gICAgcHVibGljIG1lc3NhZ2VTZXJ2aWNlPzogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHVibGljIGF1dGhJbnRlcmNlcHRvcj86IEF1dGhJbnRlcmNlcHRvcixcbiAgICBwcml2YXRlIGdlb05ldHdvcmtTZXJ2aWNlPzogR2VvTmV0d29ya1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBnZW9EQlNlcnZpY2U/OiBHZW9EQlNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgbWVzc2FnZVNlcnZpY2UsIGF1dGhJbnRlcmNlcHRvcik7XG4gICAgdGhpcy53YXRjaGVyID0gbmV3IFZlY3RvcldhdGNoZXIodGhpcyk7XG4gICAgdGhpcy5zdGF0dXMkID0gdGhpcy53YXRjaGVyLnN0YXR1cyQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xMYXllcigpOiBvbExheWVyVmVjdG9yPG9sU291cmNlVmVjdG9yPE9sR2VvbWV0cnk+PiB7XG4gICAgY29uc3Qgb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCB7XG4gICAgICBzb3VyY2U6IHRoaXMub3B0aW9ucy5zb3VyY2Uub2wgYXMgb2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT5cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2Uub2wub24oXG4gICAgICAgICdhZGRmZWF0dXJlJyxcbiAgICAgICAgZnVuY3Rpb24oZSkge1xuICAgICAgICAgIHRoaXMuZmxhc2goZS5mZWF0dXJlKTtcbiAgICAgICAgfS5iaW5kKHRoaXMpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhY2tGZWF0dXJlKSB7XG4gICAgICB0aGlzLmVuYWJsZVRyYWNrRmVhdHVyZSh0aGlzLm9wdGlvbnMudHJhY2tGZWF0dXJlKTtcbiAgICB9XG5cbiAgICBjb25zdCB2ZWN0b3IgPSBuZXcgb2xMYXllclZlY3RvcihvbE9wdGlvbnMpO1xuICAgIGNvbnN0IHZlY3RvclNvdXJjZSA9IHZlY3Rvci5nZXRTb3VyY2UoKSBhcyBvbFNvdXJjZVZlY3RvcjxPbEdlb21ldHJ5PjtcbiAgICBjb25zdCB1cmwgPSB2ZWN0b3JTb3VyY2UuZ2V0VXJsKCk7XG4gICAgaWYgKHVybCkge1xuICAgICAgbGV0IGxvYWRlcjtcbiAgICAgIGNvbnN0IHdmc09wdGlvbnMgPSBvbE9wdGlvbnMuc291cmNlT3B0aW9ucyBhcyBXRlNEYXRhU291cmNlT3B0aW9ucztcbiAgICAgIGlmICh3ZnNPcHRpb25zPy50eXBlID09PSAnd2ZzJyAmJiAod2ZzT3B0aW9ucy5wYXJhbXMgfHwgd2ZzT3B0aW9ucy5wYXJhbXNXRlMpKSB7XG4gICAgICAgIGxvYWRlciA9IChleHRlbnQsIHJlc29sdXRpb24sIHByb2osIHN1Y2Nlc3MsIGZhaWx1cmUpID0+IHtcbiAgICAgICAgICB0aGlzLmN1c3RvbVdGU0xvYWRlcihcbiAgICAgICAgICAgIHZlY3RvclNvdXJjZSxcbiAgICAgICAgICAgIHdmc09wdGlvbnMsXG4gICAgICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgICAgIGV4dGVudCxcbiAgICAgICAgICAgIHJlc29sdXRpb24sXG4gICAgICAgICAgICBwcm9qLFxuICAgICAgICAgICAgc3VjY2VzcyxcbiAgICAgICAgICAgIGZhaWx1cmVcbiAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9hZGVyID0gKGV4dGVudCwgcmVzb2x1dGlvbiwgcHJvaiwgc3VjY2VzcywgZmFpbHVyZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY3VzdG9tTG9hZGVyKFxuICAgICAgICAgICAgdmVjdG9yU291cmNlLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgdGhpcy5hdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgICAgICBleHRlbnQsXG4gICAgICAgICAgICByZXNvbHV0aW9uLFxuICAgICAgICAgICAgcHJvaixcbiAgICAgICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgICAgICBmYWlsdXJlXG4gICAgICAgICAgKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2FkZXIpIHtcbiAgICAgICAgdmVjdG9yU291cmNlLnNldExvYWRlcihsb2FkZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmVjdG9yO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZsYXNoKGZlYXR1cmUpIHtcbiAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGxpc3RlbmVyS2V5ID0gdGhpcy5vbC5vbigncG9zdHJlbmRlcicsIGFuaW1hdGUuYmluZCh0aGlzKSk7XG5cbiAgICBmdW5jdGlvbiBhbmltYXRlKGV2ZW50KSB7XG4gICAgICBjb25zdCB2ZWN0b3JDb250ZXh0ID0gZ2V0VmVjdG9yQ29udGV4dChldmVudCk7XG4gICAgICBjb25zdCBmcmFtZVN0YXRlID0gZXZlbnQuZnJhbWVTdGF0ZTtcbiAgICAgIGNvbnN0IGZsYXNoR2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5jbG9uZSgpO1xuICAgICAgY29uc3QgZWxhcHNlZCA9IGZyYW1lU3RhdGUudGltZSAtIHN0YXJ0O1xuICAgICAgY29uc3QgZWxhcHNlZFJhdGlvID0gZWxhcHNlZCAvIHRoaXMub3B0aW9ucy5hbmltYXRpb24uZHVyYXRpb247XG4gICAgICBjb25zdCBvcGFjaXR5ID0gZWFzZU91dCgxIC0gZWxhcHNlZFJhdGlvKTtcbiAgICAgIGNvbnN0IG5ld0NvbG9yID0gQ29sb3JBc0FycmF5KHRoaXMub3B0aW9ucy5hbmltYXRpb24uY29sb3IgfHwgJ3JlZCcpO1xuICAgICAgbmV3Q29sb3JbM10gPSBvcGFjaXR5O1xuICAgICAgbGV0IHN0eWxlID0gdGhpcy5vbFxuICAgICAgICAuZ2V0U3R5bGVGdW5jdGlvbigpXG4gICAgICAgIC5jYWxsKHRoaXMsIGZlYXR1cmUpXG4gICAgICAgIC5maW5kKChzdHlsZTIpID0+IHtcbiAgICAgICAgICByZXR1cm4gc3R5bGUyLmdldEltYWdlKCk7XG4gICAgICAgIH0pO1xuICAgICAgaWYgKCFzdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHRoaXMub2wuZ2V0U3R5bGVGdW5jdGlvbigpLmNhbGwodGhpcywgZmVhdHVyZSlbMF07XG4gICAgICB9XG4gICAgICBjb25zdCBzdHlsZUNsb25lID0gc3R5bGUuY2xvbmUoKTtcblxuICAgICAgc3dpdGNoIChmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpKSB7XG4gICAgICAgIGNhc2UgJ1BvaW50JzpcbiAgICAgICAgICBpZihzdHlsZUNsb25lLmdldEltYWdlKCkgIT09IG51bGwgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzdHlsZUNsb25lLmdldEltYWdlKCkuZ2V0UmFkaXVzID09PSAnZnVuY3Rpb24nKXtcbiAgICAgICAgICAgIGNvbnN0IHJhZGl1cyA9XG4gICAgICAgICAgICBlYXNlT3V0KGVsYXBzZWRSYXRpbykgKiAoc3R5bGVDbG9uZS5nZXRJbWFnZSgpLmdldFJhZGl1cygpICogMyk7XG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEltYWdlKCkuc2V0UmFkaXVzKHJhZGl1cyk7XG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEltYWdlKCkuc2V0T3BhY2l0eShvcGFjaXR5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTGluZVN0cmluZyc6XG4gICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgIGlmIChzdHlsZUNsb25lLmdldEltYWdlKCkpIHtcbiAgICAgICAgICAgIHN0eWxlQ2xvbmUuZ2V0SW1hZ2UoKS5nZXRTdHJva2UoKS5zZXRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgICBzdHlsZUNsb25lXG4gICAgICAgICAgICAgIC5nZXRJbWFnZSgpXG4gICAgICAgICAgICAgIC5nZXRTdHJva2UoKVxuICAgICAgICAgICAgICAuc2V0V2lkdGgoXG4gICAgICAgICAgICAgICAgZWFzZU91dChlbGFwc2VkUmF0aW8pICpcbiAgICAgICAgICAgICAgICAgIChzdHlsZUNsb25lLmdldEltYWdlKCkuZ2V0U3Ryb2tlKCkuZ2V0V2lkdGgoKSAqIDMpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdHlsZUNsb25lLmdldFN0cm9rZSgpKSB7XG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldFN0cm9rZSgpLnNldENvbG9yKG5ld0NvbG9yKTtcbiAgICAgICAgICAgIHN0eWxlQ2xvbmVcbiAgICAgICAgICAgICAgLmdldFN0cm9rZSgpXG4gICAgICAgICAgICAgIC5zZXRXaWR0aChcbiAgICAgICAgICAgICAgICBlYXNlT3V0KGVsYXBzZWRSYXRpbykgKiAoc3R5bGVDbG9uZS5nZXRTdHJva2UoKS5nZXRXaWR0aCgpICogMylcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1BvbHlnb24nOlxuICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICBpZiAoc3R5bGVDbG9uZS5nZXRJbWFnZSgpKSB7XG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEltYWdlKCkuZ2V0RmlsbCgpLnNldENvbG9yKG5ld0NvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0eWxlQ2xvbmUuZ2V0RmlsbCgpKSB7XG4gICAgICAgICAgICBzdHlsZUNsb25lLmdldEZpbGwoKS5zZXRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzdHlsZUNsb25lLnNldFRleHQoJycpO1xuICAgICAgdmVjdG9yQ29udGV4dC5zZXRTdHlsZShzdHlsZUNsb25lKTtcbiAgICAgIHZlY3RvckNvbnRleHQuZHJhd0dlb21ldHJ5KGZsYXNoR2VvbSk7XG5cbiAgICAgIGlmIChlbGFwc2VkID4gdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5kdXJhdGlvbikge1xuICAgICAgICB1bkJ5S2V5KGxpc3RlbmVyS2V5KTtcbiAgICAgICAgLy8gcmVtb3ZlIGxhc3QgZ2VvbWV0cnlcbiAgICAgICAgLy8gdGhlcmUgaXMgYSBsaXR0bGUgZmxhc2ggYmVmb3JlIGZlYXR1cmUgZGlzYXBwZWFyLCBiZXR0ZXIgc29sdXRpb24gP1xuICAgICAgICB0aGlzLm1hcC5vbC5yZW5kZXIoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gdGVsbCBPcGVuTGF5ZXJzIHRvIGNvbnRpbnVlIHBvc3Rjb21wb3NlIGFuaW1hdGlvblxuICAgICAgdGhpcy5tYXAub2wucmVuZGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldE1hcChtYXA6IElnb01hcCB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChtYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy53YXRjaGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4ge30pO1xuICAgIH1cbiAgICBzdXBlci5zZXRNYXAobWFwKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRFeHRlbnQoZXh0ZW50OiBNYXBFeHRlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMuZXh0ZW50ID0gZXh0ZW50O1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2Uub25VbndhdGNoKCk7XG4gICAgdGhpcy5zdG9wQW5pbWF0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgc3RvcEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2Uub2wudW4oXG4gICAgICAnYWRkZmVhdHVyZScsXG4gICAgICBmdW5jdGlvbihlKSB7XG4gICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICB0aGlzLmZsYXNoKGUuZmVhdHVyZSk7XG4gICAgICAgIH1cbiAgICAgIH0uYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlVHJhY2tGZWF0dXJlKGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLnRyYWNrRmVhdHVyZUxpc3RlbmVySWQgPSB0aGlzLmRhdGFTb3VyY2Uub2wub24oXG4gICAgICAnYWRkZmVhdHVyZScsXG4gICAgICB0aGlzLnRyYWNrRmVhdHVyZS5iaW5kKHRoaXMsIGlkKVxuICAgICk7XG4gIH1cbiAgcHVibGljIGNlbnRlck1hcE9uRmVhdHVyZShpZDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgY29uc3QgZmVhdCA9IHRoaXMuZGF0YVNvdXJjZS5vbC5nZXRGZWF0dXJlQnlJZChpZCk7XG4gICAgaWYgKGZlYXQpIHtcbiAgICAgIHRoaXMubWFwLm9sLmdldFZpZXcoKS5zZXRDZW50ZXIoKGZlYXQuZ2V0R2VvbWV0cnkoKSBhcyBhbnkpLmdldENvb3JkaW5hdGVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmFja0ZlYXR1cmUoaWQsIGZlYXQpIHtcbiAgICBpZiAoZmVhdC5mZWF0dXJlLmdldElkKCkgPT09IGlkICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy5jZW50ZXJNYXBPbkZlYXR1cmUoaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlVHJhY2tGZWF0dXJlKGlkPzogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdW5CeUtleSh0aGlzLnRyYWNrRmVhdHVyZUxpc3RlbmVySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBsb2FkZXIgZm9yIGEgV0ZTIGRhdGFzb3VyY2VcbiAgICogQGludGVybmFsXG4gICAqIEBwYXJhbSB2ZWN0b3JTb3VyY2UgdGhlIHZlY3RvciBzb3VyY2UgdG8gYmUgY3JlYXRlZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBvbE9wdGlvbnMgZnJvbSBzb3VyY2VcbiAgICogQHBhcmFtIGludGVyY2VwdG9yIHRoZSBpbnRlcmNlcHRvciBvZiB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZXh0ZW50IHRoZSBleHRlbnQgb2YgdGhlIHJlcXVlc3RlZCBkYXRhXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIHRoZSBjdXJyZW50IHJlc29sdXRpb25cbiAgICogQHBhcmFtIHByb2ogdGhlIHByb2plY3Rpb24gdG8gcmV0cmlldmUgdGhlIGRhdGFcbiAgICogQHBhcmFtIHN1Y2Nlc3Mgc3VjY2VzcyBjYWxsYmFja1xuICAgKiBAcGFyYW0gZmFpbHVyZSBmYWlsdXJlIGNhbGxiYWNrXG4gICAqIEBwYXJhbSByYW5kb21QYXJhbSByYW5kb20gcGFyYW1ldGVyIHRvIGVuc3VyZSBjYWNoZSBpcyBub3QgY2F1c2luZyBwcm9ibGVtcyBpbiByZXRyaWV2aW5nIG5ldyBkYXRhXG4gICAqL1xuICBwdWJsaWMgY3VzdG9tV0ZTTG9hZGVyKFxuICAgIHZlY3RvclNvdXJjZSxcbiAgICBvcHRpb25zLFxuICAgIGludGVyY2VwdG9yLFxuICAgIGV4dGVudCxcbiAgICByZXNvbHV0aW9uLFxuICAgIHByb2osXG4gICAgc3VjY2VzcyxcbiAgICBmYWlsdXJlLFxuICAgIHJhbmRvbVBhcmFtPzogYm9vbGVhblxuICApIHtcbiAgICB7XG4gICAgICBjb25zdCBwYXJhbXNXRlMgPSBvcHRpb25zLnBhcmFtc1dGUztcbiAgICAgIGNvbnN0IHdmc1Byb2ogPSBwYXJhbXNXRlMuc3JzTmFtZSA/IG5ldyBvbFByb2plY3Rpb24oeyBjb2RlOiBwYXJhbXNXRlMuc3JzTmFtZSB9KSA6IHByb2o7XG4gICAgICBjb25zdCBjdXJyZW50RXh0ZW50ID0gb2xwcm9qLnRyYW5zZm9ybUV4dGVudChleHRlbnQsIHByb2osIHdmc1Byb2opO1xuICAgICAgcGFyYW1zV0ZTLnNyc05hbWUgPSBwYXJhbXNXRlMuc3JzTmFtZSB8fCBwcm9qLmdldENvZGUoKTtcbiAgICAgIGNvbnN0IHVybCA9IGJ1aWxkVXJsKFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBjdXJyZW50RXh0ZW50LFxuICAgICAgICB3ZnNQcm9qLFxuICAgICAgICAob3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnMsXG4gICAgICAgIHJhbmRvbVBhcmFtKTtcbiAgICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICAgIGlmIChwYXJhbXNXRlMudmVyc2lvbiA9PT0gJzIuMC4wJyAmJiBwYXJhbXNXRlMubWF4RmVhdHVyZXMgPiBkZWZhdWx0TWF4RmVhdHVyZXMpIHtcbiAgICAgICAgY29uc3QgbmJPZkZlYXR1cmUgPSAxMDAwO1xuICAgICAgICB3aGlsZSAoc3RhcnRJbmRleCA8IHBhcmFtc1dGUy5tYXhGZWF0dXJlcykge1xuICAgICAgICAgIGxldCBhbHRlcmVkVXJsID0gdXJsLnJlcGxhY2UoJ2NvdW50PScgKyBwYXJhbXNXRlMubWF4RmVhdHVyZXMsICdjb3VudD0nICsgbmJPZkZlYXR1cmUpO1xuICAgICAgICAgIGFsdGVyZWRVcmwgPSBhbHRlcmVkVXJsLnJlcGxhY2UoJ3N0YXJ0SW5kZXg9MCcsICcwJyk7XG4gICAgICAgICAgYWx0ZXJlZFVybCArPSAnJnN0YXJ0SW5kZXg9JyArIHN0YXJ0SW5kZXg7XG4gICAgICAgICAgYWx0ZXJlZFVybC5yZXBsYWNlKC8mJi9nLCAnJicpO1xuICAgICAgICAgIHRoaXMuZ2V0RmVhdHVyZXModmVjdG9yU291cmNlLCBpbnRlcmNlcHRvciwgY3VycmVudEV4dGVudCwgd2ZzUHJvaiwgcHJvaiwgYWx0ZXJlZFVybCwgbmJPZkZlYXR1cmUsIHN1Y2Nlc3MsIGZhaWx1cmUpO1xuICAgICAgICAgIHN0YXJ0SW5kZXggKz0gbmJPZkZlYXR1cmU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ2V0RmVhdHVyZXModmVjdG9yU291cmNlLCBpbnRlcmNlcHRvciwgY3VycmVudEV4dGVudCwgd2ZzUHJvaiwgcHJvaiwgdXJsLCBwYXJhbXNXRlMubWF4RmVhdHVyZXMsIHN1Y2Nlc3MsIGZhaWx1cmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBsb2FkZXIgdG8gZ2V0IGZlYXR1cmUgZnJvbSBhIFdGUyBkYXRhc291cmNlXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gdmVjdG9yU291cmNlIHRoZSB2ZWN0b3Igc291cmNlIHRvIGJlIGNyZWF0ZWRcbiAgICogQHBhcmFtIGludGVyY2VwdG9yIHRoZSBpbnRlcmNlcHRvciBvZiB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZXh0ZW50IHRoZSBleHRlbnQgb2YgdGhlIHJlcXVlc3RlZCBkYXRhXG4gICAqIEBwYXJhbSBkYXRhUHJvamVjdGlvbiB0aGUgcHJvamVjdGlvbiBvZiB0aGUgcmV0cmlldmVkIGRhdGFcbiAgICogQHBhcmFtIGZlYXR1cmVQcm9qZWN0aW9uIHRoZSBwcm9qZWN0aW9uIG9mIHRoZSBjcmVhdGVkIGZlYXR1cmVzXG4gICAqIEBwYXJhbSB1cmwgdGhlIHVybCBzdHJpbmcgdG8gcmV0cmlldmUgdGhlIGRhdGFcbiAgICogQHBhcmFtIHRocmVzaG9sZCB0aGUgdGhyZXNob2xkIHRvIG1hbmFnZSBcIm1vcmUgZmVhdHVyZXNcIiAoVE9ETylcbiAgICogQHBhcmFtIHN1Y2Nlc3Mgc3VjY2VzcyBjYWxsYmFja1xuICAgKiBAcGFyYW0gZmFpbHVyZSBmYWlsdXJlIGNhbGxiYWNrXG4gICAqL1xuICBwcml2YXRlIGdldEZlYXR1cmVzKFxuICAgIHZlY3RvclNvdXJjZTogb2xTb3VyY2VWZWN0b3I8T2xHZW9tZXRyeT4sXG4gICAgaW50ZXJjZXB0b3IsXG4gICAgZXh0ZW50LFxuICAgIGRhdGFQcm9qZWN0aW9uLFxuICAgIGZlYXR1cmVQcm9qZWN0aW9uLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHRocmVzaG9sZDogbnVtYmVyLFxuICAgIHN1Y2Nlc3MsIGZhaWx1cmUpIHtcblxuICAgIGNvbnN0IGlkQXNzb2NpYXRlZENhbGwgPSAodGhpcy5kYXRhU291cmNlIGFzIFdGU0RhdGFTb3VyY2UpLm1vc3RSZWNlbnRJZENhbGxPR0NGaWx0ZXI7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgY29uc3QgYWx0ZXJlZFVybFdpdGhLZXlBdXRoID0gaW50ZXJjZXB0b3IuYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmwpO1xuICAgIGxldCBtb2RpZmllZFVybCA9IHVybDtcbiAgICBpZiAoYWx0ZXJlZFVybFdpdGhLZXlBdXRoKSB7XG4gICAgICBtb2RpZmllZFVybCA9IGFsdGVyZWRVcmxXaXRoS2V5QXV0aDtcbiAgICB9XG4gICAgeGhyLm9wZW4oJ0dFVCcsIG1vZGlmaWVkVXJsKTtcbiAgICBpZiAoaW50ZXJjZXB0b3IpIHtcbiAgICAgIGludGVyY2VwdG9yLmludGVyY2VwdFhocih4aHIsIG1vZGlmaWVkVXJsKTtcbiAgICB9XG4gICAgY29uc3Qgb25FcnJvciA9ICgpID0+IHtcbiAgICAgIHZlY3RvclNvdXJjZS5yZW1vdmVMb2FkZWRFeHRlbnQoZXh0ZW50KTtcbiAgICAgIGZhaWx1cmUoKTtcbiAgICB9O1xuICAgIHhoci5vbmVycm9yID0gb25FcnJvcjtcbiAgICB4aHIub25sb2FkID0gKCkgPT4ge1xuICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCAmJiB4aHIucmVzcG9uc2VUZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZmVhdHVyZXMgPVxuICAgICAgICAgIHZlY3RvclNvdXJjZVxuICAgICAgICAgICAgLmdldEZvcm1hdCgpXG4gICAgICAgICAgICAucmVhZEZlYXR1cmVzKHhoci5yZXNwb25zZVRleHQsIHsgZGF0YVByb2plY3Rpb24sIGZlYXR1cmVQcm9qZWN0aW9uIH0pIGFzIG9sRmVhdHVyZTxPbEdlb21ldHJ5PltdO1xuICAgICAgICAvLyBUT0RPIE1hbmFnZSBcIk1vcmUgZmVhdHVyZVwiXG4gICAgICAgIC8qaWYgKGZlYXR1cmVzLmxlbmd0aCA9PT0gMCB8fCBmZWF0dXJlcy5sZW5ndGggPCB0aHJlc2hvbGQgKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ05vIG1vcmUgZGF0YSB0byBkb3dubG9hZCBhdCB0aGlzIHJlc29sdXRpb24nKTtcbiAgICAgICAgfSovXG4gICAgICAgIC8vIEF2b2lkcyByZXRyaWV2aW5nIGFuIG9sZGVyIGNhbGwgdGhhdCB0b29rIGxvbmdlciB0byBiZSBwcm9jZXNzXG4gICAgICAgIGlmIChpZEFzc29jaWF0ZWRDYWxsID09PSAodGhpcy5kYXRhU291cmNlIGFzIFdGU0RhdGFTb3VyY2UpLm1vc3RSZWNlbnRJZENhbGxPR0NGaWx0ZXIpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHZlY3RvclNvdXJjZS5hZGRGZWF0dXJlcyhmZWF0dXJlcyk7XG4gICAgICAgICAgICBzdWNjZXNzKGZlYXR1cmVzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MoW10pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkVycm9yKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICB4aHIuc2VuZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBsb2FkZXIgZm9yIHZlY3RvciBsYXllci5cbiAgICogQGludGVybmFsXG4gICAqIEBwYXJhbSB2ZWN0b3JTb3VyY2UgdGhlIHZlY3RvciBzb3VyY2UgdG8gYmUgY3JlYXRlZFxuICAgKiBAcGFyYW0gdXJsIHRoZSB1cmwgc3RyaW5nIG9yIGZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXG4gICAqIEBwYXJhbSBpbnRlcmNlcHRvciB0aGUgaW50ZXJjZXB0b3Igb2YgdGhlIGRhdGFcbiAgICogQHBhcmFtIGV4dGVudCB0aGUgZXh0ZW50IG9mIHRoZSByZXF1ZXN0ZWQgZGF0YVxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiB0aGUgY3VycmVudCByZXNvbHV0aW9uXG4gICAqIEBwYXJhbSBwcm9qZWN0aW9uIHRoZSBwcm9qZWN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXG4gICAqL1xuICBwcml2YXRlIGN1c3RvbUxvYWRlcihcbiAgICB2ZWN0b3JTb3VyY2UsXG4gICAgdXJsLFxuICAgIGludGVyY2VwdG9yLFxuICAgIGV4dGVudCxcbiAgICByZXNvbHV0aW9uLFxuICAgIHByb2plY3Rpb24sXG4gICAgc3VjY2VzcyxcbiAgICBmYWlsdXJlXG4gICkge1xuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGxldCBtb2RpZmllZFVybCA9IHVybDtcbiAgICBpZiAodHlwZW9mIHVybCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgYWx0ZXJlZFVybFdpdGhLZXlBdXRoID0gaW50ZXJjZXB0b3IuYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmwpO1xuICAgICAgaWYgKGFsdGVyZWRVcmxXaXRoS2V5QXV0aCkge1xuICAgICAgICBtb2RpZmllZFVybCA9IGFsdGVyZWRVcmxXaXRoS2V5QXV0aDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbW9kaWZpZWRVcmwgPSB1cmwoZXh0ZW50LCByZXNvbHV0aW9uLCBwcm9qZWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5nZW9OZXR3b3JrU2VydmljZSAmJiB0eXBlb2YgdXJsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBmb3JtYXQgPSB2ZWN0b3JTb3VyY2UuZ2V0Rm9ybWF0KCk7XG4gICAgICBjb25zdCB0eXBlID0gZm9ybWF0LmdldFR5cGUoKTtcblxuICAgICAgbGV0IHJlc3BvbnNlVHlwZSA9IHR5cGU7XG4gICAgICBjb25zdCBvbkVycm9yID0gKCkgPT4ge1xuICAgICAgICB2ZWN0b3JTb3VyY2UucmVtb3ZlTG9hZGVkRXh0ZW50KGV4dGVudCk7XG4gICAgICAgIGZhaWx1cmUoKTtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG9wdGlvbnM6IFNpbXBsZUdldE9wdGlvbnMgPSB7IHJlc3BvbnNlVHlwZSB9O1xuICAgICAgdGhpcy5nZW9OZXR3b3JrU2VydmljZS5nZW9EQlNlcnZpY2UuZ2V0KHVybCkucGlwZShjb25jYXRNYXAociA9PlxuICAgICAgICByID8gb2YocikgOiB0aGlzLmdlb05ldHdvcmtTZXJ2aWNlLmdldChtb2RpZmllZFVybCwgb3B0aW9ucylcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgb25FcnJvcigpO1xuICAgICAgICAgICAgICB0aHJvdyByZXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICkpXG4gICAgICAuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHZlY3RvclNvdXJjZS5nZXRGb3JtYXQoKTtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBmb3JtYXQuZ2V0VHlwZSgpO1xuICAgICAgICAgICAgbGV0IHNvdXJjZTtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnanNvbicgfHwgdHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRlbnQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd4bWwnKSB7XG4gICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRlbnQ7XG4gICAgICAgICAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgICAgICAgICAgc291cmNlID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veG1sJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2FycmF5YnVmZmVyJykge1xuICAgICAgICAgICAgICBzb3VyY2UgPSBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgICBjb25zdCBmZWF0dXJlcyA9IGZvcm1hdC5yZWFkRmVhdHVyZXMoc291cmNlLCB7IGV4dGVudCwgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb24gfSk7XG4gICAgICAgICAgICAgIHZlY3RvclNvdXJjZS5hZGRGZWF0dXJlcyhmZWF0dXJlcywgZm9ybWF0LnJlYWRQcm9qZWN0aW9uKHNvdXJjZSkpO1xuICAgICAgICAgICAgICBzdWNjZXNzKGZlYXR1cmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG9uRXJyb3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcbiAgICB4aHIub3BlbiggJ0dFVCcsIG1vZGlmaWVkVXJsKTtcbiAgICBjb25zdCBmb3JtYXQgPSB2ZWN0b3JTb3VyY2UuZ2V0Rm9ybWF0KCk7XG4gICAgaWYgKGZvcm1hdC5nZXRUeXBlKCkgPT09ICdhcnJheWJ1ZmZlcicpIHtcbiAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInO1xuICAgIH1cbiAgICBpZiAoaW50ZXJjZXB0b3IpIHtcbiAgICAgIGludGVyY2VwdG9yLmludGVyY2VwdFhocih4aHIsIG1vZGlmaWVkVXJsKTtcbiAgICB9XG5cbiAgICBjb25zdCBvbkVycm9yID0gKCkgPT4ge1xuICAgICAgdmVjdG9yU291cmNlLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xuICAgICAgZmFpbHVyZSgpO1xuICAgIH07XG4gICAgeGhyLm9uZXJyb3IgPSBvbkVycm9yO1xuICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAvLyBzdGF0dXMgd2lsbCBiZSAwIGZvciBmaWxlOi8vIHVybHNcbiAgICAgIGlmICgheGhyLnN0YXR1cyB8fCAoeGhyLnN0YXR1cyA+PSAyMDAgJiYgeGhyLnN0YXR1cyA8IDMwMCkpIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IGZvcm1hdC5nZXRUeXBlKCk7XG4gICAgICAgIGxldCBzb3VyY2U7XG4gICAgICAgIGlmICh0eXBlID09PSAnanNvbicgfHwgdHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgc291cmNlID0geGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAneG1sJykge1xuICAgICAgICAgIHNvdXJjZSA9IHhoci5yZXNwb25zZVhNTDtcbiAgICAgICAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgICAgICAgc291cmNlID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhcbiAgICAgICAgICAgICAgeGhyLnJlc3BvbnNlVGV4dCxcbiAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3htbCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdhcnJheWJ1ZmZlcicpIHtcbiAgICAgICAgICBzb3VyY2UgPSB4aHIucmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gZm9ybWF0LnJlYWRGZWF0dXJlcyhzb3VyY2UsIHsgZXh0ZW50LCBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbiB9KTtcbiAgICAgICAgICB2ZWN0b3JTb3VyY2UuYWRkRmVhdHVyZXMoZmVhdHVyZXMsIGZvcm1hdC5yZWFkUHJvamVjdGlvbihzb3VyY2UpKTtcbiAgICAgICAgICBzdWNjZXNzKGZlYXR1cmVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbkVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHhoci5zZW5kKCk7XG4gIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './style-modal.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zdHlsZS1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdHlsZS1tb2RhbC5jb21wb25lbnQnO1xuIl19
|