ets-fe-ng-sdk 17.0.167 → 17.0.169
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/Reusables/reusable-pages/timeout-tester/timeout-tester.component.mjs +2 -2
- package/esm2022/lib/Reusables/reusable-pages/version/version.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input-base.component.mjs +2 -2
- package/esm2022/lib/Shared/components/input/input.service.mjs +3 -3
- package/esm2022/lib/Shared/components/table-https/table-https.component.mjs +3 -3
- package/esm2022/lib/Shared/components/table-input/table-input-row/table-input-row.component.mjs +1 -1
- package/esm2022/lib/Shared/components/table-input/table-input.component.mjs +3 -3
- package/esm2022/lib/Shared/components/table-plain/table-base.component.mjs +230 -0
- package/esm2022/lib/Shared/components/table-plain/table-plain.component.mjs +6 -228
- package/esm2022/lib/Shared/components/text-case-2/text-case-2.component.mjs +5 -9
- package/fesm2022/ets-fe-ng-sdk.mjs +252 -254
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Services/api.service.d.ts +1 -1
- package/lib/Services/utility.service.d.ts +1 -1
- package/lib/Shared/components/btn/btn.component.d.ts +1 -1
- package/lib/Shared/components/input/input.service.d.ts +1 -1
- package/lib/Shared/components/input/inputs-pipes.pipe.d.ts +1 -1
- package/lib/Shared/components/table-https/table-https.component.d.ts +2 -2
- package/lib/Shared/components/table-plain/table-base.component.d.ts +94 -0
- package/lib/Shared/components/table-plain/table-plain.component.d.ts +5 -91
- package/lib/Shared/components/text-case-2/text-case-2.component.d.ts +1 -2
- package/package.json +1 -1
|
@@ -43,7 +43,7 @@ export class TimeoutTesterComponent {
|
|
|
43
43
|
this.loading = false;
|
|
44
44
|
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TimeoutTesterComponent, deps: [{ token: i1.ApiService }, { token: i2.InfoDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: TimeoutTesterComponent, isStandalone: true, selector: "timeout-tester", ngImport: i0, template: "<div class=\"center\">\n <div class=\"col-md-8\">\n <!-- <app-input-basic [form]=\"form\" name=\"timeout\" label=\"Timeout Test Period\" hint=\"min\"></app-input-basic> -->\n <app-btn [form]=\"form\" text=\"Test\" class=\"mt-3\" (mclick)=\"submit()\"></app-btn>\n <div class=\"row mt-3\">\n <div class=\"col-md\">\n <text-case-2 label=\"Start Time\" [value]=\"startTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\" *ngIf=\"loading\">\n <text-case-2 label=\"Elapsed Time (Seconds)\" [value]=\"elapsedTime|date:'m:s'\" ></text-case-2>\n <text-case-2 label=\"Start Time\" [value]=\"elapsedTime\"></text-case-2>\n </div>\n <!-- <div class=\"col-md\">\n <text-case-2 label=\"Expected End Time\" [value]=\"expectedEndTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\">\n <text-case-2 label=\"Actual End Time\" [value]=\"endTime|date:'long'\"></text-case-2>\n </div> -->\n </div>\n <!-- <ng-container *ngIf=\"loading\">\n <div class=\"mt-3\">{{value}}%</div>\n <mat-progress-bar [value]=\"value\"></mat-progress-bar>\n </ng-container> -->\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "component", type: TextCase2Component, selector: "text-case-2", inputs: ["
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: TimeoutTesterComponent, isStandalone: true, selector: "timeout-tester", ngImport: i0, template: "<div class=\"center\">\n <div class=\"col-md-8\">\n <!-- <app-input-basic [form]=\"form\" name=\"timeout\" label=\"Timeout Test Period\" hint=\"min\"></app-input-basic> -->\n <app-btn [form]=\"form\" text=\"Test\" class=\"mt-3\" (mclick)=\"submit()\"></app-btn>\n <div class=\"row mt-3\">\n <div class=\"col-md\">\n <text-case-2 label=\"Start Time\" [value]=\"startTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\" *ngIf=\"loading\">\n <text-case-2 label=\"Elapsed Time (Seconds)\" [value]=\"elapsedTime|date:'m:s'\" ></text-case-2>\n <text-case-2 label=\"Start Time\" [value]=\"elapsedTime\"></text-case-2>\n </div>\n <!-- <div class=\"col-md\">\n <text-case-2 label=\"Expected End Time\" [value]=\"expectedEndTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\">\n <text-case-2 label=\"Actual End Time\" [value]=\"endTime|date:'long'\"></text-case-2>\n </div> -->\n </div>\n <!-- <ng-container *ngIf=\"loading\">\n <div class=\"mt-3\">{{value}}%</div>\n <mat-progress-bar [value]=\"value\"></mat-progress-bar>\n </ng-container> -->\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "component", type: TextCase2Component, selector: "text-case-2", inputs: ["action", "name", "data", "coloredLbl", "coloredVal", "centered", "customValueTemplate", "formatter", "hint", "label", "light", "mini", "route", "routeFunc", "editable", "stacked", "type", "value", "wrapLabel", "isEmail", "isPhone"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
|
|
47
47
|
}
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TimeoutTesterComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
54
54
|
DatePipe,
|
|
55
55
|
], template: "<div class=\"center\">\n <div class=\"col-md-8\">\n <!-- <app-input-basic [form]=\"form\" name=\"timeout\" label=\"Timeout Test Period\" hint=\"min\"></app-input-basic> -->\n <app-btn [form]=\"form\" text=\"Test\" class=\"mt-3\" (mclick)=\"submit()\"></app-btn>\n <div class=\"row mt-3\">\n <div class=\"col-md\">\n <text-case-2 label=\"Start Time\" [value]=\"startTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\" *ngIf=\"loading\">\n <text-case-2 label=\"Elapsed Time (Seconds)\" [value]=\"elapsedTime|date:'m:s'\" ></text-case-2>\n <text-case-2 label=\"Start Time\" [value]=\"elapsedTime\"></text-case-2>\n </div>\n <!-- <div class=\"col-md\">\n <text-case-2 label=\"Expected End Time\" [value]=\"expectedEndTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\">\n <text-case-2 label=\"Actual End Time\" [value]=\"endTime|date:'long'\"></text-case-2>\n </div> -->\n </div>\n <!-- <ng-container *ngIf=\"loading\">\n <div class=\"mt-3\">{{value}}%</div>\n <mat-progress-bar [value]=\"value\"></mat-progress-bar>\n </ng-container> -->\n </div>\n</div>\n" }]
|
|
56
56
|
}], ctorParameters: () => [{ type: i1.ApiService }, { type: i2.InfoDialogService }] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC10ZXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1JldXNhYmxlcy9yZXVzYWJsZS1wYWdlcy90aW1lb3V0LXRlc3Rlci90aW1lb3V0LXRlc3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvUmV1c2FibGVzL3JldXNhYmxlLXBhZ2VzL3RpbWVvdXQtdGVzdGVyL3RpbWVvdXQtdGVzdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFjNUUsTUFBTSxPQUFPLHNCQUFzQjtJQU9qQyxZQUFtQixJQUFnQixFQUFTLEVBQXFCO1FBQTlDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUpqRSxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDbkIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3pELENBQUMsQ0FBQztJQUVpRSxDQUFDO0lBRXJFLFFBQVEsS0FBVSxDQUFDO0lBQ25CLElBQUksS0FBSztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSTtZQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQ3hCLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDN0IsMkRBQTJEO2lCQUMxRCxTQUFTLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OEdBbkNVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBFQ3JCbkMsd3FDQXlCQSwwRERWUSxZQUFZLDZiQUNaLGtCQUFrQiwyU0FDbEIsSUFBSSx3RkFDSixRQUFROzsyRkFHSCxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixJQUFJO3dCQUNKLFFBQVE7cUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBJbmZvRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NoYXJlZC9jb21wb25lbnRzL2luZm8tZGlhbG9nL2luZm8tZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmdJZiwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGV4dENhc2UyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vU2hhcmVkL2NvbXBvbmVudHMvdGV4dC1jYXNlLTIvdGV4dC1jYXNlLTIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL1NoYXJlZC9jb21wb25lbnRzL2J0bi9idG4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aW1lb3V0LXRlc3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWVvdXQtdGVzdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90aW1lb3V0LXRlc3Rlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBCdG5Db21wb25lbnQsXG4gICAgICAgIFRleHRDYXNlMkNvbXBvbmVudCxcbiAgICAgICAgTmdJZixcbiAgICAgICAgRGF0ZVBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGltZW91dFRlc3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHN0YXJ0VGltZTogbnVtYmVyO1xuICBlbmRUaW1lOiBudW1iZXI7XG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICB0aW1lb3V0OiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigxLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgfSk7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhcGlTOiBBcGlTZXJ2aWNlLCBwdWJsaWMgaVM6IEluZm9EaWFsb2dTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiAoRGF0ZS5ub3coKSAvIHRoaXMuZXhwZWN0ZWRFbmRUaW1lKSAqIDEwMDtcbiAgfVxuICBnZXQgZXhwZWN0ZWRFbmRUaW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0udmFsdWUudGltZW91dCAqIDYwICogMTAwMCArICh0aGlzLnN0YXJ0VGltZSB8fCAwKTtcbiAgfVxuICBnZXQgZWxhcHNlZFRpbWUoKSB7XG4gICAgcmV0dXJuIERhdGUubm93KCkgLSAodGhpcy5zdGFydFRpbWUgfHwgMCk7XG4gIH1cbiAgYXN5bmMgc3VibWl0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZW5kVGltZSA9IG51bGw7XG4gICAgICBjb25zdCB2YWwgPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgICB0aGlzLnN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwaVNcbiAgICAgICAgLmdldCgnaHR0cDovL2V4YW1wbGUuY29tOjgxJylcbiAgICAgICAgLy8gLmdldCgnaHR0cDovL2V4YW1wbGUuY29tOjgxJyArICt2YWwudGltZW91dCAqIDYwICogMTAwMClcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgdGhpcy5lbmRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuaVMuaW5mbyhlcnJvciwgMCk7XG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtOFwiPlxuICAgIDwhLS0gPGFwcC1pbnB1dC1iYXNpYyBbZm9ybV09XCJmb3JtXCIgbmFtZT1cInRpbWVvdXRcIiBsYWJlbD1cIlRpbWVvdXQgVGVzdCBQZXJpb2RcIiBoaW50PVwibWluXCI+PC9hcHAtaW5wdXQtYmFzaWM+IC0tPlxuICAgIDxhcHAtYnRuIFtmb3JtXT1cImZvcm1cIiAgIHRleHQ9XCJUZXN0XCIgY2xhc3M9XCJtdC0zXCIgKG1jbGljayk9XCJzdWJtaXQoKVwiPjwvYXBwLWJ0bj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cbiAgICAgICAgPHRleHQtY2FzZS0yIGxhYmVsPVwiU3RhcnQgVGltZVwiIFt2YWx1ZV09XCJzdGFydFRpbWV8ZGF0ZTonbG9uZydcIj48L3RleHQtY2FzZS0yPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgIDx0ZXh0LWNhc2UtMiBsYWJlbD1cIkVsYXBzZWQgVGltZSAoU2Vjb25kcylcIiBbdmFsdWVdPVwiZWxhcHNlZFRpbWV8ZGF0ZTonbTpzJ1wiID48L3RleHQtY2FzZS0yPlxuICAgICAgICA8dGV4dC1jYXNlLTIgbGFiZWw9XCJTdGFydCBUaW1lXCIgW3ZhbHVlXT1cImVsYXBzZWRUaW1lXCI+PC90ZXh0LWNhc2UtMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XG4gICAgICAgIDx0ZXh0LWNhc2UtMiBsYWJlbD1cIkV4cGVjdGVkIEVuZCBUaW1lXCIgW3ZhbHVlXT1cImV4cGVjdGVkRW5kVGltZXxkYXRlOidsb25nJ1wiPjwvdGV4dC1jYXNlLTI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cbiAgICAgICAgPHRleHQtY2FzZS0yIGxhYmVsPVwiQWN0dWFsIEVuZCBUaW1lXCIgW3ZhbHVlXT1cImVuZFRpbWV8ZGF0ZTonbG9uZydcIj48L3RleHQtY2FzZS0yPlxuICAgICAgPC9kaXY+IC0tPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+e3t2YWx1ZX19JTwvZGl2PlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgW3ZhbHVlXT1cInZhbHVlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -14,10 +14,10 @@ export class VersionComponent {
|
|
|
14
14
|
this.props.push({ label: 'App Name', value: this.env.appName }, { label: 'Environment Name', value: this.env.name }, { label: 'Current Version', value: this.vS.currentVersion });
|
|
15
15
|
}
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: VersionComponent, deps: [{ token: i1.VersionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: VersionComponent, isStandalone: true, selector: "version", ngImport: i0, template: "<div class=\"center vh-100\">\n <ng-container *ngFor=\"let item of props\">\n <text-case-2 [
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: VersionComponent, isStandalone: true, selector: "version", ngImport: i0, template: "<div class=\"center vh-100\">\n <ng-container *ngFor=\"let item of props\">\n <text-case-2 [value]=\"item.value\" [label]=\"item.label\" [formatter]=\"item.formatter\" ></text-case-2>\n </ng-container>\n \n</div>", styles: [""], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TextCase2Component, selector: "text-case-2", inputs: ["action", "name", "data", "coloredLbl", "coloredVal", "centered", "customValueTemplate", "formatter", "hint", "label", "light", "mini", "route", "routeFunc", "editable", "stacked", "type", "value", "wrapLabel", "isEmail", "isPhone"] }] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: VersionComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'version', standalone: true, imports: [NgFor, TextCase2Component], template: "<div class=\"center vh-100\">\n <ng-container *ngFor=\"let item of props\">\n <text-case-2 [
|
|
21
|
+
args: [{ selector: 'version', standalone: true, imports: [NgFor, TextCase2Component], template: "<div class=\"center vh-100\">\n <ng-container *ngFor=\"let item of props\">\n <text-case-2 [value]=\"item.value\" [label]=\"item.label\" [formatter]=\"item.formatter\" ></text-case-2>\n </ng-container>\n \n</div>" }]
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.VersionService }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvUmV1c2FibGVzL3JldXNhYmxlLXBhZ2VzL3ZlcnNpb24vdmVyc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvUmV1c2FibGVzL3JldXNhYmxlLXBhZ2VzL3ZlcnNpb24vdmVyc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRSxPQUFPLEVBRUwsa0JBQWtCLEdBQ25CLE1BQU0sOERBQThELENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTeEMsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFtQixFQUFrQjtRQUFsQixPQUFFLEdBQUYsRUFBRSxDQUFnQjtRQUZyQyxRQUFHLEdBQUcsV0FBVyxDQUFDO1FBQ2xCLFVBQUssR0FBaUIsRUFBRSxDQUFDO0lBQ2UsQ0FBQztJQUV6QyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUM5QyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFDbkQsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQzVELENBQUM7SUFDSixDQUFDOzhHQVhVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1FQ2hCN0IscU9BS00sMEREU00sS0FBSyxtSEFBRSxrQkFBa0I7OzJGQUV4QixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsU0FBUyxjQUdQLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBWZXJzaW9uU2VydmljZSB9IGZyb20gJy4vdmVyc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIElUZXh0Q2FzZTIsXG4gIFRleHRDYXNlMkNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vU2hhcmVkL2NvbXBvbmVudHMvdGV4dC1jYXNlLTIvdGV4dC1jYXNlLTIuY29tcG9uZW50JztcbmltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyc2lvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmVyc2lvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdGb3IsIFRleHRDYXNlMkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFZlcnNpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBlbnYgPSBlbnZpcm9ubWVudDtcbiAgcHJvcHM6IElUZXh0Q2FzZTJbXSA9IFtdO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdlM6IFZlcnNpb25TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucHJvcHMucHVzaChcbiAgICAgIHsgbGFiZWw6ICdBcHAgTmFtZScsIHZhbHVlOiB0aGlzLmVudi5hcHBOYW1lIH0sXG4gICAgICB7IGxhYmVsOiAnRW52aXJvbm1lbnQgTmFtZScsIHZhbHVlOiB0aGlzLmVudi5uYW1lIH0sXG4gICAgICB7IGxhYmVsOiAnQ3VycmVudCBWZXJzaW9uJywgdmFsdWU6IHRoaXMudlMuY3VycmVudFZlcnNpb24gfSxcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2VudGVyIHZoLTEwMFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvcHNcIj5cbiAgICAgIDx0ZXh0LWNhc2UtMiAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiIFtmb3JtYXR0ZXJdPVwiaXRlbS5mb3JtYXR0ZXJcIiA+PC90ZXh0LWNhc2UtMj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBcbjwvZGl2PiJdfQ==
|
|
@@ -160,7 +160,7 @@ export class InputBase {
|
|
|
160
160
|
this.controlRequiredSignal = signal(null);
|
|
161
161
|
this.isRequiredSignal = computed(() => this.requiredSignal() || this.controlRequiredSignal());
|
|
162
162
|
this.nameStrSignal = computed(() => this.nameSignal()?.toString());
|
|
163
|
-
this.inputClassSignal = computed(() => this.iS.inputClass(this.inpClSignal(), this.validSignal(), this.invalidSignal(), this.showValidationSignal()));
|
|
163
|
+
this.inputClassSignal = computed(() => this.iS.inputClass(this.inpClSignal(), this.dirtySignal(), this.validSignal(), this.invalidSignal(), this.showValidationSignal()));
|
|
164
164
|
this.coloredSignal = input(true, { alias: 'colored' });
|
|
165
165
|
this.checkedSignal = input(false); //optional checked option for checkboxes
|
|
166
166
|
this.rawOptionsSignal = signal([]);
|
|
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
232
232
|
}], mchange: [{
|
|
233
233
|
type: Output
|
|
234
234
|
}] } });
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTzdELE1BQU0sT0FBTyxTQUFTO0lBa0NwQixnQkFBZ0I7SUFDaEIsSUFBK0MsS0FBSyxDQUFDLENBQTRFO1FBQy9ILElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBMEIsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxzQkFBc0I7SUFDdEIsSUFBK0MsS0FBSyxDQUFDLENBQW1CO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBNEIsY0FBYyxDQUFDLENBQVU7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7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LFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsRUFBRTtpQkFDYjt3REFvQ2dELEtBQUs7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBT2hDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUd5QyxLQUFLO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQU9iLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsZUFBZTtnQkFJSixJQUFJO3NCQUFyQixLQUFLO3VCQUFDLEtBQUs7Z0JBR00sSUFBSTtzQkFBckIsS0FBSzt1QkFBQyxLQUFLO2dCQUdDLFFBQVE7c0JBQXBCLEtBQUs7Z0JBR08sUUFBUTtzQkFBcEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQWNpQixTQUFTO3NCQUEvQixLQUFLO3VCQUFDLFVBQVU7Z0JBWUUsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQThCVyxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVc7Z0JBK0VaLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU9wdGlvbiwgSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi9pbnB1dC5zZXJ2aWNlJztcbmltcG9ydCB7IElPYmplY3RMaXRlcmFsLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIG1lcmdlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4vaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QmFzZTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbiAgVENvbnRyb2wgPSBhbnksXG4gIFRPcHRpb24gPSBhbnksXG4+IHtcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICBzdWZmaXggPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICBjbHMgPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICBub0Zvcm1hdCA9IGlucHV0PGJvb2xlYW4+KG51bGwpO1xuICB0cmFuc2xhdGVPcHRpb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBkb250Rm9ybWF0QXNJbnB1dFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdkb250Rm9ybWF0QXNJbnB1dCcgfSk7XG4gIGR1cGxpY2F0ZUNoZWNrU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ2R1cGxpY2F0ZUNoZWNrJyB9KTtcbiAgaWRTaWduYWwgPSBpbnB1dCgnaWQnICsgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDAwMCksIHsgYWxpYXM6ICdpZCcgfSk7XG4gIGlucHV0Q29udENsYXNzU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnaW5wdXRDb250Q2xhc3MnIH0pO1xuICBzaG93UmVxdWlyZWRUYWdTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IGFsaWFzOiAnc2hvd1JlcXVpcmVkVGFnJyB9KTtcbiAgdGV4dGFyZWFSb3dzU2lnbmFsID0gaW5wdXQ8bnVtYmVyPihudWxsLCB7IGFsaWFzOiAndGV4dGFyZWFSb3dzJyB9KTtcbiAgZW5kTGFiZWxTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdlbmRMYWJlbCcgfSk7XG4gIGVuZExhYmVsVG9vbHRpcFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2VuZExhYmVsVG9vbHRpcCcgfSk7XG4gIGxhYmVsU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnbGFiZWwnIH0pO1xuXG4gIHJlYWRvbmx5U2lnbmFsID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KG51bGwsIHsgYWxpYXM6ICdyZWFkb25seScgfSk7XG4gIHJlcXVpcmVkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KG51bGwsIHsgYWxpYXM6ICdyZXF1aXJlZCcgfSk7XG5cbiAgY29tcHV0ZWROb0Zvcm1hdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBub0Zvcm1hdCA9IHRoaXMubm9Gb3JtYXQoKSxcbiAgICAgIHR5cGVTaWduYWwgPSB0aGlzLnR5cGVTaWduYWwoKSxcbiAgICAgIHNob3dWYWxpZGF0aW9uU2lnbmFsID0gdGhpcy5zaG93VmFsaWRhdGlvblNpZ25hbCgpLFxuICAgICAgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsID0gdGhpcy5zaG93VmFsaWRhdGlvbkljb25TaWduYWwoKSxcbiAgICAgIGxhYmVsU2lnbmFsID0gdGhpcy5sYWJlbFNpZ25hbCgpO1xuICAgIHJldHVybiBub0Zvcm1hdCA9PSBudWxsID8gdHlwZVNpZ25hbCA9PSAndmlld2VyJyB8fCBzaG93VmFsaWRhdGlvblNpZ25hbCB8fCBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgfHwgbGFiZWxTaWduYWw/LmluY2x1ZGVzKCdjb2RlJykgOiBub0Zvcm1hdDtcbiAgfSk7XG5cbiAgLyoqIEZvcm1Hcm91cCAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UsIGFsaWFzOiAnZm9ybScgfSkgc2V0IF9mb3JtKHY6IEZvcm1Hcm91cDxURm9ybUdyb3VwPiB8IEZvcm1Db250cm9sPFRDb250cm9sPiB8IEFic3RyYWN0Q29udHJvbDxUQ29udHJvbD4pIHtcbiAgICB0aGlzLmZvcm0gPSB2IGFzIEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgICB0aGlzLmZvcm1TaWduYWwuc2V0KHRoaXMuZm9ybSk7XG4gICAgdGhpcy5saXN0ZW5Ub0NvbnRyb2woKTtcbiAgfVxuXG4gIC8qKiBTaG93IHRoZSBoaW50IHdpdGhvdXQgdGhlIHRvb2x0aXAgKi9cbiAgQElucHV0KCkgaW5saW5lSGludDogYm9vbGVhbjtcbiAgQElucHV0KCkgYXV0b1BpY2tWYWx1ZUZpZWxkOiBib29sZWFuO1xuICBASW5wdXQoKSBsYWJlbEZpZWxkOiBrZXlvZiBUT3B0aW9uO1xuICBASW5wdXQoKSBsYWJlbFR5cGU6IE9wdGlvbkxhYmVsVHlwZTsgLy91c2UgdGhpcyB0byBwaWNrIGEgcHJlc2V0IHZhbHVlIGxhYmVsIGdyb3VwIGZvciB0aGUgb3B0aW9uc1xuICBASW5wdXQoKSBvcHRpb25Gb3JtYXR0ZXI6IChpdGVtOiBUT3B0aW9uKSA9PiBzdHJpbmc7XG5cbiAgLyoqIEZvcm1Db250cm9sTmFtZSAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UsIGFsaWFzOiAnbmFtZScgfSkgc2V0IF9uYW1lKHY6IGtleW9mIFRGb3JtR3JvdXApIHtcbiAgICB0aGlzLm5hbWVTaWduYWwuc2V0KHYpO1xuICAgIHRoaXMubGlzdGVuVG9Db250cm9sKCk7XG4gIH1cblxuICBpbmRldGVybWluYXRlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgnaW5kZXRlcm1pbmF0ZScpIHNldCBfaW5kZXRlcm1pbmF0ZSh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5pbmRldGVybWluYXRlID0gdjtcbiAgICBpZiAodikgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKGZhbHNlKTtcbiAgfVxuICBASW5wdXQoJ21heCcpIHNldCBfbWF4KHY6IG51bWJlciB8IHN0cmluZykge1xuICAgIHRoaXMubWF4U2lnbmFsLnNldCh2KTtcbiAgfVxuICBASW5wdXQoJ21pbicpIHNldCBfbWluKHY6IG51bWJlciB8IHN0cmluZykge1xuICAgIHRoaXMubWluU2lnbmFsLnNldCh2KTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWF4VG9kYXkodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLm1heFNpZ25hbC5zZXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWluVG9kYXkodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLm1pblNpZ25hbC5zZXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgfVxuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBrZXlvZiBUT3B0aW9uOyAvL3VzZSB0aGlzIHRvIGNob29zZSBhIGZpZWxkIGluIHRoZSBvcHRpb24gZm9yIG1vZGVsaW5nXG4gIHByZWZpeFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ3ByZWZpeCcgfSk7XG4gIG1pbmlTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnbWluaScgfSk7XG4gIGlucENsU2lnbmFsID0gaW5wdXQ8c3RyaW5nPignY29udHJvbC1iZy1ncmF5JywgeyBhbGlhczogJ2lucENsJyB9KTtcbiAgc2hvd0VtcHR5T3B0aW9uU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dFbXB0eU9wdGlvbicgfSk7XG4gIHNob3dMYWJlbFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93TGFiZWwnIH0pO1xuICBzaG93VmFsaWRhdGlvblNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IGFsaWFzOiAnc2hvd1ZhbGlkYXRpb24nLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkIH0pO1xuICBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb25JY29uJyB9KTtcbiAgc21hbGxTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc21hbGwnIH0pO1xuICBzaG93VmFsaWRhdGlvbk1zZ1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb25Nc2cnIH0pO1xuICBzdGFja2VkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3N0YWNrZWQnIH0pO1xuICBkZWJ1ZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNsZWFyT25EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgQElucHV0KCdkaXNhYmxlZCcpIHNldCBfZGlzYWJsZWQodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIHRoaXMuZGlzYWJsZWRTaWduYWwuc2V0KHYpO1xuICAgIGlmICh0aGlzLmNvbnRyb2w/LnBhcmVudD8uZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAodikge1xuICAgICAgaWYgKHRoaXMuY2xlYXJPbkRpc2FibGUoKSkgdGhpcy5jb250cm9sPy5yZXNldCgpO1xuICAgICAgdGhpcy5jb250cm9sPy5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2w/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNvbnRyb2w/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBJbnB1dFR5cGUpIHtcbiAgICB0aGlzLm9UeXBlU2lnbmFsLnNldCh2KTtcbiAgICBpZiAodiA9PSAncGVyY2VudGFnZScpIHtcbiAgICAgIHRoaXMudHlwZVNpZ25hbC5zZXQoJ251bWJlcicpO1xuICAgICAgdGhpcy5tYXhTaWduYWwuc2V0KDEwMCk7XG4gICAgICB0aGlzLm1pblNpZ25hbC5zZXQoMCk7XG4gICAgfSBlbHNlIHRoaXMudHlwZVNpZ25hbC5zZXQodik7XG4gIH1cblxuICBzaG93UGFzc3dvcmRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4obnVsbCk7XG5cbiAgZGlzYWJsZWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4obnVsbCk7XG5cbiAgb1R5cGVTaWduYWwgPSBzaWduYWw8SW5wdXRUeXBlIHwgbnVsbD4obnVsbCk7XG4gIHR5cGVTaWduYWwgPSBzaWduYWw8SW5wdXRUeXBlPigndGV4dCcpO1xuICBtYXhTaWduYWwgPSBzaWduYWw8bnVtYmVyIHwgc3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIG1pblNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBmb3JtOiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIGZvcm1TaWduYWwgPSBzaWduYWw8Rm9ybUdyb3VwPFRGb3JtR3JvdXA+PihudWxsKTtcbiAgbmFtZVNpZ25hbCA9IHNpZ25hbDxrZXlvZiBURm9ybUdyb3VwPihudWxsKTtcblxuICBjb21wdXRlZFNob3dMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzaG93TGFiZWwgPSB0aGlzLnNob3dMYWJlbFNpZ25hbCgpLFxuICAgICAgbGFiZWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgcmV0dXJuIHNob3dMYWJlbCAmJiBsYWJlbCAhPSBudWxsO1xuICB9KTtcblxuICBwdWJsaWMgaVMgPSBpbmplY3QoSW5wdXRTZXJ2aWNlKTtcblxuICBAVmlld0NoaWxkKCdkYXRlSW5wdXQnKSBkYXRlSW5wdXRSZWY/OiBEYXRlSW5wdXRDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIGdldCBjb250cm9sKCkge1xuICAgIHJldHVybiAodGhpcy5mb3JtIGFzIEZvcm1Hcm91cDxURm9ybUdyb3VwPik/LmNvbnRyb2xzW3RoaXMubmFtZVNpZ25hbCgpIGFzIGFueV0gYXMgQWJzdHJhY3RDb250cm9sPGFueT47XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzdHJveWVyID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcm90ZWN0ZWQgY29udHJvbFZhbHVlQ2hhbmdlc1N1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGxpc3RlblRvQ29udHJvbCgpIHtcbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZXNTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy51cGRhdGVDb250cm9sU2lnbmFscygpO1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1YiA9IG1lcmdlKHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzIHx8IG9mKG51bGwpLCB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMgfHwgb2YobnVsbCkpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb250cm9sU2lnbmFscygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlQ29udHJvbFNpZ25hbHMoKSB7XG4gICAgdGhpcy52YWxpZFNpZ25hbC5zZXQodGhpcy5jb250cm9sPy52YWxpZCk7XG4gICAgdGhpcy5pbnZhbGlkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmludmFsaWQpO1xuICAgIHRoaXMuZGlydHlTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uZGlydHkpO1xuICAgIHRoaXMudG91Y2hlZFNpZ25hbC5zZXQodGhpcy5jb250cm9sPy50b3VjaGVkKTtcbiAgICB0aGlzLmVycm9yc1NpZ25hbC5zZXQodGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAgIHRoaXMucGVuZGluZ1NpZ25hbC5zZXQodGhpcy5jb250cm9sPy5wZW5kaW5nKTtcbiAgICB0aGlzLnByaXN0aW5lU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnByaXN0aW5lKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmdldFJhd1ZhbHVlKCkpO1xuICAgIHRoaXMuY29udHJvbFJlcXVpcmVkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XG4gIH1cblxuICBkZXN0cm95ZXJGdW5jID0gdGhpcy5kZXN0cm95ZXIub25EZXN0cm95KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZygnZHJvcHBlZCBpbnB1dCBsaXN0ZW5lcicsIHRoaXMubGFiZWxTaWduYWwoKSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2VzU3ViPy51bnN1YnNjcmliZSgpO1xuICB9KTtcblxuICB2YWxpZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGludmFsaWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICB2YWx1ZVNpZ25hbCA9IHNpZ25hbDxSZXR1cm5UeXBlPHR5cGVvZiB0aGlzLmNvbnRyb2wuZ2V0UmF3VmFsdWU+PihudWxsKTtcbiAgaGFzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlU2lnbmFsKCk/LnRvU3RyaW5nKCk/LnRyaW0oKT8ubGVuZ3RoID4gMCk7XG4gIGludmFsaWRDaGVja2JveFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkU2lnbmFsKCkgJiYgdGhpcy50eXBlU2lnbmFsKCkgPT0gJ2NoZWNrYm94JztcbiAgfSk7XG4gIGRpcnR5U2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLnZhbGlkU2lnbmFsKCk7XG4gICAgdGhpcy5pbnZhbGlkU2lnbmFsKCk7XG4gICAgdGhpcy5kaXJ0eVNpZ25hbCgpO1xuICAgIHRoaXMudG91Y2hlZFNpZ25hbCgpO1xuICAgIHRoaXMuZXJyb3JzU2lnbmFsKCk7XG4gICAgdGhpcy5wZW5kaW5nU2lnbmFsKCk7XG4gICAgdGhpcy5wcmlzdGluZVNpZ25hbCgpO1xuICAgIHRoaXMudmFsdWVTaWduYWwoKTtcbiAgICB0aGlzLmNvbnRyb2xSZXF1aXJlZFNpZ25hbCgpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2w7XG4gIH0pO1xuICB0b3VjaGVkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgZXJyb3JzU2lnbmFsID0gc2lnbmFsPElPYmplY3RMaXRlcmFsPihudWxsKTtcbiAgcGVuZGluZ1NpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXN0aW5lU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbFJlcXVpcmVkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgaXNSZXF1aXJlZFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVxdWlyZWRTaWduYWwoKSB8fCB0aGlzLmNvbnRyb2xSZXF1aXJlZFNpZ25hbCgpKTtcbiAgbmFtZVN0clNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubmFtZVNpZ25hbCgpPy50b1N0cmluZygpKTtcbiAgaW5wdXRDbGFzc1NpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaVMuaW5wdXRDbGFzcyh0aGlzLmlucENsU2lnbmFsKCksIHRoaXMudmFsaWRTaWduYWwoKSwgdGhpcy5pbnZhbGlkU2lnbmFsKCksIHRoaXMuc2hvd1ZhbGlkYXRpb25TaWduYWwoKSkpO1xuICBjb2xvcmVkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyBhbGlhczogJ2NvbG9yZWQnIH0pO1xuICBjaGVja2VkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpOyAvL29wdGlvbmFsIGNoZWNrZWQgb3B0aW9uIGZvciBjaGVja2JveGVzXG4gIHJhd09wdGlvbnNTaWduYWwgPSBzaWduYWw8YW55W10+KFtdKTtcbiAgb3B0aW9ucyA9IGNvbXB1dGVkPElPcHRpb25bXT4oKCkgPT5cbiAgICB0aGlzLmlTLm9wdGlvbnNGb3JtYXR0ZXIoXG4gICAgICB0aGlzLnJhd09wdGlvbnNTaWduYWwoKSxcbiAgICAgIHRoaXMudmFsdWVGaWVsZCBhcyBzdHJpbmcsXG4gICAgICB0aGlzLm9wdGlvbkZvcm1hdHRlcixcbiAgICAgIHRoaXMubGFiZWxUeXBlLFxuICAgICAgdGhpcy5sYWJlbEZpZWxkIGFzIHN0cmluZyxcbiAgICAgIHRoaXMuYXV0b1BpY2tWYWx1ZUZpZWxkLFxuICAgICksXG4gICk7XG4gIG9wdGlvbnNNYXAgPSBjb21wdXRlZDx7IFt2YWx1ZTogc3RyaW5nXTogSU9wdGlvbiB9PigoKSA9PiB0aGlzLm9wdGlvbnMoKT8udG9NYXAoJ3ZhbHVlJykgfHwge30pO1xuXG4gIEBPdXRwdXQoKSBtY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IHRoaXMubGFiZWxTaWduYWwoKSxcbiAgICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlU2lnbmFsKCk7XG4gICAgICBpZiAodGhpcy5jb250cm9sKSB0aGlzLmNvbnRyb2wubGFiZWxWYWx1ZSA9IGxhYmVsO1xuICAgIH0pO1xuICB9XG5cbiAgZGF0ZUNoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jb250cm9sKSByZXR1cm47XG4gICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgdGhpcy5tY2hhbmdlLmVtaXQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgfVxufVxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTzdELE1BQU0sT0FBTyxTQUFTO0lBa0NwQixnQkFBZ0I7SUFDaEIsSUFBK0MsS0FBSyxDQUFDLENBQTRFO1FBQy9ILElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBMEIsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxzQkFBc0I7SUFDdEIsSUFBK0MsS0FBSyxDQUFDLENBQW1CO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBNEIsY0FBYyxDQUFDLENBQVU7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7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QVM7a0JBSnJCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dEQW9DZ0QsS0FBSztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFPaEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR3lDLEtBQUs7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBT2IsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxlQUFlO2dCQUlKLElBQUk7c0JBQXJCLEtBQUs7dUJBQUMsS0FBSztnQkFHTSxJQUFJO3NCQUFyQixLQUFLO3VCQUFDLEtBQUs7Z0JBR0MsUUFBUTtzQkFBcEIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBY2lCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsVUFBVTtnQkFZRSxLQUFLO3NCQUF2QixLQUFLO3VCQUFDLE1BQU07Z0JBOEJXLFlBQVk7c0JBQW5DLFNBQVM7dUJBQUMsV0FBVztnQkFpRlosT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJT3B0aW9uLCBJbnB1dFNlcnZpY2UgfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9iamVjdExpdGVyYWwsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRCYXNlPFxuICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgIFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xuICB9ID0gYW55LFxuICBUQ29udHJvbCA9IGFueSxcbiAgVE9wdGlvbiA9IGFueSxcbj4ge1xuICBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIHN1ZmZpeCA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIGNscyA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIG5vRm9ybWF0ID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCk7XG4gIHRyYW5zbGF0ZU9wdGlvbnMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGRvbnRGb3JtYXRBc0lucHV0U2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ2RvbnRGb3JtYXRBc0lucHV0JyB9KTtcbiAgZHVwbGljYXRlQ2hlY2tTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnZHVwbGljYXRlQ2hlY2snIH0pO1xuICBpZFNpZ25hbCA9IGlucHV0KCdpZCcgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSwgeyBhbGlhczogJ2lkJyB9KTtcbiAgaW5wdXRDb250Q2xhc3NTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdpbnB1dENvbnRDbGFzcycgfSk7XG4gIHNob3dSZXF1aXJlZFRhZ1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdzaG93UmVxdWlyZWRUYWcnIH0pO1xuICB0ZXh0YXJlYVJvd3NTaWduYWwgPSBpbnB1dDxudW1iZXI+KG51bGwsIHsgYWxpYXM6ICd0ZXh0YXJlYVJvd3MnIH0pO1xuICBlbmRMYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2VuZExhYmVsJyB9KTtcbiAgZW5kTGFiZWxUb29sdGlwU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnZW5kTGFiZWxUb29sdGlwJyB9KTtcbiAgbGFiZWxTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdsYWJlbCcgfSk7XG5cbiAgcmVhZG9ubHlTaWduYWwgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3JlYWRvbmx5JyB9KTtcbiAgcmVxdWlyZWRTaWduYWwgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3JlcXVpcmVkJyB9KTtcblxuICBjb21wdXRlZE5vRm9ybWF0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG5vRm9ybWF0ID0gdGhpcy5ub0Zvcm1hdCgpLFxuICAgICAgdHlwZVNpZ25hbCA9IHRoaXMudHlwZVNpZ25hbCgpLFxuICAgICAgc2hvd1ZhbGlkYXRpb25TaWduYWwgPSB0aGlzLnNob3dWYWxpZGF0aW9uU2lnbmFsKCksXG4gICAgICBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgPSB0aGlzLnNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpLFxuICAgICAgbGFiZWxTaWduYWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgcmV0dXJuIG5vRm9ybWF0ID09IG51bGwgPyB0eXBlU2lnbmFsID09ICd2aWV3ZXInIHx8IHNob3dWYWxpZGF0aW9uU2lnbmFsIHx8IHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCB8fCBsYWJlbFNpZ25hbD8uaW5jbHVkZXMoJ2NvZGUnKSA6IG5vRm9ybWF0O1xuICB9KTtcblxuICAvKiogRm9ybUdyb3VwICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICdmb3JtJyB9KSBzZXQgX2Zvcm0odjogRm9ybUdyb3VwPFRGb3JtR3JvdXA+IHwgRm9ybUNvbnRyb2w8VENvbnRyb2w+IHwgQWJzdHJhY3RDb250cm9sPFRDb250cm9sPikge1xuICAgIHRoaXMuZm9ybSA9IHYgYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICAgIHRoaXMuZm9ybVNpZ25hbC5zZXQodGhpcy5mb3JtKTtcbiAgICB0aGlzLmxpc3RlblRvQ29udHJvbCgpO1xuICB9XG5cbiAgLyoqIFNob3cgdGhlIGhpbnQgd2l0aG91dCB0aGUgdG9vbHRpcCAqL1xuICBASW5wdXQoKSBpbmxpbmVIaW50OiBib29sZWFuO1xuICBASW5wdXQoKSBhdXRvUGlja1ZhbHVlRmllbGQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhYmVsRmllbGQ6IGtleW9mIFRPcHRpb247XG4gIEBJbnB1dCgpIGxhYmVsVHlwZTogT3B0aW9uTGFiZWxUeXBlOyAvL3VzZSB0aGlzIHRvIHBpY2sgYSBwcmVzZXQgdmFsdWUgbGFiZWwgZ3JvdXAgZm9yIHRoZSBvcHRpb25zXG4gIEBJbnB1dCgpIG9wdGlvbkZvcm1hdHRlcjogKGl0ZW06IFRPcHRpb24pID0+IHN0cmluZztcblxuICAvKiogRm9ybUNvbnRyb2xOYW1lICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICduYW1lJyB9KSBzZXQgX25hbWUodjoga2V5b2YgVEZvcm1Hcm91cCkge1xuICAgIHRoaXMubmFtZVNpZ25hbC5zZXQodik7XG4gICAgdGhpcy5saXN0ZW5Ub0NvbnRyb2woKTtcbiAgfVxuXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCdpbmRldGVybWluYXRlJykgc2V0IF9pbmRldGVybWluYXRlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSB2O1xuICAgIGlmICh2KSB0aGlzLmNvbnRyb2w/LnBhdGNoVmFsdWUoZmFsc2UpO1xuICB9XG4gIEBJbnB1dCgnbWF4Jykgc2V0IF9tYXgodjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5tYXhTaWduYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgnbWluJykgc2V0IF9taW4odjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5taW5TaWduYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBtYXhUb2RheSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMubWF4U2lnbmFsLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBtaW5Ub2RheSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMubWluU2lnbmFsLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICB9XG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGtleW9mIFRPcHRpb247IC8vdXNlIHRoaXMgdG8gY2hvb3NlIGEgZmllbGQgaW4gdGhlIG9wdGlvbiBmb3IgbW9kZWxpbmdcbiAgcHJlZml4U2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAncHJlZml4JyB9KTtcbiAgbWluaVNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdtaW5pJyB9KTtcbiAgaW5wQ2xTaWduYWwgPSBpbnB1dDxzdHJpbmc+KCdjb250cm9sLWJnLWdyYXknLCB7IGFsaWFzOiAnaW5wQ2wnIH0pO1xuICBzaG93RW1wdHlPcHRpb25TaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd0VtcHR5T3B0aW9uJyB9KTtcbiAgc2hvd0xhYmVsU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dMYWJlbCcgfSk7XG4gIHNob3dWYWxpZGF0aW9uU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UsIHsgYWxpYXM6ICdzaG93VmFsaWRhdGlvbicsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQgfSk7XG4gIHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93VmFsaWRhdGlvbkljb24nIH0pO1xuICBzbWFsbFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzbWFsbCcgfSk7XG4gIHNob3dWYWxpZGF0aW9uTXNnU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93VmFsaWRhdGlvbk1zZycgfSk7XG4gIHN0YWNrZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc3RhY2tlZCcgfSk7XG4gIGRlYnVnID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgY2xlYXJPbkRpc2FibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICBASW5wdXQoJ2Rpc2FibGVkJykgc2V0IF9kaXNhYmxlZCh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuZGVidWcoKSkgZGVidWdnZXI7XG4gICAgdGhpcy5kaXNhYmxlZFNpZ25hbC5zZXQodik7XG4gICAgaWYgKHRoaXMuY29udHJvbD8ucGFyZW50Py5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICh2KSB7XG4gICAgICBpZiAodGhpcy5jbGVhck9uRGlzYWJsZSgpKSB0aGlzLmNvbnRyb2w/LnJlc2V0KCk7XG4gICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbD8uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCd0eXBlJykgc2V0IF90eXBlKHY6IElucHV0VHlwZSkge1xuICAgIHRoaXMub1R5cGVTaWduYWwuc2V0KHYpO1xuICAgIGlmICh2ID09ICdwZXJjZW50YWdlJykge1xuICAgICAgdGhpcy50eXBlU2lnbmFsLnNldCgnbnVtYmVyJyk7XG4gICAgICB0aGlzLm1heFNpZ25hbC5zZXQoMTAwKTtcbiAgICAgIHRoaXMubWluU2lnbmFsLnNldCgwKTtcbiAgICB9IGVsc2UgdGhpcy50eXBlU2lnbmFsLnNldCh2KTtcbiAgfVxuXG4gIHNob3dQYXNzd29yZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihudWxsKTtcblxuICBkaXNhYmxlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihudWxsKTtcblxuICBvVHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGUgfCBudWxsPihudWxsKTtcbiAgdHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGU+KCd0ZXh0Jyk7XG4gIG1heFNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgbWluU2lnbmFsID0gc2lnbmFsPG51bWJlciB8IHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgZm9ybVNpZ25hbCA9IHNpZ25hbDxGb3JtR3JvdXA8VEZvcm1Hcm91cD4+KG51bGwpO1xuICBuYW1lU2lnbmFsID0gc2lnbmFsPGtleW9mIFRGb3JtR3JvdXA+KG51bGwpO1xuXG4gIGNvbXB1dGVkU2hvd0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNob3dMYWJlbCA9IHRoaXMuc2hvd0xhYmVsU2lnbmFsKCksXG4gICAgICBsYWJlbCA9IHRoaXMubGFiZWxTaWduYWwoKTtcbiAgICByZXR1cm4gc2hvd0xhYmVsICYmIGxhYmVsICE9IG51bGw7XG4gIH0pO1xuXG4gIHB1YmxpYyBpUyA9IGluamVjdChJbnB1dFNlcnZpY2UpO1xuXG4gIEBWaWV3Q2hpbGQoJ2RhdGVJbnB1dCcpIGRhdGVJbnB1dFJlZj86IERhdGVJbnB1dENvbXBvbmVudDtcblxuICBwcm90ZWN0ZWQgZ2V0IGNvbnRyb2woKSB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm0gYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+KT8uY29udHJvbHNbdGhpcy5uYW1lU2lnbmFsKCkgYXMgYW55XSBhcyBBYnN0cmFjdENvbnRyb2w8YW55PjtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95ZXIgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByb3RlY3RlZCBjb250cm9sVmFsdWVDaGFuZ2VzU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgbGlzdGVuVG9Db250cm9sKCkge1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTaWduYWxzKCk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2VzU3ViID0gbWVyZ2UodGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMgfHwgb2YobnVsbCksIHRoaXMuY29udHJvbD8uc3RhdHVzQ2hhbmdlcyB8fCBvZihudWxsKSlcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTaWduYWxzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVDb250cm9sU2lnbmFscygpIHtcbiAgICB0aGlzLnZhbGlkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnZhbGlkKTtcbiAgICB0aGlzLmludmFsaWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uaW52YWxpZCk7XG4gICAgdGhpcy5kaXJ0eVNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5kaXJ0eSk7XG4gICAgdGhpcy50b3VjaGVkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnRvdWNoZWQpO1xuICAgIHRoaXMuZXJyb3JzU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgdGhpcy5wZW5kaW5nU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnBlbmRpbmcpO1xuICAgIHRoaXMucHJpc3RpbmVTaWduYWwuc2V0KHRoaXMuY29udHJvbD8ucHJpc3RpbmUpO1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uZ2V0UmF3VmFsdWUoKSk7XG4gICAgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgfVxuXG4gIGRlc3Ryb3llckZ1bmMgPSB0aGlzLmRlc3Ryb3llci5vbkRlc3Ryb3koKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdkcm9wcGVkIGlucHV0IGxpc3RlbmVyJywgdGhpcy5sYWJlbFNpZ25hbCgpKTtcbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZXNTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH0pO1xuXG4gIHZhbGlkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgaW52YWxpZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHZhbHVlU2lnbmFsID0gc2lnbmFsPFJldHVyblR5cGU8dHlwZW9mIHRoaXMuY29udHJvbC5nZXRSYXdWYWx1ZT4+KG51bGwpO1xuICBoYXNWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmFsdWVTaWduYWwoKT8udG9TdHJpbmcoKT8udHJpbSgpPy5sZW5ndGggPiAwKTtcbiAgaW52YWxpZENoZWNrYm94U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmludmFsaWRTaWduYWwoKSAmJiB0aGlzLnR5cGVTaWduYWwoKSA9PSAnY2hlY2tib3gnO1xuICB9KTtcbiAgZGlydHlTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb250cm9sU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMudmFsaWRTaWduYWwoKTtcbiAgICB0aGlzLmludmFsaWRTaWduYWwoKTtcbiAgICB0aGlzLmRpcnR5U2lnbmFsKCk7XG4gICAgdGhpcy50b3VjaGVkU2lnbmFsKCk7XG4gICAgdGhpcy5lcnJvcnNTaWduYWwoKTtcbiAgICB0aGlzLnBlbmRpbmdTaWduYWwoKTtcbiAgICB0aGlzLnByaXN0aW5lU2lnbmFsKCk7XG4gICAgdGhpcy52YWx1ZVNpZ25hbCgpO1xuICAgIHRoaXMuY29udHJvbFJlcXVpcmVkU2lnbmFsKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbDtcbiAgfSk7XG4gIHRvdWNoZWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBlcnJvcnNTaWduYWwgPSBzaWduYWw8SU9iamVjdExpdGVyYWw+KG51bGwpO1xuICBwZW5kaW5nU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpc3RpbmVTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb250cm9sUmVxdWlyZWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuICBpc1JlcXVpcmVkU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXF1aXJlZFNpZ25hbCgpIHx8IHRoaXMuY29udHJvbFJlcXVpcmVkU2lnbmFsKCkpO1xuICBuYW1lU3RyU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYW1lU2lnbmFsKCk/LnRvU3RyaW5nKCkpO1xuICBpbnB1dENsYXNzU2lnbmFsID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmlTLmlucHV0Q2xhc3ModGhpcy5pbnBDbFNpZ25hbCgpLCB0aGlzLmRpcnR5U2lnbmFsKCksIHRoaXMudmFsaWRTaWduYWwoKSwgdGhpcy5pbnZhbGlkU2lnbmFsKCksIHRoaXMuc2hvd1ZhbGlkYXRpb25TaWduYWwoKSksXG4gICk7XG4gIGNvbG9yZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IGFsaWFzOiAnY29sb3JlZCcgfSk7XG4gIGNoZWNrZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7IC8vb3B0aW9uYWwgY2hlY2tlZCBvcHRpb24gZm9yIGNoZWNrYm94ZXNcbiAgcmF3T3B0aW9uc1NpZ25hbCA9IHNpZ25hbDxhbnlbXT4oW10pO1xuICBvcHRpb25zID0gY29tcHV0ZWQ8SU9wdGlvbltdPigoKSA9PlxuICAgIHRoaXMuaVMub3B0aW9uc0Zvcm1hdHRlcihcbiAgICAgIHRoaXMucmF3T3B0aW9uc1NpZ25hbCgpLFxuICAgICAgdGhpcy52YWx1ZUZpZWxkIGFzIHN0cmluZyxcbiAgICAgIHRoaXMub3B0aW9uRm9ybWF0dGVyLFxuICAgICAgdGhpcy5sYWJlbFR5cGUsXG4gICAgICB0aGlzLmxhYmVsRmllbGQgYXMgc3RyaW5nLFxuICAgICAgdGhpcy5hdXRvUGlja1ZhbHVlRmllbGQsXG4gICAgKSxcbiAgKTtcbiAgb3B0aW9uc01hcCA9IGNvbXB1dGVkPHsgW3ZhbHVlOiBzdHJpbmddOiBJT3B0aW9uIH0+KCgpID0+IHRoaXMub3B0aW9ucygpPy50b01hcCgndmFsdWUnKSB8fCB7fSk7XG5cbiAgQE91dHB1dCgpIG1jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5sYWJlbFNpZ25hbCgpLFxuICAgICAgICB2YWx1ZSA9IHRoaXMudmFsdWVTaWduYWwoKTtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHRoaXMuY29udHJvbC5sYWJlbFZhbHVlID0gbGFiZWw7XG4gICAgfSk7XG4gIH1cblxuICBkYXRlQ2hhbmdlZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHJldHVybjtcbiAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZVNpZ25hbC5zZXQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -138,9 +138,9 @@ export class InputService {
|
|
|
138
138
|
this.onContentChanged = ($event, form, field) => {
|
|
139
139
|
// throw new Error('Method not implemented.');
|
|
140
140
|
};
|
|
141
|
-
this.inputClass = (inpCl, valid, invalid, showValidation) => {
|
|
141
|
+
this.inputClass = (inpCl, dirty, valid, invalid, showValidation) => {
|
|
142
142
|
let cls = inpCl + ' form-control';
|
|
143
|
-
if (showValidation) {
|
|
143
|
+
if (showValidation && dirty) {
|
|
144
144
|
cls += valid ? ' bordercheck' : invalid ? ' borderuncheck' : '';
|
|
145
145
|
}
|
|
146
146
|
return cls;
|
|
@@ -282,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
282
282
|
providedIn: 'root',
|
|
283
283
|
}]
|
|
284
284
|
}], ctorParameters: () => [{ type: i1.DebouncerService }] });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXZELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU10QyxNQUFNLE9BQU8sWUFBWTtJQXFHdkIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLFNBQVMsQ0FBQztZQUNuQixJQUFJLEVBQUUsSUFBSSxXQUFXLENBQU8sSUFBSSxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDcEMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztZQUN0QyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDO1lBQ3RDLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDdkMsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBbUIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUE1R3JDLGNBQVMsR0FBRyxNQUFNLENBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLE1BQU0sQ0FBc0IsRUFBRSxDQUFDLENB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Q0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRTtRQUNELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RTtRQUNELEtBQUssSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxLQUFLLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRTtZQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzdCLEdBQUcsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUN0RSxHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sR0FBRyxNQUFNLEVBQUUsU0FBUyxHQUFHLE9BQU8sR0FBRyxNQUFNLEVBQUUsUUFBUSxHQUFHLE9BQU8sR0FBRyxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztZQUMzSSxHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDeEUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ2hFLEdBQUcsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsSUFBSSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ2xGLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUM3RCxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDOUQsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzFELEdBQUcsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUNwRSxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDekQsRUFBRSxFQUFFLENBQUMsTUFBa0IsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUNqRSxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDOUQsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ2pFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztZQUNyRSxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDOUQsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQzNELEdBQUcsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsU0FBUyxJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUMxRixFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0s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RUFBRSxnQkFBZ0I7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2UlUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ29kZVRpdGxlLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRVZGdW5jdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25maWdzL2Jhc2UtZnVuY3Rpb25zJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvaW5kZXguY29uZmlnJztcbmltcG9ydCB7IERlYm91bmNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy9kZWJvdW5jZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudENoYW5nZSB9IGZyb20gJ25neC1xdWlsbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFNlcnZpY2Uge1xuICByZWFkb25seSBvcHRpb25MYWJlbGxlckZ1bmN0aW9uczoge1xuICAgIFt4OiBzdHJpbmddOiAob3B0aW9uKSA9PiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfTtcbiAgfTtcbiAgcmVhZG9ubHkgdGltZUhvdXJzID0gc2lnbmFsPChzdHJpbmcgfCBudW1iZXIpW10+KFsnMTInXSk7XG4gIHJlYWRvbmx5IHRpbWVNaW51dGVzID0gc2lnbmFsPChzdHJpbmcgfCBudW1iZXIpW10+KFtdKTtcbiAgcmVhZG9ubHkgdGltZVNlY29uZHMgPSBzaWduYWw8KHN0cmluZyB8IG51bWJlcilbXT4oW10pO1xuICByZWFkb25seSB0aW1lTWVyaWRpZW0gPSBzaWduYWw8eyBsYWJlbDogJ2FtJyB8ICdwbSc7IGluY3JlbWVudG9yOiAwIHwgMTIgfVtdPihbXG4gICAgeyBsYWJlbDogJ2FtJywgaW5jcmVtZW50b3I6IDAgfSxcbiAgICB7IGxhYmVsOiAncG0nLCBpbmNyZW1lbnRvcjogMTIgfSxcbiAgXSk7XG4gIHJlYWRvbmx5IHRpbWVNZXJpZGllbU1hcCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy50aW1lTWVyaWRpZW0oKVxuICAgICAgLm1hcCgoeCkgPT4gKHsgLi4ueCwgX2xhYmVsOiB4LmxhYmVsLnRvTG93ZXJDYXNlKCkgfSkpXG4gICAgICAudG9NYXAoJ19sYWJlbCcpLFxuICApO1xuICByZWFkb25seSBkYXRlTGVuZ3RoSW5kZXggPSB7XG4gICAgMDogNCxcbiAgICAxOiAyLFxuICAgIDI6IDIsXG4gIH07XG4gIHJlYWRvbmx5IGRhdGVJbnB1dENodW5rczoge1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgY2xhc3M6IHN0cmluZztcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIHNlcGVyYXRvcj86IHN0cmluZztcbiAgICBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBJbnB1dFR5cGU7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgaXNUaW1lPzogYm9vbGVhbjtcbiAgfVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnZGF5JyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ2RheScsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDIsXG4gICAgICBjbGFzczogJ2NvbC0yJyxcbiAgICAgIHdpZHRoOiAnMzJweCcsXG4gICAgICAvLyBzZXBlcmF0b3I6ICcvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnbW9udGgnLFxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiAnbW9udGgnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGVuZ3RoOiAzLFxuICAgICAgY2xhc3M6ICdjb2wtMicsXG4gICAgICB3aWR0aDogJzU1cHgnLFxuICAgICAgc2VwZXJhdG9yOiAnLycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ3llYXInLFxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiAneWVhcicsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDQsXG4gICAgICBjbGFzczogJ2NvbC0zJyxcbiAgICAgIHdpZHRoOiAnNDVweCcsXG4gICAgICBzZXBlcmF0b3I6ICcvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnaG91cicsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICdob3VycycsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDIsXG4gICAgICBjbGFzczogJ2NvbC1hdXRvJyxcbiAgICAgIHdpZHRoOiAnMjVweCcsXG4gICAgICBpc1RpbWU6IHRydWUsXG4gICAgICBzZXBlcmF0b3I6ICcsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnbWludXRlJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ21pbnV0ZXMnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGVuZ3RoOiAyLFxuICAgICAgY2xhc3M6ICdjb2wtYXV0bycsXG4gICAgICB3aWR0aDogJzI1cHgnLFxuICAgICAgaXNUaW1lOiB0cnVlLFxuICAgICAgc2VwZXJhdG9yOiAnOicsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ3NlY29uZCcsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICdzZWNvbmRzJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLWF1dG8nLFxuICAgICAgd2lkdGg6ICcyNXB4JyxcbiAgICAgIGlzVGltZTogdHJ1ZSxcbiAgICAgIHNlcGVyYXRvcjogJzonLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdtZXJpZGllbScsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICdtZXJpZGllbScsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDIsXG4gICAgICBjbGFzczogJ2NvbC1hdXRvJyxcbiAgICAgIHdpZHRoOiAnMjVweCcsXG4gICAgICBpc1RpbWU6IHRydWUsXG4gICAgICBzZXBlcmF0b3I6ICc6JyxcbiAgICB9LFxuICBdO1xuXG4gIGdldCBkYXRlRlMoKSB7XG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoe1xuICAgICAgZGF0ZTogbmV3IEZvcm1Db250cm9sPERhdGU+KG51bGwpLFxuICAgICAgaG91cnM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuICAgICAgbWludXRlczogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCksXG4gICAgICBzZWNvbmRzOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihudWxsKSxcbiAgICAgIG1lcmlkaWVtOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPihudWxsKSwgXG4gICAgICByYXdWYWx1ZTogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCksXG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGVib3VuY2VyOiBEZWJvdW5jZXJTZXJ2aWNlKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZGF0ZUlucHV0Q2h1bmtzKSB7XG4gICAgICBpdGVtLnBsYWNlaG9sZGVyID0gJy0nLnJlcGVhdChpdGVtLmxlbmd0aCk7XG4gICAgfVxuICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gMTE7IGluZGV4KyspIHtcbiAgICAgIHRoaXMudGltZUhvdXJzLnVwZGF0ZSgodGltZUhvdXJzKSA9PiB0aW1lSG91cnMuY29uY2F0KFtpbmRleF0pKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IDEwOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLnRpbWVNaW51dGVzLnVwZGF0ZSgodGltZU1pbnV0ZXMpID0+IHRpbWVNaW51dGVzLmNvbmNhdChbJzAnICsgaW5kZXhdKSk7XG4gICAgICB0aGlzLnRpbWVTZWNvbmRzLnVwZGF0ZSgodGltZVNlY29uZHMpID0+IHRpbWVTZWNvbmRzLmNvbmNhdChbJzAnICsgaW5kZXhdKSk7XG4gICAgfVxuICAgIGZvciAobGV0IGluZGV4ID0gMTA7IGluZGV4IDw9IDEyOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLnRpbWVNaW51dGVzLnVwZGF0ZSgodGltZU1pbnV0ZXMpID0+IHRpbWVNaW51dGVzLmNvbmNhdChbaW5kZXhdKSk7XG4gICAgICB0aGlzLnRpbWVTZWNvbmRzLnVwZGF0ZSgodGltZVNlY29uZHMpID0+IHRpbWVTZWNvbmRzLmNvbmNhdChbaW5kZXhdKSk7XG4gICAgfVxuICAgIGZvciAobGV0IGluZGV4ID0gMTM7IGluZGV4IDw9IDU5OyBpbmRleCsrKSB0aGlzLnRpbWVTZWNvbmRzLnVwZGF0ZSgodGltZVNlY29uZHMpID0+IHRpbWVTZWNvbmRzLmNvbmNhdChbaW5kZXhdKSk7XG4gICAgY29uc3QgbGFiZWxsZXIgPSB0aGlzLmxhYmVsbGVyO1xuICAgIHRoaXMub3B0aW9uTGFiZWxsZXJGdW5jdGlvbnMgPSB7XG4gICAgICBhY2Q6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5hY2NvdW50Tm8sIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgYm5rOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uYWNjb3VudE5hbWUgKyAnICB8ICAnICsgb3B0aW9uPy5hY2NvdW50Tm8gKyAnICB8ICAnICsgb3B0aW9uPy5iYW5rTmFtZSArICcgIHwgICcgKyBvcHRpb24/Lm5vLCBudWxsKSxcbiAgICAgIGNjZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvbXBhbnlDb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIGNkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBjZHQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uIHx8IG9wdGlvbj8udGl0bGUpLFxuICAgICAgY2Y6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmZ1bGxOYW1lKSxcbiAgICAgIGNnOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZUdyb3VwLCBvcHRpb24/LmNvZGUpLFxuICAgICAgY2w6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmxhYmVsKSxcbiAgICAgIGNtZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvbXBhbnksIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgY246IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/Lm5hbWUpLFxuICAgICAgY3Q6IChvcHRpb246IElDb2RlVGl0bGUpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZSwgb3B0aW9uPy50aXRsZSksXG4gICAgICBjdTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmN1cnJDb2RlLCBvcHRpb24/LnRpdGxlKSxcbiAgICAgIGdkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uZ3JvdXAsIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgaGE6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5oaWVyQWdlbnRObywgb3B0aW9uPy5hZ2VudE5hbWUpLFxuICAgICAgaWQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBpZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmlkLCBvcHRpb24/LmZ1bGxOYW1lKSxcbiAgICAgIGlmbDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnVzZXJJZCwgYCR7b3B0aW9uPy5maXJzdE5hbWV9ICR7b3B0aW9uPy5sYXN0TmFtZX1gKSxcbiAgICAgIGlsOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uaWQsIG9wdGlvbj8ubGFiZWwpLFxuICAgICAgaXQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy50aXRsZSksXG4gICAgICBtZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm1rdEV2ZW50Q29kZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBuYTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm5vLCBvcHRpb24/LmFtb3VudCksXG4gICAgICBwZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnBheW91dE1ldGhvZCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBwZXA6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5wZXJpbENvZGUsIG9wdGlvbj8ucGVyaWxDb2RlRGVzY3JpcHRpb24pLFxuICAgICAgcGFtOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8ucG9saWN5Tm9TdWZmaXgsIG9wdGlvbj8ubWVtYmVyTmFtZSksXG4gICAgICBuZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm5vLCBvcHRpb24/LmZ1bGxOYW1lKSxcbiAgICAgIHRkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udHlwZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICB1ZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnVzZXJNZW51LCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIHVmOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udXNlck5hbWUsIG9wdGlvbj8uZnVsbE5hbWUpLFxuICAgICAgdmw6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIobnVsbCwgb3B0aW9uPy5sYWJlbCksXG4gICAgICB2djogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnZlcnNpb25Obywgb3B0aW9uPy52ZXJzaW9uRGF0ZSksXG4gICAgfTtcbiAgfVxuICBsYWJlbGxlciA9IEVWRnVuY3Rpb25zLnN0ckNvbmNhdGVuYXRvcjtcblxuICBvcHRpb25zRm9ybWF0dGVyID0gPFRSb3cgPSBhbnk+KFxuICAgIG9wdGlvbnM6IFRSb3dbXSxcbiAgICB2YWx1ZUZpZWxkPzogc3RyaW5nLFxuICAgIGZvcm1hdHRlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZyxcbiAgICBsYWJlbFR5cGU/OiBPcHRpb25MYWJlbFR5cGUsXG4gICAgbGFiZWxGaWVsZD86IHN0cmluZyxcbiAgICBhdXRvUGlja1ZhbHVlRmllbGQ/OiBib29sZWFuLFxuICApOiBJT3B0aW9uPFRSb3c+W10gPT4ge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICghb3B0aW9ucz8ubGVuZ3RoKSByZXR1cm4gW107XG4gICAgaWYgKGZvcm1hdHRlcilcbiAgICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICB2YWx1ZTogdmFsdWVGaWVsZCAmJiBvcHRpb24gPyBvcHRpb24/Llt2YWx1ZUZpZWxkXSA6IG9wdGlvbixcbiAgICAgICAgbGFiZWw6IGZvcm1hdHRlcihvcHRpb24pLFxuICAgICAgICBvcmlnaW5hbFJvdzogb3B0aW9uLFxuICAgICAgfSkpO1xuICAgIGlmIChsYWJlbFR5cGUpXG4gICAgICByZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbkxhYmVsbGVyRnVuY3Rpb25zW2xhYmVsVHlwZV0ob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiB2YWx1ZUZpZWxkID8gb3B0aW9uPy5bdmFsdWVGaWVsZF0gOiBhdXRvUGlja1ZhbHVlRmllbGQgPyBmb3JtYXR0ZWRPcHRpb24udmFsdWUgOiBvcHRpb24sXG4gICAgICAgICAgbGFiZWw6IGZvcm1hdHRlZE9wdGlvbi5sYWJlbCxcbiAgICAgICAgICBvcmlnaW5hbFJvdzogb3B0aW9uLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgaWYgKGxhYmVsRmllbGQpXG4gICAgICByZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgICAgdmFsdWU6IHZhbHVlRmllbGQgPyBvcHRpb24/Llt2YWx1ZUZpZWxkXSA6IG9wdGlvbixcbiAgICAgICAgbGFiZWw6IG9wdGlvbj8uW2xhYmVsRmllbGRdLFxuICAgICAgICBvcmlnaW5hbFJvdzogb3B0aW9uLFxuICAgICAgfSkpO1xuICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgIGxhYmVsOiBvcHRpb24gYXMgc3RyaW5nLFxuICAgICAgb3JpZ2luYWxSb3c6IG9wdGlvbixcbiAgICB9KSk7XG4gIH07XG5cbiAgdHJhY2tCeVZhbHVlKGluZGV4LCBpdGVtOiBJT3B0aW9uKSB7XG4gICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gIH1cbiAgbG9nKGZvcm0pIHtcbiAgICAvLyBpZiAoIWVudmlyb25tZW50LnByb2R1Y3Rpb24pXG4gICAgY29uc29sZS5sb2coZm9ybSk7XG4gIH1cblxuICBmb3JtYXRVc2VySW5wdXQoZTogRXZlbnQsIGZvcm06IHR5cGVvZiB0aGlzLmRhdGVGUywgc2hvd1RpbWU6IGJvb2xlYW4sIGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlYm91bmNlci5kZWJvdW5jZXIoe1xuICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0ZVN0cmluZzogc3RyaW5nID0gZS50YXJnZXRbJ3ZhbHVlJ107XG4gICAgICAgIC8vIEF1Zy4gMTAsIDIwMjMuIDAzOjAyOjAzIFBNXG4gICAgICAgIGlmICghZGF0ZVN0cmluZz8udHJpbSgpKVxuICAgICAgICAgIGZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBkYXRlOiBudWxsLFxuICAgICAgICAgICAgaG91cnM6IG51bGwsXG4gICAgICAgICAgICBtaW51dGVzOiBudWxsLFxuICAgICAgICAgICAgc2Vjb25kczogbnVsbCxcbiAgICAgICAgICAgIG1lcmlkaWVtOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChkYXRlU3RyaW5nLmluY2x1ZGVzKCcuICcpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IFttb250aENodW5rLCBkYXlZZWFyQ2h1bmssIHRpbWVDaHVua10gPSBkYXRlU3RyaW5nLnNwbGl0KCcuICcpO1xuICAgICAgICAgICAgICBjb25zdCBtb250aCA9IENvbmZpZy5TaG9ydE1vbnRoc01hcFttb250aENodW5rLnRvTG93ZXJDYXNlKCldPy5pc29TdHI7XG4gICAgICAgICAgICAgIGNvbnN0IFtkYXksIHllYXJdID0gZGF5WWVhckNodW5rPy5zcGxpdCgnLCAnKTtcbiAgICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWApO1xuICAgICAgICAgICAgICBpZiAoc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbaG1zLCBtZXJpZGllbV0gPSB0aW1lQ2h1bms/LnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzXSA9IGhtcz8uc3BsaXQoJzonKTtcbiAgICAgICAgICAgICAgICBmb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgICAgICAgbWludXRlcyxcbiAgICAgICAgICAgICAgICAgIHNlY29uZHMsXG4gICAgICAgICAgICAgICAgICBtZXJpZGllbTogdGhpcy50aW1lTWVyaWRpZW1NYXBbbWVyaWRpZW0/LnRvTG93ZXJDYXNlKCldPy5pbmNyZW1lbnRvcixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgIGRhdGUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBjaHVua3MgPSBkYXRlU3RyaW5nLnNwbGl0KCcgJykuZmlsdGVyKCh4KSA9PiB4ICE9ICcnKTtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coY2h1bmtzKTtcbiAgICAgICAgICAgICAgLy8gZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNodW5rcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgLy8gICBjaHVua3NbaW5kZXhdID0gY2h1bmtzW2luZGV4XS5zcGxpdCgnLicpLmpvaW4oJycpO1xuICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgIC8vIGNvbnN0IGRhdGVDaHVuayA9IGNodW5rc1swXS5zcGxpdCgnLycpO1xuICAgICAgICAgICAgICBpZiAoc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lQ2h1bmtzID0gY2h1bmtzWzFdLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKFxuICAgICAgICAgICAgICAgICAgICBjaHVua3NbMF1cbiAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQoJy8nKVxuICAgICAgICAgICAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAubWFwKChkLCBpKSA9PiAoJzAnLnJlcGVhdCh0aGlzLmRhdGVMZW5ndGhJbmRleFtpXSkgKyBkKS5zbGljZSgtdGhpcy5kYXRlTGVuZ3RoSW5kZXhbaV0pKVxuICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCctJyksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgaG91cnM6IHRpbWVDaHVua3NbMF0sXG4gICAgICAgICAgICAgICAgICBtaW51dGVzOiB0aW1lQ2h1bmtzWzFdLFxuICAgICAgICAgICAgICAgICAgc2Vjb25kczogdGltZUNodW5rc1syXSxcbiAgICAgICAgICAgICAgICAgIG1lcmlkaWVtOiB0aGlzLnRpbWVNZXJpZGllbU1hcFt0aW1lQ2h1bmtzWzNdPy50b0xvd2VyQ2FzZSgpXT8uaW5jcmVtZW50b3IsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0gZWxzZVxuICAgICAgICAgICAgICAgIGZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZShjaHVua3NbMF0uc3BsaXQoJy8nKS5yZXZlcnNlKCkuam9pbignLScpKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGNodW5rcyk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1bmlxdWVLZXk6IGAke2lkfV9kYXRlRm9ybWF0dGVyYCxcbiAgICB9KTtcbiAgfVxuXG4gIHNlYXJjaFVzZXJzID0gKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgdXNlck5hbWU/OiBzdHJpbmc7IGZ1bGxOYW1lPzogc3RyaW5nIH1bXT4gPT4gb2YoW10pO1xuXG4gIG9uQ29udGVudENoYW5nZWQgPSA8VEYgZXh0ZW5kcyB7IFt4IGluIGtleW9mIFRGXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB9PigkZXZlbnQ6IENvbnRlbnRDaGFuZ2UsIGZvcm06IEZvcm1Hcm91cDxURj4sIGZpZWxkOiBrZXlvZiBURikgPT4ge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfTtcblxuICBpbnB1dENsYXNzID0gKGlucENsOiBzdHJpbmcsIHZhbGlkPzogYm9vbGVhbiwgaW52YWxpZD86IGJvb2xlYW4sIHNob3dWYWxpZGF0aW9uPzogYm9vbGVhbikgPT4ge1xuICAgIGxldCBjbHMgPSBpbnBDbCArICcgZm9ybS1jb250cm9sJztcbiAgICBpZiAoc2hvd1ZhbGlkYXRpb24pIHtcbiAgICAgIGNscyArPSB2YWxpZCA/ICcgYm9yZGVyY2hlY2snIDogaW52YWxpZCA/ICcgYm9yZGVydW5jaGVjaycgOiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGNscztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT3B0aW9uPFRSb3cgPSBhbnk+IHtcbiAgdmFsdWU6IGFueTtcbiAgb3JpZ2luYWxSb3c6IFRSb3c7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG4iXX0=
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXZELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU10QyxNQUFNLE9BQU8sWUFBWTtJQXFHdkIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLFNBQVMsQ0FBQztZQUNuQixJQUFJLEVBQUUsSUFBSSxXQUFXLENBQU8sSUFBSSxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDcEMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztZQUN0QyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDO1lBQ3RDLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDdkMsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBbUIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUE1R3JDLGNBQVMsR0FBRyxNQUFNLENBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLE1BQU0sQ0FBc0IsRUFBRSxDQUFDLENB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Q0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsS0FBSyxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2RTtRQUNELEtBQUssSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFD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RUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUN4RCxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDeEQsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ3hFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUN6RCxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDeEUsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUM7WUFDL0UsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO1lBQzFFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUMzRCxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDaEUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ3BFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFB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WUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFLGdCQUFnQjtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXZSVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElDb2RlVGl0bGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBPcHRpb25MYWJlbFR5cGUgfSBmcm9tICcuL2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBFVkZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvYmFzZS1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlncy9pbmRleC5jb25maWcnO1xuaW1wb3J0IHsgRGVib3VuY2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL2RlYm91bmNlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50Q2hhbmdlIH0gZnJvbSAnbmd4LXF1aWxsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0U2VydmljZSB7XG4gIHJlYWRvbmx5IG9wdGlvbkxhYmVsbGVyRnVuY3Rpb25zOiB7XG4gICAgW3g6IHN0cmluZ106IChvcHRpb24pID0+IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9O1xuICB9O1xuICByZWFkb25seSB0aW1lSG91cnMgPSBzaWduYWw8KHN0cmluZyB8IG51bWJlcilbXT4oWycxMiddKTtcbiAgcmVhZG9ubHkgdGltZU1pbnV0ZXMgPSBzaWduYWw8KHN0cmluZyB8IG51bWJlcilbXT4oW10pO1xuICByZWFkb25seSB0aW1lU2Vjb25kcyA9IHNpZ25hbDwoc3RyaW5nIHwgbnVtYmVyKVtdPihbXSk7XG4gIHJlYWRvbmx5IHRpbWVNZXJpZGllbSA9IHNpZ25hbDx7IGxhYmVsOiAnYW0nIHwgJ3BtJzsgaW5jcmVtZW50b3I6IDAgfCAxMiB9W10+KFtcbiAgICB7IGxhYmVsOiAnYW0nLCBpbmNyZW1lbnRvcjogMCB9LFxuICAgIHsgbGFiZWw6ICdwbScsIGluY3JlbWVudG9yOiAxMiB9LFxuICBdKTtcbiAgcmVhZG9ubHkgdGltZU1lcmlkaWVtTWFwID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnRpbWVNZXJpZGllbSgpXG4gICAgICAubWFwKCh4KSA9PiAoeyAuLi54LCBfbGFiZWw6IHgubGFiZWwudG9Mb3dlckNhc2UoKSB9KSlcbiAgICAgIC50b01hcCgnX2xhYmVsJyksXG4gICk7XG4gIHJlYWRvbmx5IGRhdGVMZW5ndGhJbmRleCA9IHtcbiAgICAwOiA0LFxuICAgIDE6IDIsXG4gICAgMjogMixcbiAgfTtcbiAgcmVhZG9ubHkgZGF0ZUlucHV0Q2h1bmtzOiB7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBjbGFzczogc3RyaW5nO1xuICAgIHdpZHRoOiBzdHJpbmc7XG4gICAgc2VwZXJhdG9yPzogc3RyaW5nO1xuICAgIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IElucHV0VHlwZTtcbiAgICBsZW5ndGg6IG51bWJlcjtcbiAgICBpc1RpbWU/OiBib29sZWFuO1xuICB9W10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdkYXknLFxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiAnZGF5JyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLTInLFxuICAgICAgd2lkdGg6ICczMnB4JyxcbiAgICAgIC8vIHNlcGVyYXRvcjogJy8nLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdtb250aCcsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICdtb250aCcsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDMsXG4gICAgICBjbGFzczogJ2NvbC0yJyxcbiAgICAgIHdpZHRoOiAnNTVweCcsXG4gICAgICBzZXBlcmF0b3I6ICcvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAneWVhcicsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICd5ZWFyJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogNCxcbiAgICAgIGNsYXNzOiAnY29sLTMnLFxuICAgICAgd2lkdGg6ICc0NXB4JyxcbiAgICAgIHNlcGVyYXRvcjogJy8nLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdob3VyJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ2hvdXJzJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLWF1dG8nLFxuICAgICAgd2lkdGg6ICcyNXB4JyxcbiAgICAgIGlzVGltZTogdHJ1ZSxcbiAgICAgIHNlcGVyYXRvcjogJywnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdtaW51dGUnLFxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiAnbWludXRlcycsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDIsXG4gICAgICBjbGFzczogJ2NvbC1hdXRvJyxcbiAgICAgIHdpZHRoOiAnMjVweCcsXG4gICAgICBpc1RpbWU6IHRydWUsXG4gICAgICBzZXBlcmF0b3I6ICc6JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnc2Vjb25kJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ3NlY29uZHMnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGVuZ3RoOiAyLFxuICAgICAgY2xhc3M6ICdjb2wtYXV0bycsXG4gICAgICB3aWR0aDogJzI1cHgnLFxuICAgICAgaXNUaW1lOiB0cnVlLFxuICAgICAgc2VwZXJhdG9yOiAnOicsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ21lcmlkaWVtJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ21lcmlkaWVtJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLWF1dG8nLFxuICAgICAgd2lkdGg6ICcyNXB4JyxcbiAgICAgIGlzVGltZTogdHJ1ZSxcbiAgICAgIHNlcGVyYXRvcjogJzonLFxuICAgIH0sXG4gIF07XG5cbiAgZ2V0IGRhdGVGUygpIHtcbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBkYXRlOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZT4obnVsbCksXG4gICAgICBob3VyczogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCksXG4gICAgICBtaW51dGVzOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihudWxsKSxcbiAgICAgIHNlY29uZHM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuICAgICAgbWVyaWRpZW06IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KG51bGwpLCBcbiAgICAgIHJhd1ZhbHVlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihudWxsKSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkZWJvdW5jZXI6IERlYm91bmNlclNlcnZpY2UpIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5kYXRlSW5wdXRDaHVua3MpIHtcbiAgICAgIGl0ZW0ucGxhY2Vob2xkZXIgPSAnLScucmVwZWF0KGl0ZW0ubGVuZ3RoKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8PSAxMTsgaW5kZXgrKykge1xuICAgICAgdGhpcy50aW1lSG91cnMudXBkYXRlKCh0aW1lSG91cnMpID0+IHRpbWVIb3Vycy5jb25jYXQoW2luZGV4XSkpO1xuICAgIH1cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgMTA7IGluZGV4KyspIHtcbiAgICAgIHRoaXMudGltZU1pbnV0ZXMudXBkYXRlKCh0aW1lTWludXRlcykgPT4gdGltZU1pbnV0ZXMuY29uY2F0KFsnMCcgKyBpbmRleF0pKTtcbiAgICAgIHRoaXMudGltZVNlY29uZHMudXBkYXRlKCh0aW1lU2Vjb25kcykgPT4gdGltZVNlY29uZHMuY29uY2F0KFsnMCcgKyBpbmRleF0pKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaW5kZXggPSAxMDsgaW5kZXggPD0gMTI7IGluZGV4KyspIHtcbiAgICAgIHRoaXMudGltZU1pbnV0ZXMudXBkYXRlKCh0aW1lTWludXRlcykgPT4gdGltZU1pbnV0ZXMuY29uY2F0KFtpbmRleF0pKTtcbiAgICAgIHRoaXMudGltZVNlY29uZHMudXBkYXRlKCh0aW1lU2Vjb25kcykgPT4gdGltZVNlY29uZHMuY29uY2F0KFtpbmRleF0pKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaW5kZXggPSAxMzsgaW5kZXggPD0gNTk7IGluZGV4KyspIHRoaXMudGltZVNlY29uZHMudXBkYXRlKCh0aW1lU2Vjb25kcykgPT4gdGltZVNlY29uZHMuY29uY2F0KFtpbmRleF0pKTtcbiAgICBjb25zdCBsYWJlbGxlciA9IHRoaXMubGFiZWxsZXI7XG4gICAgdGhpcy5vcHRpb25MYWJlbGxlckZ1bmN0aW9ucyA9IHtcbiAgICAgIGFjZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmFjY291bnRObywgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBibms6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5hY2NvdW50TmFtZSArICcgIHwgICcgKyBvcHRpb24/LmFjY291bnRObyArICcgIHwgICcgKyBvcHRpb24/LmJhbmtOYW1lICsgJyAgfCAgJyArIG9wdGlvbj8ubm8sIG51bGwpLFxuICAgICAgY2NkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29tcGFueUNvZGUsIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgY2Q6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIGNkdDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvZGUsIG9wdGlvbj8uZGVzY3JpcHRpb24gfHwgb3B0aW9uPy50aXRsZSksXG4gICAgICBjZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvZGUsIG9wdGlvbj8uZnVsbE5hbWUpLFxuICAgICAgY2c6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlR3JvdXAsIG9wdGlvbj8uY29kZSksXG4gICAgICBjbDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvZGUsIG9wdGlvbj8ubGFiZWwpLFxuICAgICAgY21kOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29tcGFueSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBjbjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvZGUsIG9wdGlvbj8ubmFtZSksXG4gICAgICBjdDogKG9wdGlvbjogSUNvZGVUaXRsZSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LnRpdGxlKSxcbiAgICAgIGN1OiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY3VyckNvZGUsIG9wdGlvbj8udGl0bGUpLFxuICAgICAgZ2Q6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5ncm91cCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBoYTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmhpZXJBZ2VudE5vLCBvcHRpb24/LmFnZW50TmFtZSksXG4gICAgICBpZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmlkLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIGlmOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uaWQsIG9wdGlvbj8uZnVsbE5hbWUpLFxuICAgICAgaWZsOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udXNlcklkLCBgJHtvcHRpb24/LmZpcnN0TmFtZX0gJHtvcHRpb24/Lmxhc3ROYW1lfWApLFxuICAgICAgaWw6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy5sYWJlbCksXG4gICAgICBpdDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmlkLCBvcHRpb24/LnRpdGxlKSxcbiAgICAgIG1kOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8ubWt0RXZlbnRDb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIG5hOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8ubm8sIG9wdGlvbj8uYW1vdW50KSxcbiAgICAgIHBkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8ucGF5b3V0TWV0aG9kLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIHBlcDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnBlcmlsQ29kZSwgb3B0aW9uPy5wZXJpbENvZGVEZXNjcmlwdGlvbiksXG4gICAgICBwYW06IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5wb2xpY3lOb1N1ZmZpeCwgb3B0aW9uPy5tZW1iZXJOYW1lKSxcbiAgICAgIG5mOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8ubm8sIG9wdGlvbj8uZnVsbE5hbWUpLFxuICAgICAgdGQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy50eXBlLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIHVkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udXNlck1lbnUsIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgdWY6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy51c2VyTmFtZSwgb3B0aW9uPy5mdWxsTmFtZSksXG4gICAgICB2bDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihudWxsLCBvcHRpb24/LmxhYmVsKSxcbiAgICAgIHZ2OiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udmVyc2lvbk5vLCBvcHRpb24/LnZlcnNpb25EYXRlKSxcbiAgICB9O1xuICB9XG4gIGxhYmVsbGVyID0gRVZGdW5jdGlvbnMuc3RyQ29uY2F0ZW5hdG9yO1xuXG4gIG9wdGlvbnNGb3JtYXR0ZXIgPSA8VFJvdyA9IGFueT4oXG4gICAgb3B0aW9uczogVFJvd1tdLFxuICAgIHZhbHVlRmllbGQ/OiBzdHJpbmcsXG4gICAgZm9ybWF0dGVyPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nLFxuICAgIGxhYmVsVHlwZT86IE9wdGlvbkxhYmVsVHlwZSxcbiAgICBsYWJlbEZpZWxkPzogc3RyaW5nLFxuICAgIGF1dG9QaWNrVmFsdWVGaWVsZD86IGJvb2xlYW4sXG4gICk6IElPcHRpb248VFJvdz5bXSA9PiB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgaWYgKCFvcHRpb25zPy5sZW5ndGgpIHJldHVybiBbXTtcbiAgICBpZiAoZm9ybWF0dGVyKVxuICAgICAgcmV0dXJuIG9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIHZhbHVlOiB2YWx1ZUZpZWxkICYmIG9wdGlvbiA/IG9wdGlvbj8uW3ZhbHVlRmllbGRdIDogb3B0aW9uLFxuICAgICAgICBsYWJlbDogZm9ybWF0dGVyKG9wdGlvbiksXG4gICAgICAgIG9yaWdpbmFsUm93OiBvcHRpb24sXG4gICAgICB9KSk7XG4gICAgaWYgKGxhYmVsVHlwZSlcbiAgICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE9wdGlvbiA9IHRoaXMub3B0aW9uTGFiZWxsZXJGdW5jdGlvbnNbbGFiZWxUeXBlXShvcHRpb24pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdmFsdWU6IHZhbHVlRmllbGQgPyBvcHRpb24/Llt2YWx1ZUZpZWxkXSA6IGF1dG9QaWNrVmFsdWVGaWVsZCA/IGZvcm1hdHRlZE9wdGlvbi52YWx1ZSA6IG9wdGlvbixcbiAgICAgICAgICBsYWJlbDogZm9ybWF0dGVkT3B0aW9uLmxhYmVsLFxuICAgICAgICAgIG9yaWdpbmFsUm93OiBvcHRpb24sXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICBpZiAobGFiZWxGaWVsZClcbiAgICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICB2YWx1ZTogdmFsdWVGaWVsZCA/IG9wdGlvbj8uW3ZhbHVlRmllbGRdIDogb3B0aW9uLFxuICAgICAgICBsYWJlbDogb3B0aW9uPy5bbGFiZWxGaWVsZF0sXG4gICAgICAgIG9yaWdpbmFsUm93OiBvcHRpb24sXG4gICAgICB9KSk7XG4gICAgcmV0dXJuIG9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgbGFiZWw6IG9wdGlvbiBhcyBzdHJpbmcsXG4gICAgICBvcmlnaW5hbFJvdzogb3B0aW9uLFxuICAgIH0pKTtcbiAgfTtcblxuICB0cmFja0J5VmFsdWUoaW5kZXgsIGl0ZW06IElPcHRpb24pIHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgfVxuICBsb2coZm9ybSkge1xuICAgIC8vIGlmICghZW52aXJvbm1lbnQucHJvZHVjdGlvbilcbiAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgfVxuXG4gIGZvcm1hdFVzZXJJbnB1dChlOiBFdmVudCwgZm9ybTogdHlwZW9mIHRoaXMuZGF0ZUZTLCBzaG93VGltZTogYm9vbGVhbiwgaWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGVib3VuY2VyLmRlYm91bmNlcih7XG4gICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nOiBzdHJpbmcgPSBlLnRhcmdldFsndmFsdWUnXTtcbiAgICAgICAgLy8gQXVnLiAxMCwgMjAyMy4gMDM6MDI6MDMgUE1cbiAgICAgICAgaWYgKCFkYXRlU3RyaW5nPy50cmltKCkpXG4gICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGRhdGU6IG51bGwsXG4gICAgICAgICAgICBob3VyczogbnVsbCxcbiAgICAgICAgICAgIG1pbnV0ZXM6IG51bGwsXG4gICAgICAgICAgICBzZWNvbmRzOiBudWxsLFxuICAgICAgICAgICAgbWVyaWRpZW06IG51bGwsXG4gICAgICAgICAgfSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGRhdGVTdHJpbmcuaW5jbHVkZXMoJy4gJykpIHtcbiAgICAgICAgICAgICAgY29uc3QgW21vbnRoQ2h1bmssIGRheVllYXJDaHVuaywgdGltZUNodW5rXSA9IGRhdGVTdHJpbmcuc3BsaXQoJy4gJyk7XG4gICAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gQ29uZmlnLlNob3J0TW9udGhzTWFwW21vbnRoQ2h1bmsudG9Mb3dlckNhc2UoKV0/Lmlzb1N0cjtcbiAgICAgICAgICAgICAgY29uc3QgW2RheSwgeWVhcl0gPSBkYXlZZWFyQ2h1bms/LnNwbGl0KCcsICcpO1xuICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YCk7XG4gICAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtobXMsIG1lcmlkaWVtXSA9IHRpbWVDaHVuaz8uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHNdID0gaG1zPy5zcGxpdCgnOicpO1xuICAgICAgICAgICAgICAgIGZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgICAgICAgICAgIG1lcmlkaWVtOiB0aGlzLnRpbWVNZXJpZGllbU1hcFttZXJpZGllbT8udG9Mb3dlckNhc2UoKV0/LmluY3JlbWVudG9yLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICBmb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNodW5rcyA9IGRhdGVTdHJpbmcuc3BsaXQoJyAnKS5maWx0ZXIoKHgpID0+IHggIT0gJycpO1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjaHVua3MpO1xuICAgICAgICAgICAgICAvLyBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2h1bmtzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAvLyAgIGNodW5rc1tpbmRleF0gPSBjaHVua3NbaW5kZXhdLnNwbGl0KCcuJykuam9pbignJyk7XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgLy8gY29uc3QgZGF0ZUNodW5rID0gY2h1bmtzWzBdLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVDaHVua3MgPSBjaHVua3NbMV0uc3BsaXQoJzonKTtcbiAgICAgICAgICAgICAgICBmb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgIGNodW5rc1swXVxuICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnLycpXG4gICAgICAgICAgICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGQsIGkpID0+ICgnMCcucmVwZWF0KHRoaXMuZGF0ZUxlbmd0aEluZGV4W2ldKSArIGQpLnNsaWNlKC10aGlzLmRhdGVMZW5ndGhJbmRleFtpXSkpXG4gICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJy0nKSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBob3VyczogdGltZUNodW5rc1swXSxcbiAgICAgICAgICAgICAgICAgIG1pbnV0ZXM6IHRpbWVDaHVua3NbMV0sXG4gICAgICAgICAgICAgICAgICBzZWNvbmRzOiB0aW1lQ2h1bmtzWzJdLFxuICAgICAgICAgICAgICAgICAgbWVyaWRpZW06IHRoaXMudGltZU1lcmlkaWVtTWFwW3RpbWVDaHVua3NbM10/LnRvTG93ZXJDYXNlKCldPy5pbmNyZW1lbnRvcixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGNodW5rc1swXS5zcGxpdCgnLycpLnJldmVyc2UoKS5qb2luKCctJykpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coY2h1bmtzKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVuaXF1ZUtleTogYCR7aWR9X2RhdGVGb3JtYXR0ZXJgLFxuICAgIH0pO1xuICB9XG5cbiAgc2VhcmNoVXNlcnMgPSAocXVlcnk6IHN0cmluZyk6IE9ic2VydmFibGU8eyB1c2VyTmFtZT86IHN0cmluZzsgZnVsbE5hbWU/OiBzdHJpbmcgfVtdPiA9PiBvZihbXSk7XG5cbiAgb25Db250ZW50Q2hhbmdlZCA9IDxURiBleHRlbmRzIHsgW3ggaW4ga2V5b2YgVEZdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IH0+KCRldmVudDogQ29udGVudENoYW5nZSwgZm9ybTogRm9ybUdyb3VwPFRGPiwgZmllbGQ6IGtleW9mIFRGKSA9PiB7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9O1xuXG4gIGlucHV0Q2xhc3MgPSAoaW5wQ2w6IHN0cmluZywgZGlydHk/OiBib29sZWFuLCB2YWxpZD86IGJvb2xlYW4sIGludmFsaWQ/OiBib29sZWFuLCBzaG93VmFsaWRhdGlvbj86IGJvb2xlYW4pID0+IHtcbiAgICBsZXQgY2xzID0gaW5wQ2wgKyAnIGZvcm0tY29udHJvbCc7XG4gICAgaWYgKHNob3dWYWxpZGF0aW9uICYmIGRpcnR5KSB7XG4gICAgICBjbHMgKz0gdmFsaWQgPyAnIGJvcmRlcmNoZWNrJyA6IGludmFsaWQgPyAnIGJvcmRlcnVuY2hlY2snIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBjbHM7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9wdGlvbjxUUm93ID0gYW55PiB7XG4gIHZhbHVlOiBhbnk7XG4gIG9yaWdpbmFsUm93OiBUUm93O1xuICBsYWJlbDogc3RyaW5nO1xufVxuIl19
|