@hmcts/rpx-xui-common-lib 2.0.13 → 2.0.16-pre-release-accessibility-page-reference-link
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/components/accessibility/accessibility.component.mjs +382 -370
- package/esm2020/lib/components/search-location/search-location.component.mjs +30 -61
- package/esm2020/lib/components/selected-case/selected-case.component.mjs +4 -4
- package/esm2020/lib/components/user-details/user-details.component.mjs +37 -21
- package/esm2020/lib/models/user-details.model.mjs +1 -1
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs +416 -413
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +1 -1
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs +410 -413
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +1 -1
- package/lib/components/search-location/search-location.component.d.ts +0 -3
- package/lib/components/user-details/user-details.component.d.ts +2 -1
- package/lib/models/user-details.model.d.ts +1 -1
- package/package.json +1 -1
|
@@ -15,19 +15,19 @@ import * as i5 from "@angular/forms";
|
|
|
15
15
|
import * as i6 from "@angular/material/legacy-autocomplete";
|
|
16
16
|
import * as i7 from "@angular/material/legacy-core";
|
|
17
17
|
import * as i8 from "rpx-xui-translation";
|
|
18
|
-
function
|
|
19
|
-
const
|
|
20
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
21
|
-
i0.ɵɵlistener("onSelectionChange", function
|
|
18
|
+
function SearchLocationComponent_ng_container_4_ng_container_1_mat_option_1_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
20
|
+
i0.ɵɵelementStart(0, "mat-option", 6);
|
|
21
|
+
i0.ɵɵlistener("onSelectionChange", function SearchLocationComponent_ng_container_4_ng_container_1_mat_option_1_Template_mat_option_onSelectionChange_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r8); const location_r6 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r7.onSelectedLocation(location_r6)); });
|
|
22
22
|
i0.ɵɵtext(1);
|
|
23
23
|
i0.ɵɵelementEnd();
|
|
24
24
|
} if (rf & 2) {
|
|
25
|
-
const
|
|
26
|
-
const
|
|
25
|
+
const location_r6 = ctx.$implicit;
|
|
26
|
+
const ctx_r4 = i0.ɵɵnextContext(3);
|
|
27
27
|
i0.ɵɵadvance(1);
|
|
28
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
28
|
+
i0.ɵɵtextInterpolate1(" ", location_r6[ctx_r4.propertyNameFilter], " ");
|
|
29
29
|
} }
|
|
30
|
-
function
|
|
30
|
+
function SearchLocationComponent_ng_container_4_ng_container_1_mat_option_2_Template(rf, ctx) { if (rf & 1) {
|
|
31
31
|
i0.ɵɵelementStart(0, "mat-option");
|
|
32
32
|
i0.ɵɵtext(1);
|
|
33
33
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -36,26 +36,26 @@ function SearchLocationComponent_ng_container_5_ng_container_1_mat_option_2_Temp
|
|
|
36
36
|
i0.ɵɵadvance(1);
|
|
37
37
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "No results found"));
|
|
38
38
|
} }
|
|
39
|
-
function
|
|
39
|
+
function SearchLocationComponent_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
40
40
|
i0.ɵɵelementContainerStart(0);
|
|
41
|
-
i0.ɵɵtemplate(1,
|
|
42
|
-
i0.ɵɵtemplate(2,
|
|
41
|
+
i0.ɵɵtemplate(1, SearchLocationComponent_ng_container_4_ng_container_1_mat_option_1_Template, 2, 1, "mat-option", 5);
|
|
42
|
+
i0.ɵɵtemplate(2, SearchLocationComponent_ng_container_4_ng_container_1_mat_option_2_Template, 3, 3, "mat-option", 4);
|
|
43
43
|
i0.ɵɵelementContainerEnd();
|
|
44
44
|
} if (rf & 2) {
|
|
45
|
-
const
|
|
45
|
+
const filteredList_r2 = i0.ɵɵnextContext().ngIf;
|
|
46
46
|
i0.ɵɵadvance(1);
|
|
47
|
-
i0.ɵɵproperty("ngForOf",
|
|
47
|
+
i0.ɵɵproperty("ngForOf", filteredList_r2);
|
|
48
48
|
i0.ɵɵadvance(1);
|
|
49
|
-
i0.ɵɵproperty("ngIf",
|
|
49
|
+
i0.ɵɵproperty("ngIf", filteredList_r2.length === 0);
|
|
50
50
|
} }
|
|
51
|
-
function
|
|
51
|
+
function SearchLocationComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
52
52
|
i0.ɵɵelementContainerStart(0);
|
|
53
|
-
i0.ɵɵtemplate(1,
|
|
53
|
+
i0.ɵɵtemplate(1, SearchLocationComponent_ng_container_4_ng_container_1_Template, 3, 2, "ng-container", 4);
|
|
54
54
|
i0.ɵɵelementContainerEnd();
|
|
55
55
|
} if (rf & 2) {
|
|
56
|
-
const
|
|
56
|
+
const filteredList_r2 = ctx.ngIf;
|
|
57
57
|
i0.ɵɵadvance(1);
|
|
58
|
-
i0.ɵɵproperty("ngIf",
|
|
58
|
+
i0.ɵɵproperty("ngIf", filteredList_r2 && filteredList_r2.length >= 0);
|
|
59
59
|
} }
|
|
60
60
|
export class SearchLocationComponent {
|
|
61
61
|
get reset() {
|
|
@@ -85,7 +85,6 @@ export class SearchLocationComponent {
|
|
|
85
85
|
this.term = '';
|
|
86
86
|
this.pReset = true;
|
|
87
87
|
this.debounceTimeInput = 300;
|
|
88
|
-
this.previousValue = '';
|
|
89
88
|
}
|
|
90
89
|
ngOnInit() {
|
|
91
90
|
const searchInputChanges$ = this.searchTermFormControl.valueChanges
|
|
@@ -150,58 +149,28 @@ export class SearchLocationComponent {
|
|
|
150
149
|
}
|
|
151
150
|
return locations.filter(location => !selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location[this.propertyNameFilter]);
|
|
152
151
|
}
|
|
153
|
-
removeInvalidString(formInputValue) {
|
|
154
|
-
if (!this.isCharacterValid(formInputValue)) {
|
|
155
|
-
formInputValue.preventDefault();
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
isCharacterValid(event) {
|
|
159
|
-
let pressed = undefined;
|
|
160
|
-
if (event.key !== undefined) {
|
|
161
|
-
pressed = event.key;
|
|
162
|
-
if (pressed.length > 1) {
|
|
163
|
-
switch (pressed) {
|
|
164
|
-
case 'Tab':
|
|
165
|
-
return true;
|
|
166
|
-
case 'ArrowRight':
|
|
167
|
-
return true;
|
|
168
|
-
case 'ArrowLeft':
|
|
169
|
-
return true;
|
|
170
|
-
case 'Backspace':
|
|
171
|
-
return true;
|
|
172
|
-
case 'Enter':
|
|
173
|
-
return true;
|
|
174
|
-
default: return false;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else if (event.keyCode !== undefined) {
|
|
179
|
-
pressed = String.fromCharCode(event.keyCode);
|
|
180
|
-
}
|
|
181
|
-
return pressed && (/[a-zA-Z \s'-]/).test(pressed);
|
|
182
|
-
}
|
|
183
152
|
}
|
|
184
153
|
SearchLocationComponent.allLocationAPI = `api/locations/getLocations`;
|
|
185
154
|
SearchLocationComponent.ɵfac = function SearchLocationComponent_Factory(t) { return new (t || SearchLocationComponent)(i0.ɵɵdirectiveInject(i1.LocationService), i0.ɵɵdirectiveInject(i2.SessionStorageService), i0.ɵɵdirectiveInject(i3.RefDataService)); };
|
|
186
|
-
SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls:
|
|
187
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "input", 1
|
|
188
|
-
i0.ɵɵlistener("
|
|
155
|
+
SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "input", 1);
|
|
157
|
+
i0.ɵɵlistener("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
|
|
189
158
|
i0.ɵɵelementEnd();
|
|
190
|
-
i0.ɵɵelementStart(
|
|
191
|
-
i0.ɵɵtemplate(
|
|
192
|
-
i0.ɵɵpipe(
|
|
159
|
+
i0.ɵɵelementStart(2, "mat-autocomplete", 2, 3);
|
|
160
|
+
i0.ɵɵtemplate(4, SearchLocationComponent_ng_container_4_Template, 2, 1, "ng-container", 4);
|
|
161
|
+
i0.ɵɵpipe(5, "async");
|
|
193
162
|
i0.ɵɵelementEnd()();
|
|
194
163
|
} if (rf & 2) {
|
|
195
|
-
const
|
|
164
|
+
const _r0 = i0.ɵɵreference(3);
|
|
196
165
|
i0.ɵɵadvance(1);
|
|
197
|
-
i0.ɵɵproperty("formControl", ctx.searchTermFormControl)("matAutocomplete",
|
|
166
|
+
i0.ɵɵproperty("formControl", ctx.searchTermFormControl)("matAutocomplete", _r0);
|
|
198
167
|
i0.ɵɵattribute("disabled", ctx.disabled);
|
|
199
|
-
i0.ɵɵadvance(
|
|
200
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(
|
|
168
|
+
i0.ɵɵadvance(3);
|
|
169
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 4, ctx.filteredList$));
|
|
201
170
|
} }, dependencies: [i4.NgForOf, i4.NgIf, i5.DefaultValueAccessor, i5.NgControlStatus, i5.FormControlDirective, i6.MatLegacyAutocomplete, i6.MatLegacyAutocompleteTrigger, i7.MatLegacyOption, i4.AsyncPipe, i8.RpxTranslatePipe], styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}"] });
|
|
202
171
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLocationComponent, [{
|
|
203
172
|
type: Component,
|
|
204
|
-
args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n
|
|
173
|
+
args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
|
|
205
174
|
}], function () { return [{ type: i1.LocationService }, { type: i2.SessionStorageService }, { type: i3.RefDataService }]; }, { form: [{
|
|
206
175
|
type: Input
|
|
207
176
|
}], field: [{
|
|
@@ -233,4 +202,4 @@ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
233
202
|
}], reset: [{
|
|
234
203
|
type: Input
|
|
235
204
|
}] }); })();
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBSWpCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7OztJQ0MvRixxQ0FBcUc7SUFBbkQscVNBQXFCLGVBQUEsc0NBQTRCLENBQUEsSUFBQztJQUNsRyxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFEWCxlQUNGO0lBREUsdUVBQ0Y7OztJQUNBLGtDQUE4QztJQUFBLFlBQXFDOztJQUFBLGlCQUFhOztJQUFsRCxlQUFxQztJ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cUMsd0JBQUE7UUFHckMsd0NBQTBCO1FBRVgsZUFBNEI7UUFBNUIsOERBQTRCOzt1RkRRbEMsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0Usc0JBQXNCO21JQU1oQixJQUFJO2tCQUFuQixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLEtBQUs7a0JBQXBCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDVSw4QkFBOEI7a0JBQTlDLE1BQU07WUFDVSxxQkFBcUI7a0JBQXJDLE1BQU07WUFjSSxLQUFLO2tCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQm9va2luZ0NoZWNrVHlwZSwgRmlsdGVyQ29uZmlnT3B0aW9uLFxuICBGaWx0ZXJGaWVsZENvbmZpZyxcbiAgTG9jYXRpb25CeUVQSU1NU01vZGVsLFxuICBMb2NhdGlvbnNCeVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmLWRhdGEnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGFsbExvY2F0aW9uQVBJID0gYGFwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zYDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYm9va2luZ0NoZWNrOiBCb29raW5nQ2hlY2tUeXBlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0eU5hbWVGaWx0ZXI6IGtleW9mIExvY2F0aW9uQnlFUElNTVNNb2RlbCA9ICdzaXRlX25hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHVibGljIHNlYXJjaFRlcm1Gb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJlZExpc3QkOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHwgYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSAzMDA7XG4gIHB1YmxpYyBwcmV2aW91c1ZhbHVlID0gJyc7XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmRGF0YVNlcnZpY2U6IFJlZkRhdGFTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaElucHV0Q2hhbmdlcyQgPSB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHRlcm0pID0+IHRoaXMubG9jYXRpb25UZXJtU2VhcmNoSW5wdXRDaGFuZ2VkLmVtaXQodGVybSkpXG4gICAgICApO1xuXG4gICAgLy8gaWYgc2VydmljZXNGaWVsZCBleGlzdHMsIHRoZW4gd2Ugc2hvdWxkIGZpbHRlciBsb2NhdGlvbnMgYnkgdGhlIHNlcnZpY2UgY29kZXNcbiAgICBpZiAodGhpcy5maWVsZCAmJiB0aGlzLmZpZWxkLnNlcnZpY2VzRmllbGQpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRMaXN0JCA9IHNlYXJjaElucHV0Q2hhbmdlcyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IGlpZihcbiAgICAgICAgICAvLyBTZWVtcyBtb3JlIHJlc3BvbnNpdmUgdG8gZG8gbGVuZ3RoIDAgaWYgbG9jYXRpb25zQnlTZXJ2aWNlQ29kZXMgYXJlIGNhY2hlZFxuICAgICAgICAgICgpID0+ICghIXRlcm0gJiYgdGVybS5sZW5ndGggPj0gMCksXG4gICAgICAgICAgdGhpcy5yZWZEYXRhU2VydmljZS5nZXRMb2NhdGlvbnNCeVNlcnZpY2VDb2RlcyhcbiAgICAgICAgICAgICh0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuc2VydmljZXNGaWVsZCk/LnZhbHVlIGFzIEZpbHRlckNvbmZpZ09wdGlvbltdKS5tYXAoKHNlcnZpY2UpID0+IHNlcnZpY2Uua2V5KVxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIC8vIEZpbHRlciBsb2NhdGlvbnMgYnkgdGhlIHNlYXJjaCBpbnB1dCB0ZXJtIGFuZCB0aGUgY2hvc2VuIHByb3BlcnR5IG5hbWVcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiBsb2NhdGlvbnNcbiAgICAgICAgICAgICAgLmZpbHRlcigobG9jYXRpb24pID0+IGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0udG9Mb3dlckNhc2UoKSkpKSxcbiAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgbG9jYXRpb25zIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLmZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zLCB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnNpbmdsZU1vZGUpKSxcbiAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgZHVwbGljYXRlIGxvY2F0aW9ucyAoYnkgcHJvcGVydHlOYW1lRmlsdGVyKVxuICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9ucy5maWx0ZXIoKGxvY2F0aW9uLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgIGluZGV4ID09PSBhcnJheS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW1bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdID09PSBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0pXG4gICAgICAgICAgICApKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlIHNlYXJjaCB0ZXJtIGlzIGVtcHR5IHRvIG5vdCBzaG93IHRoZSBhdXRvY29tcGxldGUgZmllbGQgaS5lLiBuZ0lmIHNob3VsZCBiZSBmYWxzZVxuICAgICAgICAgIG9mKGZhbHNlKVxuICAgICAgICApKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRMaXN0JCA9IHNlYXJjaElucHV0Q2hhbmdlcyQucGlwZShcbiAgICAgICAgLy8gRGVib3VuY2UgbmVlZGVkIHRvIHByZXZlbnQgbXVsdGlwbGUgQVBJIGNhbGxzIGJlaW5nIG1hZGVcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lSW5wdXQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHRlcm06IHN0cmluZykgPT4gaWlmKFxuICAgICAgICAgICgpID0+ICghIXRlcm0gJiYgdGVybS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgICAgICB0aGlzLmdldExvY2F0aW9ucyh0ZXJtKS5waXBlKFxuICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMuZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMuc2luZ2xlTW9kZSkpLFxuICAgICAgICAgICksXG4gICAgICAgICAgb2YoZmFsc2UpXG4gICAgICAgICkpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaW5nbGVNb2RlICYmIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zWzBdO1xuICAgICAgdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0sIHsgZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWRMb2NhdGlvbihsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0sIHsgZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWUgfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIGxldCB1c2VyTG9jYXRpb25zO1xuICAgIC8vIEJvb2tpbmcgdHlwZSBpbmZvIC0gY2FuIGNyZWF0ZSBtb3JlXG4gICAgLy8gTk9fQ0hFQ0sgLSBBbGwgd29yayAtIERvIG5vdCBmaWx0ZXIgb3V0IGxvY2F0aW9ucyAtIERlZmF1bHQgYXNzdW1wdGlvblxuICAgIC8vIEJPT0tJTkdTX0FORF9CQVNFIC0gTXkgd29yayAtIFRyeSB0byBvbmx5IHNob3cgYmFzZSBsb2NhdGlvbnMvcmVnaW9uc1xuICAgIC8vIFBPU1NJQkxFX0JPT0tJTkdTIC0gQ3JlYXRlIGJvb2tpbmcgc2NyZWVuIC0gU2hvdyBvbmx5IHBvdGVudGlhbCBib29raW5nc1xuICAgIGlmICh0aGlzLmJvb2tpbmdDaGVjayA9PT0gQm9va2luZ0NoZWNrVHlwZS5CT09LSU5HU19BTkRfQkFTRSkge1xuICAgICAgdXNlckxvY2F0aW9ucyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYm9va2luZ0NoZWNrID09PSBCb29raW5nQ2hlY2tUeXBlLlBPU1NJQkxFX0JPT0tJTkdTKSB7XG4gICAgICB0aGlzLnNlcnZpY2VJZHMgPSB0aGlzLnNlcnZpY2VJZHMgJiYgdGhpcy5zZXJ2aWNlSWRzLmxlbmd0aCA/IHRoaXMuc2VydmljZUlkcyA6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYm9va2FibGVTZXJ2aWNlcycpKTtcbiAgICAgIHVzZXJMb2NhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Jvb2thYmxlVXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9XG4gICAgLy8gZ2V0IGFsbCBsb2NhdGlvbnMgd2lsbCByZXNvbHZlIGZpbHRlciBzZXR0aW5nIHVzaW5nIG9iamVjdHMgYWJvdmVcbiAgICAvLyBpZiBubyB1c2VyTG9jYXRpb25zLCBOT19DSEVDS1xuICAgIC8vIGlmIGp1c3QgZ2V0dGluZyBhbGwgc3Vic3RhbnRpdmUgdXNlciBsb2NhdGlvbnMsIEJPT0tJTkdTX0FORF9CQVNFXG4gICAgLy8gZmVlIHBhaWQgdXNlciBsb2NhdGlvbnMgYXJlIHVzZWQgZm9yIFBPU1NJQkxFX0JPT0tJTkdTXG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyhTZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5hbGxMb2NhdGlvbkFQSSwgdGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSwgdXNlckxvY2F0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhcbiAgICBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdLFxuICAgIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSxcbiAgICBzaW5nbGVNb2RlOiBib29sZWFuXG4gICk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAoc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJbnZhbGlkU3RyaW5nKGZvcm1JbnB1dFZhbHVlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzQ2hhcmFjdGVyVmFsaWQoZm9ybUlucHV0VmFsdWUpKSB7XG4gICAgICBmb3JtSW5wdXRWYWx1ZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0NoYXJhY3RlclZhbGlkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgbGV0IHByZXNzZWQgPSB1bmRlZmluZWRcbiAgICBpZiAoZXZlbnQua2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByZXNzZWQgPSBldmVudC5rZXk7XG4gICAgICBpZiAocHJlc3NlZC5sZW5ndGggPiAxKSB7XG4gICAgICAgIHN3aXRjaCAocHJlc3NlZCkge1xuICAgICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgZGVmYXVsdDogcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXlDb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByZXNzZWQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LmtleUNvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gcHJlc3NlZCAmJiAoL1thLXpBLVogXFxzJy1dLykudGVzdChwcmVzc2VkKTtcbiAgfVxuXG59IiwiPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIGlkPVwiaW5wdXRMb2NhdGlvblNlYXJjaFwiXG4gICAgI2NoYXJcbiAgICAoa2V5ZG93bik9XCJyZW1vdmVJbnZhbGlkU3RyaW5nKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hUZXJtRm9ybUNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1NlYXJjaExvY2F0aW9uXCJcbiAgICBjbGFzcz1cImdvdnVrLWlucHV0XCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cIm1hdC1hdXRvY29tcGxldGUtcGFuZWwtZXh0ZW5kXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvU2VhcmNoTG9jYXRpb249XCJtYXRBdXRvY29tcGxldGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRMaXN0JCB8IGFzeW5jIGFzIGZpbHRlcmVkTGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkTGlzdCAmJiBmaWx0ZXJlZExpc3QubGVuZ3RoID49IDBcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGxvY2F0aW9uIG9mIGZpbHRlcmVkTGlzdFwiIChvblNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGVkTG9jYXRpb24obG9jYXRpb24pXCI+XG4gICAgICAgICAge3sgbG9jYXRpb25bcHJvcGVydHlOYW1lRmlsdGVyXSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZmlsdGVyZWRMaXN0Lmxlbmd0aCA9PT0gMFwiPnt7J05vIHJlc3VsdHMgZm91bmQnIHwgcnB4VHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuPC9kaXY+XG4iXX0=
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBSWpCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7OztJQ0QvRixxQ0FBcUc7SUFBbkQscVNBQXFCLGVBQUEsc0NBQTRCLENBQUEsSUFBQztJQUNsRyxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFEWCxlQUNGO0lBREUsdUVBQ0Y7OztJQUNBLGtDQUE4QztJQUFBLFlBQXFDOztJQUFBLGlCQUFhOztJQUFsRCxlQUFxQztJ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QkFBcUMsZUFBQTtRQUdqQyxtR0FBUyxhQUFTLElBQUM7UUFGckIsaUJBTTZCO1FBQzdCLDhDQUFvSDtRQUNsSCwwRkFPZTs7UUFDakIsaUJBQW1CLEVBQUE7OztRQWJqQixlQUFxQztRQUFyQyx1REFBcUMsd0JBQUE7UUFHckMsd0NBQTBCO1FBRVgsZUFBNEI7UUFBNUIsOERBQTRCOzt1RkRVbEMsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0Usc0JBQXNCO21JQU1oQixJQUFJO2tCQUFuQixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLEtBQUs7a0JBQXBCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDVSw4QkFBOEI7a0JBQTlDLE1BQU07WUFDVSxxQkFBcUI7a0JBQXJDLE1BQU07WUFhSSxLQUFLO2tCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQm9va2luZ0NoZWNrVHlwZSwgRmlsdGVyQ29uZmlnT3B0aW9uLFxuICBGaWx0ZXJGaWVsZENvbmZpZyxcbiAgTG9jYXRpb25CeUVQSU1NU01vZGVsLFxuICBMb2NhdGlvbnNCeVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmLWRhdGEnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGFsbExvY2F0aW9uQVBJID0gYGFwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zYDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYm9va2luZ0NoZWNrOiBCb29raW5nQ2hlY2tUeXBlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0eU5hbWVGaWx0ZXI6IGtleW9mIExvY2F0aW9uQnlFUElNTVNNb2RlbCA9ICdzaXRlX25hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHVibGljIHNlYXJjaFRlcm1Gb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJlZExpc3QkOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHwgYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSAzMDA7XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWZEYXRhU2VydmljZTogUmVmRGF0YVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hJbnB1dENoYW5nZXMkID0gdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZC5lbWl0KHRlcm0pKVxuICAgICAgKTtcblxuICAgIC8vIGlmIHNlcnZpY2VzRmllbGQgZXhpc3RzLCB0aGVuIHdlIHNob3VsZCBmaWx0ZXIgbG9jYXRpb25zIGJ5IHRoZSBzZXJ2aWNlIGNvZGVzXG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiBpaWYoXG4gICAgICAgICAgLy8gU2VlbXMgbW9yZSByZXNwb25zaXZlIHRvIGRvIGxlbmd0aCAwIGlmIGxvY2F0aW9uc0J5U2VydmljZUNvZGVzIGFyZSBjYWNoZWRcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IDApLFxuICAgICAgICAgICAgdGhpcy5yZWZEYXRhU2VydmljZS5nZXRMb2NhdGlvbnNCeVNlcnZpY2VDb2RlcyhcbiAgICAgICAgICAgICAgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKT8udmFsdWUgYXMgRmlsdGVyQ29uZmlnT3B0aW9uW10pLm1hcCgoc2VydmljZSkgPT4gc2VydmljZS5rZXkpXG4gICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBsb2NhdGlvbnMgYnkgdGhlIHNlYXJjaCBpbnB1dCB0ZXJtIGFuZCB0aGUgY2hvc2VuIHByb3BlcnR5IG5hbWVcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGxvY2F0aW9uKSA9PiBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtLnRvTG93ZXJDYXNlKCkpKSksXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgbG9jYXRpb25zIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMuZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMuc2luZ2xlTW9kZSkpLFxuICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGR1cGxpY2F0ZSBsb2NhdGlvbnMgKGJ5IHByb3BlcnR5TmFtZUZpbHRlcilcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9ucy5maWx0ZXIoKGxvY2F0aW9uLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbVt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0gPT09IGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSlcbiAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gUmV0dXJucyBmYWxzZSBpZiB0aGUgc2VhcmNoIHRlcm0gaXMgZW1wdHkgdG8gbm90IHNob3cgdGhlIGF1dG9jb21wbGV0ZSBmaWVsZCBpLmUuIG5nSWYgc2hvdWxkIGJlIGZhbHNlXG4gICAgICAgICAgICBvZihmYWxzZSlcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIC8vIERlYm91bmNlIG5lZWRlZCB0byBwcmV2ZW50IG11bHRpcGxlIEFQSSBjYWxscyBiZWluZyBtYWRlXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZUlucHV0KSxcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IGlpZihcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLmZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zLCB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnNpbmdsZU1vZGUpKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9mKGZhbHNlKVxuICAgICAgICApKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnBhdGNoVmFsdWUobG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZExvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5wYXRjaFZhbHVlKGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIGxldCB1c2VyTG9jYXRpb25zO1xuICAgIC8vIEJvb2tpbmcgdHlwZSBpbmZvIC0gY2FuIGNyZWF0ZSBtb3JlXG4gICAgLy8gTk9fQ0hFQ0sgLSBBbGwgd29yayAtIERvIG5vdCBmaWx0ZXIgb3V0IGxvY2F0aW9ucyAtIERlZmF1bHQgYXNzdW1wdGlvblxuICAgIC8vIEJPT0tJTkdTX0FORF9CQVNFIC0gTXkgd29yayAtIFRyeSB0byBvbmx5IHNob3cgYmFzZSBsb2NhdGlvbnMvcmVnaW9uc1xuICAgIC8vIFBPU1NJQkxFX0JPT0tJTkdTIC0gQ3JlYXRlIGJvb2tpbmcgc2NyZWVuIC0gU2hvdyBvbmx5IHBvdGVudGlhbCBib29raW5nc1xuICAgIGlmICh0aGlzLmJvb2tpbmdDaGVjayA9PT0gQm9va2luZ0NoZWNrVHlwZS5CT09LSU5HU19BTkRfQkFTRSkge1xuICAgICAgdXNlckxvY2F0aW9ucyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYm9va2luZ0NoZWNrID09PSBCb29raW5nQ2hlY2tUeXBlLlBPU1NJQkxFX0JPT0tJTkdTKSB7XG4gICAgICB0aGlzLnNlcnZpY2VJZHMgPSB0aGlzLnNlcnZpY2VJZHMgJiYgdGhpcy5zZXJ2aWNlSWRzLmxlbmd0aCA/IHRoaXMuc2VydmljZUlkcyA6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYm9va2FibGVTZXJ2aWNlcycpKTtcbiAgICAgIHVzZXJMb2NhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Jvb2thYmxlVXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9XG4gICAgLy8gZ2V0IGFsbCBsb2NhdGlvbnMgd2lsbCByZXNvbHZlIGZpbHRlciBzZXR0aW5nIHVzaW5nIG9iamVjdHMgYWJvdmVcbiAgICAvLyBpZiBubyB1c2VyTG9jYXRpb25zLCBOT19DSEVDS1xuICAgIC8vIGlmIGp1c3QgZ2V0dGluZyBhbGwgc3Vic3RhbnRpdmUgdXNlciBsb2NhdGlvbnMsIEJPT0tJTkdTX0FORF9CQVNFXG4gICAgLy8gZmVlIHBhaWQgdXNlciBsb2NhdGlvbnMgYXJlIHVzZWQgZm9yIFBPU1NJQkxFX0JPT0tJTkdTXG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyhTZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5hbGxMb2NhdGlvbkFQSSwgdGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSwgdXNlckxvY2F0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhcbiAgICBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdLFxuICAgIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSxcbiAgICBzaW5nbGVNb2RlOiBib29sZWFuXG4gICk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAoc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIGlkPVwiaW5wdXRMb2NhdGlvblNlYXJjaFwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFRlcm1Gb3JtQ29udHJvbFwiXG4gICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvU2VhcmNoTG9jYXRpb25cIlxuICAgIGNsYXNzPVwiZ292dWstaW5wdXRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1leHRlbmRcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9TZWFyY2hMb2NhdGlvbj1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZExpc3QkIHwgYXN5bmMgYXMgZmlsdGVyZWRMaXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRMaXN0ICYmIGZpbHRlcmVkTGlzdC5sZW5ndGggPj0gMFwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbG9jYXRpb24gb2YgZmlsdGVyZWRMaXN0XCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0ZWRMb2NhdGlvbihsb2NhdGlvbilcIj5cbiAgICAgICAgICB7eyBsb2NhdGlvbltwcm9wZXJ0eU5hbWVGaWx0ZXJdIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmaWx0ZXJlZExpc3QubGVuZ3RoID09PSAwXCI+e3snTm8gcmVzdWx0cyBmb3VuZCcgfCBycHhUcmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -314,7 +314,7 @@ export class SelectedCaseComponent {
|
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
SelectedCaseComponent.ɵfac = function SelectedCaseComponent_Factory(t) { return new (t || SelectedCaseComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService)); };
|
|
317
|
-
SelectedCaseComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 18, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-
|
|
317
|
+
SelectedCaseComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 18, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-controls", "accordion-with-summary-sections-content-1", "aria-describedby", "accordion-with-summary-sections-summary-1", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], ["aria-labelledby", "buildElementId('accordion-with-summary-sections-heading')", 1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "id", "click"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "javascript:void(0);", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "javascript:void(0);", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
|
|
318
318
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
|
|
319
319
|
i0.ɵɵtext(4);
|
|
320
320
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
@@ -358,10 +358,10 @@ SelectedCaseComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Selec
|
|
|
358
358
|
i0.ɵɵproperty("ngIf", ctx.showUserHasAccessInfo());
|
|
359
359
|
i0.ɵɵadvance(1);
|
|
360
360
|
i0.ɵɵproperty("ngIf", ctx.showUserAccessTable());
|
|
361
|
-
} }, dependencies: [i2.NgForOf, i2.NgIf, i2.AsyncPipe, i3.RpxTranslatePipe], styles: [".govuk-case-header[_ngcontent-%COMP%]{border-top:1px solid #bfc1c3}.govuk-case-title[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row[_ngcontent-%COMP%]{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters[_ngcontent-%COMP%]{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header[_ngcontent-%COMP%]{width:38%}.govuk-table-column-actions[_ngcontent-%COMP%], .govuk-table-column-label[_ngcontent-%COMP%]{width:12%}.govuk-div-align-left[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header[_ngcontent-%COMP%]{border-top:0}.govuk-accordion__section-content[_ngcontent-%COMP%]{padding-top:0}"] });
|
|
361
|
+
} }, dependencies: [i2.NgForOf, i2.NgIf, i2.AsyncPipe, i3.RpxTranslatePipe], styles: [".govuk-case-header[_ngcontent-%COMP%]{border-top:1px solid #bfc1c3}.govuk-case-title[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row[_ngcontent-%COMP%]{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters[_ngcontent-%COMP%]{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent[_ngcontent-%COMP%]{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header[_ngcontent-%COMP%]{width:38%}.govuk-table-column-actions[_ngcontent-%COMP%], .govuk-table-column-label[_ngcontent-%COMP%]{width:12%}.govuk-div-align-left[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header[_ngcontent-%COMP%]{border-top:0}.govuk-accordion__section-content[_ngcontent-%COMP%]{padding-top:0}.govuk-accordion__section-heading[_ngcontent-%COMP%], .govuk-accordion__section-button[_ngcontent-%COMP%]{border-top:0}"] });
|
|
362
362
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectedCaseComponent, [{
|
|
363
363
|
type: Component,
|
|
364
|
-
args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\n <div class=\"govuk-grid-row govuk-case-header\">\n <div class=\"govuk-grid-column-three-quarters\">\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h1>\n </div>\n <div class=\"govuk-grid-column-
|
|
364
|
+
args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\r\n <div class=\"govuk-grid-row govuk-case-header\">\r\n <div class=\"govuk-grid-column-three-quarters\">\r\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\r\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h1>\r\n </div>\r\n <div class=\"govuk-grid-column-ten-percent\">\r\n <button *ngIf=\"caseCount > 1\"\r\n id=\"{{buildElementId('btn-deselect-case')}}\"\r\n class=\"govuk-button hmcts-button--secondary\"\r\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\r\n {{'Deselect case' | rpxTranslate}}\r\n </button>\r\n </div>\r\n <div class=\"govuk-accordion__section-header govuk-grid-column-ten-percent\">\r\n <div class=\"govuk-accordion__section-heading\">\r\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\r\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\r\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\r\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\r\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\r\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\r\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\r\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\r\n <thead class=\"govuk-table__head\">\r\n <tr class=\"govuk-table__row\">\r\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"govuk-table__body\">\r\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\r\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\r\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\r\n <td class=\"govuk-table__cell\">\r\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\r\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\r\n </td>\r\n <td class=\"govuk-table__cell\">\r\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\r\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}.govuk-accordion__section-heading,.govuk-accordion__section-button{border-top:0}\n"] }]
|
|
365
365
|
}], function () { return [{ type: i1.CaseSharingStateService }]; }, { sharedCase: [{
|
|
366
366
|
type: Input
|
|
367
367
|
}], selectedUser: [{
|
|
@@ -377,4 +377,4 @@ SelectedCaseComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Selec
|
|
|
377
377
|
}], synchronizeStore: [{
|
|
378
378
|
type: Output
|
|
379
379
|
}] }); })();
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxzS0FBUyxlQUFBLG9DQUFzQixDQUFBLElBQUM7SUFDaEMsWUFDRjs7SUFBQSxpQkFBUzs7O0lBSlAsMEVBQTRDO0lBRzVDLGVBQ0Y7SUFERSxzRUFDRjs7O0lBYUYsK0JBQTRELGVBQUE7SUFFeEQsWUFDRjs7SUFBQSxpQkFBTyxFQUFBOzs7SUFGRCxlQUE4QztJQUE5Qyw0RUFBOEM7SUFDbEQsZUFDRjtJQURFLDRIQUNGOzs7SUFFRiwrQkFBNEQsZUFBQTtJQUV4RCxZQUNGOztJQUFBLGlCQUFPLEVBQUE7OztJQUZELGVBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxlQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQXNIO0lBQWhFLDJOQUFTLGVBQUEsNkNBQTBCLENBQUEsSUFBQztJQUE0QixZQUE0Qjs7SUFBQSxnQ0FBb0M7SUFBQSxZQUF5RTs7SUFBQSxpQkFBTyxFQUFBOzs7SUFBaEosZUFBNEI7SUFBNUIsOERB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ZUFBNkI7UUFBN0Isa0RBQTZCO1FBSzlCLGVBQTJCO1FBQTNCLGdEQUEyQjs7dUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7MEVBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VsZWN0ZWQtY2FzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkQ2FzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkVXNlcjogVXNlckRldGFpbHM7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUNvdW50OiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVkQ2FzZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzeW5jaHJvbml6ZVN0b3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIHNoYXJlQ2FzZXM6IFNoYXJlZENhc2VbXTtcbiAgcHVibGljIHNoYXJlQ2FzZXMkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG5cbiAgcHVibGljIGNvbWJpbmVkU29ydGVkU2hhcmVzOiBVc2VyRGV0YWlsc1tdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVDYXNlcyQgPSB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZTtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkLnN1YnNjcmliZShzaGFyZUNhc2VzID0+IHRoaXMuc2hhcmVDYXNlcyA9IHNoYXJlQ2FzZXMpO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNoYXJlZENhc2UpIHtcbiAgICAgIGNvbnN0IHNoYXJlZFdpdGggPSB0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCA/IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoIDogW107XG4gICAgICBjb25zdCBwZW5kaW5nU2hhcmVzID0gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPyB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA6IFtdO1xuICAgICAgdGhpcy5jb21iaW5lZFNvcnRlZFNoYXJlcyA9IHRoaXMuY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aCwgcGVuZGluZ1NoYXJlcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVzZWxlY3QoYzogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdChjKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5VXNlcklkKHVzZXI6IFVzZXJEZXRhaWxzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXNlci5pZGFtSWQ7XG4gIH1cblxuICBwdWJsaWMgY2FuUmVtb3ZlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGlmICh0aGlzLnJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uKSB7XG4gICAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhQ2FzZS5zaGFyZWRXaXRoICYmIGFDYXNlLnNoYXJlZFdpdGguc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGNhbkNhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVSZW1vdmVkKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNUb0JlQWRkZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1NoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nU2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlKHVzZXI6IFVzZXJEZXRhaWxzLCBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdFVuc2hhcmUodXNlciwgc2hhcmVkQ2FzZS5jYXNlSWQpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0Q2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKTtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdCh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIHNob3dOb1VzZXJzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICAvLyBBIHVzZXIgaXMgYWRkZWQgdG8gYSBjYXNlXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEEgY2FzZSBoYXMgMCB1c2VycyB3aXRoIGFjY2VzcyB0byBpdFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCkge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQWNjZXNzIHRvIHRoZSBsYXN0IHVzZXIgaXMgcmVtb3ZlZFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGggPiAwXG4gICAgICAgICYmIHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VXNlckhhc0FjY2Vzc0luZm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnNob3dOb1VzZXJzQWNjZXNzSW5mbygpO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VyQWNjZXNzVGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNvbWJpbmVBbmRTb3J0U2hhcmVzKHNoYXJlZFdpdGg6IFVzZXJEZXRhaWxzW10sIHBlbmRpbmdTaGFyZXM6IFVzZXJEZXRhaWxzW10pOiBVc2VyRGV0YWlsc1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc2hhcmVkV2l0aCxcbiAgICAgIC4uLnBlbmRpbmdTaGFyZXNcbiAgICBdLnNvcnQoKHVzZXIxLCB1c2VyMikgPT4ge1xuICAgICAgcmV0dXJuIHVzZXIxLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAxIDogKHVzZXIyLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVzZXJJZFNldHRlcihpc1BlbmRpbmc6IGJvb2xlYW4sIGlkOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc1BlbmRpbmcgPyBgcGVuZGluZ1NoYXJlcy0ke2lkfWAgOiBgJHtpZH1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRWxlbWVudElkKGVsZW1lbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtlbGVtZW50TmFtZX0tJHt0aGlzLnNoYXJlZENhc2UuY2FzZUlkfWA7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24nKX19XCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb25cIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93IGdvdnVrLWNhc2UtaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXRocmVlLXF1YXJ0ZXJzXCI+XG4gICAgICA8aDMgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLXRpdGxlJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS10aXRsZVwiPnt7IHNoYXJlZENhc2UuY2FzZVRpdGxlIHwgcnB4VHJhbnNsYXRlIH19PC9oMz5cbiAgICAgIDxoMSBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2Nhc2UtaWQnKX19XCIgY2xhc3M9XCJnb3Z1ay1jYXNlLXN1Yi10aXRsZVwiPnt7IHNoYXJlZENhc2UuY2FzZUlkIHwgcnB4VHJhbnNsYXRlIH19PC9oMT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tdHdlbnR5LXBlcmNlbnRcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJjYXNlQ291bnQgPiAxXCJcbiAgICAgICAgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdidG4tZGVzZWxlY3QtY2FzZScpfX1cIlxuICAgICAgICBjbGFzcz1cImdvdnVrLWJ1dHRvbiBobWN0cy1idXR0b24tLXNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJvbkRlc2VsZWN0KHNoYXJlZENhc2UpXCIgdGl0bGU9XCJEZXNlbGVjdCBjYXNlXCI+XG4gICAgICAgIHt7J0Rlc2VsZWN0IGNhc2UnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIGdvdnVrLWdyaWQtY29sdW1uLWZpdmUtcGVyY2VudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkaW5nXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJyl9fVwiXG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWNvbnRlbnQtMVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLXN1bW1hcnktMVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIFt0aXRsZV09XCInRXhwYW5kIG9yIENvbGxhcHNlJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtY29udGVudCcpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50XCJcbiAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJylcIiA+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKVwiPlxuICAgICAgPHNwYW4gaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY2Nlc3MtaW5mby1uby11c2VyJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cbiAgICAgICAge3snTm8gdXNlcnMgZnJvbSB5b3VyIG9yZ2FuaXNhdGlvbiBjdXJyZW50bHkgaGF2ZSBhY2Nlc3MgdG8gdGhpcyBjYXNlLicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiICpuZ0lmPVwic2hvd1VzZXJIYXNBY2Nlc3NJbmZvKClcIj5cbiAgICAgIDxzcGFuIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjZXNzLWluZm8taGFzLXVzZXJzJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cbiAgICAgICAge3snVXNlcnMgZnJvbSB5b3VyIG9yZ2FuaXNhdGlvbiB3aXRoIGFjY2VzcyB0byB0aGlzIGNhc2UuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cInNob3dVc2VyQWNjZXNzVGFibGUoKVwiPlxuICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbmFtZS1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4taGVhZGVyXCIgc2NvcGU9XCJjb2xcIj57eydOYW1lJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnZW1haWwtaGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWhlYWRlclwiIHNjb3BlPVwiY29sXCI+e3snRW1haWwgYWRkcmVzcycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjdGlvbi1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4tYWN0aW9uc1wiIHNjb3BlPVwiY29sXCI+e3snQWN0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2xhYmVsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1sYWJlbFwiIHNjb3BlPVwiY29sXCI+e3sgJ1N0YXR1cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IHVzZXIgb2YgY29tYmluZWRTb3J0ZWRTaGFyZXM7IGluZGV4IGFzIGlkeDsgdHJhY2tCeTogdHJhY2tCeVVzZXJJZFwiPlxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZnVsbC1uYW1lLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8dGQgaWQ9XCJ1c2VyLWVtYWlsLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5lbWFpbCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuUmVtb3ZlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uUmVtb3ZlKHVzZXIsIHNoYXJlZENhc2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eydSZW1vdmUnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3snZnJvbSBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuQ2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKHVzZXIsIHNoYXJlZENhc2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eydDYW5jZWwnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydhZGRpbmcnIHwgcnB4VHJhbnNsYXRlfX0ge3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19IHt7J3RvIGNhc2UnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9hPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNUb0JlUmVtb3ZlZChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luY1wiIGNsYXNzPVwiaG1jdHMtYmFkZ2UgaG1jdHMtYmFkZ2UtLXJlZFwiPnt7J1RvIGJlIHJlbW92ZWQnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG9CZUFkZGVkKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgY2xhc3M9XCJobWN0cy1iYWRnZVwiPnt7J1RvIGJlIGFkZGVkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxzS0FBUyxlQUFBLG9DQUFzQixDQUFBLElBQUM7SUFDaEMsWUFDRjs7SUFBQSxpQkFBUzs7O0lBSlAsMEVBQTRDO0lBRzVDLGVBQ0Y7SUFERSxzRUFDRjs7O0lBYUYsK0JBQTRELGVBQUE7SUFFeEQsWUFDRjs7SUFBQSxpQkFBTyxFQUFBOzs7SUFGRCxlQUE4QztJQUE5Qyw0RUFBOEM7SUFDbEQsZUFDRjtJQURFLDRIQUNGOzs7SUFFRiwrQkFBNEQsZUFBQTtJQUV4RCxZQUNGOztJQUFBLGlCQUFPLEVBQUE7OztJQUZELGVBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxlQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQXNIO0lBQWhFLDJOQUFTLGVBQUEsNkNBQTBCLENBQUEsSUFBQztJQUE0QixZQUE0Qjs7SUFBQSxnQ0FBb0M7SUFBQSxZQUF5RTs7SUFBQSxpQkFBTyxFQUFBOzs7SUFBaEosZUFBNEI7SUFBNUIsOERB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ZUFBNkI7UUFBN0Isa0RBQTZCO1FBSzlCLGVBQTJCO1FBQTNCLGdEQUEyQjs7dUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7MEVBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VsZWN0ZWQtY2FzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkQ2FzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkVXNlcjogVXNlckRldGFpbHM7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUNvdW50OiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVkQ2FzZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzeW5jaHJvbml6ZVN0b3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIHNoYXJlQ2FzZXM6IFNoYXJlZENhc2VbXTtcbiAgcHVibGljIHNoYXJlQ2FzZXMkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG5cbiAgcHVibGljIGNvbWJpbmVkU29ydGVkU2hhcmVzOiBVc2VyRGV0YWlsc1tdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVDYXNlcyQgPSB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZTtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkLnN1YnNjcmliZShzaGFyZUNhc2VzID0+IHRoaXMuc2hhcmVDYXNlcyA9IHNoYXJlQ2FzZXMpO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNoYXJlZENhc2UpIHtcbiAgICAgIGNvbnN0IHNoYXJlZFdpdGggPSB0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCA/IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoIDogW107XG4gICAgICBjb25zdCBwZW5kaW5nU2hhcmVzID0gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPyB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA6IFtdO1xuICAgICAgdGhpcy5jb21iaW5lZFNvcnRlZFNoYXJlcyA9IHRoaXMuY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aCwgcGVuZGluZ1NoYXJlcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVzZWxlY3QoYzogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdChjKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5VXNlcklkKHVzZXI6IFVzZXJEZXRhaWxzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXNlci5pZGFtSWQ7XG4gIH1cblxuICBwdWJsaWMgY2FuUmVtb3ZlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGlmICh0aGlzLnJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uKSB7XG4gICAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhQ2FzZS5zaGFyZWRXaXRoICYmIGFDYXNlLnNoYXJlZFdpdGguc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGNhbkNhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVSZW1vdmVkKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNUb0JlQWRkZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1NoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nU2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlKHVzZXI6IFVzZXJEZXRhaWxzLCBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdFVuc2hhcmUodXNlciwgc2hhcmVkQ2FzZS5jYXNlSWQpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0Q2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKTtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdCh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIHNob3dOb1VzZXJzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICAvLyBBIHVzZXIgaXMgYWRkZWQgdG8gYSBjYXNlXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEEgY2FzZSBoYXMgMCB1c2VycyB3aXRoIGFjY2VzcyB0byBpdFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCkge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQWNjZXNzIHRvIHRoZSBsYXN0IHVzZXIgaXMgcmVtb3ZlZFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGggPiAwXG4gICAgICAgICYmIHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VXNlckhhc0FjY2Vzc0luZm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnNob3dOb1VzZXJzQWNjZXNzSW5mbygpO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VyQWNjZXNzVGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNvbWJpbmVBbmRTb3J0U2hhcmVzKHNoYXJlZFdpdGg6IFVzZXJEZXRhaWxzW10sIHBlbmRpbmdTaGFyZXM6IFVzZXJEZXRhaWxzW10pOiBVc2VyRGV0YWlsc1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc2hhcmVkV2l0aCxcbiAgICAgIC4uLnBlbmRpbmdTaGFyZXNcbiAgICBdLnNvcnQoKHVzZXIxLCB1c2VyMikgPT4ge1xuICAgICAgcmV0dXJuIHVzZXIxLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAxIDogKHVzZXIyLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVzZXJJZFNldHRlcihpc1BlbmRpbmc6IGJvb2xlYW4sIGlkOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc1BlbmRpbmcgPyBgcGVuZGluZ1NoYXJlcy0ke2lkfWAgOiBgJHtpZH1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRWxlbWVudElkKGVsZW1lbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtlbGVtZW50TmFtZX0tJHt0aGlzLnNoYXJlZENhc2UuY2FzZUlkfWA7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24nKX19XCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3cgZ292dWstY2FzZS1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10aHJlZS1xdWFydGVyc1wiPlxyXG4gICAgICA8aDMgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLXRpdGxlJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS10aXRsZVwiPnt7IHNoYXJlZENhc2UuY2FzZVRpdGxlIHwgcnB4VHJhbnNsYXRlIH19PC9oMz5cclxuICAgICAgPGgxIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnY2FzZS1pZCcpfX1cIiBjbGFzcz1cImdvdnVrLWNhc2Utc3ViLXRpdGxlXCI+e3sgc2hhcmVkQ2FzZS5jYXNlSWQgfCBycHhUcmFuc2xhdGUgfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tdGVuLXBlcmNlbnRcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhc2VDb3VudCA+IDFcIlxyXG4gICAgICAgIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYnRuLWRlc2VsZWN0LWNhc2UnKX19XCJcclxuICAgICAgICBjbGFzcz1cImdvdnVrLWJ1dHRvbiBobWN0cy1idXR0b24tLXNlY29uZGFyeVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRGVzZWxlY3Qoc2hhcmVkQ2FzZSlcIiB0aXRsZT1cIkRlc2VsZWN0IGNhc2VcIj5cclxuICAgICAgICB7eydEZXNlbGVjdCBjYXNlJyB8IHJweFRyYW5zbGF0ZX19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRlciBnb3Z1ay1ncmlkLWNvbHVtbi10ZW4tcGVyY2VudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmdcIj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtaGVhZGluZycpfX1cIlxyXG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWNvbnRlbnQtMVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cImFjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtc3VtbWFyeS0xXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgW3RpdGxlXT1cIidFeHBhbmQgb3IgQ29sbGFwc2UnIHwgcnB4VHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtY29udGVudCcpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50XCJcclxuICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImJ1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWhlYWRpbmcnKVwiID5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiICpuZ0lmPVwic2hvd05vVXNlcnNBY2Nlc3NJbmZvKClcIj5cclxuICAgICAgPHNwYW4gaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY2Nlc3MtaW5mby1uby11c2VyJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cclxuICAgICAgICB7eydObyB1c2VycyBmcm9tIHlvdXIgb3JnYW5pc2F0aW9uIGN1cnJlbnRseSBoYXZlIGFjY2VzcyB0byB0aGlzIGNhc2UuJyB8IHJweFRyYW5zbGF0ZX19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93VXNlckhhc0FjY2Vzc0luZm8oKVwiPlxyXG4gICAgICA8c3BhbiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY2Vzcy1pbmZvLWhhcy11c2VycycpfX1cIiBjbGFzcz1cImdvdnVrLWRpdi1hbGlnbi1sZWZ0XCI+XHJcbiAgICAgICAge3snVXNlcnMgZnJvbSB5b3VyIG9yZ2FuaXNhdGlvbiB3aXRoIGFjY2VzcyB0byB0aGlzIGNhc2UuJyB8IHJweFRyYW5zbGF0ZX19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cInNob3dVc2VyQWNjZXNzVGFibGUoKVwiPlxyXG4gICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxyXG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XHJcbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbmFtZS1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4taGVhZGVyXCIgc2NvcGU9XCJjb2xcIj57eydOYW1lJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdlbWFpbC1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4taGVhZGVyXCIgc2NvcGU9XCJjb2xcIj57eydFbWFpbCBhZGRyZXNzJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY3Rpb24taGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWFjdGlvbnNcIiBzY29wZT1cImNvbFwiPnt7J0FjdGlvbnMnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2xhYmVsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1sYWJlbFwiIHNjb3BlPVwiY29sXCI+e3sgJ1N0YXR1cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICA8L3RyPlxyXG4gICAgICA8L3RoZWFkPlxyXG4gICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxyXG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdXNlciBvZiBjb21iaW5lZFNvcnRlZFNoYXJlczsgaW5kZXggYXMgaWR4OyB0cmFja0J5OiB0cmFja0J5VXNlcklkXCI+XHJcbiAgICAgICAgICA8dGQgaWQ9XCJ1c2VyLWZ1bGwtbmFtZS17eyB1c2VySWRTZXR0ZXIoY2FuQ2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jLCBpZHgpIH19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHVzZXIuZmlyc3ROYW1lICsgJyAnICsgdXNlci5sYXN0TmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICA8dGQgaWQ9XCJ1c2VyLWVtYWlsLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5lbWFpbCB9fTwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxyXG4gICAgICAgICAgICA8YSAqbmdJZj1cImNhblJlbW92ZShzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luY1wiIChjbGljayk9XCJvblJlbW92ZSh1c2VyLCBzaGFyZWRDYXNlKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+e3snUmVtb3ZlJyB8IHJweFRyYW5zbGF0ZX19IDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19IHt7J2Zyb20gY2FzZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuQ2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKHVzZXIsIHNoYXJlZENhc2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eydDYW5jZWwnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydhZGRpbmcnIHwgcnB4VHJhbnNsYXRlfX0ge3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19IHt7J3RvIGNhc2UnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9hPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNUb0JlUmVtb3ZlZChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luY1wiIGNsYXNzPVwiaG1jdHMtYmFkZ2UgaG1jdHMtYmFkZ2UtLXJlZFwiPnt7J1RvIGJlIHJlbW92ZWQnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNUb0JlQWRkZWQoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmNcIiBjbGFzcz1cImhtY3RzLWJhZGdlXCI+e3snVG8gYmUgYWRkZWQnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|