@reusa/ngx-reusa-app-lib 0.0.1300 → 0.0.1302
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +14 -10
- package/esm2022/lib/components/address/address.component.mjs +26 -8
- package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +29 -10
- package/esm2022/lib/components/history-page/history-page.component.mjs +9 -6
- package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +8 -2
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +7 -6
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +40 -36
- package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
- package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
- package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +804 -0
- package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
- package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
- package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
- package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
- package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
- package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +683 -0
- package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
- package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
- package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
- package/esm2022/lib/models/HelpConstants.mjs +5 -0
- package/esm2022/lib/models/combo-model.mjs +343 -0
- package/esm2022/lib/models/fileupload/FileObjectArray.mjs +1 -1
- package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
- package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
- package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
- package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
- package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
- package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
- package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
- package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +30 -8
- package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
- package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +214 -0
- package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
- package/esm2022/lib/validations/AppValidators.mjs +36 -1
- package/esm2022/public-api.mjs +15 -1
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +6723 -965
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-participant/add-participant.component.d.ts +1 -0
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
- package/lib/components/address/address.component.d.ts +6 -3
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/address-suggestion/address-suggestion.component.d.ts +5 -2
- package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -1
- package/lib/components/history-page/history-page.component.d.ts +1 -0
- package/lib/components/history-page/history-page.component.d.ts.map +1 -1
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +2 -1
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +2 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-certification/weekly-certification.component.d.ts +99 -0
- package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
- package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
- package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +69 -0
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
- package/lib/models/HelpConstants.d.ts +5 -0
- package/lib/models/HelpConstants.d.ts.map +1 -0
- package/lib/models/combo-model.d.ts +42 -0
- package/lib/models/combo-model.d.ts.map +1 -0
- package/lib/models/fileupload/FileObjectArray.d.ts +1 -0
- package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -1
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
- package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
- package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
- package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
- package/lib/ngx-reusa-app-lib.module.d.ts +74 -61
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
- package/lib/services/weekly-cert/review.service.d.ts +23 -0
- package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +59 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
- package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
- package/lib/validations/AppValidators.d.ts +11 -0
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +14 -0
- package/public-api.d.ts.map +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, EventEmitter, Output } from '@angular/core';
|
|
2
2
|
import { ComboOption } from '../../models/questionnaire/ComboModel';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../services/address-validation-service/address-validation.service";
|
|
@@ -103,19 +103,22 @@ export class AddressSuggestionComponent {
|
|
|
103
103
|
constructor(addrSvc) {
|
|
104
104
|
this.addrSvc = addrSvc;
|
|
105
105
|
this.choices = [];
|
|
106
|
-
this.
|
|
107
|
-
// @Output() lastValidAddress = new EventEmitter<any>();
|
|
106
|
+
this.checkFormIsBlur = new EventEmitter();
|
|
108
107
|
this.picked = null;
|
|
109
108
|
this.showInlineError = false;
|
|
110
109
|
this.msuaCount = 0;
|
|
111
110
|
this.aunrCount = 0;
|
|
112
111
|
}
|
|
113
112
|
ngOnInit() {
|
|
114
|
-
|
|
113
|
+
this.checkFormIsBlur.emit();
|
|
114
|
+
if (this.formBlur && this.form.valid) {
|
|
115
115
|
this.getValidateAddress(true);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
getValidateAddress(initialValidation) {
|
|
119
|
+
let checkIfValidateCorrectAddress = (((this.formName === 'resAddress' || this.formName === 'resAdress') && this.diffMailAddressFlag === false) || (this.formName === 'mailAddress' && this.diffMailAddressFlag === true) || (this.standaloneAddressForm === true));
|
|
120
|
+
if (!checkIfValidateCorrectAddress)
|
|
121
|
+
return;
|
|
119
122
|
if (!initialValidation && this.form.pristine === true)
|
|
120
123
|
return;
|
|
121
124
|
if (this.msuaCount >= 2) {
|
|
@@ -132,14 +135,24 @@ export class AddressSuggestionComponent {
|
|
|
132
135
|
this.setIsAddressValideController(res.isAddressValidated);
|
|
133
136
|
if (this.isAddressValid === '1') {
|
|
134
137
|
this.lastValidAddress = res.lastValidatedAddress;
|
|
138
|
+
this.setIsAddressValideController('1');
|
|
139
|
+
}
|
|
140
|
+
else if (this.isAddressValid === '0') {
|
|
141
|
+
this.setIsAddressValideController('0');
|
|
135
142
|
}
|
|
136
143
|
if (res.lastValidateResult === "MUSA") {
|
|
137
144
|
this.msuaCount += 1;
|
|
138
145
|
this.aunrCount = 0;
|
|
146
|
+
this.setIsAddressValideController('0');
|
|
139
147
|
}
|
|
140
148
|
if (res.lastValidateResult === "AUNR") {
|
|
141
149
|
this.aunrCount += 1;
|
|
142
150
|
this.msuaCount = 0;
|
|
151
|
+
this.setIsAddressValideController('0');
|
|
152
|
+
}
|
|
153
|
+
console.log("THIS IS validate result", res.lastValidateResult);
|
|
154
|
+
if (res.lastValidateResult === "NREC") {
|
|
155
|
+
this.setIsAddressValideController('1');
|
|
143
156
|
}
|
|
144
157
|
if (res.showPopup === true) {
|
|
145
158
|
this.setIsAddressValideController('1');
|
|
@@ -199,8 +212,8 @@ export class AddressSuggestionComponent {
|
|
|
199
212
|
}
|
|
200
213
|
setIsAddressValideController(flag) {
|
|
201
214
|
this.isAddressValid = flag;
|
|
202
|
-
if (this.form
|
|
203
|
-
this.form.controls['hidIsAddressValidated'].setValue(this.isAddressValid);
|
|
215
|
+
if (this.questionaireForm?.form?.controls['hidIsAddressValidated']) {
|
|
216
|
+
this.questionaireForm.form.controls['hidIsAddressValidated'].setValue(this.isAddressValid);
|
|
204
217
|
}
|
|
205
218
|
}
|
|
206
219
|
mapAddress(sel, isOrigin) {
|
|
@@ -228,17 +241,17 @@ export class AddressSuggestionComponent {
|
|
|
228
241
|
}
|
|
229
242
|
}
|
|
230
243
|
static { this.ɵfac = function AddressSuggestionComponent_Factory(t) { return new (t || AddressSuggestionComponent)(i0.ɵɵdirectiveInject(i1.AddressValidationService)); }; }
|
|
231
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressSuggestionComponent, selectors: [["app-address-suggestion"]], inputs: { original: "original", choices: "choices", form: "form", formName: "formName", diffMailAddressFlag: "diffMailAddressFlag", formBlur: "formBlur" }, decls: 2, vars: 2, consts: [["styleClass", "red-header", 3, "activeIndex", "onOpen", "onClose", 4, "ngIf"], ["class", "error-banner", 4, "ngIf"], ["styleClass", "red-header", 3, "activeIndex", "onOpen", "onClose"], ["pTemplate", "header"], ["pTemplate", "content"], [3, "ngModel", "ngModelChange", "ionChange"], [1, "label-heading"], ["slot", "start", 3, "value"], ["lines", "none"], [4, "ngFor", "ngForOf"], [1, "error-banner"], ["name", "alert-circle-outline", 2, "color", "var(--ion-color-danger)", "font-size", "18px", "margin-right", "8px"]], template: function AddressSuggestionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
244
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressSuggestionComponent, selectors: [["app-address-suggestion"]], inputs: { original: "original", choices: "choices", form: "form", formName: "formName", diffMailAddressFlag: "diffMailAddressFlag", formBlur: "formBlur", standaloneAddressForm: "standaloneAddressForm", questionaireForm: "questionaireForm" }, outputs: { checkFormIsBlur: "checkFormIsBlur" }, decls: 2, vars: 2, consts: [["styleClass", "red-header", 3, "activeIndex", "onOpen", "onClose", 4, "ngIf"], ["class", "error-banner", 4, "ngIf"], ["styleClass", "red-header", 3, "activeIndex", "onOpen", "onClose"], ["pTemplate", "header"], ["pTemplate", "content"], [3, "ngModel", "ngModelChange", "ionChange"], [1, "label-heading"], ["slot", "start", 3, "value"], ["lines", "none"], [4, "ngFor", "ngForOf"], [1, "error-banner"], ["name", "alert-circle-outline", 2, "color", "var(--ion-color-danger)", "font-size", "18px", "margin-right", "8px"]], template: function AddressSuggestionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
232
245
|
i0.ɵɵtemplate(0, AddressSuggestionComponent_p_accordion_0_Template, 4, 1, "p-accordion", 0)(1, AddressSuggestionComponent_div_1_Template, 4, 1, "div", 1);
|
|
233
246
|
} if (rf & 2) {
|
|
234
|
-
i0.ɵɵproperty("ngIf", ctx.showAccordion && ctx.form.valid
|
|
247
|
+
i0.ɵɵproperty("ngIf", ctx.showAccordion && ctx.form.valid);
|
|
235
248
|
i0.ɵɵadvance(1);
|
|
236
249
|
i0.ɵɵproperty("ngIf", ctx.showInlineError && !ctx.showAccordion && ctx.msuaCount < 2 && ctx.aunrCount < 2);
|
|
237
250
|
} }, dependencies: [i2.IonIcon, i2.IonItem, i2.IonLabel, i2.IonRadio, i2.IonRadioGroup, i2.RadioValueAccessor, i2.SelectValueAccessor, i3.NgForOf, i3.NgIf, i4.PrimeTemplate, i5.NgControlStatus, i5.NgModel, i6.Accordion, i6.AccordionTab], styles: ["[_nghost-%COMP%] .red-header .p-accordion-header-link{color:var(--ion-color-danger)}.error-banner[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:8px 12px;margin-bottom:10px;font-size:14px}.hide-element[_ngcontent-%COMP%]{visibility:hidden}"] }); }
|
|
238
251
|
}
|
|
239
252
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressSuggestionComponent, [{
|
|
240
253
|
type: Component,
|
|
241
|
-
args: [{ selector: 'app-address-suggestion', template: "<p-accordion *ngIf=\"showAccordion && (form.valid)
|
|
254
|
+
args: [{ selector: 'app-address-suggestion', template: "<p-accordion *ngIf=\"showAccordion && (form.valid)\" (onOpen)=\"tabOpen()\" (onClose)=\"tabClose()\" [activeIndex]=\"addressSelected\" styleClass=\"red-header\">\r\n <p-accordionTab >\r\n \r\n <ng-template pTemplate=\"header\" >\r\n Address Validation\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div *ngIf=\"showInlineError\" class=\"error-banner\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"color: var(--ion-color-danger); font-size: 18px; margin-right: 8px;\"></ion-icon>\r\n <span>{{ errorText }}</span>\r\n </div>\r\n <p>The U.S. Postal Service has recommended changes to your address. Select the address you want to use:</p>\r\n <ion-radio-group [(ngModel)]=\"picked\" (ionChange)=\"selectionChanged($event)\">\r\n <div class=\"label-heading\">You Entered:</div>\r\n <ion-item>\r\n <ion-radio slot=\"start\" [value]=\"original\"></ion-radio>\r\n <ion-label>\r\n {{ original.line1 }}, {{ original.line2 }}<br />\r\n {{ original.city }}, {{ original.state }}, {{ original.zipCode }} {{ original.country }}\r\n </ion-label>\r\n </ion-item>\r\n <ion-item lines=\"none\">\r\n <ion-label>\r\n <strong class=\"label-heading\">USPS Recommendations:</strong><br />\r\n </ion-label>\r\n </ion-item>\r\n <ion-item *ngFor=\"let c of choices\">\r\n <ion-label>\r\n {{ c.deliveryLine1 }} {{ c.deliveryLine2 }}<br />\r\n {{ c.cityName }}, {{ c.stateAbbrevation }}, {{ c.zipCode }} {{ c.country }}\r\n </ion-label>\r\n <ion-radio slot=\"start\" [value]=\"c\"></ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n </ng-template>\r\n </p-accordionTab>\r\n</p-accordion>\r\n<div *ngIf=\"showInlineError && !showAccordion && msuaCount < 2 && aunrCount < 2\" class=\"error-banner\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"color: var(--ion-color-danger); font-size: 18px; margin-right: 8px;\"></ion-icon>\r\n <span>{{ errorText }}</span>\r\n</div>", styles: [":host ::ng-deep .red-header .p-accordion-header-link{color:var(--ion-color-danger)}.error-banner{display:flex;align-items:center;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:8px 12px;margin-bottom:10px;font-size:14px}.hide-element{visibility:hidden}\n"] }]
|
|
242
255
|
}], () => [{ type: i1.AddressValidationService }], { original: [{
|
|
243
256
|
type: Input
|
|
244
257
|
}], choices: [{
|
|
@@ -251,6 +264,12 @@ export class AddressSuggestionComponent {
|
|
|
251
264
|
type: Input
|
|
252
265
|
}], formBlur: [{
|
|
253
266
|
type: Input
|
|
267
|
+
}], standaloneAddressForm: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], questionaireForm: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], checkFormIsBlur: [{
|
|
272
|
+
type: Output
|
|
254
273
|
}] }); })();
|
|
255
274
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressSuggestionComponent, { className: "AddressSuggestionComponent", filePath: "lib\\components\\address-suggestion\\address-suggestion.component.ts", lineNumber: 15 }); })();
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7O0lDSHhELG9DQUNKOzs7SUFFSSwrQkFBa0Q7SUFDOUMsK0JBQTZIO0lBQzdILDRCQUFNO0lBQUEsWUFBZTtJQUFBLGlCQUFPLEVBQUE7OztJQUF0QixlQUFlO0lBQWYsc0NBQWU7OztJQWlCckIsZ0NBQW9DLGdCQUFBO0lBRXhCLFlBQTJDO0lBQUEscUJBQU07SUFDakQsWUFDUjtJQUFBLGlCQUFZO0lBQ1osK0JBQWdEO0lBQ3BELGlCQUFXOzs7SUFKQyxlQUEyQztJQUEzQywyRUFBMkM7SUFDM0MsZUFDUjtJQURRLGtIQUNSO0lBQ3dCLGVBQVc7SUFBWCw0QkFBVzs7OztJQXhCM0MsdUdBR007SUFDTix5QkFBRztJQUFBLG9IQUFvRztJQUFBLGlCQUFJO0lBQzNHLDBDQUE2RTtJQUE1RCx1UUFBb0Isd01BQWMsZUFBQSwrQkFBd0IsQ0FBQSxJQUF0QztJQUNqQyw4QkFBMkI7SUFBQSw0QkFBWTtJQUFBLGlCQUFNO0lBQzdDLGdDQUFVO0lBQ04sK0JBQXVEO0lBQ3ZELGlDQUFXO0lBQ0gsWUFBMEM7SUFBQSxzQkFB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ICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzc1ZhbGlkYXRpb24vQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlQ29tcG9uZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCBhcyBBZGRyUmVjIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3NWYWxpZGF0aW9uL0FkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsJztcclxuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWRkcmVzcy12YWxpZGF0aW9uLXNlcnZpY2UvYWRkcmVzcy12YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkcmVzcy1zdWdnZXN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRyZXNzU3VnZ2VzdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2hvd0FkZHJlc3NTdWdnZXN0aW9uOiBib29sZWFuO1xyXG4gIHNob3dBY2NvcmRpb246Ym9vbGVhbjtcclxuICBASW5wdXQoKSBvcmlnaW5hbDogQWRkcmVzc1ZhbGlkYXRpb25SZXF1ZXN0Q29tcG9uZW50TW9kZWw7XHJcbiAgQElucHV0KCkgY2hvaWNlczogQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWxbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybU5hbWU6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpZmZNYWlsQWRkcmVzc0ZsYWc6Ym9vbGVhbjtcclxuICBASW5wdXQoKSBmb3JtQmx1cjpib29sZWFuID0gdHJ1ZTtcclxuICAvLyBAT3V0cHV0KCkgbGFzdFZhbGlkQWRkcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwaWNrZWQ6IGFueSA9IG51bGw7XHJcbiAgYWRkcmVzc1NlbGVjdGVkO1xyXG4gIGVycm9yVGV4dDogc3RyaW5nO1xyXG4gIHNob3dJbmxpbmVFcnJvciA9IGZhbHNlO1xyXG4gIG1zdWFDb3VudCA9IDA7XHJcbiAgYXVuckNvdW50ID0gMDtcclxuICBpc0FkZHJlc3NWYWxpZDogc3RyaW5nO1xyXG4gIGxhc3RWYWxpZEFkZHJlc3M7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhZGRyU3ZjOiBBZGRyZXNzVmFsaWRhdGlvblNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYodGhpcy5mb3JtQmx1cil7XHJcbiAgICAgIHRoaXMuZ2V0VmFsaWRhdGVBZGRyZXNzKHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBnZXRWYWxpZGF0ZUFkZHJlc3MoaW5pdGlhbFZhbGlkYXRpb246Ym9vbGVhbikge1xyXG4gICAgaWYoIWluaXRpYWxWYWxpZGF0aW9uICYmIHRoaXMuZm9ybS5wcmlzdGluZSA9PT0gdHJ1ZSlyZXR1cm47XHJcbiAgICBpZih0aGlzLm1zdWFDb3VudCA+PSAyKXtcclxuICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5hdW5yQ291bnQgPj0gMil7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWRkclN2Yy52YWxpZGF0ZUFkZHJlc3NQcm9jZXNzKG51bGwsIHRoaXMuZm9ybS52YWx1ZSwgdGhpcy5mb3JtKS50aGVuKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5lcnJvclRleHQgPSByZXMuZXJyb3JUZXh0O1xyXG4gICAgICB0aGlzLnNob3dJbmxpbmVFcnJvciA9IHJlcy5zaG93SW5saW5lRXJyb3I7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcihyZXMuaXNBZGRyZXNzVmFsaWRhdGVkKTtcclxuICAgICAgaWYodGhpcy5pc0FkZHJlc3NWYWxpZCA9PT0gJzEnKXtcclxuICAgICAgICB0aGlzLmxhc3RWYWxpZEFkZHJlc3MgPSByZXMubGFzdFZhbGlkYXRlZEFkZHJlc3M7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdCA9PT0gXCJNVVNBXCIpe1xyXG4gICAgICAgIHRoaXMubXN1YUNvdW50ICs9MTtcclxuICAgICAgICB0aGlzLmF1bnJDb3VudCA9IDA7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdCA9PT0gXCJBVU5SXCIpe1xyXG4gICAgICAgIHRoaXMuYXVuckNvdW50ICs9MTtcclxuICAgICAgICB0aGlzLm1zdWFDb3VudCA9MDtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVzLnNob3dQb3B1cCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMScpO1xyXG4gICAgICAgIHRoaXMuYWRkcmVzc1NlbGVjdGVkID0gMFxyXG4gICAgICAgIHRoaXMuc2hvd0FjY29yZGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVSZWNvbW1lbmRhdGlvbnMocmVzLmFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2UsIHJlcy5hZGRyZXNzVmFsaWRhdGlvblJlcXVlc3QsIHRoaXMuZm9ybSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93QWNjb3JkaW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pLmNhdGNoKChlcnIpPT57XHJcbiAgICAgIHRoaXMuc2hvd0FjY29yZGlvbiA9IGZhbHNlO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHRhYk9wZW4oKXtcclxuICAgIHRoaXMuYWRkcmVzc1NlbGVjdGVkID0gMDtcclxuICB9XHJcblxyXG4gIHRhYkNsb3NlKCl7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmVjb21tZW5kYXRpb25zKHJlczogQWRkcmVzc1ZhbGlkYXRpb25SZXNwb25zZUNvbXBvbmVudE1vZGVsLCByZXE6IEFkZHJlc3NWYWxpZGF0aW9uUmVxdWVzdENvbXBvbmVudE1vZGVsLCBmb3JtQ29tcG5lbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc3VnZ2VzdGlvbnM6IEFkZHJSZWNbXSA9IEFycmF5LmZyb20ocmVzLmFkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsID8/IFtdKTtcclxuICAgIGlmICghc3VnZ2VzdGlvbnMubGVuZ3RoKSByZXR1cm47XHJcbiAgICB0aGlzLm9yaWdpbmFsID0gcmVxO1xyXG4gICAgdGhpcy5jaG9pY2VzID0gc3VnZ2VzdGlvbnM7XHJcbiAgfVxyXG5cclxuICBzZWxlY3Rpb25DaGFuZ2VkKGV2ZW50KSB7XHJcbiAgICBsZXQgaXNPcmlnaW4gPSB0aGlzLnBpY2tlZCA9PT0gdGhpcy5vcmlnaW5hbD8gdHJ1ZTogZmFsc2U7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDE7XHJcbiAgICB0aGlzLnBhdGNoRm9ybVdpdGhTZWxlY3RlZEFkZHJlc3ModGhpcy5waWNrZWQsaXNPcmlnaW4sIHRoaXMuZm9ybSlcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBwYXRjaEZvcm1XaXRoU2VsZWN0ZWRBZGRyZXNzKHNlbDogYW55LGlzT3JpZ2luOiBib29sZWFuLCBmb3JtQ29tcG5lbnQ6IGFueSkge1xyXG4gIC8vICAgY29uc29sZS5sb2coXCJhZGRyZXMgc3VnZ2VzdGlvbiBwYXRjaFwiKVxyXG4gIC8vICAgY29uc29sZS5sb2coZm9ybUNvbXBuZW50KVxyXG4gIC8vICAgZm9ybUNvbXBuZW50LnBhdGNoVmFsdWUodGhpcy5tYXBBZGRyZXNzKHNlbCxpc09yaWdpbikpO1xyXG4gIC8vICAgZm9ybUNvbXBuZW50LmNvbnRyb2xzWydjb3VudHJ5J10uc2V0VmFsdWUoJ1VTJylcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBwYXRjaEZvcm1XaXRoU2VsZWN0ZWRBZGRyZXNzKHNlbDogYW55LCBpc09yaWdpbjogYm9vbGVhbiwgZm9ybTogVW50eXBlZEZvcm1Hcm91cCkge1xyXG4gICAgLy8gZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgY29uc3QgaXNPcmlnID0gaXNPcmlnaW47XHJcbiAgICBjb25zdCBjb3VudHJ5Q29kZSA9ICgoc2VsLmNvdW50cnkgPz8gJ1VTJykgYXMgc3RyaW5nKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgY29uc3Qgc3RhdGVDb2RlID0gKGlzT3JpZyA/IHNlbC5zdGF0ZSA6IHNlbC5zdGF0ZUFiYnJldmF0aW9uKT8udG9VcHBlckNhc2UoKTtcclxuICAgIFxyXG4gICAgZm9ybS5wYXRjaFZhbHVlKFxyXG4gICAgICB7XHJcbiAgICAgICAgc3RyZWV0QWRkcmVzczogaXNPcmlnID8gc2VsLmxpbmUxIDogc2VsLmRlbGl2ZXJ5TGluZTEsXHJcbiAgICAgICAgb3B0aW9uYWxBZGRyZXNzOiBpc09yaWcgPyBzZWwubGluZTIgOiBzZWwuZGVsaXZlcnlMaW5lMixcclxuICAgICAgICBjaXR5OiBpc09yaWcgPyBzZWwuY2l0eSA6IHNlbC5jaXR5TmFtZSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlXHJcbiAgICAgIH0sXHJcbiAgICAgIHsgZW1pdEV2ZW50OiBmYWxzZSB9XHJcbiAgICApO1xyXG4gIFxyXG4gICAgY29uc3QgY291bnRyeSA9IGNvdW50cnlDb2RlID09PSAnQ0EnXHJcbiAgICAgID8geyB2YWx1ZTogJ0NBJywgdGV4dDogJ0NhbmFkYScgfVxyXG4gICAgICA6IHsgdmFsdWU6ICdVUycsIHRleHQ6ICdVbml0ZWQgU3RhdGVzJyB9O1xyXG4gICAgZm9ybS5nZXQoJ2NvdW50cnknKT8ucGF0Y2hWYWx1ZShjb3VudHJ5LCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuICBcclxuICAgIGNvbnN0IHN0YXRlTGlzdCA9IGNvdW50cnlDb2RlID09PSAnQ0EnID8gQ29tYm9PcHRpb24uQ0FfU1RBVEVTIDogQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xyXG4gICAgY29uc3Qgc3RhdGUgPSBzdGF0ZUxpc3QuZmluZChzID0+IHMudmFsdWUgPT09IHN0YXRlQ29kZSkgPz8geyB2YWx1ZTogc3RhdGVDb2RlLCB0ZXh0OiBzdGF0ZUNvZGUgfTtcclxuICAgIGZvcm0uZ2V0KCdzdGF0ZScpPy5wYXRjaFZhbHVlKHN0YXRlLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcihmbGFnOiBzdHJpbmcpe1xyXG4gICAgdGhpcy5pc0FkZHJlc3NWYWxpZCA9IGZsYWc7XHJcbiAgICBpZih0aGlzLmZvcm0uY29udHJvbHNbJ2hpZElzQWRkcmVzc1ZhbGlkYXRlZCddKXtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzWydoaWRJc0FkZHJlc3NWYWxpZGF0ZWQnXS5zZXRWYWx1ZSh0aGlzLmlzQWRkcmVzc1ZhbGlkKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBtYXBBZGRyZXNzKHNlbDogYW55LCBpc09yaWdpbjpib29sZWFuKSB7XHJcbiAgICBpZiAoaXNPcmlnaW4pIHtcclxuICAgICAgLy8gT3JpZ2luYWwgQWRkcmVzc1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IHNlbC5saW5lMSxcclxuICAgICAgICBvcHRpb25hbEFkZHJlc3M6IHNlbC5saW5lMixcclxuICAgICAgICBjaXR5OiBzZWwuY2l0eSxcclxuICAgICAgICBzdGF0ZTogeyB2YWx1ZTogc2VsLnN0YXRlLCB0ZXh0OiBzZWwuc3RhdGUgfSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50cnk6IHsgdmFsdWU6IHNlbC5jb3VudHJ5LCB0ZXh0OiBzZWwuY291bnRyeSB9ICBcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFVTUFMgUmVjb21tZW5kZWQgQWRkcmVzc1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IHNlbC5kZWxpdmVyeUxpbmUxLFxyXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogc2VsLmRlbGl2ZXJ5TGluZTIsXHJcbiAgICAgICAgY2l0eTogc2VsLmNpdHlOYW1lLFxyXG4gICAgICAgIHN0YXRlOiB7IHZhbHVlOiBzZWwuc3RhdGVBYmJyZXZhdGlvbiwgdGV4dDogc2VsLnN0YXRlQWJicmV2YXRpb24gfSxcclxuICAgICAgICB6aXA6IHNlbC56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50cnk6IHsgdmFsdWU6IHNlbC5jb3VudHJ5LCB0ZXh0OiBzZWwuY291bnRyeSB9ICBcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHAtYWNjb3JkaW9uICpuZ0lmPVwic2hvd0FjY29yZGlvbiAmJiAoZm9ybS52YWxpZCkgJiYgKCgoZm9ybU5hbWU9PT0ncmVzQWRkcmVzcycgfHwgZm9ybU5hbWU9PT0ncmVzQWRyZXNzJykgJiYgZGlmZk1haWxBZGRyZXNzRmxhZz09PSBmYWxzZSkgfHwgKGZvcm1OYW1lPT09J21haWxBZGRyZXNzJyAmJiBkaWZmTWFpbEFkZHJlc3NGbGFnPT09IHRydWUpKVwiIChvbk9wZW4pPVwidGFiT3BlbigpXCIgKG9uQ2xvc2UpPVwidGFiQ2xvc2UoKVwiIFthY3RpdmVJbmRleF09XCJhZGRyZXNzU2VsZWN0ZWRcIiBzdHlsZUNsYXNzPVwicmVkLWhlYWRlclwiPlxyXG4gICAgPHAtYWNjb3JkaW9uVGFiID5cclxuICAgICAgICBcclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgPlxyXG4gICAgICAgICAgICBBZGRyZXNzIFZhbGlkYXRpb25cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93SW5saW5lRXJyb3JcIiBjbGFzcz1cImVycm9yLWJhbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhbGVydC1jaXJjbGUtb3V0bGluZVwiIHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpOyBmb250LXNpemU6IDE4cHg7IG1hcmdpbi1yaWdodDogOHB4O1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBlcnJvclRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8cD5UaGUgVS5TLiBQb3N0YWwgU2VydmljZSBoYXMgcmVjb21tZW5kZWQgY2hhbmdlcyB0byB5b3VyIGFkZHJlc3MuIFNlbGVjdCB0aGUgYWRkcmVzcyB5b3Ugd2FudCB0byB1c2U6PC9wPlxyXG4gICAgICAgICAgICA8aW9uLXJhZGlvLWdyb3VwIFsobmdNb2RlbCldPVwicGlja2VkXCIgKGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1oZWFkaW5nXCI+WW91IEVudGVyZWQ6PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1yYWRpbyBzbG90PVwic3RhcnRcIiBbdmFsdWVdPVwib3JpZ2luYWxcIj48L2lvbi1yYWRpbz5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3JpZ2luYWwubGluZTEgfX0sIHt7IG9yaWdpbmFsLmxpbmUyIH19PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcmlnaW5hbC5jaXR5IH19LCB7eyBvcmlnaW5hbC5zdGF0ZSB9fSwge3sgb3JpZ2luYWwuemlwQ29kZSB9fSB7eyBvcmlnaW5hbC5jb3VudHJ5IH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJsYWJlbC1oZWFkaW5nXCI+VVNQUyBSZWNvbW1lbmRhdGlvbnM6PC9zdHJvbmc+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pdGVtICpuZ0Zvcj1cImxldCBjIG9mIGNob2ljZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYy5kZWxpdmVyeUxpbmUxIH19IHt7IGMuZGVsaXZlcnlMaW5lMiB9fTxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYy5jaXR5TmFtZSB9fSwge3sgYy5zdGF0ZUFiYnJldmF0aW9uIH19LCB7eyBjLnppcENvZGUgfX0ge3sgYy5jb3VudHJ5IH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1yYWRpbyBzbG90PVwic3RhcnRcIiBbdmFsdWVdPVwiY1wiPjwvaW9uLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICAgICAgPC9pb24tcmFkaW8tZ3JvdXA+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLWFjY29yZGlvblRhYj5cclxuPC9wLWFjY29yZGlvbj5cclxuPGRpdiAqbmdJZj1cInNob3dJbmxpbmVFcnJvciAmJiAhc2hvd0FjY29yZGlvbiAmJiBtc3VhQ291bnQgPCAyICYmIGF1bnJDb3VudCA8IDJcIiBjbGFzcz1cImVycm9yLWJhbm5lclwiPlxyXG4gICAgPGlvbi1pY29uIG5hbWU9XCJhbGVydC1jaXJjbGUtb3V0bGluZVwiIHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpOyBmb250LXNpemU6IDE4cHg7IG1hcmdpbi1yaWdodDogOHB4O1wiPjwvaW9uLWljb24+XHJcbiAgICA8c3Bhbj57eyBlcnJvclRleHQgfX08L3NwYW4+XHJcbjwvZGl2PiJdfQ==
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzLXN1Z2dlc3Rpb24vYWRkcmVzcy1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7SUNIeEQsb0NBQ0o7OztJQUVJLCtCQUFrRDtJQUM5QywrQkFBNkg7SUFDN0gsNEJBQU07SUFBQSxZQUFlO0lBQUEsaUJBQU8sRUFBQTs7O0lBQXRCLGVBQWU7SUFBZixzQ0FBZTs7O0lBaUJyQixnQ0FBb0MsZ0JBQUE7SUFFeEIsWUFBMkM7SUFBQSxxQkFBTTtJQUNqRCxZQUNSO0lBQUEsaUJBQVk7SUFDWiwrQkFBZ0Q7SUFDcEQsaUJBQVc7OztJQUpDLGVBQTJDO0lBQTNDLDJFQUEyQztJQUMzQyxlQUNSO0lBRFEsa0hBQ1I7SUFDd0IsZUFBVztJQUFYLDRCQUFXOzs7O0lBeEIzQyx1R0FHTTtJQUNOLHlCQUFHO0lBQUEsb0hBQW9HO0lBQUEsaUJBQUk7SUFDM0csMENBQTZFO0lBQTVELHVRQUFvQix3TUFBYyxlQUFBLCtCQUF3QixDQUFBLElBQXRDO0lBQ2pDLDhCQUEyQjtJQUFBLDRCQUFZO0lBQUEsaUJBQU07SUFDN0MsZ0NBQVU7SUFDTiwrQkFBdUQ7SUFDdkQsaUNBQVc7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T0FBTztnQkFDaEIsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUU7YUFDbkQsQ0FBQztTQUNIO2FBQU07WUFDTCwyQkFBMkI7WUFDM0IsT0FBTztnQkFDTCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7Z0JBQ2hDLGVBQWUsRUFBRSxHQUFHLENBQUMsYUFBYTtnQkFDbEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRO2dCQUNsQixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ2xFLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTztnQkFDaEIsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUU7YUFDbkQsQ0FBQztTQUNIO0lBQ0gsQ0FBQzsyRkF0S1UsMEJBQTBCO29FQUExQiwwQkFBMEI7WUNkdkMsMkZBb0NjLDhEQUFBOztZQXBDQSwwREFBbUM7WUFxQzNDLGVBQXlFO1lBQXpFLDBHQUF5RTs7O2lGRHZCbEUsMEJBQTBCO2NBTHRDLFNBQVM7MkJBQ0Usd0JBQXdCO3lEQU96QixRQUFRO2tCQUFoQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFHTixlQUFlO2tCQURkLE1BQU07O2tGQVpJLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzc1ZhbGlkYXRpb24vQWRkcmVzc1JlY29tbWVuZGF0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzVmFsaWRhdGlvbi9BZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlQ29tcG9uZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBBZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCBhcyBBZGRyUmVjIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3NWYWxpZGF0aW9uL0FkZHJlc3NSZWNvbW1lbmRhdGlvbk1vZGVsJztcclxuaW1wb3J0IHsgQWRkcmVzc1ZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWRkcmVzcy12YWxpZGF0aW9uLXNlcnZpY2UvYWRkcmVzcy12YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ0Zvcm0sIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGRyZXNzLXN1Z2dlc3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLXN1Z2dlc3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hZGRyZXNzLXN1Z2dlc3Rpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NTdWdnZXN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzaG93QWRkcmVzc1N1Z2dlc3Rpb246IGJvb2xlYW47XHJcbiAgc2hvd0FjY29yZGlvbjpib29sZWFuO1xyXG4gIEBJbnB1dCgpIG9yaWdpbmFsOiBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbDtcclxuICBASW5wdXQoKSBjaG9pY2VzOiBBZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbFtdID0gW107XHJcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtTmFtZTpzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlmZk1haWxBZGRyZXNzRmxhZzpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvcm1CbHVyOmJvb2xlYW47XHJcbiAgQElucHV0KCkgc3RhbmRhbG9uZUFkZHJlc3NGb3JtOmJvb2xlYW47XHJcbiAgQElucHV0KCkgcXVlc3Rpb25haXJlRm9ybTtcclxuXHJcbiAgQE91dHB1dCgpIFxyXG4gIGNoZWNrRm9ybUlzQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcGlja2VkOiBhbnkgPSBudWxsO1xyXG4gIGFkZHJlc3NTZWxlY3RlZDtcclxuICBlcnJvclRleHQ6IHN0cmluZztcclxuICBzaG93SW5saW5lRXJyb3IgPSBmYWxzZTtcclxuICBtc3VhQ291bnQgPSAwO1xyXG4gIGF1bnJDb3VudCA9IDA7XHJcbiAgaXNBZGRyZXNzVmFsaWQ6IHN0cmluZztcclxuICBsYXN0VmFsaWRBZGRyZXNzO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRkclN2YzogQWRkcmVzc1ZhbGlkYXRpb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2hlY2tGb3JtSXNCbHVyLmVtaXQoKVxyXG4gICAgaWYodGhpcy5mb3JtQmx1ciAmJiB0aGlzLmZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLmdldFZhbGlkYXRlQWRkcmVzcyh0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0VmFsaWRhdGVBZGRyZXNzKGluaXRpYWxWYWxpZGF0aW9uOmJvb2xlYW4pIHtcclxuICAgIGxldCBjaGVja0lmVmFsaWRhdGVDb3JyZWN0QWRkcmVzcyA9ICgoKHRoaXMuZm9ybU5hbWU9PT0ncmVzQWRkcmVzcycgfHwgdGhpcy5mb3JtTmFtZT09PSdyZXNBZHJlc3MnKSAmJiB0aGlzLmRpZmZNYWlsQWRkcmVzc0ZsYWc9PT0gZmFsc2UpIHx8ICh0aGlzLmZvcm1OYW1lPT09J21haWxBZGRyZXNzJyAmJiB0aGlzLmRpZmZNYWlsQWRkcmVzc0ZsYWc9PT0gdHJ1ZSkgfHwgKHRoaXMuc3RhbmRhbG9uZUFkZHJlc3NGb3JtID09PSB0cnVlKSlcclxuICAgIGlmKCFjaGVja0lmVmFsaWRhdGVDb3JyZWN0QWRkcmVzcylyZXR1cm47XHJcbiAgICBpZighaW5pdGlhbFZhbGlkYXRpb24gJiYgdGhpcy5mb3JtLnByaXN0aW5lID09PSB0cnVlKXJldHVybjtcclxuXHJcbiAgICBpZih0aGlzLm1zdWFDb3VudCA+PSAyKXtcclxuICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5hdW5yQ291bnQgPj0gMil7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcignMCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWRkclN2Yy52YWxpZGF0ZUFkZHJlc3NQcm9jZXNzKG51bGwsIHRoaXMuZm9ybS52YWx1ZSwgdGhpcy5mb3JtKS50aGVuKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5lcnJvclRleHQgPSByZXMuZXJyb3JUZXh0O1xyXG4gICAgICB0aGlzLnNob3dJbmxpbmVFcnJvciA9IHJlcy5zaG93SW5saW5lRXJyb3I7XHJcbiAgICAgIHRoaXMuc2V0SXNBZGRyZXNzVmFsaWRlQ29udHJvbGxlcihyZXMuaXNBZGRyZXNzVmFsaWRhdGVkKTtcclxuICAgICAgaWYodGhpcy5pc0FkZHJlc3NWYWxpZCA9PT0gJzEnKXtcclxuICAgICAgICB0aGlzLmxhc3RWYWxpZEFkZHJlc3MgPSByZXMubGFzdFZhbGlkYXRlZEFkZHJlc3M7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcxJyk7XHJcbiAgICAgIH1lbHNlIGlmKHRoaXMuaXNBZGRyZXNzVmFsaWQgPT09ICcwJyl7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdCA9PT0gXCJNVVNBXCIpe1xyXG4gICAgICAgIHRoaXMubXN1YUNvdW50ICs9MTtcclxuICAgICAgICB0aGlzLmF1bnJDb3VudCA9IDA7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcwJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdCA9PT0gXCJBVU5SXCIpe1xyXG4gICAgICAgIHRoaXMuYXVuckNvdW50ICs9MTtcclxuICAgICAgICB0aGlzLm1zdWFDb3VudCA9MDtcclxuICAgICAgICB0aGlzLnNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoJzAnKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhcIlRISVMgSVMgdmFsaWRhdGUgcmVzdWx0XCIscmVzLmxhc3RWYWxpZGF0ZVJlc3VsdClcclxuICAgICAgaWYocmVzLmxhc3RWYWxpZGF0ZVJlc3VsdD09PSBcIk5SRUNcIil7XHJcbiAgICAgICAgdGhpcy5zZXRJc0FkZHJlc3NWYWxpZGVDb250cm9sbGVyKCcxJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJlcy5zaG93UG9wdXAgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoJzEnKTtcclxuICAgICAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDBcclxuICAgICAgICB0aGlzLnNob3dBY2NvcmRpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVjb21tZW5kYXRpb25zKHJlcy5hZGRyZXNzVmFsaWRhdGlvblJlc3BvbnNlLCByZXMuYWRkcmVzc1ZhbGlkYXRpb25SZXF1ZXN0LCB0aGlzLmZvcm0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd0FjY29yZGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KS5jYXRjaCgoZXJyKT0+e1xyXG4gICAgICB0aGlzLnNob3dBY2NvcmRpb24gPSBmYWxzZTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB0YWJPcGVuKCl7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZCA9IDA7XHJcbiAgfVxyXG5cclxuICB0YWJDbG9zZSgpe1xyXG4gICAgdGhpcy5hZGRyZXNzU2VsZWN0ZWQgPSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJlY29tbWVuZGF0aW9ucyhyZXM6IEFkZHJlc3NWYWxpZGF0aW9uUmVzcG9uc2VDb21wb25lbnRNb2RlbCwgcmVxOiBBZGRyZXNzVmFsaWRhdGlvblJlcXVlc3RDb21wb25lbnRNb2RlbCwgZm9ybUNvbXBuZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zOiBBZGRyUmVjW10gPSBBcnJheS5mcm9tKHJlcy5hZGRyZXNzUmVjb21tZW5kYXRpb25Nb2RlbCA/PyBbXSk7XHJcbiAgICBpZiAoIXN1Z2dlc3Rpb25zLmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgdGhpcy5vcmlnaW5hbCA9IHJlcTtcclxuICAgIHRoaXMuY2hvaWNlcyA9IHN1Z2dlc3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0aW9uQ2hhbmdlZChldmVudCkge1xyXG4gICAgbGV0IGlzT3JpZ2luID0gdGhpcy5waWNrZWQgPT09IHRoaXMub3JpZ2luYWw/IHRydWU6IGZhbHNlO1xyXG4gICAgdGhpcy5hZGRyZXNzU2VsZWN0ZWQgPSAxO1xyXG4gICAgdGhpcy5wYXRjaEZvcm1XaXRoU2VsZWN0ZWRBZGRyZXNzKHRoaXMucGlja2VkLGlzT3JpZ2luLCB0aGlzLmZvcm0pXHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgcGF0Y2hGb3JtV2l0aFNlbGVjdGVkQWRkcmVzcyhzZWw6IGFueSxpc09yaWdpbjogYm9vbGVhbiwgZm9ybUNvbXBuZW50OiBhbnkpIHtcclxuICAvLyAgIGNvbnNvbGUubG9nKFwiYWRkcmVzIHN1Z2dlc3Rpb24gcGF0Y2hcIilcclxuICAvLyAgIGNvbnNvbGUubG9nKGZvcm1Db21wbmVudClcclxuICAvLyAgIGZvcm1Db21wbmVudC5wYXRjaFZhbHVlKHRoaXMubWFwQWRkcmVzcyhzZWwsaXNPcmlnaW4pKTtcclxuICAvLyAgIGZvcm1Db21wbmVudC5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKCdVUycpXHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgcGF0Y2hGb3JtV2l0aFNlbGVjdGVkQWRkcmVzcyhzZWw6IGFueSwgaXNPcmlnaW46IGJvb2xlYW4sIGZvcm06IFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgIC8vIGZvcm0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIGNvbnN0IGlzT3JpZyA9IGlzT3JpZ2luO1xyXG4gICAgY29uc3QgY291bnRyeUNvZGUgPSAoKHNlbC5jb3VudHJ5ID8/ICdVUycpIGFzIHN0cmluZykudG9VcHBlckNhc2UoKTtcclxuICAgIGNvbnN0IHN0YXRlQ29kZSA9IChpc09yaWcgPyBzZWwuc3RhdGUgOiBzZWwuc3RhdGVBYmJyZXZhdGlvbik/LnRvVXBwZXJDYXNlKCk7XHJcbiAgICBcclxuICAgIGZvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgIHN0cmVldEFkZHJlc3M6IGlzT3JpZyA/IHNlbC5saW5lMSA6IHNlbC5kZWxpdmVyeUxpbmUxLFxyXG4gICAgICAgIG9wdGlvbmFsQWRkcmVzczogaXNPcmlnID8gc2VsLmxpbmUyIDogc2VsLmRlbGl2ZXJ5TGluZTIsXHJcbiAgICAgICAgY2l0eTogaXNPcmlnID8gc2VsLmNpdHkgOiBzZWwuY2l0eU5hbWUsXHJcbiAgICAgICAgemlwOiBzZWwuemlwQ29kZVxyXG4gICAgICB9LFxyXG4gICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxyXG4gICAgKTtcclxuICBcclxuICAgIGNvbnN0IGNvdW50cnkgPSBjb3VudHJ5Q29kZSA9PT0gJ0NBJ1xyXG4gICAgICA/IHsgdmFsdWU6ICdDQScsIHRleHQ6ICdDYW5hZGEnIH1cclxuICAgICAgOiB7IHZhbHVlOiAnVVMnLCB0ZXh0OiAnVW5pdGVkIFN0YXRlcycgfTtcclxuICAgIGZvcm0uZ2V0KCdjb3VudHJ5Jyk/LnBhdGNoVmFsdWUoY291bnRyeSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgXHJcbiAgICBjb25zdCBzdGF0ZUxpc3QgPSBjb3VudHJ5Q29kZSA9PT0gJ0NBJyA/IENvbWJvT3B0aW9uLkNBX1NUQVRFUyA6IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcclxuICAgIGNvbnN0IHN0YXRlID0gc3RhdGVMaXN0LmZpbmQocyA9PiBzLnZhbHVlID09PSBzdGF0ZUNvZGUpID8/IHsgdmFsdWU6IHN0YXRlQ29kZSwgdGV4dDogc3RhdGVDb2RlIH07XHJcbiAgICBmb3JtLmdldCgnc3RhdGUnKT8ucGF0Y2hWYWx1ZShzdGF0ZSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldElzQWRkcmVzc1ZhbGlkZUNvbnRyb2xsZXIoZmxhZzogc3RyaW5nKXtcclxuICAgIHRoaXMuaXNBZGRyZXNzVmFsaWQgPSBmbGFnO1xyXG4gICAgaWYodGhpcy5xdWVzdGlvbmFpcmVGb3JtPy5mb3JtPy5jb250cm9sc1snaGlkSXNBZGRyZXNzVmFsaWRhdGVkJ10pe1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uYWlyZUZvcm0uZm9ybS5jb250cm9sc1snaGlkSXNBZGRyZXNzVmFsaWRhdGVkJ10uc2V0VmFsdWUodGhpcy5pc0FkZHJlc3NWYWxpZCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgbWFwQWRkcmVzcyhzZWw6IGFueSwgaXNPcmlnaW46Ym9vbGVhbikge1xyXG4gICAgaWYgKGlzT3JpZ2luKSB7XHJcbiAgICAgIC8vIE9yaWdpbmFsIEFkZHJlc3NcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzdHJlZXRBZGRyZXNzOiBzZWwubGluZTEsXHJcbiAgICAgICAgb3B0aW9uYWxBZGRyZXNzOiBzZWwubGluZTIsXHJcbiAgICAgICAgY2l0eTogc2VsLmNpdHksXHJcbiAgICAgICAgc3RhdGU6IHsgdmFsdWU6IHNlbC5zdGF0ZSwgdGV4dDogc2VsLnN0YXRlIH0sXHJcbiAgICAgICAgemlwOiBzZWwuemlwQ29kZSxcclxuICAgICAgICBjb3VudHJ5OiB7IHZhbHVlOiBzZWwuY291bnRyeSwgdGV4dDogc2VsLmNvdW50cnkgfSAgXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBVU1BTIFJlY29tbWVuZGVkIEFkZHJlc3NcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzdHJlZXRBZGRyZXNzOiBzZWwuZGVsaXZlcnlMaW5lMSxcclxuICAgICAgICBvcHRpb25hbEFkZHJlc3M6IHNlbC5kZWxpdmVyeUxpbmUyLFxyXG4gICAgICAgIGNpdHk6IHNlbC5jaXR5TmFtZSxcclxuICAgICAgICBzdGF0ZTogeyB2YWx1ZTogc2VsLnN0YXRlQWJicmV2YXRpb24sIHRleHQ6IHNlbC5zdGF0ZUFiYnJldmF0aW9uIH0sXHJcbiAgICAgICAgemlwOiBzZWwuemlwQ29kZSxcclxuICAgICAgICBjb3VudHJ5OiB7IHZhbHVlOiBzZWwuY291bnRyeSwgdGV4dDogc2VsLmNvdW50cnkgfSAgXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxwLWFjY29yZGlvbiAqbmdJZj1cInNob3dBY2NvcmRpb24gJiYgKGZvcm0udmFsaWQpXCIgKG9uT3Blbik9XCJ0YWJPcGVuKClcIiAob25DbG9zZSk9XCJ0YWJDbG9zZSgpXCIgW2FjdGl2ZUluZGV4XT1cImFkZHJlc3NTZWxlY3RlZFwiIHN0eWxlQ2xhc3M9XCJyZWQtaGVhZGVyXCI+XHJcbiAgICA8cC1hY2NvcmRpb25UYWIgPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiA+XHJcbiAgICAgICAgICAgIEFkZHJlc3MgVmFsaWRhdGlvblxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dJbmxpbmVFcnJvclwiIGNsYXNzPVwiZXJyb3ItYmFubmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFsZXJ0LWNpcmNsZS1vdXRsaW5lXCIgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7IGZvbnQtc2l6ZTogMThweDsgbWFyZ2luLXJpZ2h0OiA4cHg7XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGVycm9yVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxwPlRoZSBVLlMuIFBvc3RhbCBTZXJ2aWNlIGhhcyByZWNvbW1lbmRlZCBjaGFuZ2VzIHRvIHlvdXIgYWRkcmVzcy4gU2VsZWN0IHRoZSBhZGRyZXNzIHlvdSB3YW50IHRvIHVzZTo8L3A+XHJcbiAgICAgICAgICAgIDxpb24tcmFkaW8tZ3JvdXAgWyhuZ01vZGVsKV09XCJwaWNrZWRcIiAoaW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWhlYWRpbmdcIj5Zb3UgRW50ZXJlZDo8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpb24taXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLXJhZGlvIHNsb3Q9XCJzdGFydFwiIFt2YWx1ZV09XCJvcmlnaW5hbFwiPjwvaW9uLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcmlnaW5hbC5saW5lMSB9fSwge3sgb3JpZ2luYWwubGluZTIgfX08YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9yaWdpbmFsLmNpdHkgfX0sIHt7IG9yaWdpbmFsLnN0YXRlIH19LCB7eyBvcmlnaW5hbC56aXBDb2RlIH19IHt7IG9yaWdpbmFsLmNvdW50cnkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImxhYmVsLWhlYWRpbmdcIj5VU1BTIFJlY29tbWVuZGF0aW9uczo8L3N0cm9uZz48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gKm5nRm9yPVwibGV0IGMgb2YgY2hvaWNlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjLmRlbGl2ZXJ5TGluZTEgfX0ge3sgYy5kZWxpdmVyeUxpbmUyIH19PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjLmNpdHlOYW1lIH19LCB7eyBjLnN0YXRlQWJicmV2YXRpb24gfX0sIHt7IGMuemlwQ29kZSB9fSB7eyBjLmNvdW50cnkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLXJhZGlvIHNsb3Q9XCJzdGFydFwiIFt2YWx1ZV09XCJjXCI+PC9pb24tcmFkaW8+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgICA8L2lvbi1yYWRpby1ncm91cD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3AtYWNjb3JkaW9uVGFiPlxyXG48L3AtYWNjb3JkaW9uPlxyXG48ZGl2ICpuZ0lmPVwic2hvd0lubGluZUVycm9yICYmICFzaG93QWNjb3JkaW9uICYmIG1zdWFDb3VudCA8IDIgJiYgYXVuckNvdW50IDwgMlwiIGNsYXNzPVwiZXJyb3ItYmFubmVyXCI+XHJcbiAgICA8aW9uLWljb24gbmFtZT1cImFsZXJ0LWNpcmNsZS1vdXRsaW5lXCIgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7IGZvbnQtc2l6ZTogMThweDsgbWFyZ2luLXJpZ2h0OiA4cHg7XCI+PC9pb24taWNvbj5cclxuICAgIDxzcGFuPnt7IGVycm9yVGV4dCB9fTwvc3Bhbj5cclxuPC9kaXY+Il19
|
|
@@ -38,7 +38,7 @@ function HistoryPageComponent_app_proof_of_anything_1_Template(rf, ctx) { if (rf
|
|
|
38
38
|
i0.ɵɵelementEnd();
|
|
39
39
|
} if (rf & 2) {
|
|
40
40
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
41
|
-
i0.ɵɵproperty("uploadTypeId", ctx_r1.uploadTypeId)("employerDataModel", ctx_r1.employerDataModel);
|
|
41
|
+
i0.ɵɵproperty("uploadTypeId", ctx_r1.uploadTypeId)("employerDataModel", ctx_r1.employerDataModel)("data", ctx_r1.dataModel);
|
|
42
42
|
} }
|
|
43
43
|
function HistoryPageComponent_app_dashboard_help_2_Template(rf, ctx) { if (rf & 1) {
|
|
44
44
|
i0.ɵɵelement(0, "app-dashboard-help", 14);
|
|
@@ -417,11 +417,14 @@ export class HistoryPageComponent {
|
|
|
417
417
|
this.isOpenQe = true;
|
|
418
418
|
}
|
|
419
419
|
else if (historyModel.button && historyModel.button.dialog == 'uploadPopupInCp') {
|
|
420
|
-
|
|
420
|
+
console.log(this.selectedModel.data);
|
|
421
421
|
this.uploadTypeId = this.selectedModel.data.uploadTypeId;
|
|
422
422
|
if (this.selectedModel.data?.employerData != null) {
|
|
423
423
|
this.employerDataModel = JSON.parse(this.selectedModel.data?.employerData);
|
|
424
424
|
}
|
|
425
|
+
if (this.selectedModel.data != null) {
|
|
426
|
+
this.dataModel = this.selectedModel.data;
|
|
427
|
+
}
|
|
425
428
|
this.showUploadPopup = true;
|
|
426
429
|
}
|
|
427
430
|
else if (historyModel.button && historyModel.button.dialog == 'uploadPopup') {
|
|
@@ -512,8 +515,8 @@ export class HistoryPageComponent {
|
|
|
512
515
|
this.showUploadPopup = false;
|
|
513
516
|
}
|
|
514
517
|
static { this.ɵfac = function HistoryPageComponent_Factory(t) { return new (t || HistoryPageComponent)(i0.ɵɵdirectiveInject(i1.EventService), i0.ɵɵdirectiveInject(i2.HelpService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i5.LoginService), i0.ɵɵdirectiveInject(i6.TranslateService), i0.ɵɵdirectiveInject(i7.LoggerService), i0.ɵɵdirectiveInject(i8.ActivatedRoute)); }; }
|
|
515
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HistoryPageComponent, selectors: [["app-history-page"]], decls: 21, vars: 9, consts: [[3, "qeQueryModels", "modelCancel", "onComplete", 4, "ngIf"], [3, "uploadTypeId", "employerDataModel", "cancel", "success", 4, "ngIf"], [3, "activeIndex", 4, "ngIf"], ["size", "12", "sizeXl", "8", "sizeLg", "8", "sizeMd", "10", "offsetXl", "2", "offsetLg", "2", "offsetMd", "1"], ["size", "3"], ["class", "ion-text-left field", 4, "ngIf"], ["size", "9"], ["class", "ion-text-right field", 4, "ngIf"], [3, "value", 4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], ["class", "ion-padding-top ion-text-center app-accordian-body", 4, "ngIf"], ["style", "padding-left: 5%;", 4, "ngIf"], [3, "qeQueryModels", "modelCancel", "onComplete"], [3, "uploadTypeId", "employerDataModel", "cancel", "success"], [3, "activeIndex"], [1, "ion-text-left", "field"], ["for", "timeline", "id", "lblTimeline"], ["optionLabel", "desc", 3, "options", "ngModel", "ariaLabelledBy", "ngModelChange", "onChange"], ["pTemplate", ""], ["tooltipPosition", "bottom", "tabindex", "0", "role", "note", 3, "pTooltip"], [4, "ngIf"], [3, "icon", 4, "ngIf"], [3, "icon"], [1, "ion-text-right", "field"], ["optionLabel", "icon", 3, "options", "ngModel", "ngModelChange", "onChange"], [3, "value"], ["pTemplate", "marker"], ["pTemplate", "content"], [1, "custom-marker", 3, "icon"], [1, "app-accordian-heading", 2, "margin-top", "0px", "font-weight", "bold"], ["expandIcon", "pi pi-fw pi-chevron-up", "collapseIcon", "pi pi-fw pi-chevron-up"], [3, "selected", 4, "ngFor", "ngForOf"], [3, "selected"], ["pTemplate", "header"], [2, "width", "-webkit-fill-available"], ["size", "12", "sizeXl", "3", "sizeLg", "3", "sizeMd", "3", 1, "ion-text-left"], [1, "app-accordian-heading"], ["size", "11", "sizeXl", "8", "sizeLg", "8", "sizeMd", "8", 1, "app-text-align"], ["size", "1", 1, "ion-text-center"], [3, "color", 4, "ngIf"], [1, "app-accordian-body", 3, "innerHtml"], [1, "ion-text-right"], ["fill", "outline", "shape", "round", 1, "small-button", 3, "click"], [1, "ion-text-center"], ["name", "dots"], [1, "ion-padding-top", "ion-text-center", "app-accordian-body"], [1, "large-icon", 3, "icon"], [2, "padding-left", "5%"], [1, "horizontal-align"], [1, "app-accordian-body"], ["aria-label", "view old records", "fill", "outline", "size", "small", 1, "action-button", 3, "click"], [1, "external-link-icon", 3, "icon"]], template: function HistoryPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
516
|
-
i0.ɵɵtemplate(0, HistoryPageComponent_app_multi_questionnaire_0_Template, 1, 1, "app-multi-questionnaire", 0)(1, HistoryPageComponent_app_proof_of_anything_1_Template, 1,
|
|
518
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HistoryPageComponent, selectors: [["app-history-page"]], decls: 21, vars: 9, consts: [[3, "qeQueryModels", "modelCancel", "onComplete", 4, "ngIf"], [3, "uploadTypeId", "employerDataModel", "data", "cancel", "success", 4, "ngIf"], [3, "activeIndex", 4, "ngIf"], ["size", "12", "sizeXl", "8", "sizeLg", "8", "sizeMd", "10", "offsetXl", "2", "offsetLg", "2", "offsetMd", "1"], ["size", "3"], ["class", "ion-text-left field", 4, "ngIf"], ["size", "9"], ["class", "ion-text-right field", 4, "ngIf"], [3, "value", 4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], ["class", "ion-padding-top ion-text-center app-accordian-body", 4, "ngIf"], ["style", "padding-left: 5%;", 4, "ngIf"], [3, "qeQueryModels", "modelCancel", "onComplete"], [3, "uploadTypeId", "employerDataModel", "data", "cancel", "success"], [3, "activeIndex"], [1, "ion-text-left", "field"], ["for", "timeline", "id", "lblTimeline"], ["optionLabel", "desc", 3, "options", "ngModel", "ariaLabelledBy", "ngModelChange", "onChange"], ["pTemplate", ""], ["tooltipPosition", "bottom", "tabindex", "0", "role", "note", 3, "pTooltip"], [4, "ngIf"], [3, "icon", 4, "ngIf"], [3, "icon"], [1, "ion-text-right", "field"], ["optionLabel", "icon", 3, "options", "ngModel", "ngModelChange", "onChange"], [3, "value"], ["pTemplate", "marker"], ["pTemplate", "content"], [1, "custom-marker", 3, "icon"], [1, "app-accordian-heading", 2, "margin-top", "0px", "font-weight", "bold"], ["expandIcon", "pi pi-fw pi-chevron-up", "collapseIcon", "pi pi-fw pi-chevron-up"], [3, "selected", 4, "ngFor", "ngForOf"], [3, "selected"], ["pTemplate", "header"], [2, "width", "-webkit-fill-available"], ["size", "12", "sizeXl", "3", "sizeLg", "3", "sizeMd", "3", 1, "ion-text-left"], [1, "app-accordian-heading"], ["size", "11", "sizeXl", "8", "sizeLg", "8", "sizeMd", "8", 1, "app-text-align"], ["size", "1", 1, "ion-text-center"], [3, "color", 4, "ngIf"], [1, "app-accordian-body", 3, "innerHtml"], [1, "ion-text-right"], ["fill", "outline", "shape", "round", 1, "small-button", 3, "click"], [1, "ion-text-center"], ["name", "dots"], [1, "ion-padding-top", "ion-text-center", "app-accordian-body"], [1, "large-icon", 3, "icon"], [2, "padding-left", "5%"], [1, "horizontal-align"], [1, "app-accordian-body"], ["aria-label", "view old records", "fill", "outline", "size", "small", 1, "action-button", 3, "click"], [1, "external-link-icon", 3, "icon"]], template: function HistoryPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
519
|
+
i0.ɵɵtemplate(0, HistoryPageComponent_app_multi_questionnaire_0_Template, 1, 1, "app-multi-questionnaire", 0)(1, HistoryPageComponent_app_proof_of_anything_1_Template, 1, 3, "app-proof-of-anything", 1)(2, HistoryPageComponent_app_dashboard_help_2_Template, 1, 1, "app-dashboard-help", 2);
|
|
517
520
|
i0.ɵɵelementStart(3, "ion-grid")(4, "ion-row")(5, "ion-col", 3)(6, "h1");
|
|
518
521
|
i0.ɵɵtext(7, "Your unemployment history");
|
|
519
522
|
i0.ɵɵelementEnd()()();
|
|
@@ -549,9 +552,9 @@ export class HistoryPageComponent {
|
|
|
549
552
|
}
|
|
550
553
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HistoryPageComponent, [{
|
|
551
554
|
type: Component,
|
|
552
|
-
args: [{ selector: 'app-history-page', animations: [rowExpansionTrigger], template: "<app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" (modelCancel)=\"closeQe()\"\r\n (onComplete)=\"quSuccess()\"></app-multi-questionnaire>\r\n<app-proof-of-anything *ngIf=\"showUploadPopup\" [uploadTypeId]=\"uploadTypeId\" [employerDataModel]=\"employerDataModel\"\r\n (cancel)=\"closeUploadPopup()\" (success)=\"uploadPopupDone()\"></app-proof-of-anything>\r\n<app-dashboard-help *ngIf=\"hs.isShowing()\" [activeIndex]=\"0\"></app-dashboard-help>\r\n<ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"10\" offsetXl=\"2\" offsetLg=\"2\" offsetMd=\"1\">\r\n <h1>Your unemployment history</h1>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"10\" offsetXl=\"2\" offsetLg=\"2\" offsetMd=\"1\">\r\n\r\n <ion-row>\r\n <ion-col size=\"3\">\r\n <div class=\"ion-text-left field\" *ngIf=\"histories\">\r\n <label for=\"timeline\" id=\"lblTimeline\">{{time?.desc}}</label><br />\r\n <p-selectButton [options]=\"timeOption\" [(ngModel)]=\"time\" optionLabel=\"desc\"\r\n (onChange)=\"handleChange($event)\" [ariaLabelledBy]=\"'lblTimeline'\">\r\n <ng-template let-item pTemplate>\r\n <div [pTooltip]=\"item.desc\" tooltipPosition=\"bottom\" tabindex=\"0\" [attr.aria-label]=\"item.desc\"\r\n role=\"note\">\r\n <span *ngIf=\"!item.icon\">{{item.desc}}</span>\r\n <fa-icon [icon]=\"['far', item.icon]\" *ngIf=\"item.icon\"></fa-icon>\r\n </div>\r\n </ng-template>\r\n </p-selectButton>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <div class=\"ion-text-right field\" *ngIf=\"histories\">\r\n <label>{{filter?.desc}}</label><br />\r\n <p-selectButton [options]=\"filterOptions\" [(ngModel)]=\"filter\" optionLabel=\"icon\"\r\n (onChange)=\"handleChange($event)\">\r\n <ng-template let-item pTemplate>\r\n <div [pTooltip]=\"item.desc\" tooltipPosition=\"bottom\" tabindex=\"0\" [attr.aria-label]=\"item.desc\"\r\n role=\"note\">\r\n <span *ngIf=\"!item.icon\">{{item.altDesc}}</span>\r\n <fa-icon [icon]=\"['far', item.icon]\" *ngIf=\"item.icon\"></fa-icon>\r\n </div>\r\n </ng-template>\r\n </p-selectButton>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <br />\r\n <p-timeline [value]=\"filteredHistories\" *ngIf=\"(filteredHistories && filteredHistories.length > 0)\">\r\n <ng-template pTemplate=\"marker\" let-hist>\r\n <span [style.color]=\"hist.color\">\r\n <fa-icon [icon]=\"['far', hist.icon]\" class=\"custom-marker\"></fa-icon>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-hist>\r\n <h1 class=\"app-accordian-heading\" style=\"margin-top: 0px; font-weight: bold;\">{{hist.year}}</h1>\r\n <p-accordion expandIcon=\"pi pi-fw pi-chevron-up\" collapseIcon=\"pi pi-fw pi-chevron-up\">\r\n <p-accordionTab *ngFor=\"let history of hist.history; let i = index\" [selected]=\"isValueSelected(history,i)\">\r\n <ng-template pTemplate=\"header\">\r\n <ion-row style=\"width: -webkit-fill-available;\">\r\n <ion-col class=\"ion-text-left\" size=\"12\" sizeXl=\"3\" sizeLg=\"3\" sizeMd=\"3\">\r\n <span class=\"app-accordian-heading\" [style.color]=\"history.color\">{{history.eventDate}}</span>\r\n </ion-col>\r\n <ion-col class=\"app-text-align\" size=\"11\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"8\">\r\n <span class=\"app-accordian-heading\" [style.color]=\"history.color\">\r\n {{history.title}}\r\n </span>\r\n </ion-col>\r\n <ion-col size=\"1\" class=\"ion-text-center\">\r\n <span [style.color]=\"history.color\" *ngIf=\"getIcon(history)\">\r\n <fa-icon [icon]=\"getIcon(history)\" class=\"custom-marker\"></fa-icon>\r\n </span>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <span class=\"app-accordian-body\" [innerHtml]=\"history.desc\"></span>\r\n <div *ngIf=\"history.button != null\">\r\n <br /><br />\r\n <div class=\"ion-text-right\">\r\n <ion-button [attr.aria-label]=\"'go to' + history.button.buttonText\" fill=\"outline\"\r\n style=\"--color: {{history.button.color}}; --border-color: {{history.button.color}}; --border-width: 2px\"\r\n shape=\"round\" class=\"small-button\" (click)=\"open(history)\">{{history.button.buttonText}}\r\n </ion-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-accordionTab>\r\n </p-accordion>\r\n <br />\r\n </ng-template>\r\n </p-timeline>\r\n\r\n <div class=\"ion-text-center\" *ngIf=\"isLoading\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n\r\n <div class=\"ion-padding-top ion-text-center app-accordian-body\"\r\n *ngIf=\"(!filteredHistories || filteredHistories.length < 1) && !isLoading\">\r\n <fa-icon [icon]=\"['far', filterIcon]\" class=\"large-icon\"></fa-icon>\r\n <p>{{'No history present.' | translate}}</p>\r\n </div>\r\n\r\n <div style=\"padding-left: 5%;\" *ngIf=\"!isLoading && showOlderRecordsLink\">\r\n <div class=\"horizontal-align\">\r\n <span class=\"app-accordian-body\">\r\n <strong>{{ 'To view prior unemployment history click here' | translate }}</strong>\r\n </span>\r\n <ion-button aria-label=\"view old records\" (click)=\"openOldRecords()\" fill=\"outline\" size=\"small\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fas', 'external-link-alt']\" class=\"external-link-icon\"></fa-icon>\r\n </ion-button>\r\n </div>\r\n </div>\r\n <br />\r\n\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>", styles: [".app-accordian-heading{font-size:26px;color:var(--ion-color-medium-gray);font-family:var(--app-font-light)}.app-accordian-body{font-size:20px;color:#707070;font:normal normal normal 20px/27px var(--app-font-regular)}.horizontal-align{display:flex;align-items:center;gap:5px}.app-text-align{text-align:right}.large-icon{font-size:xx-large}.custom-marker{font-size:x-large}@media screen and (max-width: 576px){.app-text-align{text-align:left}}@media screen and (max-width: 50rem){.app-text-align{text-align:left}}@media screen and (max-width: 50rem){:is() .p-button{display:inline-block;font-size:20px;min-width:3rem}}@media only screen and (max-width: 576px){:is() .p-timeline .p-timeline-event{display:flex!important;flex-direction:column!important;align-items:flex-start!important}:is() .p-timeline .p-timeline-event-separator{margin:.5rem 0!important;width:100%!important}:is() .p-timeline .p-timeline-event-content{width:100%!important;padding-left:0!important;padding-right:0!important}}:host ::ng-deep .app-accordian-body table td[style*=\"display:flex\"]{flex-wrap:wrap!important;white-space:normal!important}:host ::ng-deep .app-accordian-body table td[style*=\"display:flex\"]>span{min-width:0!important;margin:.25em 0!important}:host ::ng-deep .app-accordian-body table td span{overflow-wrap:break-word!important}\n"] }]
|
|
555
|
+
args: [{ selector: 'app-history-page', animations: [rowExpansionTrigger], template: "<app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" (modelCancel)=\"closeQe()\"\r\n (onComplete)=\"quSuccess()\"></app-multi-questionnaire>\r\n<app-proof-of-anything *ngIf=\"showUploadPopup\" [uploadTypeId]=\"uploadTypeId\" [employerDataModel]=\"employerDataModel\"\r\n [data]=\"dataModel\" (cancel)=\"closeUploadPopup()\" (success)=\"uploadPopupDone()\"></app-proof-of-anything>\r\n<app-dashboard-help *ngIf=\"hs.isShowing()\" [activeIndex]=\"0\"></app-dashboard-help>\r\n<ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"10\" offsetXl=\"2\" offsetLg=\"2\" offsetMd=\"1\">\r\n <h1>Your unemployment history</h1>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"10\" offsetXl=\"2\" offsetLg=\"2\" offsetMd=\"1\">\r\n\r\n <ion-row>\r\n <ion-col size=\"3\">\r\n <div class=\"ion-text-left field\" *ngIf=\"histories\">\r\n <label for=\"timeline\" id=\"lblTimeline\">{{time?.desc}}</label><br />\r\n <p-selectButton [options]=\"timeOption\" [(ngModel)]=\"time\" optionLabel=\"desc\"\r\n (onChange)=\"handleChange($event)\" [ariaLabelledBy]=\"'lblTimeline'\">\r\n <ng-template let-item pTemplate>\r\n <div [pTooltip]=\"item.desc\" tooltipPosition=\"bottom\" tabindex=\"0\" [attr.aria-label]=\"item.desc\"\r\n role=\"note\">\r\n <span *ngIf=\"!item.icon\">{{item.desc}}</span>\r\n <fa-icon [icon]=\"['far', item.icon]\" *ngIf=\"item.icon\"></fa-icon>\r\n </div>\r\n </ng-template>\r\n </p-selectButton>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <div class=\"ion-text-right field\" *ngIf=\"histories\">\r\n <label>{{filter?.desc}}</label><br />\r\n <p-selectButton [options]=\"filterOptions\" [(ngModel)]=\"filter\" optionLabel=\"icon\"\r\n (onChange)=\"handleChange($event)\">\r\n <ng-template let-item pTemplate>\r\n <div [pTooltip]=\"item.desc\" tooltipPosition=\"bottom\" tabindex=\"0\" [attr.aria-label]=\"item.desc\"\r\n role=\"note\">\r\n <span *ngIf=\"!item.icon\">{{item.altDesc}}</span>\r\n <fa-icon [icon]=\"['far', item.icon]\" *ngIf=\"item.icon\"></fa-icon>\r\n </div>\r\n </ng-template>\r\n </p-selectButton>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <br />\r\n <p-timeline [value]=\"filteredHistories\" *ngIf=\"(filteredHistories && filteredHistories.length > 0)\">\r\n <ng-template pTemplate=\"marker\" let-hist>\r\n <span [style.color]=\"hist.color\">\r\n <fa-icon [icon]=\"['far', hist.icon]\" class=\"custom-marker\"></fa-icon>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-hist>\r\n <h1 class=\"app-accordian-heading\" style=\"margin-top: 0px; font-weight: bold;\">{{hist.year}}</h1>\r\n <p-accordion expandIcon=\"pi pi-fw pi-chevron-up\" collapseIcon=\"pi pi-fw pi-chevron-up\">\r\n <p-accordionTab *ngFor=\"let history of hist.history; let i = index\" [selected]=\"isValueSelected(history,i)\">\r\n <ng-template pTemplate=\"header\">\r\n <ion-row style=\"width: -webkit-fill-available;\">\r\n <ion-col class=\"ion-text-left\" size=\"12\" sizeXl=\"3\" sizeLg=\"3\" sizeMd=\"3\">\r\n <span class=\"app-accordian-heading\" [style.color]=\"history.color\">{{history.eventDate}}</span>\r\n </ion-col>\r\n <ion-col class=\"app-text-align\" size=\"11\" sizeXl=\"8\" sizeLg=\"8\" sizeMd=\"8\">\r\n <span class=\"app-accordian-heading\" [style.color]=\"history.color\">\r\n {{history.title}}\r\n </span>\r\n </ion-col>\r\n <ion-col size=\"1\" class=\"ion-text-center\">\r\n <span [style.color]=\"history.color\" *ngIf=\"getIcon(history)\">\r\n <fa-icon [icon]=\"getIcon(history)\" class=\"custom-marker\"></fa-icon>\r\n </span>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <span class=\"app-accordian-body\" [innerHtml]=\"history.desc\"></span>\r\n <div *ngIf=\"history.button != null\">\r\n <br /><br />\r\n <div class=\"ion-text-right\">\r\n <ion-button [attr.aria-label]=\"'go to' + history.button.buttonText\" fill=\"outline\"\r\n style=\"--color: {{history.button.color}}; --border-color: {{history.button.color}}; --border-width: 2px\"\r\n shape=\"round\" class=\"small-button\" (click)=\"open(history)\">{{history.button.buttonText}}\r\n </ion-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-accordionTab>\r\n </p-accordion>\r\n <br />\r\n </ng-template>\r\n </p-timeline>\r\n\r\n <div class=\"ion-text-center\" *ngIf=\"isLoading\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n\r\n <div class=\"ion-padding-top ion-text-center app-accordian-body\"\r\n *ngIf=\"(!filteredHistories || filteredHistories.length < 1) && !isLoading\">\r\n <fa-icon [icon]=\"['far', filterIcon]\" class=\"large-icon\"></fa-icon>\r\n <p>{{'No history present.' | translate}}</p>\r\n </div>\r\n\r\n <div style=\"padding-left: 5%;\" *ngIf=\"!isLoading && showOlderRecordsLink\">\r\n <div class=\"horizontal-align\">\r\n <span class=\"app-accordian-body\">\r\n <strong>{{ 'To view prior unemployment history click here' | translate }}</strong>\r\n </span>\r\n <ion-button aria-label=\"view old records\" (click)=\"openOldRecords()\" fill=\"outline\" size=\"small\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fas', 'external-link-alt']\" class=\"external-link-icon\"></fa-icon>\r\n </ion-button>\r\n </div>\r\n </div>\r\n <br />\r\n\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>", styles: [".app-accordian-heading{font-size:26px;color:var(--ion-color-medium-gray);font-family:var(--app-font-light)}.app-accordian-body{font-size:20px;color:#707070;font:normal normal normal 20px/27px var(--app-font-regular)}.horizontal-align{display:flex;align-items:center;gap:5px}.app-text-align{text-align:right}.large-icon{font-size:xx-large}.custom-marker{font-size:x-large}@media screen and (max-width: 576px){.app-text-align{text-align:left}}@media screen and (max-width: 50rem){.app-text-align{text-align:left}}@media screen and (max-width: 50rem){:is() .p-button{display:inline-block;font-size:20px;min-width:3rem}}@media only screen and (max-width: 576px){:is() .p-timeline .p-timeline-event{display:flex!important;flex-direction:column!important;align-items:flex-start!important}:is() .p-timeline .p-timeline-event-separator{margin:.5rem 0!important;width:100%!important}:is() .p-timeline .p-timeline-event-content{width:100%!important;padding-left:0!important;padding-right:0!important}}:host ::ng-deep .app-accordian-body table td[style*=\"display:flex\"]{flex-wrap:wrap!important;white-space:normal!important}:host ::ng-deep .app-accordian-body table td[style*=\"display:flex\"]>span{min-width:0!important;margin:.25em 0!important}:host ::ng-deep .app-accordian-body table td span{overflow-wrap:break-word!important}\n"] }]
|
|
553
556
|
}], () => [{ type: i1.EventService }, { type: i2.HelpService }, { type: i3.UtilService }, { type: i4.NavController }, { type: i5.LoginService }, { type: i6.TranslateService }, { type: i7.LoggerService }, { type: i8.ActivatedRoute }], null); })();
|
|
554
557
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HistoryPageComponent, { className: "HistoryPageComponent", filePath: "lib\\components\\history-page\\history-page.component.ts", lineNumber: 28 }); })();
|
|
555
558
|
export class KeyValueModel {
|
|
556
559
|
}
|
|
557
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDOEQ7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEdkMsa0RBQTZCLCtDQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNjO0lBQ1os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ZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO3FGQXBRVSxvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQzNCakMsNkdBQ3VELDRGQUFBLHNGQUFBO1lBSXZELGdDQUFVLGNBQUEsaUJBQUEsU0FBQTtZQUdBLHlDQUF5QjtZQUFBLGlCQUFLLEVBQUEsRUFBQTtZQUd0QywrQkFBUyxpQkFBQSxlQUFBLGtCQUFBO1lBS0QsdUVBWU07WUFDUixpQkFBVTtZQUNWLG1DQUFrQjtZQUNoQix1RUFZTTtZQUNSLGlCQUFVLEVBQUE7WUFHWixzQkFBTTtZQUNOLHFGQTJDYSwwREFBQSwyREFBQSwyREFBQTtZQXVCYixzQkFBTTtZQUVSLGlCQUFVLEVBQUEsRUFBQTs7WUFwSDRDLG1DQUFjO1lBRWhELGVBQXFCO1lBQXJCLDBDQUFxQjtZQUV4QixlQUFvQjtZQUFwQix5Q0FBb0I7WUFZRyxnQkFBZTtZQUFmLG9DQUFlO1lBZWQsZUFBZTtZQUFmLG9DQUFlO1lBaUJiLGVBQXlEO1lBQXpELGdGQUF5RDtZQTZDcEUsZUFBZTtZQUFmLG9DQUFlO1lBSzFDLGVBQXdFO1lBQXhFLHFHQUF3RTtZQUszQyxlQUF3QztZQUF4QyxpRUFBd0M7MmlFRDlFaEUsQ0FBQyxtQkFBbUIsQ0FBQzs7aUZBRXRCLG9CQUFvQjtjQU5oQyxTQUFTOzJCQUNFLGtCQUFrQixjQUdoQixDQUFDLG1CQUFtQixDQUFDOztrRkFFdEIsb0JBQW9CO0FBeVFqQyxNQUFNLE9BQU8sYUFBYTtDQUd6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEVycm9yTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JNb2RlbCc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBIZWxwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hlbHAvaGVscC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW1wbG95ZXJEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZXVwbG9hZC9FbXBsb3llckRhdGFNb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXN0b3J5TW9kZWwsIFllYXJXaXNlSGlzdG9yeSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXNoYm9hcmQtbW9kZWwnO1xyXG5pbXBvcnQgeyByb3dFeHBhbnNpb25UcmlnZ2VyIH0gZnJvbSAnLi4vLi4vYW5uaW1hdGlvbnMvYXBwLWFuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50LXNlcnZpY2UvZXZlbnQtc2VydmljZSc7XHJcblxyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1oaXN0b3J5LXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b3J5LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9oaXN0b3J5LXBhZ2UuY29tcG9uZW50LmNzcycsXHJcbiAgYW5pbWF0aW9uczogW3Jvd0V4cGFuc2lvblRyaWdnZXJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXN0b3J5UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHNlbGVjdGVkTW9kZWw6IEhpc3RvcnlNb2RlbDtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBoaXN0b3JpZXM6IFllYXJXaXNlSGlzdG9yeVtdO1xyXG4gIGZpbHRlcmVkSGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXTtcclxuICBmaWx0ZXJPcHRpb25zOiBhbnlbXTtcclxuICB0aW1lT3B0aW9uOiBhbnlbXTtcclxuICB2YWx1ZSA9IHsgaWNvbjogbnVsbCwgZGVzYzogJ0FsbCcsIHZhbHVlOiBcIkFMTFwiIH07XHJcbiAgdGltZSA9IHsgaWNvbjogJ2Nsb2NrJywgZGVzYzogJ2N1cnJlbnQnLCB2YWx1ZTogXCJDVVJSXCIgfTtcclxuICBmaWx0ZXIgPSB7IGljb246IG51bGwsIGRlc2M6ICdhbGwgeW91ciBoaXN0b3J5JywgdmFsdWU6IFwiQUxMXCIsIGFsdERlc2M6ICdhbGwnIH07XHJcbiAgZmlsdGVySWNvbiA9ICdoaXN0b3J5JztcclxuICBwYXltZW50VGV4dDogc3RyaW5nO1xyXG4gIHFlUXVlcnlNb2RlbHM6IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsW107XHJcbiAgaXNPcGVuUWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93T2xkZXJSZWNvcmRzTGluazogYm9vbGVhbjtcclxuICB0cmFuc2FjdGlvbklkU2VsZWN0ZWQ6IGFueTtcclxuICBzaG93VXBsb2FkUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB1cGxvYWRUeXBlSWQ6IFN0cmluZztcclxuICBlbXBsb3llckRhdGFNb2RlbDogQXJyYXk8RW1wbG95ZXJEYXRhTW9kZWw+O1xyXG4gIGNvdW50ID0gMDtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVzOiBFdmVudFNlcnZpY2UsIHB1YmxpYyBoczogSGVscFNlcnZpY2UsIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGltZU9wdGlvbiA9IFtcclxuICAgICAgeyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9LFxyXG4gICAgICB7IGljb246ICdoaXN0b3J5JywgZGVzYzogJ3Bhc3QnLCB2YWx1ZTogXCJQQVNUXCIgfSxcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpKSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtseSBjZXJ0aWZpY2F0aW9ucyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtsaWVzIGFuZCBwYXltZW50c1wiXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJPcHRpb25zID0gW1xyXG4gICAgICB7IGljb246IG51bGwsIGRlc2M6ICdhbGwgeW91ciBoaXN0b3J5JywgdmFsdWU6IFwiQUxMXCIsIGFsdERlc2M6ICdhbGwnIH0sXHJcbiAgICAgIHsgaWNvbjogJ3NhY2stZG9sbGFyJywgZGVzYzogdGhpcy5wYXltZW50VGV4dCwgdmFsdWU6IFwiV0tMWVwiIH0sXHJcbiAgICAgIHsgaWNvbjogJ2ZpbGUtdXBsb2FkJywgZGVzYzogJ3VwbG9hZGVkIGRvY3VtZW50cycsIHZhbHVlOiBcIkRPQ1NcIiB9LFxyXG4gICAgICB7IGljb246ICdiYWxhbmNlLXNjYWxlJywgZGVzYzogJ2lzc3VlICYgYXBwZWFscycsIHZhbHVlOiBcIkFQUExcIiB9XHJcblxyXG4gICAgXTtcclxuXHJcbiAgICBsZXQgdHhuSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eG5pZCcpO1xyXG4gICAgaWYgKHR4bklkICE9IG51bGwpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPSBhdG9iKHR4bklkKTtcclxuICAgICAgLy90aGlzLmxvZ2dlci5pbmZvKHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5sb2FkSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudFllYXJIaXN0b3J5KCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgXHJcblxyXG4gICAgaWYgKHRpbWVGaWx0ZXIgPT0gJ0NVUlInKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5maWx0ZXIoaGlzdCA9PiAoaGlzdC55ZWFyICE9ICdTdGFydCcgJiYgcGFyc2VJbnQoaGlzdC55ZWFyKSA9PSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCkge1xyXG4gICAgbGV0IGhpc3QgPSB0aGlzLmZpbHRlck9wdGlvbnMuZmlsdGVyKGZvID0+IGZvLnZhbHVlID09IGhpc3RvcnkucHJvY2Vzc1R5cGUpWzBdO1xyXG4gICAgaWYgKGhpc3QpIHtcclxuICAgICAgcmV0dXJuIFsnZmFyJywgaGlzdC5pY29uXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVzLmdldEhpc3RvcnlPZkxvZ2dlZGluVXNlcigpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmhpc3RvcmllcyA9IHJlcy5oaXN0b3J5O1xyXG4gICAgICAgIHRoaXMuc2hvd09sZGVyUmVjb3Jkc0xpbmsgPSByZXMuc2hvd09sZGVyUmVjb3Jkc0xpbms7XHJcbiAgICAgICAgLy90aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gWy4uLnRoaXMuaGlzdG9yaWVzXTtcclxuICAgICAgICB0aGlzLmdldEN1cnJlbnRZZWFySGlzdG9yeSgpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgdHlwZUZpbHRlciA9IHRoaXMuZmlsdGVyLnZhbHVlO1xyXG4gICAgbGV0IHRpbWVGaWx0ZXIgPSB0aGlzLnRpbWUudmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLnRpbWUuaWNvbjtcclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfSBlbHNlIGlmICh0aW1lRmlsdGVyID09ICdQQVNUJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIGhpc3QueWVhciAhPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAnJykpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZUZpbHRlciAhPSAnQUxMJykge1xyXG4gICAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLmZpbHRlci5pY29uO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB5d2ggPSB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLmZpbHRlcihoID0+IGgueWVhciA9PSAnU3RhcnQnKTtcclxuXHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwICYmIHl3aC5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMucHVzaCh7XHJcbiAgICAgICAgY29sb3I6ICd2YXIoLS1pb24tY29sb3ItbWVkaXVtLWdyYXkpJyxcclxuICAgICAgICBpY29uOiAnaG91cmdsYXNzLXN0YXJ0JyxcclxuICAgICAgICBoaXN0b3J5OiBbXSxcclxuICAgICAgICB5ZWFyOiAnU3RhcnQnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWRIaXN0b3JpZXMoaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXSwgZmlsdGVyOiBzdHJpbmcpIHtcclxuICAgIGlmIChmaWx0ZXIgPT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5jb3VudCA9IHRoaXMuY291bnQgKyAxO1xyXG4gICAgICByZXR1cm4gaGlzdG9yaWVzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhpc3Rvcmllc1xyXG4gICAgICAuZmlsdGVyKGhpc3QgPT4gaGlzdC5oaXN0b3J5LnNvbWUoc3ViSGlzdCA9PiBzdWJIaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpKVxyXG4gICAgICAubWFwKGhpc3RvcnkgPT4ge1xyXG4gICAgICAgIGxldCBuZXdIaXN0ID0gT2JqZWN0LmFzc2lnbih7fSwgaGlzdG9yeSk7XHJcbiAgICAgICAgbmV3SGlzdC5oaXN0b3J5ID0gbmV3SGlzdC5oaXN0b3J5LmZpbHRlcihoaXN0ID0+IGhpc3QucHJvY2Vzc1R5cGUgPT09IGZpbHRlcik7XHJcbiAgICAgICAgcmV0dXJuIG5ld0hpc3Q7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld1dpbGxMZWF2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaHMuc2V0SGVscEF2YWlsYWJpbGl0eShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBpb25WaWV3RGlkRW50ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc1ZhbHVlU2VsZWN0ZWQoaGlzdG9yeTogSGlzdG9yeU1vZGVsLCBjb3VudDogYW55KSB7XHJcbiAgICAvL3RoaXMubG9nZ2VyLmluZm8oJ2lzIHZhbHVlIHNlbGVjdGVkJyAsIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCA9PSBudWxsICYmIGNvdW50ID09IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGhpc3RvcnkudHJhbnNhY3Rpb25JZCA9PSB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9wZW4oaGlzdG9yeU1vZGVsOiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIC8vdGhpcy5sb2dnZXIuaW5mbygnaW5zaWRlIGNsaWNrIG9mIGhpc3RvcnkgYnV0dG9uID0gJysgaGlzdG9yeU1vZGVsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IGhpc3RvcnlNb2RlbDtcclxuICAgIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBvcHVwXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQb3B1cCB2YWx1ZScpO1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpICYmIGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5jbG10T25seUZOID09ICcxJykge1xyXG4gICAgICAgIGxldCBlcnJvck1vZGVsOiBFcnJvck1vZGVsID0gbmV3IEVycm9yTW9kZWwoKTtcclxuICAgICAgICBlcnJvck1vZGVsLm1zZyA9IFwiVGhpcyBpcyBhIGNsYWltYW50IG9ubHkgZnVuY3Rpb25hbGl0eS5cIjtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycm9yTW9kZWwpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmFjdGlvblVyaSA9PSAnQXBwZWFsc1BvcHVwJyAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBBcnJheTxRdWVzdGlvbm5haXJlUXVlcnlNb2RlbD4gPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gdGhpcy5jcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzKTtcclxuICAgICAgICB0aGlzLmlzT3BlblFlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cEluQ3AnKSB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkVHlwZUlkID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEudXBsb2FkVHlwZUlkO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZW1wbG95ZXJEYXRhTW9kZWwgPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhPy5lbXBsb3llckRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNob3dVcGxvYWRQb3B1cCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkUG9wdXAnKSB7XHJcbiAgICAgICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpO1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OSZDTEFJTUFOVF9QT1JUQUw9dHJ1ZSZ2aWV3PS51cGxvYWRkb2N1bWVudGVudGVyc3NuYCwgJ19zZWxmJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnByZXNlbnRUb2FzdCgnU2NlbmFyaW8gdW5kZXIgZGV2ZWxvcG1lbnQuIFBsZWFzZSBjaGVjayB3aXRoIGRldmVsb3Blci4nKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihoaXN0b3J5TW9kZWwpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaSAhPSAnJyAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBhZ2VcIikpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbygnSGlzdG9yeSBidXR0b24gdXJpIGluY2x1ZGVzIFBhZ2UgdmFsdWUnKTtcclxuICAgICAgaWYgKGhpc3RvcnlNb2RlbC5kYXRhICYmIGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSkge1xyXG4gICAgICAgIGxldCBqc29uRGF0YSA9IEpTT04ucGFyc2UoaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKTtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwganNvbkRhdGFbMF0uZHluYW1pY1BhcmFtLCB0aGlzLm5hdik7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmRhdGEpIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgaGlzdG9yeU1vZGVsLmRhdGEsIHRoaXMubmF2KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgdGhpcy5uYXYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT2xkUmVjb3JkcygpIHtcclxuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxzLmlzQ3NyKCkpIHtcclxuICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubHMuaXNDbGFpbWFudCgpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0uY2xhaW1hbnRzdW1tYXJ5YCwgJ19zZWxmJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdKSB7XHJcbiAgICByZXR1cm4gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzLm1hcChxdWVzdGlvbm5haXJlUXVlcnlNb2RlbCA9PiB7XHJcbiAgICAgIGxldCBkeW5hbWljUGFyYW0gPSB7fTtcclxuICAgICAgdmFyIGtleU1vZGVsID0gPEtleVZhbHVlTW9kZWw+cXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZHluYW1pY1BhcmFtWzBdO1xyXG4gICAgICB2YXIgdGl0bGUgPSBrZXlNb2RlbC5rZXk7XHJcbiAgICAgIHZhciB2ZXJiYWlnZUtleSA9IGtleU1vZGVsLnZhbHVlO1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGVkVGV4dCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodmVyYmFpZ2VLZXkpO1xyXG4gICAgICBkeW5hbWljUGFyYW1bdGl0bGVdID0gdHJhbnNsYXRlZFRleHQ7XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnaGlkQXBwZWFsRGVjaXNpb24nXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2hpZEFwcGVhbERlY2lzaW9uJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnZG9ja2V0bnVtYmVyJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydkb2NrZXRudW1iZXInXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydwYXJlbnRBcHBlYWxJZCddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsncGFyZW50QXBwZWFsSWQnXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydhcHBlYWxUeXBlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxUeXBlJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsTGV2ZWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2FwcGVhbExldmVsJ107XHJcbiAgICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTUUnKSkge1xyXG4gICAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxDb25zaWRlcmVkTGF0ZURhdGUnXTtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2xhdGVBcHBlYWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2xhdGVBcHBlYWwnXTtcclxuICAgICAgfVxyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnZHluYW1pY1BhcmFtJ10gPSBkeW5hbWljUGFyYW07XHJcbiAgICAgIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsWydhdXRvU2F2ZSddID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVFlKCkge1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gbnVsbDtcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1FlIGNhbmNlbCcpO1xyXG4gIH1cclxuXHJcbiAgcXVTdWNjZXNzKCkge1xyXG4gICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aW1lcigyMDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRIaXN0b3J5KClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIkVycm9yIHdoaWxlIGRlYWN0aXZhdGluZyB0aGUgZXZlbnQuXCIsIGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBzdWNjZXNzJyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVwbG9hZFBvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFBvcHVwRG9uZSgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBLZXlWYWx1ZU1vZGVsIHtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG4iLCI8YXBwLW11bHRpLXF1ZXN0aW9ubmFpcmUgW3FlUXVlcnlNb2RlbHNdPVwicWVRdWVyeU1vZGVsc1wiICpuZ0lmPVwiaXNPcGVuUWVcIiAobW9kZWxDYW5jZWwpPVwiY2xvc2VRZSgpXCJcclxuICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3MoKVwiPjwvYXBwLW11bHRpLXF1ZXN0aW9ubmFpcmU+XHJcbjxhcHAtcHJvb2Ytb2YtYW55dGhpbmcgKm5nSWY9XCJzaG93VXBsb2FkUG9wdXBcIiBbdXBsb2FkVHlwZUlkXT1cInVwbG9hZFR5cGVJZFwiIFtlbXBsb3llckRhdGFNb2RlbF09XCJlbXBsb3llckRhdGFNb2RlbFwiXHJcbiAgKGNhbmNlbCk9XCJjbG9zZVVwbG9hZFBvcHVwKClcIiAoc3VjY2Vzcyk9XCJ1cGxvYWRQb3B1cERvbmUoKVwiPjwvYXBwLXByb29mLW9mLWFueXRoaW5nPlxyXG48YXBwLWRhc2hib2FyZC1oZWxwICpuZ0lmPVwiaHMuaXNTaG93aW5nKClcIiBbYWN0aXZlSW5kZXhdPVwiMFwiPjwvYXBwLWRhc2hib2FyZC1oZWxwPlxyXG48aW9uLWdyaWQ+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjEwXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcbiAgICAgIDxoMT5Zb3VyIHVuZW1wbG95bWVudCBoaXN0b3J5PC9oMT5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjEwXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcblxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWxlZnQgZmllbGRcIiAqbmdJZj1cImhpc3Rvcmllc1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwidGltZWxpbmVcIiBpZD1cImxibFRpbWVsaW5lXCI+e3t0aW1lPy5kZXNjfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwidGltZU9wdGlvblwiIFsobmdNb2RlbCldPVwidGltZVwiIG9wdGlvbkxhYmVsPVwiZGVzY1wiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCIgW2FyaWFMYWJlbGxlZEJ5XT1cIidsYmxUaW1lbGluZSdcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwiaXRlbS5kZXNjXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmRlc2NcIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwibm90ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmljb25cIj57e2l0ZW0uZGVzY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGl0ZW0uaWNvbl1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBmaWVsZFwiICpuZ0lmPVwiaGlzdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD57e2ZpbHRlcj8uZGVzY319PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImZpbHRlck9wdGlvbnNcIiBbKG5nTW9kZWwpXT1cImZpbHRlclwiIG9wdGlvbkxhYmVsPVwiaWNvblwiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW3BUb29sdGlwXT1cIml0ZW0uZGVzY1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHRhYmluZGV4PVwiMFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5kZXNjXCJcclxuICAgICAgICAgICAgICAgICAgcm9sZT1cIm5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5pY29uXCI+e3tpdGVtLmFsdERlc2N9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBpdGVtLmljb25dXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICA8YnIgLz5cclxuICAgICAgPHAtdGltZWxpbmUgW3ZhbHVlXT1cImZpbHRlcmVkSGlzdG9yaWVzXCIgKm5nSWY9XCIoZmlsdGVyZWRIaXN0b3JpZXMgJiYgZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoID4gMClcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibWFya2VyXCIgbGV0LWhpc3Q+XHJcbiAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiaGlzdC5jb2xvclwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGhpc3QuaWNvbl1cIiBjbGFzcz1cImN1c3RvbS1tYXJrZXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1oaXN0PlxyXG4gICAgICAgICAgPGgxIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPnt7aGlzdC55ZWFyfX08L2gxPlxyXG4gICAgICAgICAgPHAtYWNjb3JkaW9uIGV4cGFuZEljb249XCJwaSBwaS1mdyBwaS1jaGV2cm9uLXVwXCIgY29sbGFwc2VJY29uPVwicGkgcGktZncgcGktY2hldnJvbi11cFwiPlxyXG4gICAgICAgICAgICA8cC1hY2NvcmRpb25UYWIgKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2YgaGlzdC5oaXN0b3J5OyBsZXQgaSA9IGluZGV4XCIgW3NlbGVjdGVkXT1cImlzVmFsdWVTZWxlY3RlZChoaXN0b3J5LGkpXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1yb3cgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiM1wiIHNpemVMZz1cIjNcIiBzaXplTWQ9XCIzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiPnt7aGlzdG9yeS5ldmVudERhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImFwcC10ZXh0LWFsaWduXCIgc2l6ZT1cIjExXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCI4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5LnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCIgKm5nSWY9XCJnZXRJY29uKGhpc3RvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJnZXRJY29uKGhpc3RvcnkpXCIgY2xhc3M9XCJjdXN0b20tbWFya2VyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1ib2R5XCIgW2lubmVySHRtbF09XCJoaXN0b3J5LmRlc2NcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGlzdG9yeS5idXR0b24gIT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnIgLz48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInZ28gdG8nICsgaGlzdG9yeS5idXR0b24uYnV0dG9uVGV4dFwiIGZpbGw9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLS1jb2xvcjoge3toaXN0b3J5LmJ1dHRvbi5jb2xvcn19OyAtLWJvcmRlci1jb2xvcjoge3toaXN0b3J5LmJ1dHRvbi5jb2xvcn19OyAtLWJvcmRlci13aWR0aDogMnB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIiBjbGFzcz1cInNtYWxsLWJ1dHRvblwiIChjbGljayk9XCJvcGVuKGhpc3RvcnkpXCI+e3toaXN0b3J5LmJ1dHRvbi5idXR0b25UZXh0fX1cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLWFjY29yZGlvblRhYj5cclxuICAgICAgICAgIDwvcC1hY2NvcmRpb24+XHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3AtdGltZWxpbmU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy10b3AgaW9uLXRleHQtY2VudGVyIGFwcC1hY2NvcmRpYW4tYm9keVwiXHJcbiAgICAgICAgKm5nSWY9XCIoIWZpbHRlcmVkSGlzdG9yaWVzIHx8IGZpbHRlcmVkSGlzdG9yaWVzLmxlbmd0aCA8IDEpICYmICFpc0xvYWRpbmdcIj5cclxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGZpbHRlckljb25dXCIgY2xhc3M9XCJsYXJnZS1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDxwPnt7J05vIGhpc3RvcnkgcHJlc2VudC4nIHwgdHJhbnNsYXRlfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBzdHlsZT1cInBhZGRpbmctbGVmdDogNSU7XCIgKm5nSWY9XCIhaXNMb2FkaW5nICYmIHNob3dPbGRlclJlY29yZHNMaW5rXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtYWxpZ25cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxzdHJvbmc+e3sgJ1RvIHZpZXcgcHJpb3IgdW5lbXBsb3ltZW50IGhpc3RvcnkgY2xpY2sgaGVyZScgfCB0cmFuc2xhdGUgfX08L3N0cm9uZz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJ2aWV3IG9sZCByZWNvcmRzXCIgKGNsaWNrKT1cIm9wZW5PbGRSZWNvcmRzKClcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcycsICdleHRlcm5hbC1saW5rLWFsdCddXCIgY2xhc3M9XCJleHRlcm5hbC1saW5rLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnIgLz5cclxuXHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG48L2lvbi1ncmlkPiJdfQ==
|
|
560
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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QyxZQUFZLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO3FGQXRRVSxvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQzNCakMsNkdBQ3VELDRGQUFBLHNGQUFBO1lBSXZELGdDQUFVLGNBQUEsaUJBQUEsU0FBQTtZQUdBLHlDQUF5QjtZQUFBLGlCQUFLLEVBQUEsRUFBQTtZQUd0QywrQkFBUyxpQkFBQSxlQUFBLGtCQUFBO1lBS0QsdUVBWU07WUFDUixpQkFBVTtZQUNWLG1DQUFrQjtZQUNoQix1RUFZTTtZQUNSLGlCQUFVLEVBQUE7WUFHWixzQkFBTTtZQUNOLHFGQTJDYSwwREFBQSwyREFBQSwyREFBQTtZQXVCYixzQkFBTTtZQUVSLGlCQUFVLEVBQUEsRUFBQTs7WUFwSDRDLG1DQUFjO1lBRWhELGVBQXFCO1lBQXJCLDBDQUFxQjtZQUV4QixlQUFvQjtZQUFwQix5Q0FBb0I7WUFZRyxnQkFBZTtZQUFmLG9DQUFlO1lBZWQsZUFBZTtZQUFmLG9DQUFlO1lBaUJiLGVBQXlEO1lBQXpELGdGQUF5RDtZQTZDcEUsZUFBZTtZQUFmLG9DQUFlO1lBSzFDLGVBQXdFO1lBQXhFLHFHQUF3RTtZQUszQyxlQUF3QztZQUF4QyxpRUFBd0M7MmlFRDlFaEUsQ0FBQyxtQkFBbUIsQ0FBQzs7aUZBRXRCLG9CQUFvQjtjQU5oQyxTQUFTOzJCQUNFLGtCQUFrQixjQUdoQixDQUFDLG1CQUFtQixDQUFDOztrRkFFdEIsb0JBQW9CO0FBMlFqQyxNQUFNLE9BQU8sYUFBYTtDQUd6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEVycm9yTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JNb2RlbCc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBIZWxwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hlbHAvaGVscC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW1wbG95ZXJEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZXVwbG9hZC9FbXBsb3llckRhdGFNb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXN0b3J5TW9kZWwsIFllYXJXaXNlSGlzdG9yeSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXNoYm9hcmQtbW9kZWwnO1xyXG5pbXBvcnQgeyByb3dFeHBhbnNpb25UcmlnZ2VyIH0gZnJvbSAnLi4vLi4vYW5uaW1hdGlvbnMvYXBwLWFuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50LXNlcnZpY2UvZXZlbnQtc2VydmljZSc7XHJcblxyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1oaXN0b3J5LXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b3J5LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9oaXN0b3J5LXBhZ2UuY29tcG9uZW50LmNzcycsXHJcbiAgYW5pbWF0aW9uczogW3Jvd0V4cGFuc2lvblRyaWdnZXJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXN0b3J5UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHNlbGVjdGVkTW9kZWw6IEhpc3RvcnlNb2RlbDtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBoaXN0b3JpZXM6IFllYXJXaXNlSGlzdG9yeVtdO1xyXG4gIGZpbHRlcmVkSGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXTtcclxuICBmaWx0ZXJPcHRpb25zOiBhbnlbXTtcclxuICB0aW1lT3B0aW9uOiBhbnlbXTtcclxuICB2YWx1ZSA9IHsgaWNvbjogbnVsbCwgZGVzYzogJ0FsbCcsIHZhbHVlOiBcIkFMTFwiIH07XHJcbiAgdGltZSA9IHsgaWNvbjogJ2Nsb2NrJywgZGVzYzogJ2N1cnJlbnQnLCB2YWx1ZTogXCJDVVJSXCIgfTtcclxuICBmaWx0ZXIgPSB7IGljb246IG51bGwsIGRlc2M6ICdhbGwgeW91ciBoaXN0b3J5JywgdmFsdWU6IFwiQUxMXCIsIGFsdERlc2M6ICdhbGwnIH07XHJcbiAgZmlsdGVySWNvbiA9ICdoaXN0b3J5JztcclxuICBwYXltZW50VGV4dDogc3RyaW5nO1xyXG4gIHFlUXVlcnlNb2RlbHM6IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsW107XHJcbiAgaXNPcGVuUWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93T2xkZXJSZWNvcmRzTGluazogYm9vbGVhbjtcclxuICB0cmFuc2FjdGlvbklkU2VsZWN0ZWQ6IGFueTtcclxuICBzaG93VXBsb2FkUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB1cGxvYWRUeXBlSWQ6IFN0cmluZztcclxuICBlbXBsb3llckRhdGFNb2RlbDogQXJyYXk8RW1wbG95ZXJEYXRhTW9kZWw+O1xyXG4gIGNvdW50ID0gMDtcclxuICBkYXRhTW9kZWwgOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXM6IEV2ZW50U2VydmljZSwgcHVibGljIGhzOiBIZWxwU2VydmljZSwgcHJpdmF0ZSB1dGlsOiBVdGlsU2VydmljZSxcclxuICAgIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLCBwdWJsaWMgbHM6IExvZ2luU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50aW1lT3B0aW9uID0gW1xyXG4gICAgICB7IGljb246ICdjbG9jaycsIGRlc2M6ICdjdXJyZW50JywgdmFsdWU6IFwiQ1VSUlwiIH0sXHJcbiAgICAgIHsgaWNvbjogJ2hpc3RvcnknLCBkZXNjOiAncGFzdCcsIHZhbHVlOiBcIlBBU1RcIiB9LFxyXG4gICAgXTtcclxuXHJcbiAgICBpZiAodGhpcy51dGlsLmlzU3RhdGUoJ01TJykpIHtcclxuICAgICAgdGhpcy5wYXltZW50VGV4dCA9IFwid2Vla2x5IGNlcnRpZmljYXRpb25zIGFuZCBwYXltZW50c1wiXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5wYXltZW50VGV4dCA9IFwid2Vla2xpZXMgYW5kIHBheW1lbnRzXCJcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbHRlck9wdGlvbnMgPSBbXHJcbiAgICAgIHsgaWNvbjogbnVsbCwgZGVzYzogJ2FsbCB5b3VyIGhpc3RvcnknLCB2YWx1ZTogXCJBTExcIiwgYWx0RGVzYzogJ2FsbCcgfSxcclxuICAgICAgeyBpY29uOiAnc2Fjay1kb2xsYXInLCBkZXNjOiB0aGlzLnBheW1lbnRUZXh0LCB2YWx1ZTogXCJXS0xZXCIgfSxcclxuICAgICAgeyBpY29uOiAnZmlsZS11cGxvYWQnLCBkZXNjOiAndXBsb2FkZWQgZG9jdW1lbnRzJywgdmFsdWU6IFwiRE9DU1wiIH0sXHJcbiAgICAgIHsgaWNvbjogJ2JhbGFuY2Utc2NhbGUnLCBkZXNjOiAnaXNzdWUgJiBhcHBlYWxzJywgdmFsdWU6IFwiQVBQTFwiIH1cclxuXHJcbiAgICBdO1xyXG5cclxuICAgIGxldCB0eG5JZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3R4bmlkJyk7XHJcbiAgICBpZiAodHhuSWQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCA9IGF0b2IodHhuSWQpO1xyXG4gICAgICAvL3RoaXMubG9nZ2VyLmluZm8odGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmxvYWRIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50WWVhckhpc3RvcnkoKSB7XHJcbiAgICBsZXQgdHlwZUZpbHRlciA9IHRoaXMuZmlsdGVyLnZhbHVlO1xyXG4gICAgbGV0IHRpbWVGaWx0ZXIgPSB0aGlzLnRpbWUudmFsdWU7XHJcbiAgICBcclxuXHJcbiAgICBpZiAodGltZUZpbHRlciA9PSAnQ1VSUicpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBwYXJzZUludChoaXN0LnllYXIpID09IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSkpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEljb24oaGlzdG9yeTogSGlzdG9yeU1vZGVsKSB7XHJcbiAgICBsZXQgaGlzdCA9IHRoaXMuZmlsdGVyT3B0aW9ucy5maWx0ZXIoZm8gPT4gZm8udmFsdWUgPT0gaGlzdG9yeS5wcm9jZXNzVHlwZSlbMF07XHJcbiAgICBpZiAoaGlzdCkge1xyXG4gICAgICByZXR1cm4gWydmYXInLCBoaXN0Lmljb25dO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkSGlzdG9yeSgpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZXMuZ2V0SGlzdG9yeU9mTG9nZ2VkaW5Vc2VyKClcclxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlzdG9yaWVzID0gcmVzLmhpc3Rvcnk7XHJcbiAgICAgICAgdGhpcy5zaG93T2xkZXJSZWNvcmRzTGluayA9IHJlcy5zaG93T2xkZXJSZWNvcmRzTGluaztcclxuICAgICAgICAvL3RoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSBbLi4udGhpcy5oaXN0b3JpZXNdO1xyXG4gICAgICAgIHRoaXMuZ2V0Q3VycmVudFllYXJIaXN0b3J5KCk7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICB0aGlzLmhpc3RvcmllcyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gbnVsbDtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGxldCB0eXBlRmlsdGVyID0gdGhpcy5maWx0ZXIudmFsdWU7XHJcbiAgICBsZXQgdGltZUZpbHRlciA9IHRoaXMudGltZS52YWx1ZTtcclxuICAgIHRoaXMuZmlsdGVySWNvbiA9IHRoaXMudGltZS5pY29uO1xyXG4gICAgaWYgKHRpbWVGaWx0ZXIgPT0gJ0NVUlInKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5maWx0ZXIoaGlzdCA9PiAoaGlzdC55ZWFyICE9ICdTdGFydCcgJiYgcGFyc2VJbnQoaGlzdC55ZWFyKSA9PSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9IGVsc2UgaWYgKHRpbWVGaWx0ZXIgPT0gJ1BBU1QnKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5maWx0ZXIoaGlzdCA9PiAoaGlzdC55ZWFyICE9ICdTdGFydCcgJiYgaGlzdC55ZWFyICE9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSArICcnKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlRmlsdGVyICE9ICdBTEwnKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVySWNvbiA9IHRoaXMuZmlsdGVyLmljb247XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHl3aCA9IHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMuZmlsdGVyKGggPT4gaC55ZWFyID09ICdTdGFydCcpO1xyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLmxlbmd0aCA+IDAgJiYgeXdoLmxlbmd0aCA8IDEpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5wdXNoKHtcclxuICAgICAgICBjb2xvcjogJ3ZhcigtLWlvbi1jb2xvci1tZWRpdW0tZ3JheSknLFxyXG4gICAgICAgIGljb246ICdob3VyZ2xhc3Mtc3RhcnQnLFxyXG4gICAgICAgIGhpc3Rvcnk6IFtdLFxyXG4gICAgICAgIHllYXI6ICdTdGFydCdcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZEhpc3RvcmllcyhoaXN0b3JpZXM6IFllYXJXaXNlSGlzdG9yeVtdLCBmaWx0ZXI6IHN0cmluZykge1xyXG4gICAgaWYgKGZpbHRlciA9PSAnQUxMJykge1xyXG4gICAgICB0aGlzLmNvdW50ID0gdGhpcy5jb3VudCArIDE7XHJcbiAgICAgIHJldHVybiBoaXN0b3JpZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGlzdG9yaWVzXHJcbiAgICAgIC5maWx0ZXIoaGlzdCA9PiBoaXN0Lmhpc3Rvcnkuc29tZShzdWJIaXN0ID0+IHN1Ykhpc3QucHJvY2Vzc1R5cGUgPT09IGZpbHRlcikpXHJcbiAgICAgIC5tYXAoaGlzdG9yeSA9PiB7XHJcbiAgICAgICAgbGV0IG5ld0hpc3QgPSBPYmplY3QuYXNzaWduKHt9LCBoaXN0b3J5KTtcclxuICAgICAgICBuZXdIaXN0Lmhpc3RvcnkgPSBuZXdIaXN0Lmhpc3RvcnkuZmlsdGVyKGhpc3QgPT4gaGlzdC5wcm9jZXNzVHlwZSA9PT0gZmlsdGVyKTtcclxuICAgICAgICByZXR1cm4gbmV3SGlzdDtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBpb25WaWV3V2lsbExlYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ocy5zZXRIZWxwQXZhaWxhYmlsaXR5KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGlvblZpZXdEaWRFbnRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuaHMuc2V0SGVscEF2YWlsYWJpbGl0eSh0cnVlKTtcclxuICB9XHJcblxyXG4gIGlzVmFsdWVTZWxlY3RlZChoaXN0b3J5OiBIaXN0b3J5TW9kZWwsIGNvdW50OiBhbnkpIHtcclxuICAgIC8vdGhpcy5sb2dnZXIuaW5mbygnaXMgdmFsdWUgc2VsZWN0ZWQnICwgdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQpO1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkID09IG51bGwgJiYgY291bnQgPT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoaGlzdG9yeS50cmFuc2FjdGlvbklkID09IHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgb3BlbihoaXN0b3J5TW9kZWw6IEhpc3RvcnlNb2RlbCkge1xyXG4gICAgLy90aGlzLmxvZ2dlci5pbmZvKCdpbnNpZGUgY2xpY2sgb2YgaGlzdG9yeSBidXR0b24gPSAnKyBoaXN0b3J5TW9kZWwpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gaGlzdG9yeU1vZGVsO1xyXG4gICAgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24udXJpLmluY2x1ZGVzKFwiUG9wdXBcIikpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbygnSGlzdG9yeSBidXR0b24gdXJpIGluY2x1ZGVzIFBvcHVwIHZhbHVlJyk7XHJcbiAgICAgIGlmICh0aGlzLmxzLmlzQ3NyKCkgJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmNsbXRPbmx5Rk4gPT0gJzEnKSB7XHJcbiAgICAgICAgbGV0IGVycm9yTW9kZWw6IEVycm9yTW9kZWwgPSBuZXcgRXJyb3JNb2RlbCgpO1xyXG4gICAgICAgIGVycm9yTW9kZWwubXNnID0gXCJUaGlzIGlzIGEgY2xhaW1hbnQgb25seSBmdW5jdGlvbmFsaXR5LlwiO1xyXG4gICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyb3JNb2RlbCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYWN0aW9uVXJpID09ICdBcHBlYWxzUG9wdXAnICYmIGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSkge1xyXG4gICAgICAgIGxldCBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbHM6IEFycmF5PFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsPiA9IEpTT04ucGFyc2UoaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKTtcclxuICAgICAgICB0aGlzLnFlUXVlcnlNb2RlbHMgPSB0aGlzLmNyZWF0ZVFlUXVlcnlNb2RlbChxdWVzdGlvbm5haXJlUXVlcnlNb2RlbHMpO1xyXG4gICAgICAgIHRoaXMuaXNPcGVuUWUgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5kaWFsb2cgPT0gJ3VwbG9hZFBvcHVwSW5DcCcpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YSk7XHJcbiAgICAgICAgdGhpcy51cGxvYWRUeXBlSWQgPSB0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YS51cGxvYWRUeXBlSWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhPy5lbXBsb3llckRhdGEgIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5lbXBsb3llckRhdGFNb2RlbCA9IEpTT04ucGFyc2UodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE/LmVtcGxveWVyRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGFNb2RlbCA9IHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNob3dVcGxvYWRQb3B1cCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkUG9wdXAnKSB7XHJcbiAgICAgICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpO1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OSZDTEFJTUFOVF9QT1JUQUw9dHJ1ZSZ2aWV3PS51cGxvYWRkb2N1bWVudGVudGVyc3NuYCwgJ19zZWxmJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnByZXNlbnRUb2FzdCgnU2NlbmFyaW8gdW5kZXIgZGV2ZWxvcG1lbnQuIFBsZWFzZSBjaGVjayB3aXRoIGRldmVsb3Blci4nKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihoaXN0b3J5TW9kZWwpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaSAhPSAnJyAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBhZ2VcIikpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbygnSGlzdG9yeSBidXR0b24gdXJpIGluY2x1ZGVzIFBhZ2UgdmFsdWUnKTtcclxuICAgICAgaWYgKGhpc3RvcnlNb2RlbC5kYXRhICYmIGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSkge1xyXG4gICAgICAgIGxldCBqc29uRGF0YSA9IEpTT04ucGFyc2UoaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKTtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwganNvbkRhdGFbMF0uZHluYW1pY1BhcmFtLCB0aGlzLm5hdik7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmRhdGEpIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgaGlzdG9yeU1vZGVsLmRhdGEsIHRoaXMubmF2KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgdGhpcy5uYXYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT2xkUmVjb3JkcygpIHtcclxuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxzLmlzQ3NyKCkpIHtcclxuICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubHMuaXNDbGFpbWFudCgpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0uY2xhaW1hbnRzdW1tYXJ5YCwgJ19zZWxmJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdKSB7XHJcbiAgICByZXR1cm4gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzLm1hcChxdWVzdGlvbm5haXJlUXVlcnlNb2RlbCA9PiB7XHJcbiAgICAgIGxldCBkeW5hbWljUGFyYW0gPSB7fTtcclxuICAgICAgdmFyIGtleU1vZGVsID0gPEtleVZhbHVlTW9kZWw+cXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZHluYW1pY1BhcmFtWzBdO1xyXG4gICAgICB2YXIgdGl0bGUgPSBrZXlNb2RlbC5rZXk7XHJcbiAgICAgIHZhciB2ZXJiYWlnZUtleSA9IGtleU1vZGVsLnZhbHVlO1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGVkVGV4dCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodmVyYmFpZ2VLZXkpO1xyXG4gICAgICBkeW5hbWljUGFyYW1bdGl0bGVdID0gdHJhbnNsYXRlZFRleHQ7XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnaGlkQXBwZWFsRGVjaXNpb24nXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2hpZEFwcGVhbERlY2lzaW9uJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnZG9ja2V0bnVtYmVyJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydkb2NrZXRudW1iZXInXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydwYXJlbnRBcHBlYWxJZCddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsncGFyZW50QXBwZWFsSWQnXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydhcHBlYWxUeXBlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxUeXBlJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsTGV2ZWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2FwcGVhbExldmVsJ107XHJcbiAgICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTUUnKSkge1xyXG4gICAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxDb25zaWRlcmVkTGF0ZURhdGUnXTtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2xhdGVBcHBlYWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2xhdGVBcHBlYWwnXTtcclxuICAgICAgfVxyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnZHluYW1pY1BhcmFtJ10gPSBkeW5hbWljUGFyYW07XHJcbiAgICAgIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsWydhdXRvU2F2ZSddID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVFlKCkge1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gbnVsbDtcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1FlIGNhbmNlbCcpO1xyXG4gIH1cclxuXHJcbiAgcXVTdWNjZXNzKCkge1xyXG4gICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aW1lcigyMDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRIaXN0b3J5KClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIkVycm9yIHdoaWxlIGRlYWN0aXZhdGluZyB0aGUgZXZlbnQuXCIsIGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBzdWNjZXNzJyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVwbG9hZFBvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFBvcHVwRG9uZSgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBLZXlWYWx1ZU1vZGVsIHtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG4iLCI8YXBwLW11bHRpLXF1ZXN0aW9ubmFpcmUgW3FlUXVlcnlNb2RlbHNdPVwicWVRdWVyeU1vZGVsc1wiICpuZ0lmPVwiaXNPcGVuUWVcIiAobW9kZWxDYW5jZWwpPVwiY2xvc2VRZSgpXCJcclxuICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3MoKVwiPjwvYXBwLW11bHRpLXF1ZXN0aW9ubmFpcmU+XHJcbjxhcHAtcHJvb2Ytb2YtYW55dGhpbmcgKm5nSWY9XCJzaG93VXBsb2FkUG9wdXBcIiBbdXBsb2FkVHlwZUlkXT1cInVwbG9hZFR5cGVJZFwiIFtlbXBsb3llckRhdGFNb2RlbF09XCJlbXBsb3llckRhdGFNb2RlbFwiXHJcbiAgW2RhdGFdPVwiZGF0YU1vZGVsXCIgKGNhbmNlbCk9XCJjbG9zZVVwbG9hZFBvcHVwKClcIiAoc3VjY2Vzcyk9XCJ1cGxvYWRQb3B1cERvbmUoKVwiPjwvYXBwLXByb29mLW9mLWFueXRoaW5nPlxyXG48YXBwLWRhc2hib2FyZC1oZWxwICpuZ0lmPVwiaHMuaXNTaG93aW5nKClcIiBbYWN0aXZlSW5kZXhdPVwiMFwiPjwvYXBwLWRhc2hib2FyZC1oZWxwPlxyXG48aW9uLWdyaWQ+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjEwXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcbiAgICAgIDxoMT5Zb3VyIHVuZW1wbG95bWVudCBoaXN0b3J5PC9oMT5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjEwXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCIgb2Zmc2V0TWQ9XCIxXCI+XHJcblxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWxlZnQgZmllbGRcIiAqbmdJZj1cImhpc3Rvcmllc1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwidGltZWxpbmVcIiBpZD1cImxibFRpbWVsaW5lXCI+e3t0aW1lPy5kZXNjfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwidGltZU9wdGlvblwiIFsobmdNb2RlbCldPVwidGltZVwiIG9wdGlvbkxhYmVsPVwiZGVzY1wiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCIgW2FyaWFMYWJlbGxlZEJ5XT1cIidsYmxUaW1lbGluZSdcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwiaXRlbS5kZXNjXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmRlc2NcIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwibm90ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmljb25cIj57e2l0ZW0uZGVzY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGl0ZW0uaWNvbl1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBmaWVsZFwiICpuZ0lmPVwiaGlzdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD57e2ZpbHRlcj8uZGVzY319PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImZpbHRlck9wdGlvbnNcIiBbKG5nTW9kZWwpXT1cImZpbHRlclwiIG9wdGlvbkxhYmVsPVwiaWNvblwiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW3BUb29sdGlwXT1cIml0ZW0uZGVzY1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHRhYmluZGV4PVwiMFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5kZXNjXCJcclxuICAgICAgICAgICAgICAgICAgcm9sZT1cIm5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5pY29uXCI+e3tpdGVtLmFsdERlc2N9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBpdGVtLmljb25dXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICA8YnIgLz5cclxuICAgICAgPHAtdGltZWxpbmUgW3ZhbHVlXT1cImZpbHRlcmVkSGlzdG9yaWVzXCIgKm5nSWY9XCIoZmlsdGVyZWRIaXN0b3JpZXMgJiYgZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoID4gMClcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibWFya2VyXCIgbGV0LWhpc3Q+XHJcbiAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiaGlzdC5jb2xvclwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGhpc3QuaWNvbl1cIiBjbGFzcz1cImN1c3RvbS1tYXJrZXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1oaXN0PlxyXG4gICAgICAgICAgPGgxIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPnt7aGlzdC55ZWFyfX08L2gxPlxyXG4gICAgICAgICAgPHAtYWNjb3JkaW9uIGV4cGFuZEljb249XCJwaSBwaS1mdyBwaS1jaGV2cm9uLXVwXCIgY29sbGFwc2VJY29uPVwicGkgcGktZncgcGktY2hldnJvbi11cFwiPlxyXG4gICAgICAgICAgICA8cC1hY2NvcmRpb25UYWIgKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2YgaGlzdC5oaXN0b3J5OyBsZXQgaSA9IGluZGV4XCIgW3NlbGVjdGVkXT1cImlzVmFsdWVTZWxlY3RlZChoaXN0b3J5LGkpXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1yb3cgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiM1wiIHNpemVMZz1cIjNcIiBzaXplTWQ9XCIzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiPnt7aGlzdG9yeS5ldmVudERhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImFwcC10ZXh0LWFsaWduXCIgc2l6ZT1cIjExXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCI4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5LnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCIgKm5nSWY9XCJnZXRJY29uKGhpc3RvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJnZXRJY29uKGhpc3RvcnkpXCIgY2xhc3M9XCJjdXN0b20tbWFya2VyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1ib2R5XCIgW2lubmVySHRtbF09XCJoaXN0b3J5LmRlc2NcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGlzdG9yeS5idXR0b24gIT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnIgLz48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInZ28gdG8nICsgaGlzdG9yeS5idXR0b24uYnV0dG9uVGV4dFwiIGZpbGw9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiLS1jb2xvcjoge3toaXN0b3J5LmJ1dHRvbi5jb2xvcn19OyAtLWJvcmRlci1jb2xvcjoge3toaXN0b3J5LmJ1dHRvbi5jb2xvcn19OyAtLWJvcmRlci13aWR0aDogMnB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIiBjbGFzcz1cInNtYWxsLWJ1dHRvblwiIChjbGljayk9XCJvcGVuKGhpc3RvcnkpXCI+e3toaXN0b3J5LmJ1dHRvbi5idXR0b25UZXh0fX1cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLWFjY29yZGlvblRhYj5cclxuICAgICAgICAgIDwvcC1hY2NvcmRpb24+XHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3AtdGltZWxpbmU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy10b3AgaW9uLXRleHQtY2VudGVyIGFwcC1hY2NvcmRpYW4tYm9keVwiXHJcbiAgICAgICAgKm5nSWY9XCIoIWZpbHRlcmVkSGlzdG9yaWVzIHx8IGZpbHRlcmVkSGlzdG9yaWVzLmxlbmd0aCA8IDEpICYmICFpc0xvYWRpbmdcIj5cclxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGZpbHRlckljb25dXCIgY2xhc3M9XCJsYXJnZS1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDxwPnt7J05vIGhpc3RvcnkgcHJlc2VudC4nIHwgdHJhbnNsYXRlfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBzdHlsZT1cInBhZGRpbmctbGVmdDogNSU7XCIgKm5nSWY9XCIhaXNMb2FkaW5nICYmIHNob3dPbGRlclJlY29yZHNMaW5rXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtYWxpZ25cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxzdHJvbmc+e3sgJ1RvIHZpZXcgcHJpb3IgdW5lbXBsb3ltZW50IGhpc3RvcnkgY2xpY2sgaGVyZScgfCB0cmFuc2xhdGUgfX08L3N0cm9uZz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJ2aWV3IG9sZCByZWNvcmRzXCIgKGNsaWNrKT1cIm9wZW5PbGRSZWNvcmRzKClcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcycsICdleHRlcm5hbC1saW5rLWFsdCddXCIgY2xhc3M9XCJleHRlcm5hbC1saW5rLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnIgLz5cclxuXHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG48L2lvbi1ncmlkPiJdfQ==
|