@ohioepa/oepa-ui-lib 2.0.8 → 2.0.10
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/file-upload/file-upload.component.mjs +3 -3
- package/esm2022/lib/message-list/message-list.component.mjs +3 -3
- package/esm2022/lib/multi-file-upload/multi-file-upload.component.mjs +3 -3
- package/esm2022/lib/notes-modal/notes-modal.component.mjs +3 -3
- package/esm2022/lib/pin-modal/pin-modal.component.mjs +3 -3
- package/esm2022/lib/table/table.component.mjs +3 -3
- package/fesm2022/ohioepa-oepa-ui-lib.mjs +12 -12
- package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
- package/ohioepa-oepa-ui-lib-2.0.10.tgz +0 -0
- package/package.json +1 -1
- package/ohioepa-oepa-ui-lib-2.0.8.tgz +0 -0
|
@@ -107,11 +107,11 @@ export class FileUploadComponent {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.OepaComponentIdService }, { token: i1.OepaFileUtilService }, { token: i2.BsModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "oepa-file-upload", inputs: { group: "group", field: "field", label: "label", errorLabel: "errorLabel", blankForm: "blankForm", blankFormUrl: "blankFormUrl", showValidation: "showValidation", domain: "domain", attachment: "attachment", accept: "accept", removeAllowed: "removeAllowed", parserName: "parserName", parserReport: "parserReport" }, outputs: { fileUploaded: "fileUploaded", fileRemoved: "fileRemoved", download: "download" }, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <
|
|
110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "oepa-file-upload", inputs: { group: "group", field: "field", label: "label", errorLabel: "errorLabel", blankForm: "blankForm", blankFormUrl: "blankFormUrl", showValidation: "showValidation", domain: "domain", attachment: "attachment", accept: "accept", removeAllowed: "removeAllowed", parserName: "parserName", parserReport: "parserReport" }, outputs: { fileUploaded: "fileUploaded", fileRemoved: "fileRemoved", download: "download" }, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <span *ngIf=\"label\">{{label}}</span>\n <span *ngIf=\"blankFormUrl\"> <a href=\"{{blankFormUrl}}\" target=\"_blank\">Blank Form</a></span>\n <span *ngIf=\"blankForm\"> <a href=\"javascript:void(0)\" (click)=\"downloadBlankForm()\">Blank Form</a></span>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\" [for]=\"componentId+'_BrowseBtn'\">\n Browse… \n <input type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\" \n [id]=\"componentId+'_BrowseBtn'\" [name]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [attr.accept]=\"accept ? accept : null\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\">\n </label>\n </span>\n <label [for]=\"componentId+'_Input'\" class=\"sr-only\">Selected file</label>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" \n type=\"text\" class=\"form-control\" placeholder=\"No file chosen\" [id]=\"componentId+'_Input'\" [name]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"hidden\" [hidden]=\"true\" [formControlName]=\"field\" id=\"field\"/>\n </div>\n </div>\n <div *ngIf=\"uploadError\" class=\"alert alert-danger\" role=\"alert\">{{uploadError}}</div>\n <div *ngIf=\"parserReport\">\n <div *ngIf=\"parserReport.successful\" class=\"alert alert-info\" role=\"alert\">Spreadsheet was successfully parsed.</div>\n <div *ngIf=\"!parserReport.successful\" class=\"alert alert-danger\" role=\"alert\">\n There are errors in the uploaded spreadsheet:\n <ul>\n <li *ngFor=\"let error of parserReport.errors\">{{error.message}}</li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"attachment && attachment.userFilename\">\n <div>\n <span *ngIf=\"label\">{{label}}</span>\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink'\" [name]=\"componentId+'_DownloadFileLink'\" \n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn'\" [name]=\"componentId+'_RemoveFileBtn'\"\n (click)=\"removeFile()\" [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n \n\t\t\t</span>\n </div>\n </div>\n </div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
111
111
|
}
|
|
112
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
|
-
args: [{ selector: 'oepa-file-upload', template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <
|
|
114
|
+
args: [{ selector: 'oepa-file-upload', template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <span *ngIf=\"label\">{{label}}</span>\n <span *ngIf=\"blankFormUrl\"> <a href=\"{{blankFormUrl}}\" target=\"_blank\">Blank Form</a></span>\n <span *ngIf=\"blankForm\"> <a href=\"javascript:void(0)\" (click)=\"downloadBlankForm()\">Blank Form</a></span>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\" [for]=\"componentId+'_BrowseBtn'\">\n Browse… \n <input type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\" \n [id]=\"componentId+'_BrowseBtn'\" [name]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [attr.accept]=\"accept ? accept : null\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\">\n </label>\n </span>\n <label [for]=\"componentId+'_Input'\" class=\"sr-only\">Selected file</label>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" \n type=\"text\" class=\"form-control\" placeholder=\"No file chosen\" [id]=\"componentId+'_Input'\" [name]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"hidden\" [hidden]=\"true\" [formControlName]=\"field\" id=\"field\"/>\n </div>\n </div>\n <div *ngIf=\"uploadError\" class=\"alert alert-danger\" role=\"alert\">{{uploadError}}</div>\n <div *ngIf=\"parserReport\">\n <div *ngIf=\"parserReport.successful\" class=\"alert alert-info\" role=\"alert\">Spreadsheet was successfully parsed.</div>\n <div *ngIf=\"!parserReport.successful\" class=\"alert alert-danger\" role=\"alert\">\n There are errors in the uploaded spreadsheet:\n <ul>\n <li *ngFor=\"let error of parserReport.errors\">{{error.message}}</li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"attachment && attachment.userFilename\">\n <div>\n <span *ngIf=\"label\">{{label}}</span>\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink'\" [name]=\"componentId+'_DownloadFileLink'\" \n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn'\" [name]=\"componentId+'_RemoveFileBtn'\"\n (click)=\"removeFile()\" [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n \n\t\t\t</span>\n </div>\n </div>\n </div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"] }]
|
|
115
115
|
}], ctorParameters: () => [{ type: i1.OepaComponentIdService }, { type: i1.OepaFileUtilService }, { type: i2.BsModalService }], propDecorators: { group: [{
|
|
116
116
|
type: Input
|
|
117
117
|
}], field: [{
|
|
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
145
145
|
}], download: [{
|
|
146
146
|
type: Output
|
|
147
147
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7OztBQVNoRyxNQUFNLE9BQU8sbUJBQW1CO0lBc0JWO0lBQTJDO0lBQ3JEO0lBdEJILFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztJQUN4QyxXQUFXLEdBQVcsRUFBRSxDQUFDO0lBRXZCLEtBQUssQ0FBYTtJQUNsQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixTQUFTLENBQTZCO0lBQ3RDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixNQUFNLEdBQUcsYUFBYSxDQUFDO0lBQ3ZCLFVBQVUsQ0FBNEI7SUFDdEMsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsWUFBWSxDQUFvQjtJQUUvQixZQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEUsV0FBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQy9ELFFBQVEsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV0RSxZ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QUFHLFVBQVUsQ0FBQyxZQUFZLEdBQUcsOEJBQThCLENBQUM7Z0JBQzVHLENBQUM7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsR0FBRyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7WUFDdkYsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzt3R0F6R1UsbUJBQW1COzRGQUFuQixtQkFBbUIseWRDaEJoQyxxMUZBa0RPOzs0RkRsQ00sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGtCQUFrQjswSkFRbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbmltcG9ydCB7IE9lcGFBdHRhY2htZW50LCBPZXBhUGFyc2VyUmVwb3J0LCBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2VwYUZpbGVVdGlsU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2VwYS1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbXBvbmVudElkID0gJ09lcGFGaWxlVXBsb2FkQ29tcG9uZW50JztcbiAgcHVibGljIHVwbG9hZEVycm9yOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBncm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZmllbGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yTGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBibGFua0Zvcm06IE9lcGFBdHRhY2htZW50IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBibGFua0Zvcm1Vcmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkb21haW4gPSAnYXBwbGljYXRpb24nO1xuICBASW5wdXQoKSBhdHRhY2htZW50OiBPZXBhQXR0YWNobWVudHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZW1vdmVBbGxvd2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgcGFyc2VyTmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBhcnNlclJlcG9ydCE6IE9lcGFQYXJzZXJSZXBvcnQ7XG5cbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRlZDogRXZlbnRFbWl0dGVyPE9lcGFBdHRhY2htZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmVkOiBFdmVudEVtaXR0ZXI8T2VwYUF0dGFjaG1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxPZXBhQXR0YWNobWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZFNlcnZpY2U6IE9lcGFDb21wb25lbnRJZFNlcnZpY2UsIHByaXZhdGUgZmlsZVV0aWxTZXJ2aWNlOiBPZXBhRmlsZVV0aWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIHRoaXMuY29tcG9uZW50SWQgPSB0aGlzLmlkU2VydmljZS5nZXRDb21wb25lbnRJZCh0aGlzLmdyb3VwKTtcbiAgICAgIHRoaXMuY29tcG9uZW50SWQgKz0gKHRoaXMuY29tcG9uZW50SWQubGVuZ3RoID4gMCA/ICdfJyA6ICcnKSArIHRoaXMuZmllbGQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudXBsb2FkRXJyb3IgPSAnJztcbiAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgaWYgKGZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBmaWxlTGlzdFswXTtcblxuICAgICAgaWYgKHRoaXMuZmlsZVR5cGVDYW5CZUFjY2VwdGVkKGZpbGUpKSB7XG4gICAgICAgIHRoaXMuZmlsZVV0aWxTZXJ2aWNlLnVwbG9hZEZpbGUoZmlsZSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoYXR0YWNobWVudDogT2VwYUF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZF0uc2V0VmFsdWUoYXR0YWNobWVudC51c2VyRmlsZW5hbWUpO1xuICAgICAgICAgICAgYXR0YWNobWVudC5maWxlUGFyc2VyID0gdGhpcy5wYXJzZXJOYW1lIHx8ICcnO1xuICAgICAgICAgICAgdGhpcy5maWxlVXBsb2FkZWQuZW1pdChhdHRhY2htZW50KTtcbiAgICAgICAgICB9LCBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRXJyb3IgPSAnRXJyb3IgdXBsb2FkaW5nIGZpbGUgJyArIGVyciB8fCAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGxvYWRFcnJvciA9ICdDYW5ub3QgYWNjZXB0IHRoaXMgdHlwZSBvZiBmaWxlLiBQbGVhc2UgdXBsb2FkIGEgZmlsZSBvZiB0eXBlOiAnICsgdGhpcy5hY2NlcHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBcbiAgcHJpdmF0ZSBmaWxlVHlwZUNhbkJlQWNjZXB0ZWQoZmlsZTphbnkpOiBib29sZWFuIHtcbiAgICBsZXQgb2sgPSB0cnVlO1xuICAgIGlmICh0aGlzLmFjY2VwdCkge1xuICAgICAgY29uc3QgbWltZVR5cGUgPSB0aGlzLmZpbGVVdGlsU2VydmljZS5taW1lVHlwZUZvckZpbGUoZmlsZS5uYW1lKTtcbiAgICAgIGlmICh0aGlzLmFjY2VwdC5pbmRleE9mKG1pbWVUeXBlKSA8IDApIHtcbiAgICAgICAgb2sgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9rO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUZpbGUoKSB7XG4gICAgY29uc3QgbW9kYWw6IEJzTW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LCB7IGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWUgfSk7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5oZWFkZXJUZXh0ID0gJ1JlbW92ZSBBdHRhY2htZW50JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmJvZHlUZXh0ID0gJ0RvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgYXR0YWNobWVudDogJyArIHRoaXMuYXR0YWNobWVudD8udXNlckZpbGVuYW1lIHx8ICc8dW5rbm93bj4nICsgJz8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUJ0bkxhYmVsID0gJ1llcyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jYW5jZWxCdG5MYWJlbCA9ICdObyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkXS5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgdGhpcy5maWxlUmVtb3ZlZC5lbWl0KHRoaXMuYXR0YWNobWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRGaWxlKGF0dGFjaG1lbnQ6IE9lcGFBdHRhY2htZW50KSB7XG4gICAgLy8gbGV0IHBhcmVudCBjb21wb25lbnQgaGFuZGxlIGRvd25sb2FkIGlmIHN5c3RlbSBmaWxlIG5hbWUgaXMgbm90IHByZXNlbnQgb3IgZW1wdHlcbiAgICBpZiAoIWF0dGFjaG1lbnQuc3lzdGVtRmlsZW5hbWUgfHwgYXR0YWNobWVudC5zeXN0ZW1GaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKCdkb3dubG9hZEZpbGUgLSBubyBmaWxlIG5hbWUsIGRlZmVycmluZyB0byBwYXJlbnQnKTtcbiAgICAgIHRoaXMuZG93bmxvYWQuZW1pdChhdHRhY2htZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ2Rvd25sb2FkaW5nIGZpbGU6ICcgKyBhdHRhY2htZW50LnN5c3RlbUZpbGVuYW1lKTtcbiAgICAgIHRoaXMuZmlsZVV0aWxTZXJ2aWNlLmRvd25sb2FkQXR0YWNobWVudChhdHRhY2htZW50KS5zdWJzY3JpYmUoXG4gICAgICAgIGRhdGEgPT4ge1xuICAgICAgICAgIGNvbnN0IG1pbWVUeXBlID0gdGhpcy5maWxlVXRpbFNlcnZpY2UubWltZVR5cGVGb3JGaWxlKGF0dGFjaG1lbnQuc3lzdGVtRmlsZW5hbWUgfHwgJycpO1xuICAgICAgICAgIGlmIChtaW1lVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5maWxlVXRpbFNlcnZpY2UuZG93bmxvYWRGaWxlKGRhdGEsIG1pbWVUeXBlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRFcnJvciA9ICdVbmFibGUgdG8gZG93bmxvYWQgZmlsZTogJyArIGF0dGFjaG1lbnQudXNlckZpbGVuYW1lICsgJy4gQ2Fubm90IGRldGVybWluZSBtaW1lIHR5cGUnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnVwbG9hZEVycm9yID0gJ0Vycm9yIGRvd25sb2FkaW5nIGZpbGU6ICcgKyBhdHRhY2htZW50LnVzZXJGaWxlbmFtZSArICc6ICcgKyBlcnI7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRvd25sb2FkQmxhbmtGb3JtKCkge1xuICAgIGlmICh0aGlzLmJsYW5rRm9ybSkge1xuICAgICAgdGhpcy5kb3dubG9hZEZpbGUodGhpcy5ibGFua0Zvcm0pO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gIDxkaXYgKm5nSWY9XCIhYXR0YWNobWVudCB8fCAhYXR0YWNobWVudC51c2VyRmlsZW5hbWVcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8ZGl2PlxuICAgICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L2xhYmVsPlxuICAgICAgPHNwYW4gKm5nSWY9XCJibGFua0Zvcm1VcmxcIj4mbmJzcDs8YSBocmVmPVwie3tibGFua0Zvcm1Vcmx9fVwiIHRhcmdldD1cIl9ibGFua1wiPkJsYW5rIEZvcm08L2E+PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJibGFua0Zvcm1cIj4mbmJzcDs8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImRvd25sb2FkQmxhbmtGb3JtKClcIj5CbGFuayBGb3JtPC9hPjwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWZpbGVcIj5cbiAgICAgICAgICAgIEJyb3dzZSZoZWxsaXA7IFxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIChjaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCIgXG4gICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRJZCsnX0Jyb3dzZUJ0bidcIiBbbmFtZV09XCJjb21wb25lbnRJZCsnX0Jyb3dzZUJ0bidcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHQgPyBhY2NlcHQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdESVNBQkxFRCdcIj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxpbnB1dCBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIiBcbiAgICAgICAgICB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJObyBmaWxlIGNob3NlblwiIFtpZF09XCJjb21wb25lbnRJZCsnX0lucHV0J1wiIFtuYW1lXT1cImNvbXBvbmVudElkKydfSW5wdXQnXCIgcmVhZG9ubHk+XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cInNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdJTlZBTElEJ1wiPnt7ZXJyb3JMYWJlbCB8fCBsYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBkdW1teSBpbnB1dCBmaWVsZCBmb3IgdmFsaWRhdGlvbiBwdXJwb3NlcyAtLT5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtoaWRkZW5dPVwidHJ1ZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGRcIiBpZD1cImZpZWxkXCIvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidXBsb2FkRXJyb3JcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPnt7dXBsb2FkRXJyb3J9fTwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJwYXJzZXJSZXBvcnRcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJwYXJzZXJSZXBvcnQuc3VjY2Vzc2Z1bFwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiIHJvbGU9XCJhbGVydFwiPlNwcmVhZHNoZWV0IHdhcyBzdWNjZXNzZnVsbHkgcGFyc2VkLjwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIiFwYXJzZXJSZXBvcnQuc3VjY2Vzc2Z1bFwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgIFRoZXJlIGFyZSBlcnJvcnMgaW4gdGhlIHVwbG9hZGVkIHNwcmVhZHNoZWV0OlxuICAgICAgICA8dWw+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBwYXJzZXJSZXBvcnQuZXJyb3JzXCI+e3tlcnJvci5tZXNzYWdlfX08L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiYXR0YWNobWVudCAmJiBhdHRhY2htZW50LnVzZXJGaWxlbmFtZVwiPlxuICAgIDxkaXY+XG4gICAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cImRvd25sb2FkRmlsZShhdHRhY2htZW50KVwiIFtpZF09XCJjb21wb25lbnRJZCsnX0Rvd25sb2FkRmlsZUxpbmsnXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19Eb3dubG9hZEZpbGVMaW5rJ1wiIFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+e3thdHRhY2htZW50LnVzZXJGaWxlbmFtZX19PC9hPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInJlbW92ZUFsbG93ZWRcIiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtpZF09XCJjb21wb25lbnRJZCsnX1JlbW92ZUZpbGVCdG4nXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19SZW1vdmVGaWxlQnRuJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbGUoKVwiIFtkaXNhYmxlZF09XCJncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnRElTQUJMRUQnXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBBdHRhY2htZW50XCI+UmVtb3ZlIEF0dGFjaG1lbnQ8L2J1dHRvbj5cbiAgICAgICAgXG5cdFx0XHQ8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7OztBQVNoRyxNQUFNLE9BQU8sbUJBQW1CO0lBc0JWO0lBQTJDO0lBQ3JEO0lBdEJILFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztJQUN4QyxXQUFXLEdBQVcsRUFBRSxDQUFDO0lBRXZCLEtBQUssQ0FBYTtJQUNsQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixTQUFTLENBQTZCO0lBQ3RDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixNQUFNLEdBQUcsYUFBYSxDQUFDO0lBQ3ZCLFVBQVUsQ0FBNEI7SUFDdEMsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsWUFBWSxDQUFvQjtJQUUvQixZQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEUsV0FBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQy9ELFFBQVEsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV0RSxZQUFvQixTQUFpQyxFQUFVLGVBQW9DLEVBQ3pGLFlBQTRCO1FBRGxCLGNBQVMsR0FBVCxTQUFTLENBQXdCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQXFCO1FBQ3pGLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtJQUFJLENBQUM7SUFFM0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxRQUFRLEdBQWEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDOUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxHQUFTLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUvQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQzlDLElBQUksRUFBRSxDQUFDLFVBQTBCLEVBQUUsRUFBRTt3QkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ2xFLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7d0JBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUNyQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO3dCQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDekQsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxpRUFBaUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3JHLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUlPLHFCQUFxQixDQUFDLElBQVE7UUFDcEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLEtBQUssR0FBZSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0UsS0FBSyxDQUFDLE9BQVEsQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUM7UUFDaEQsS0FBSyxDQUFDLE9BQVEsQ0FBQyxRQUFRLEdBQUcsd0NBQXdDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN4SCxLQUFLLENBQUMsT0FBUSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDdkMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxPQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLFVBQTBCO1FBQzVDLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FDM0QsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDdkYsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDYixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3BELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixHQUFHLFVBQVUsQ0FBQyxZQUFZLEdBQUcsOEJBQThCLENBQUM7Z0JBQzVHLENBQUM7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsR0FBRyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7WUFDdkYsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzt3R0F6R1UsbUJBQW1COzRGQUFuQixtQkFBbUIseWRDaEJoQyw2OEZBbURPOzs0RkRuQ00sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGtCQUFrQjswSkFRbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbmltcG9ydCB7IE9lcGFBdHRhY2htZW50LCBPZXBhUGFyc2VyUmVwb3J0LCBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2VwYUZpbGVVdGlsU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2VwYS1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbXBvbmVudElkID0gJ09lcGFGaWxlVXBsb2FkQ29tcG9uZW50JztcbiAgcHVibGljIHVwbG9hZEVycm9yOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBncm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZmllbGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVycm9yTGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBibGFua0Zvcm06IE9lcGFBdHRhY2htZW50IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBibGFua0Zvcm1Vcmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkb21haW4gPSAnYXBwbGljYXRpb24nO1xuICBASW5wdXQoKSBhdHRhY2htZW50OiBPZXBhQXR0YWNobWVudHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZW1vdmVBbGxvd2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgcGFyc2VyTmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBhcnNlclJlcG9ydCE6IE9lcGFQYXJzZXJSZXBvcnQ7XG5cbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRlZDogRXZlbnRFbWl0dGVyPE9lcGFBdHRhY2htZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmVkOiBFdmVudEVtaXR0ZXI8T2VwYUF0dGFjaG1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxPZXBhQXR0YWNobWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZFNlcnZpY2U6IE9lcGFDb21wb25lbnRJZFNlcnZpY2UsIHByaXZhdGUgZmlsZVV0aWxTZXJ2aWNlOiBPZXBhRmlsZVV0aWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIHRoaXMuY29tcG9uZW50SWQgPSB0aGlzLmlkU2VydmljZS5nZXRDb21wb25lbnRJZCh0aGlzLmdyb3VwKTtcbiAgICAgIHRoaXMuY29tcG9uZW50SWQgKz0gKHRoaXMuY29tcG9uZW50SWQubGVuZ3RoID4gMCA/ICdfJyA6ICcnKSArIHRoaXMuZmllbGQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudXBsb2FkRXJyb3IgPSAnJztcbiAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgaWYgKGZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBmaWxlTGlzdFswXTtcblxuICAgICAgaWYgKHRoaXMuZmlsZVR5cGVDYW5CZUFjY2VwdGVkKGZpbGUpKSB7XG4gICAgICAgIHRoaXMuZmlsZVV0aWxTZXJ2aWNlLnVwbG9hZEZpbGUoZmlsZSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoYXR0YWNobWVudDogT2VwYUF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZF0uc2V0VmFsdWUoYXR0YWNobWVudC51c2VyRmlsZW5hbWUpO1xuICAgICAgICAgICAgYXR0YWNobWVudC5maWxlUGFyc2VyID0gdGhpcy5wYXJzZXJOYW1lIHx8ICcnO1xuICAgICAgICAgICAgdGhpcy5maWxlVXBsb2FkZWQuZW1pdChhdHRhY2htZW50KTtcbiAgICAgICAgICB9LCBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRXJyb3IgPSAnRXJyb3IgdXBsb2FkaW5nIGZpbGUgJyArIGVyciB8fCAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGxvYWRFcnJvciA9ICdDYW5ub3QgYWNjZXB0IHRoaXMgdHlwZSBvZiBmaWxlLiBQbGVhc2UgdXBsb2FkIGEgZmlsZSBvZiB0eXBlOiAnICsgdGhpcy5hY2NlcHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBcbiAgcHJpdmF0ZSBmaWxlVHlwZUNhbkJlQWNjZXB0ZWQoZmlsZTphbnkpOiBib29sZWFuIHtcbiAgICBsZXQgb2sgPSB0cnVlO1xuICAgIGlmICh0aGlzLmFjY2VwdCkge1xuICAgICAgY29uc3QgbWltZVR5cGUgPSB0aGlzLmZpbGVVdGlsU2VydmljZS5taW1lVHlwZUZvckZpbGUoZmlsZS5uYW1lKTtcbiAgICAgIGlmICh0aGlzLmFjY2VwdC5pbmRleE9mKG1pbWVUeXBlKSA8IDApIHtcbiAgICAgICAgb2sgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9rO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUZpbGUoKSB7XG4gICAgY29uc3QgbW9kYWw6IEJzTW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50LCB7IGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWUgfSk7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5oZWFkZXJUZXh0ID0gJ1JlbW92ZSBBdHRhY2htZW50JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmJvZHlUZXh0ID0gJ0RvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgYXR0YWNobWVudDogJyArIHRoaXMuYXR0YWNobWVudD8udXNlckZpbGVuYW1lIHx8ICc8dW5rbm93bj4nICsgJz8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUJ0bkxhYmVsID0gJ1llcyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jYW5jZWxCdG5MYWJlbCA9ICdObyc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkXS5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgdGhpcy5maWxlUmVtb3ZlZC5lbWl0KHRoaXMuYXR0YWNobWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRGaWxlKGF0dGFjaG1lbnQ6IE9lcGFBdHRhY2htZW50KSB7XG4gICAgLy8gbGV0IHBhcmVudCBjb21wb25lbnQgaGFuZGxlIGRvd25sb2FkIGlmIHN5c3RlbSBmaWxlIG5hbWUgaXMgbm90IHByZXNlbnQgb3IgZW1wdHlcbiAgICBpZiAoIWF0dGFjaG1lbnQuc3lzdGVtRmlsZW5hbWUgfHwgYXR0YWNobWVudC5zeXN0ZW1GaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKCdkb3dubG9hZEZpbGUgLSBubyBmaWxlIG5hbWUsIGRlZmVycmluZyB0byBwYXJlbnQnKTtcbiAgICAgIHRoaXMuZG93bmxvYWQuZW1pdChhdHRhY2htZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ2Rvd25sb2FkaW5nIGZpbGU6ICcgKyBhdHRhY2htZW50LnN5c3RlbUZpbGVuYW1lKTtcbiAgICAgIHRoaXMuZmlsZVV0aWxTZXJ2aWNlLmRvd25sb2FkQXR0YWNobWVudChhdHRhY2htZW50KS5zdWJzY3JpYmUoXG4gICAgICAgIGRhdGEgPT4ge1xuICAgICAgICAgIGNvbnN0IG1pbWVUeXBlID0gdGhpcy5maWxlVXRpbFNlcnZpY2UubWltZVR5cGVGb3JGaWxlKGF0dGFjaG1lbnQuc3lzdGVtRmlsZW5hbWUgfHwgJycpO1xuICAgICAgICAgIGlmIChtaW1lVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5maWxlVXRpbFNlcnZpY2UuZG93bmxvYWRGaWxlKGRhdGEsIG1pbWVUeXBlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRFcnJvciA9ICdVbmFibGUgdG8gZG93bmxvYWQgZmlsZTogJyArIGF0dGFjaG1lbnQudXNlckZpbGVuYW1lICsgJy4gQ2Fubm90IGRldGVybWluZSBtaW1lIHR5cGUnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnVwbG9hZEVycm9yID0gJ0Vycm9yIGRvd25sb2FkaW5nIGZpbGU6ICcgKyBhdHRhY2htZW50LnVzZXJGaWxlbmFtZSArICc6ICcgKyBlcnI7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRvd25sb2FkQmxhbmtGb3JtKCkge1xuICAgIGlmICh0aGlzLmJsYW5rRm9ybSkge1xuICAgICAgdGhpcy5kb3dubG9hZEZpbGUodGhpcy5ibGFua0Zvcm0pO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gIDxkaXYgKm5nSWY9XCIhYXR0YWNobWVudCB8fCAhYXR0YWNobWVudC51c2VyRmlsZW5hbWVcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYmxhbmtGb3JtVXJsXCI+Jm5ic3A7PGEgaHJlZj1cInt7YmxhbmtGb3JtVXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5CbGFuayBGb3JtPC9hPjwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYmxhbmtGb3JtXCI+Jm5ic3A7PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJkb3dubG9hZEJsYW5rRm9ybSgpXCI+QmxhbmsgRm9ybTwvYT48L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1maWxlXCIgW2Zvcl09XCJjb21wb25lbnRJZCsnX0Jyb3dzZUJ0bidcIj5cbiAgICAgICAgICAgIEJyb3dzZSZoZWxsaXA7IFxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIChjaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCIgXG4gICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRJZCsnX0Jyb3dzZUJ0bidcIiBbbmFtZV09XCJjb21wb25lbnRJZCsnX0Jyb3dzZUJ0bidcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHQgPyBhY2NlcHQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdESVNBQkxFRCdcIj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImNvbXBvbmVudElkKydfSW5wdXQnXCIgY2xhc3M9XCJzci1vbmx5XCI+U2VsZWN0ZWQgZmlsZTwvbGFiZWw+XG4gICAgICAgIDxpbnB1dCBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIiBcbiAgICAgICAgICB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJObyBmaWxlIGNob3NlblwiIFtpZF09XCJjb21wb25lbnRJZCsnX0lucHV0J1wiIFtuYW1lXT1cImNvbXBvbmVudElkKydfSW5wdXQnXCIgcmVhZG9ubHk+XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cInNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdJTlZBTElEJ1wiPnt7ZXJyb3JMYWJlbCB8fCBsYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBkdW1teSBpbnB1dCBmaWVsZCBmb3IgdmFsaWRhdGlvbiBwdXJwb3NlcyAtLT5cbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2hpZGRlbl09XCJ0cnVlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZFwiIGlkPVwiZmllbGRcIi8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ1cGxvYWRFcnJvclwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCI+e3t1cGxvYWRFcnJvcn19PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInBhcnNlclJlcG9ydFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInBhcnNlclJlcG9ydC5zdWNjZXNzZnVsXCIgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCIgcm9sZT1cImFsZXJ0XCI+U3ByZWFkc2hlZXQgd2FzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIXBhcnNlclJlcG9ydC5zdWNjZXNzZnVsXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgVGhlcmUgYXJlIGVycm9ycyBpbiB0aGUgdXBsb2FkZWQgc3ByZWFkc2hlZXQ6XG4gICAgICAgIDx1bD5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yIG9mIHBhcnNlclJlcG9ydC5lcnJvcnNcIj57e2Vycm9yLm1lc3NhZ2V9fTwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJhdHRhY2htZW50ICYmIGF0dGFjaG1lbnQudXNlckZpbGVuYW1lXCI+XG4gICAgPGRpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cImRvd25sb2FkRmlsZShhdHRhY2htZW50KVwiIFtpZF09XCJjb21wb25lbnRJZCsnX0Rvd25sb2FkRmlsZUxpbmsnXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19Eb3dubG9hZEZpbGVMaW5rJ1wiIFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+e3thdHRhY2htZW50LnVzZXJGaWxlbmFtZX19PC9hPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInJlbW92ZUFsbG93ZWRcIiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtpZF09XCJjb21wb25lbnRJZCsnX1JlbW92ZUZpbGVCdG4nXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19SZW1vdmVGaWxlQnRuJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbGUoKVwiIFtkaXNhYmxlZF09XCJncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnRElTQUJMRUQnXCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBBdHRhY2htZW50XCI+UmVtb3ZlIEF0dGFjaG1lbnQ8L2J1dHRvbj5cbiAgICAgICAgXG5cdFx0XHQ8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
@@ -9,11 +9,11 @@ export class MessageListComponent {
|
|
|
9
9
|
ngOnInit() {
|
|
10
10
|
}
|
|
11
11
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MessageListComponent, selector: "oepa-message-list", inputs: { messageList: "messageList", messageClass: "messageClass", messageLabel: "messageLabel" }, ngImport: i0, template: "<div *ngIf=\"messageList && messageList.length > 0\" class=\"row\" [ngClass]=\"messageClass\">\n <div class=\"col-sm-12\">\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"messageList=[]\">\n </button>\n <
|
|
12
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MessageListComponent, selector: "oepa-message-list", inputs: { messageList: "messageList", messageClass: "messageClass", messageLabel: "messageLabel" }, ngImport: i0, template: "<div *ngIf=\"messageList && messageList.length > 0\" class=\"row\" [ngClass]=\"messageClass\">\n <div class=\"col-sm-12\">\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"messageList=[]\">\n </button>\n <span *ngIf=\"messageLabel\">{{messageLabel}}</span>\n <ul>\n <li *ngFor=\"let message of messageList\">{{message}}</li>\n </ul>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
13
13
|
}
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageListComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
|
-
args: [{ selector: 'oepa-message-list', template: "<div *ngIf=\"messageList && messageList.length > 0\" class=\"row\" [ngClass]=\"messageClass\">\n <div class=\"col-sm-12\">\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"messageList=[]\">\n </button>\n <
|
|
16
|
+
args: [{ selector: 'oepa-message-list', template: "<div *ngIf=\"messageList && messageList.length > 0\" class=\"row\" [ngClass]=\"messageClass\">\n <div class=\"col-sm-12\">\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"messageList=[]\">\n </button>\n <span *ngIf=\"messageLabel\">{{messageLabel}}</span>\n <ul>\n <li *ngFor=\"let message of messageList\">{{message}}</li>\n </ul>\n </div>\n</div>" }]
|
|
17
17
|
}], ctorParameters: () => [], propDecorators: { messageList: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}], messageClass: [{
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
21
21
|
}], messageLabel: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29lcGEtdWktbGliL3NyYy9saWIvbWVzc2FnZS1saXN0L21lc3NhZ2UtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL21lc3NhZ2UtbGlzdC9tZXNzYWdlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU96RCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3RCLFdBQVcsR0FBa0IsRUFBRSxDQUFDO0lBQ2hDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUVuQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzt3R0FSVSxvQkFBb0I7NEZBQXBCLG9CQUFvQiw2SkNQakMsMlpBU007OzRGREZPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxtQkFBbUI7d0RBS3BCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtbWVzc2FnZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2UtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lc3NhZ2UtbGlzdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtZXNzYWdlTGlzdDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICBASW5wdXQoKSBtZXNzYWdlQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtZXNzYWdlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPGRpdiAqbmdJZj1cIm1lc3NhZ2VMaXN0ICYmIG1lc3NhZ2VMaXN0Lmxlbmd0aCA+IDBcIiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cIm1lc3NhZ2VDbGFzc1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1lc3NhZ2VMaXN0PVtdXCI+XG4gICAgPC9idXR0b24+XG4gICAgPHNwYW4gKm5nSWY9XCJtZXNzYWdlTGFiZWxcIj57e21lc3NhZ2VMYWJlbH19PC9zcGFuPlxuICAgIDx1bD5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlTGlzdFwiPnt7bWVzc2FnZX19PC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -99,11 +99,11 @@ export class MultiFileUploadComponent {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiFileUploadComponent, deps: [{ token: i1.OepaComponentIdService }, { token: i1.OepaFileUtilService }, { token: i2.BsModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultiFileUploadComponent, selector: "oepa-multi-file-upload", inputs: { group: "group", field: "field", label: "label", errorLabel: "errorLabel", blankForm: "blankForm", blankFormUrl: "blankFormUrl", showValidation: "showValidation", domain: "domain", attachments: "attachments", removeAllowed: "removeAllowed" }, outputs: { fileUploaded: "fileUploaded", fileRemoved: "fileRemoved", download: "download" }, viewQueries: [{ propertyName: "myFileInput", first: true, predicate: ["myFileInput"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div class=\"form-group\">\n <div>\n <
|
|
102
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultiFileUploadComponent, selector: "oepa-multi-file-upload", inputs: { group: "group", field: "field", label: "label", errorLabel: "errorLabel", blankForm: "blankForm", blankFormUrl: "blankFormUrl", showValidation: "showValidation", domain: "domain", attachments: "attachments", removeAllowed: "removeAllowed" }, outputs: { fileUploaded: "fileUploaded", fileRemoved: "fileRemoved", download: "download" }, viewQueries: [{ propertyName: "myFileInput", first: true, predicate: ["myFileInput"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div class=\"form-group\">\n <div>\n <span *ngIf=\"label\">{{label}}</span>\n <span *ngIf=\"blankFormUrl\"> <a href=\"{{blankFormUrl}}\" target=\"_blank\">Blank Form</a></span>\n <span *ngIf=\"blankForm\"> <a href=\"\" (click)=\"downloadBlankForm()\">Blank Form</a></span>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\" [for]=\"componentId+'_BrowseBtn'\">\n Browse… \n <input #myFileInput type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\" \n [id]=\"componentId+'_BrowseBtn'\" [name]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\">\n </label>\n </span>\n <label [for]=\"componentId+'_Input'\" class=\"sr-only\">Selected file</label>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n type=\"text\" class=\"form-control\" \n [placeholder]=\"(!attachments || attachments.length === 0) ? 'No files uploaded' : (attachments.length + ' file(s) uploaded')\"\n [id]=\"componentId+'_Input'\" [name]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"hidden\" [hidden]=\"true\" [formControlName]=\"field\" id=\"field\"/>\n </div>\n </div>\n <div *ngIf=\"uploadError\" class=\"alert alert-danger\" role=\"alert\">{{uploadError}}</div>\n <div *ngIf=\"parserReport\">\n <div *ngIf=\"!attachments[0] && parserReport.successful\" class=\"alert alert-info\" role=\"alert\">Spreadsheet was successfully parsed.</div>\n <div [hidden]=\"parserReport.successful\" class=\"alert alert-danger\" role=\"alert\">\n There are errors in the uploaded spreadsheet:\n <ul>\n <li *ngFor=\"let error of parserReport.errors\">{{error.message}}</li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"attachments && attachments[0]\">\n <div *ngFor=\"let attachment of attachments; let i=index;\">\n <div class=\"form-group\">\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink_'+i\" [name]=\"componentId+'_DownloadFileLink_'+i\"\n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn_'+i\" [name]=\"componentId+'_RemoveFileBtn_'+i\"\n (click)=\"removeFile(attachment)\" [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n </span>\n </div>\n </div>\n </div>\n </div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
103
103
|
}
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiFileUploadComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
|
-
args: [{ selector: 'oepa-multi-file-upload', template: "<form [formGroup]=\"group\">\n <div class=\"form-group\">\n <div>\n <
|
|
106
|
+
args: [{ selector: 'oepa-multi-file-upload', template: "<form [formGroup]=\"group\">\n <div class=\"form-group\">\n <div>\n <span *ngIf=\"label\">{{label}}</span>\n <span *ngIf=\"blankFormUrl\"> <a href=\"{{blankFormUrl}}\" target=\"_blank\">Blank Form</a></span>\n <span *ngIf=\"blankForm\"> <a href=\"\" (click)=\"downloadBlankForm()\">Blank Form</a></span>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\" [for]=\"componentId+'_BrowseBtn'\">\n Browse… \n <input #myFileInput type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\" \n [id]=\"componentId+'_BrowseBtn'\" [name]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\">\n </label>\n </span>\n <label [for]=\"componentId+'_Input'\" class=\"sr-only\">Selected file</label>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n type=\"text\" class=\"form-control\" \n [placeholder]=\"(!attachments || attachments.length === 0) ? 'No files uploaded' : (attachments.length + ' file(s) uploaded')\"\n [id]=\"componentId+'_Input'\" [name]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"hidden\" [hidden]=\"true\" [formControlName]=\"field\" id=\"field\"/>\n </div>\n </div>\n <div *ngIf=\"uploadError\" class=\"alert alert-danger\" role=\"alert\">{{uploadError}}</div>\n <div *ngIf=\"parserReport\">\n <div *ngIf=\"!attachments[0] && parserReport.successful\" class=\"alert alert-info\" role=\"alert\">Spreadsheet was successfully parsed.</div>\n <div [hidden]=\"parserReport.successful\" class=\"alert alert-danger\" role=\"alert\">\n There are errors in the uploaded spreadsheet:\n <ul>\n <li *ngFor=\"let error of parserReport.errors\">{{error.message}}</li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"attachments && attachments[0]\">\n <div *ngFor=\"let attachment of attachments; let i=index;\">\n <div class=\"form-group\">\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink_'+i\" [name]=\"componentId+'_DownloadFileLink_'+i\"\n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn_'+i\" [name]=\"componentId+'_RemoveFileBtn_'+i\"\n (click)=\"removeFile(attachment)\" [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n </span>\n </div>\n </div>\n </div>\n </div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"] }]
|
|
107
107
|
}], ctorParameters: () => [{ type: i1.OepaComponentIdService }, { type: i1.OepaFileUtilService }, { type: i2.BsModalService }], propDecorators: { group: [{
|
|
108
108
|
type: Input
|
|
109
109
|
}], field: [{
|
|
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
134
134
|
type: ViewChild,
|
|
135
135
|
args: ['myFileInput', { static: true }]
|
|
136
136
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9tdWx0aS1maWxlLXVwbG9hZC9tdWx0aS1maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL211bHRpLWZpbGUtdXBsb2FkL211bHRpLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9DLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9wSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBVWhHLE1BQU0sT0FBTyx3QkFBd0I7SUFzQmY7SUFBMkM7SUFDckQ7SUF0QkQsS0FBSyxDQUFhO0lBQ2xCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsQ0FBNkI7SUFDdEMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sR0FBRyxhQUFhLENBQUM7SUFDdkIsV0FBVyxHQUEwQixFQUFFLENBQUM7SUFDeEMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUVwQixZQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEUsV0FBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQy9ELFFBQVEsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzQixXQUFXLENBQU07SUFFNUQsV0FBVyxHQUFHLDhCQUE4QixDQUFDO0lBQzdDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsWUFB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QUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBOUZVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHNpQkNqQnJDLHE4RkFtRE87OzRGRGxDTSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usd0JBQXdCOzBKQUt6QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRW9DLFdBQVc7c0JBQXJELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbmltcG9ydCB7IE9lcGFBdHRhY2htZW50LCBPZXBhUGFyc2VyUmVwb3J0LCBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2VwYUZpbGVVdGlsU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLW11bHRpLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpRmlsZVVwbG9hZENvbXBvbmVudCAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZXJyb3JMYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJsYW5rRm9ybTogT2VwYUF0dGFjaG1lbnQgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGJsYW5rRm9ybVVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRvbWFpbiA9ICdhcHBsaWNhdGlvbic7XG4gIEBJbnB1dCgpIGF0dGFjaG1lbnRzOiBBcnJheTxPZXBhQXR0YWNobWVudD4gPSBbXTtcbiAgQElucHV0KCkgcmVtb3ZlQWxsb3dlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRlZDogRXZlbnRFbWl0dGVyPE9lcGFBdHRhY2htZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmVkOiBFdmVudEVtaXR0ZXI8T2VwYUF0dGFjaG1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxPZXBhQXR0YWNobWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnbXlGaWxlSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZX0pIG15RmlsZUlucHV0OiBhbnk7XG5cbiAgY29tcG9uZW50SWQgPSAnT2VwYU11bHRpRmlsZVVwbG9hZENvbXBvbmVudCc7XG4gIHVwbG9hZEVycm9yOiBzdHJpbmcgPSAnJztcbiAgcGFyc2VyUmVwb3J0ITogT2VwYVBhcnNlclJlcG9ydDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkU2VydmljZTogT2VwYUNvbXBvbmVudElkU2VydmljZSwgcHJpdmF0ZSBmaWxlVXRpbFNlcnZpY2U6IE9lcGFGaWxlVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgICAgdGhpcy5jb21wb25lbnRJZCArPSAodGhpcy5jb21wb25lbnRJZC5sZW5ndGggPiAwID8gJ18nIDogJycpICsgdGhpcy5maWVsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ09PUFMgTm8gZ3JvdXAgeWV0Jyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydhdHRhY2htZW50cyddICYmIGNoYW5nZXNbJ2F0dGFjaG1lbnRzJ10gLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgaWYgKGNoYW5nZXNbJ2F0dGFjaG1lbnRzJ10gLmN1cnJlbnRWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdmaWxlIGNoYW5nZWQgdG86ICcgKyBjaGFuZ2VzWydhdHRhY2htZW50cyddIC5jdXJyZW50VmFsdWVbMF0udXNlckZpbGVuYW1lKTtcbiAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkXS5zZXRWYWx1ZShjaGFuZ2VzWydhdHRhY2htZW50cyddIC5jdXJyZW50VmFsdWVbMF0udXNlckZpbGVuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZF0uc2V0VmFsdWUoJycpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnZmlsZSBjaGFuZ2VkIGFuZCBpcyBub3cgZW1wdHknKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZUxpc3Q6IEZpbGVMaXN0ID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgIGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWxlOiBGaWxlID0gZmlsZUxpc3RbMF07XG4gICAgICB0aGlzLmZpbGVVdGlsU2VydmljZS51cGxvYWRGaWxlKGZpbGUpLnN1YnNjcmliZSgoYXR0YWNobWVudDogT2VwYUF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkZWQuZW1pdChhdHRhY2htZW50KTtcbiAgICAgICAgdGhpcy5teUZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLnVwbG9hZEVycm9yID0gJ0Vycm9yIHVwbG9hZGluZyBmaWxlICcgKyBlcnI7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRmlsZShhdHRhY2htZW50OiBPZXBhQXR0YWNobWVudCkge1xuICAgIGNvbnN0IG1vZGFsOiBCc01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCwgeyBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlIH0pO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuaGVhZGVyVGV4dCA9ICdSZW1vdmUgQXR0YWNobWVudCc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5ib2R5VGV4dCA9ICdEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIGF0dGFjaG1lbnQ6ICcgKyBhdHRhY2htZW50LnVzZXJGaWxlbmFtZSArICc/JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmNvbmZpcm1CdG5MYWJlbCA9ICdZZXMnO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY2FuY2VsQnRuTGFiZWwgPSAnTm8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUNsaWNrZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmlsZVJlbW92ZWQuZW1pdChhdHRhY2htZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUoYXR0YWNobWVudDogT2VwYUF0dGFjaG1lbnQpIHtcbiAgICBpZiAoIWF0dGFjaG1lbnQuc3lzdGVtRmlsZW5hbWUgfHwgYXR0YWNobWVudC5zeXN0ZW1GaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZG93bmxvYWQuZW1pdChhdHRhY2htZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWxlVXRpbFNlcnZpY2UuZG93bmxvYWRBdHRhY2htZW50KGF0dGFjaG1lbnQpLnN1YnNjcmliZShcbiAgICAgICAgZGF0YSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ0ZpbGUgZG93bmxvYWQgc3VjY2VzcycpO1xuICAgICAgICAgIGNvbnN0IG1pbWVUeXBlOiBzdHJpbmcgPSB0aGlzLmZpbGVVdGlsU2VydmljZS5taW1lVHlwZUZvckZpbGUoYXR0YWNobWVudC5zeXN0ZW1GaWxlbmFtZSB8fCAnJyk7XG4gICAgICAgICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVVdGlsU2VydmljZS5kb3dubG9hZEZpbGUoZGF0YSwgbWltZVR5cGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEVycm9yID0gJ1VuYWJsZSB0byBkb3dubG9hZCBmaWxlOiAnICsgYXR0YWNobWVudC51c2VyRmlsZW5hbWUgKyAnLiBDYW5ub3QgZGV0ZXJtaW5lIG1pbWUgdHlwZSc7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudXBsb2FkRXJyb3IgPSAnRXJyb3IgZG93bmxvYWRpbmcgZmlsZTogJyArIGF0dGFjaG1lbnQudXNlckZpbGVuYW1lICsgJy4gJyArIGVycjtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRCbGFua0Zvcm0oKSB7XG4gICAgaWYgKHRoaXMuYmxhbmtGb3JtKSB7XG4gICAgICB0aGlzLmRvd25sb2FkRmlsZSh0aGlzLmJsYW5rRm9ybSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8ZGl2PlxuICAgICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L2xhYmVsPlxuICAgICAgPHNwYW4gKm5nSWY9XCJibGFua0Zvcm1VcmxcIj4mbmJzcDs8YSBocmVmPVwie3tibGFua0Zvcm1Vcmx9fVwiIHRhcmdldD1cIl9ibGFua1wiPkJsYW5rIEZvcm08L2E+PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJibGFua0Zvcm1cIj4mbmJzcDs8YSBocmVmPVwiXCIgKGNsaWNrKT1cImRvd25sb2FkQmxhbmtGb3JtKClcIj5CbGFuayBGb3JtPC9hPjwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWZpbGVcIj5cbiAgICAgICAgICAgIEJyb3dzZSZoZWxsaXA7IFxuICAgICAgICAgICAgPGlucHV0ICNteUZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiAoY2hhbmdlKT1cImZpbGVDaGFuZ2UoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICBbaWRdPVwiY29tcG9uZW50SWQrJ19Ccm93c2VCdG4nXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19Ccm93c2VCdG4nXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZ3JvdXAuY29udHJvbHNbZmllbGRdLnN0YXR1cyA9PT0gJ0RJU0FCTEVEJ1wiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGlucHV0ICBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCFhdHRhY2htZW50cyB8fCBhdHRhY2htZW50cy5sZW5ndGggPT09IDApID8gJ05vIGZpbGVzIHVwbG9hZGVkJyA6IChhdHRhY2htZW50cy5sZW5ndGggKyAnIGZpbGUocykgdXBsb2FkZWQnKVwiXG4gICAgICAgICAgW2lkXT1cImNvbXBvbmVudElkKydfSW5wdXQnXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19JbnB1dCdcIiByZWFkb25seT5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnSU5WQUxJRCdcIj57e2Vycm9yTGFiZWwgfHwgbGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gZHVtbXkgaW5wdXQgZmllbGQgZm9yIHZhbGlkYXRpb24gcHVycG9zZXMgLS0+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaGlkZGVuXT1cInRydWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkXCIgaWQ9XCJmaWVsZFwiLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInVwbG9hZEVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiByb2xlPVwiYWxlcnRcIj57e3VwbG9hZEVycm9yfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwicGFyc2VyUmVwb3J0XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWF0dGFjaG1lbnRzWzBdICYmIHBhcnNlclJlcG9ydC5zdWNjZXNzZnVsXCIgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCIgcm9sZT1cImFsZXJ0XCI+U3ByZWFkc2hlZXQgd2FzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuPC9kaXY+XG4gICAgICA8ZGl2IFtoaWRkZW5dPVwicGFyc2VyUmVwb3J0LnN1Y2Nlc3NmdWxcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICBUaGVyZSBhcmUgZXJyb3JzIGluIHRoZSB1cGxvYWRlZCBzcHJlYWRzaGVldDpcbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgcGFyc2VyUmVwb3J0LmVycm9yc1wiPnt7ZXJyb3IubWVzc2FnZX19PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImF0dGFjaG1lbnRzICYmIGF0dGFjaG1lbnRzWzBdXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYXR0YWNobWVudCBvZiBhdHRhY2htZW50czsgbGV0IGk9aW5kZXg7XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8YSAoY2xpY2spPVwiZG93bmxvYWRGaWxlKGF0dGFjaG1lbnQpXCIgW2lkXT1cImNvbXBvbmVudElkKydfRG93bmxvYWRGaWxlTGlua18nK2lcIiBbbmFtZV09XCJjb21wb25lbnRJZCsnX0Rvd25sb2FkRmlsZUxpbmtfJytpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+e3thdHRhY2htZW50LnVzZXJGaWxlbmFtZX19PC9hPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwicmVtb3ZlQWxsb3dlZFwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtpZF09XCJjb21wb25lbnRJZCsnX1JlbW92ZUZpbGVCdG5fJytpXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19SZW1vdmVGaWxlQnRuXycraVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVGaWxlKGF0dGFjaG1lbnQpXCIgW2Rpc2FibGVkXT1cImdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdESVNBQkxFRCdcIiBhcmlhLWxhYmVsPVwiUmVtb3ZlIEF0dGFjaG1lbnRcIj5SZW1vdmUgQXR0YWNobWVudDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9tdWx0aS1maWxlLXVwbG9hZC9tdWx0aS1maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL211bHRpLWZpbGUtdXBsb2FkL211bHRpLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9DLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9wSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7O0FBVWhHLE1BQU0sT0FBTyx3QkFBd0I7SUFzQmY7SUFBMkM7SUFDckQ7SUF0QkQsS0FBSyxDQUFhO0lBQ2xCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsQ0FBNkI7SUFDdEMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sR0FBRyxhQUFhLENBQUM7SUFDdkIsV0FBVyxHQUEwQixFQUFFLENBQUM7SUFDeEMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUVwQixZQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEUsV0FBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQy9ELFFBQVEsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzQixXQUFXLENBQU07SUFFNUQsV0FBVyxHQUFHLDhCQUE4QixDQUFDO0lBQzdDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsWUFB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QUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBOUZVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHNpQkNqQnJDLCtqR0FvRE87OzRGRG5DTSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usd0JBQXdCOzBKQUt6QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRW9DLFdBQVc7c0JBQXJELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbmltcG9ydCB7IE9lcGFBdHRhY2htZW50LCBPZXBhUGFyc2VyUmVwb3J0LCBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlIH0gZnJvbSAnQG9oaW9lcGEvb2VwYS1jb21tb24tbGliJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2VwYUZpbGVVdGlsU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLW11bHRpLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpRmlsZVVwbG9hZENvbXBvbmVudCAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmaWVsZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZXJyb3JMYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJsYW5rRm9ybTogT2VwYUF0dGFjaG1lbnQgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGJsYW5rRm9ybVVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRvbWFpbiA9ICdhcHBsaWNhdGlvbic7XG4gIEBJbnB1dCgpIGF0dGFjaG1lbnRzOiBBcnJheTxPZXBhQXR0YWNobWVudD4gPSBbXTtcbiAgQElucHV0KCkgcmVtb3ZlQWxsb3dlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRlZDogRXZlbnRFbWl0dGVyPE9lcGFBdHRhY2htZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmVkOiBFdmVudEVtaXR0ZXI8T2VwYUF0dGFjaG1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxPZXBhQXR0YWNobWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnbXlGaWxlSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZX0pIG15RmlsZUlucHV0OiBhbnk7XG5cbiAgY29tcG9uZW50SWQgPSAnT2VwYU11bHRpRmlsZVVwbG9hZENvbXBvbmVudCc7XG4gIHVwbG9hZEVycm9yOiBzdHJpbmcgPSAnJztcbiAgcGFyc2VyUmVwb3J0ITogT2VwYVBhcnNlclJlcG9ydDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkU2VydmljZTogT2VwYUNvbXBvbmVudElkU2VydmljZSwgcHJpdmF0ZSBmaWxlVXRpbFNlcnZpY2U6IE9lcGFGaWxlVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgICAgdGhpcy5jb21wb25lbnRJZCArPSAodGhpcy5jb21wb25lbnRJZC5sZW5ndGggPiAwID8gJ18nIDogJycpICsgdGhpcy5maWVsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ09PUFMgTm8gZ3JvdXAgeWV0Jyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydhdHRhY2htZW50cyddICYmIGNoYW5nZXNbJ2F0dGFjaG1lbnRzJ10gLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgaWYgKGNoYW5nZXNbJ2F0dGFjaG1lbnRzJ10gLmN1cnJlbnRWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdmaWxlIGNoYW5nZWQgdG86ICcgKyBjaGFuZ2VzWydhdHRhY2htZW50cyddIC5jdXJyZW50VmFsdWVbMF0udXNlckZpbGVuYW1lKTtcbiAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkXS5zZXRWYWx1ZShjaGFuZ2VzWydhdHRhY2htZW50cyddIC5jdXJyZW50VmFsdWVbMF0udXNlckZpbGVuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZF0uc2V0VmFsdWUoJycpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnZmlsZSBjaGFuZ2VkIGFuZCBpcyBub3cgZW1wdHknKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZUxpc3Q6IEZpbGVMaXN0ID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgIGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWxlOiBGaWxlID0gZmlsZUxpc3RbMF07XG4gICAgICB0aGlzLmZpbGVVdGlsU2VydmljZS51cGxvYWRGaWxlKGZpbGUpLnN1YnNjcmliZSgoYXR0YWNobWVudDogT2VwYUF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkZWQuZW1pdChhdHRhY2htZW50KTtcbiAgICAgICAgdGhpcy5teUZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLnVwbG9hZEVycm9yID0gJ0Vycm9yIHVwbG9hZGluZyBmaWxlICcgKyBlcnI7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRmlsZShhdHRhY2htZW50OiBPZXBhQXR0YWNobWVudCkge1xuICAgIGNvbnN0IG1vZGFsOiBCc01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCwgeyBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlIH0pO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuaGVhZGVyVGV4dCA9ICdSZW1vdmUgQXR0YWNobWVudCc7XG4gICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5ib2R5VGV4dCA9ICdEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIGF0dGFjaG1lbnQ6ICcgKyBhdHRhY2htZW50LnVzZXJGaWxlbmFtZSArICc/JztcbiAgICAoPENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50Pm1vZGFsLmNvbnRlbnQpLmNvbmZpcm1CdG5MYWJlbCA9ICdZZXMnO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY2FuY2VsQnRuTGFiZWwgPSAnTm8nO1xuICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY29uZmlybUNsaWNrZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmlsZVJlbW92ZWQuZW1pdChhdHRhY2htZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUoYXR0YWNobWVudDogT2VwYUF0dGFjaG1lbnQpIHtcbiAgICBpZiAoIWF0dGFjaG1lbnQuc3lzdGVtRmlsZW5hbWUgfHwgYXR0YWNobWVudC5zeXN0ZW1GaWxlbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZG93bmxvYWQuZW1pdChhdHRhY2htZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWxlVXRpbFNlcnZpY2UuZG93bmxvYWRBdHRhY2htZW50KGF0dGFjaG1lbnQpLnN1YnNjcmliZShcbiAgICAgICAgZGF0YSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ0ZpbGUgZG93bmxvYWQgc3VjY2VzcycpO1xuICAgICAgICAgIGNvbnN0IG1pbWVUeXBlOiBzdHJpbmcgPSB0aGlzLmZpbGVVdGlsU2VydmljZS5taW1lVHlwZUZvckZpbGUoYXR0YWNobWVudC5zeXN0ZW1GaWxlbmFtZSB8fCAnJyk7XG4gICAgICAgICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVVdGlsU2VydmljZS5kb3dubG9hZEZpbGUoZGF0YSwgbWltZVR5cGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEVycm9yID0gJ1VuYWJsZSB0byBkb3dubG9hZCBmaWxlOiAnICsgYXR0YWNobWVudC51c2VyRmlsZW5hbWUgKyAnLiBDYW5ub3QgZGV0ZXJtaW5lIG1pbWUgdHlwZSc7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMudXBsb2FkRXJyb3IgPSAnRXJyb3IgZG93bmxvYWRpbmcgZmlsZTogJyArIGF0dGFjaG1lbnQudXNlckZpbGVuYW1lICsgJy4gJyArIGVycjtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRCbGFua0Zvcm0oKSB7XG4gICAgaWYgKHRoaXMuYmxhbmtGb3JtKSB7XG4gICAgICB0aGlzLmRvd25sb2FkRmlsZSh0aGlzLmJsYW5rRm9ybSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYmxhbmtGb3JtVXJsXCI+Jm5ic3A7PGEgaHJlZj1cInt7YmxhbmtGb3JtVXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5CbGFuayBGb3JtPC9hPjwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYmxhbmtGb3JtXCI+Jm5ic3A7PGEgaHJlZj1cIlwiIChjbGljayk9XCJkb3dubG9hZEJsYW5rRm9ybSgpXCI+QmxhbmsgRm9ybTwvYT48L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1maWxlXCIgW2Zvcl09XCJjb21wb25lbnRJZCsnX0Jyb3dzZUJ0bidcIj5cbiAgICAgICAgICAgIEJyb3dzZSZoZWxsaXA7IFxuICAgICAgICAgICAgPGlucHV0ICNteUZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiAoY2hhbmdlKT1cImZpbGVDaGFuZ2UoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICBbaWRdPVwiY29tcG9uZW50SWQrJ19Ccm93c2VCdG4nXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19Ccm93c2VCdG4nXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZ3JvdXAuY29udHJvbHNbZmllbGRdLnN0YXR1cyA9PT0gJ0RJU0FCTEVEJ1wiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19JbnB1dCdcIiBjbGFzcz1cInNyLW9ubHlcIj5TZWxlY3RlZCBmaWxlPC9sYWJlbD5cbiAgICAgICAgPGlucHV0ICBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCFhdHRhY2htZW50cyB8fCBhdHRhY2htZW50cy5sZW5ndGggPT09IDApID8gJ05vIGZpbGVzIHVwbG9hZGVkJyA6IChhdHRhY2htZW50cy5sZW5ndGggKyAnIGZpbGUocykgdXBsb2FkZWQnKVwiXG4gICAgICAgICAgW2lkXT1cImNvbXBvbmVudElkKydfSW5wdXQnXCIgW25hbWVdPVwiY29tcG9uZW50SWQrJ19JbnB1dCdcIiByZWFkb25seT5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1tmaWVsZF0uc3RhdHVzID09PSAnSU5WQUxJRCdcIj57e2Vycm9yTGFiZWwgfHwgbGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gZHVtbXkgaW5wdXQgZmllbGQgZm9yIHZhbGlkYXRpb24gcHVycG9zZXMgLS0+XG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtoaWRkZW5dPVwidHJ1ZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGRcIiBpZD1cImZpZWxkXCIvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidXBsb2FkRXJyb3JcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPnt7dXBsb2FkRXJyb3J9fTwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJwYXJzZXJSZXBvcnRcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhYXR0YWNobWVudHNbMF0gJiYgcGFyc2VyUmVwb3J0LnN1Y2Nlc3NmdWxcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIiByb2xlPVwiYWxlcnRcIj5TcHJlYWRzaGVldCB3YXMgc3VjY2Vzc2Z1bGx5IHBhcnNlZC48L2Rpdj5cbiAgICAgIDxkaXYgW2hpZGRlbl09XCJwYXJzZXJSZXBvcnQuc3VjY2Vzc2Z1bFwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgIFRoZXJlIGFyZSBlcnJvcnMgaW4gdGhlIHVwbG9hZGVkIHNwcmVhZHNoZWV0OlxuICAgICAgICA8dWw+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBwYXJzZXJSZXBvcnQuZXJyb3JzXCI+e3tlcnJvci5tZXNzYWdlfX08L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiYXR0YWNobWVudHMgJiYgYXR0YWNobWVudHNbMF1cIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhdHRhY2htZW50IG9mIGF0dGFjaG1lbnRzOyBsZXQgaT1pbmRleDtcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxhIChjbGljayk9XCJkb3dubG9hZEZpbGUoYXR0YWNobWVudClcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19Eb3dubG9hZEZpbGVMaW5rXycraVwiIFtuYW1lXT1cImNvbXBvbmVudElkKydfRG93bmxvYWRGaWxlTGlua18nK2lcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj57e2F0dGFjaG1lbnQudXNlckZpbGVuYW1lfX08L2E+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZW1vdmVBbGxvd2VkXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgW2lkXT1cImNvbXBvbmVudElkKydfUmVtb3ZlRmlsZUJ0bl8nK2lcIiBbbmFtZV09XCJjb21wb25lbnRJZCsnX1JlbW92ZUZpbGVCdG5fJytpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbGUoYXR0YWNobWVudClcIiBbZGlzYWJsZWRdPVwiZ3JvdXAuY29udHJvbHNbZmllbGRdLnN0YXR1cyA9PT0gJ0RJU0FCTEVEJ1wiIGFyaWEtbGFiZWw9XCJSZW1vdmUgQXR0YWNobWVudFwiPlJlbW92ZSBBdHRhY2htZW50PC9idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT4iXX0=
|
|
@@ -148,11 +148,11 @@ export class NotesModalComponent {
|
|
|
148
148
|
this.bsModalRef.hide();
|
|
149
149
|
}
|
|
150
150
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotesModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BsModalRef }, { token: i2.BsModalService }, { token: i3.OepaMappingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
151
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NotesModalComponent, selector: "oepa-notes-modal", inputs: { loginName: "loginName", deleteAnyNoteAllowed: "deleteAnyNoteAllowed", deleteOwnNoteAllowed: "deleteOwnNoteAllowed", createNoteAllowed: "createNoteAllowed", external: "external", errorMessage: "errorMessage", notes: "notes", defaultNoteType: "defaultNoteType" }, outputs: { onAddNote: "onAddNote", onDeleteNote: "onDeleteNote" }, ngImport: i0, template: "<div class=\"modal-header\">\n\t<
|
|
151
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NotesModalComponent, selector: "oepa-notes-modal", inputs: { loginName: "loginName", deleteAnyNoteAllowed: "deleteAnyNoteAllowed", deleteOwnNoteAllowed: "deleteOwnNoteAllowed", createNoteAllowed: "createNoteAllowed", external: "external", errorMessage: "errorMessage", notes: "notes", defaultNoteType: "defaultNoteType" }, outputs: { onAddNote: "onAddNote", onDeleteNote: "onDeleteNote" }, ngImport: i0, template: "<div class=\"modal-header\">\n\t<h1 class=\"modal-title\" id=\"modalTitle\">Notes</h1>\n</div>\n\n<div class=\"modal-body\">\n\t\n <div *ngIf=\"errorMessage\">\n\t\t<div class=\"alert alert-danger\" role=\"alert\">{{ errorMessage }}</div>\n </div>\n\n <div *ngIf=\"data.length === 0\" class=\"alert alert-info text-center\"><em>There are no notes defined.</em></div>\n\n <oepa-table [config]=\"tblConfig\" [data]=\"data\" [header]=\"header\" (actionClicked)=\"noteActionClicked($event)\"></oepa-table>\n\n \t\n\t<form *ngIf=\"createNoteAllowed\" class=\"form-horizontal\">\n \n <hr>\n\t\n <div [formGroup]=\"newNoteForm\" class=\"form-group\">\n\n <div class=\"row\">\n <label class=\"col-sm-2 control-label\">Type:</label>\n <div class=\"col-sm-10\">\n <span class=\"form-control\" id=\"NoteTypeText\">{{newNoteType.name}}</span>\n </div>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-12 control-label\"></label> \n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-2 control-label\" for=\"NoteInput\">Note:</label>\n <div class=\"col-sm-10\">\n <input class=\"form-control\" type=\"input\" formControlName=\"newNoteText\" id=\"NoteInput\" maxlength=\"2000\"/>\n </div>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-12 control-label\"></label> \n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-2 control-label\"></label>\n <div class=\"col-sm-10\">\n <span *ngIf=\"isCreating\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"!isCreating\" class=\"btn btn-primary mr-1\" id=\"AddNoteBtn\" (click)=\"createNote()\" [disabled]=\"newNoteForm.invalid\" aria-label=\"Add Note\">\n <span>Add Note</span>\n </button>\n </div>\n </div>\n\n\n </div> \n </form> <!-- form -->\n \n</div>\n\t\n<div class=\"modal-footer\">\n\t<button class=\"btn btn-primary mr-1\" id=\"DoneBtn\" (click)=\"done()\" aria-label=\"Done\">Done</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
152
152
|
}
|
|
153
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotesModalComponent, decorators: [{
|
|
154
154
|
type: Component,
|
|
155
|
-
args: [{ selector: 'oepa-notes-modal', template: "<div class=\"modal-header\">\n\t<
|
|
155
|
+
args: [{ selector: 'oepa-notes-modal', template: "<div class=\"modal-header\">\n\t<h1 class=\"modal-title\" id=\"modalTitle\">Notes</h1>\n</div>\n\n<div class=\"modal-body\">\n\t\n <div *ngIf=\"errorMessage\">\n\t\t<div class=\"alert alert-danger\" role=\"alert\">{{ errorMessage }}</div>\n </div>\n\n <div *ngIf=\"data.length === 0\" class=\"alert alert-info text-center\"><em>There are no notes defined.</em></div>\n\n <oepa-table [config]=\"tblConfig\" [data]=\"data\" [header]=\"header\" (actionClicked)=\"noteActionClicked($event)\"></oepa-table>\n\n \t\n\t<form *ngIf=\"createNoteAllowed\" class=\"form-horizontal\">\n \n <hr>\n\t\n <div [formGroup]=\"newNoteForm\" class=\"form-group\">\n\n <div class=\"row\">\n <label class=\"col-sm-2 control-label\">Type:</label>\n <div class=\"col-sm-10\">\n <span class=\"form-control\" id=\"NoteTypeText\">{{newNoteType.name}}</span>\n </div>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-12 control-label\"></label> \n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-2 control-label\" for=\"NoteInput\">Note:</label>\n <div class=\"col-sm-10\">\n <input class=\"form-control\" type=\"input\" formControlName=\"newNoteText\" id=\"NoteInput\" maxlength=\"2000\"/>\n </div>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-12 control-label\"></label> \n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-2 control-label\"></label>\n <div class=\"col-sm-10\">\n <span *ngIf=\"isCreating\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"!isCreating\" class=\"btn btn-primary mr-1\" id=\"AddNoteBtn\" (click)=\"createNote()\" [disabled]=\"newNoteForm.invalid\" aria-label=\"Add Note\">\n <span>Add Note</span>\n </button>\n </div>\n </div>\n\n\n </div> \n </form> <!-- form -->\n \n</div>\n\t\n<div class=\"modal-footer\">\n\t<button class=\"btn btn-primary mr-1\" id=\"DoneBtn\" (click)=\"done()\" aria-label=\"Done\">Done</button>\n</div>\n" }]
|
|
156
156
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.BsModalRef }, { type: i2.BsModalService }, { type: i3.OepaMappingService }], propDecorators: { loginName: [{
|
|
157
157
|
type: Input
|
|
158
158
|
}], deleteAnyNoteAllowed: [{
|
|
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
174
174
|
}], onDeleteNote: [{
|
|
175
175
|
type: Output
|
|
176
176
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9ub3Rlcy1tb2RhbC9ub3Rlcy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL25vdGVzLW1vZGFsL25vdGVzLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVdwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7OztBQVNoRyxNQUFNLE9BQU8sbUJBQW1CO0lBb0RWO0lBQXdCO0lBQWdDO0lBQ3hEO0lBcERiLFdBQVcsQ0FBYTtJQUN4QixXQUFXLENBQWlCO0lBQzVCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVsQixnQkFBZ0IsQ0FBaUI7SUFDakMsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUVuQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM3QixvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDN0IsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUduQyxJQUNXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBR0QsSUFDVyxlQUFlLENBQUMsSUFBbUI7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFUyxTQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDekQsWUFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXBFLGlCQUFpQjtJQUNWLElBQUksR0FBd0IsRUFBRSxDQUFDO0lBRS9CLFNBQVMsR0FBb0IsRUFDbkMsQ0FBQztJQUVLLE1BQU0sR0FBb0I7UUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7S0FDM0IsQ0FBQztJQUVKLFlBQW9CLEVBQWUsRUFBUyxVQUFzQixFQUFVLFlBQTRCLEVBQ3BGLGNBQWtDO1FBRGxDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQ3BGLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtJQUN0RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQzNCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBMkI7WUFDdEMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7U0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzNELE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWtCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBVTtRQUN0QyxNQUFNLEdBQUcsR0FBaUI7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0RCxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ25DLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSTtvQkFDdkcsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDbkM7WUFDRCxVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBQ0Ysb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvSCxHQUFHLENBQUMsT0FBTyxHQUFHO2dCQUNaLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFO2FBQzdDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxPQUFPLEdBQUc7Z0JBQ1osRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUU7YUFDdEMsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUMvQixXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDakgsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUFTO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztZQUN0QixRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUztTQUNyQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXNCO1FBQ3RDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsTUFBTSxLQUFLLEdBQWUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLEtBQUssQ0FBQyxPQUFRLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO1lBQzdDLEtBQUssQ0FBQyxPQUFRLENBQUMsUUFBUSxHQUFHLDRFQUE0RSxDQUFDO1lBQ3ZHLEtBQUssQ0FBQyxPQUFRLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUN2QyxLQUFLLENBQUMsT0FBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDckMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQWhLVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwyWUNyQmhDLHVuRUE4REE7OzRGRHpDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0Usa0JBQWtCO3VLQWFuQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBYUssZUFBZTtzQkFEekIsS0FBSztnQkFVSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBPZXBhTWFwcGluZ1NlcnZpY2UsIE9FUEFSZWZlcmVuY2UgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWNvbW1vbi1saWInO1xuaW1wb3J0IHsgT2VwYVRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgT2VwYVRhYmxlUm93IH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1yb3cnO1xuaW1wb3J0IHsgT2VwYVRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1jb25maWcnO1xuaW1wb3J0IHsgT2VwYVRhYmxlSGVhZGVyIH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1oZWFkZXInO1xuaW1wb3J0IHsgT2VwYUFjdGlvbkV2ZW50IH0gZnJvbSAnLi4vYWN0aW9uLWJ0bi9vZXBhLWFjdGlvbi1ldmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGUgfSBmcm9tICcuL29lcGEtbm90ZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2VwYS1ub3Rlcy1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3Rlcy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGVzLW1vZGFsLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOb3Rlc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIG5ld05vdGVGb3JtITogRm9ybUdyb3VwO1xuICBwdWJsaWMgbmV3Tm90ZVR5cGUhOiBPRVBBUmVmZXJlbmNlO1xuICBwdWJsaWMgbmV3Tm90ZVRleHQ6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaXNDcmVhdGluZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2RlZmF1bHROb3RlVHlwZSE6IE9FUEFSZWZlcmVuY2U7XG4gIHByaXZhdGUgX25vdGVzOiBOb3RlW10gPSBbXTtcblxuICBASW5wdXQoKSBsb2dpbk5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkZWxldGVBbnlOb3RlQWxsb3dlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWxldGVPd25Ob3RlQWxsb3dlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjcmVhdGVOb3RlQWxsb3dlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBleHRlcm5hbCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuXG4gIFxuICBASW5wdXQoKSBcbiAgcHVibGljIHNldCBub3Rlcyhub3RlczogTm90ZVtdKSB7XG4gICAgdGhpcy5pc0NyZWF0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5fbm90ZXMgPSBub3RlcztcbiAgICB0aGlzLmxvYWREYXRhKG5vdGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm90ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vdGVzO1xuICB9XG5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlZmF1bHROb3RlVHlwZSh0eXBlOiBPRVBBUmVmZXJlbmNlKSB7XG4gICAgdGhpcy5fZGVmYXVsdE5vdGVUeXBlID0gdHlwZTtcbiAgICB0aGlzLm5ld05vdGVUeXBlID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdE5vdGVUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0Tm90ZVR5cGU7XG4gIH1cblxuICBAT3V0cHV0KCkgb25BZGROb3RlOiBFdmVudEVtaXR0ZXI8Tm90ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPE5vdGU+KCk7XG4gIEBPdXRwdXQoKSBvbkRlbGV0ZU5vdGU6IEV2ZW50RW1pdHRlcjxOb3RlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90ZT4oKTtcblxuICAgIC8vIFRhYmxlIGVsZW1lbnRzXG4gICAgcHVibGljIGRhdGE6IEFycmF5PE9lcGFUYWJsZVJvdz4gPSBbXTtcblxuICAgIHB1YmxpYyB0YmxDb25maWc6IE9lcGFUYWJsZUNvbmZpZyA9IHtcbiAgICB9O1xuICBcbiAgICBwdWJsaWMgaGVhZGVyOiBPZXBhVGFibGVIZWFkZXIgPSB7XG4gICAgICBjb2x1bW5zOiB0aGlzLmdldENvbHVtbnMoKVxuICAgIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmLCBwcml2YXRlIG1vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgbWFwcGluZ1NlcnZpY2U6IE9lcGFNYXBwaW5nU2VydmljZSkgeyBcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyAgICBcbiAgICB0aGlzLmluaXRpYWxpemVUYWJsZSgpO1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGFibGUoKSB7XG4gICAgdGhpcy5oZWFkZXIgPSB7XG4gICAgICBjb2x1bW5zOiB0aGlzLmdldENvbHVtbnMoKVxuICAgIH07XG4gICAgdGhpcy5sb2FkRGF0YSh0aGlzLm5vdGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1ucygpOiBBcnJheTxPZXBhVGFibGVDb2x1bW4+IHtcbiAgICBjb25zdCBjb2x1bW5zOiBBcnJheTxPZXBhVGFibGVDb2x1bW4+ID0gW1xuICAgICAgeyB0aXRsZTogJ05vdGUnLCBpZDogJ25vdGUnIH0sXG4gICAgXTtcblxuICAgIGlmICghdGhpcy5leHRlcm5hbCkge1xuICAgICAgY29sdW1ucy5wdXNoKHsgdGl0bGU6ICdUeXBlJywgaWQ6ICd0eXBlJyB9KTtcbiAgICAgIGNvbHVtbnMucHVzaCh7IHRpdGxlOiAnQWNjb3VudCcsIGlkOiAnYWNjb3VudCcgfSk7XG4gICAgfVxuXG4gICAgY29sdW1ucy5wdXNoKHsgdGl0bGU6ICdEYXRlJywgaWQ6ICdkYXRlJyB9KTtcblxuICAgIGlmICh0aGlzLmRlbGV0ZUFueU5vdGVBbGxvd2VkIHx8IHRoaXMuZGVsZXRlT3duTm90ZUFsbG93ZWQpIHtcbiAgICAgIGNvbHVtbnMucHVzaCh7IHRpdGxlOiAnQWN0aW9ucycsIGlkOiAnYWN0aW9ucycsIGFjdGlvbkNvbHVtbjogdHJ1ZSwgY2xhc3NOYW1lOiAnYWN0aW9uLWJ0bi1jb2wnIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjb2x1bW5zO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRGF0YShub3RlczogQXJyYXk8Tm90ZT4pIHtcbiAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICBpZiAobm90ZXMgJiYgbm90ZXMubGVuZ3RoKSB7XG4gICAgICBub3Rlcy5mb3JFYWNoKChub3RlKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YS5wdXNoKHRoaXMuY29udmVydE5vdGVUb1RhYmxlUm93KG5vdGUpKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLnNwbGljZSgwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnROb3RlVG9UYWJsZVJvdyhub3RlOiBOb3RlKTogT2VwYVRhYmxlUm93IHtcbiAgICBjb25zdCByb3c6IE9lcGFUYWJsZVJvdyA9IHtcbiAgICAgIGNlbGxzOiBbXG4gICAgICAgIHsgaWQ6ICdub3RlJywgdmFsdWU6IG5vdGUuY29tbWVudCB9LFxuICAgICAgICB7IGlkOiAndHlwZScsIHZhbHVlOiBub3RlLnR5cGUgPyBub3RlLnR5cGUubmFtZSA6ICcnIH0sXG4gICAgICAgIHsgaWQ6ICdhY2NvdW50JywgdmFsdWU6IG5vdGUudXNlciB9LFxuICAgICAgICB7IGlkOiAnZGF0ZScsIHZhbHVlOiBub3RlLm5vdGVEYXRlID8gdGhpcy5tYXBwaW5nU2VydmljZS5tYXBEYXRlVG9EYXRlVGltZVN0cmluZyhuZXcgRGF0ZShub3RlLm5vdGVEYXRlKSk6IG51bGwsIFxuICAgICAgICAgICAgICAgIHNvcnRWYWx1ZTogbm90ZS5ub3RlRGF0ZSB9XG4gICAgICBdLFxuICAgICAgZGF0YVNvdXJjZTogbm90ZVxuICAgIH07XG4gICAgLy8gb25seSBkaXNwbGF5IGRlbGV0ZSBhY3Rpb24gaWYgbm90ZSBjYW4gYmUgZGVsZXRlZFxuICAgIGlmICgodGhpcy5kZWxldGVBbnlOb3RlQWxsb3dlZCB8fCAodGhpcy5kZWxldGVPd25Ob3RlQWxsb3dlZCAmJiB0aGlzLmxvZ2luTmFtZSA9PT0gbm90ZS51c2VyKSkgJiYgbm90ZS50eXBlPy5jb2RlICE9PSAnU3lzdGVtJykge1xuICAgICAgcm93LmFjdGlvbnMgPSBbXG4gICAgICAgIHsgdGl0bGU6ICdEZWxldGUnLCBjbGFzc05hbWU6ICdiaSBiaS14LWxnJyB9XG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3cuYWN0aW9ucyA9IFtcbiAgICAgICAgeyB0aXRsZTogJ05BJywgY2xhc3NOYW1lOiB1bmRlZmluZWQgfVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICBpZiAodGhpcy5uZXdOb3RlRm9ybSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5ld05vdGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgIG5ld05vdGVUZXh0OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5ld05vdGVGb3JtLmNvbnRyb2xzWyduZXdOb3RlVGV4dCddLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUobmV3Tm90ZVRleHQgPT4gdGhpcy5uZXdOb3RlVGV4dCA9IG5ld05vdGVUZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZXdOb3RlRm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZU5vdGUoKSB7XG4gICAgdGhpcy5pc0NyZWF0aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICAgIGNvbnN0IG5vdGU6IE5vdGUgPSB7XG4gICAgICB0eXBlOiB0aGlzLm5ld05vdGVUeXBlLFxuICAgICAgbm90ZURhdGU6IG5ldyBEYXRlKCksXG4gICAgICBjb21tZW50OiB0aGlzLm5ld05vdGVUZXh0LFxuICAgICAgdXNlcjogdGhpcy5sb2dpbk5hbWVcbiAgICB9O1xuICAgIHRoaXMub25BZGROb3RlLmVtaXQobm90ZSk7XG4gIH1cblxuICBub3RlQWN0aW9uQ2xpY2tlZChldmVudDogT2VwYUFjdGlvbkV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmFjdGlvbi50aXRsZSA9PT0gJ0RlbGV0ZScpIHtcbiAgICAgIGNvbnN0IG1vZGFsOiBCc01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCwgeyBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlIH0pO1xuICAgICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5oZWFkZXJUZXh0ID0gJ0NvbmZpcm0gZGVsZXRlJztcbiAgICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuYm9keVRleHQgPSAnT25jZSBhIG5vdGUgaXMgZGVsZXRlZCBpdCBjYW5ub3QgYmUgdW5kb25lISBEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcz8nO1xuICAgICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQnRuTGFiZWwgPSAnWWVzJztcbiAgICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY2FuY2VsQnRuTGFiZWwgPSAnTm8nO1xuICAgICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uRGVsZXRlTm90ZS5lbWl0KGV2ZW50LmRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZG9uZSgpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0PGgzIGNsYXNzPVwibW9kYWwtdGl0bGVcIj5Ob3RlczwvaDM+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cblx0XG4gIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCI+e3sgZXJyb3JNZXNzYWdlIH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXRhLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyB0ZXh0LWNlbnRlclwiPjxlbT5UaGVyZSBhcmUgbm8gbm90ZXMgZGVmaW5lZC48L2VtPjwvZGl2PlxuXG4gIDxvZXBhLXRhYmxlIFtjb25maWddPVwidGJsQ29uZmlnXCIgW2RhdGFdPVwiZGF0YVwiIFtoZWFkZXJdPVwiaGVhZGVyXCIgKGFjdGlvbkNsaWNrZWQpPVwibm90ZUFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvb2VwYS10YWJsZT5cblxuICAgXHRcblx0PGZvcm0gKm5nSWY9XCJjcmVhdGVOb3RlQWxsb3dlZFwiIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCI+XG4gICAgXG4gICAgPGhyPlxuXHRcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwibmV3Tm90ZUZvcm1cIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5UeXBlOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIk5vdGVUeXBlVGV4dFwiPnt7bmV3Tm90ZVR5cGUubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0xMiBjb250cm9sLWxhYmVsXCI+PC9sYWJlbD4gICAgXG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIiBmb3I9XCJOb3RlSW5wdXRcIj5Ob3RlOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cImlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwibmV3Tm90ZVRleHRcIiBpZD1cIk5vdGVJbnB1dFwiIG1heGxlbmd0aD1cIjIwMDBcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTEyIGNvbnRyb2wtbGFiZWxcIj48L2xhYmVsPiAgICBcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTIgY29udHJvbC1sYWJlbFwiPjwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ3JlYXRpbmdcIj48c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHRleHQtcHJpbWFyeVwiIHJvbGU9XCJzdGF0dXNcIj48L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzQ3JlYXRpbmdcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgaWQ9XCJBZGROb3RlQnRuXCIgKGNsaWNrKT1cImNyZWF0ZU5vdGUoKVwiIFtkaXNhYmxlZF09XCJuZXdOb3RlRm9ybS5pbnZhbGlkXCIgYXJpYS1sYWJlbD1cIkFkZCBOb3RlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+QWRkIE5vdGU8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgPC9kaXY+ICBcbiAgPC9mb3JtPiA8IS0tIGZvcm0gLS0+XG4gICAgXG48L2Rpdj5cblx0XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG5cdDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMVwiIGlkPVwiRG9uZUJ0blwiIChjbGljayk9XCJkb25lKClcIiBhcmlhLWxhYmVsPVwiRG9uZVwiPkRvbmU8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2VwYS11aS1saWIvc3JjL2xpYi9ub3Rlcy1tb2RhbC9ub3Rlcy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL25vdGVzLW1vZGFsL25vdGVzLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVdwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7OztBQVNoRyxNQUFNLE9BQU8sbUJBQW1CO0lBb0RWO0lBQXdCO0lBQWdDO0lBQ3hEO0lBcERiLFdBQVcsQ0FBYTtJQUN4QixXQUFXLENBQWlCO0lBQzVCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVsQixnQkFBZ0IsQ0FBaUI7SUFDakMsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUVuQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM3QixvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDN0IsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUduQyxJQUNXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxD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LEVBQUUsQ0FBQyxDQUFDO1lBQy9FLEtBQUssQ0FBQyxPQUFRLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO1lBQzdDLEtBQUssQ0FBQyxPQUFRLENBQUMsUUFBUSxHQUFHLDRFQUE0RSxDQUFDO1lBQ3ZHLEtBQUssQ0FBQyxPQUFRLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUN2QyxLQUFLLENBQUMsT0FBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDckMsS0FBSyxDQUFDLE9BQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQWhLVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwyWUNyQmhDLHlvRUE4REE7OzRGRHpDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0Usa0JBQWtCO3VLQWFuQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBYUssZUFBZTtzQkFEekIsS0FBSztnQkFVSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBPZXBhTWFwcGluZ1NlcnZpY2UsIE9FUEFSZWZlcmVuY2UgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWNvbW1vbi1saWInO1xuaW1wb3J0IHsgT2VwYVRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgT2VwYVRhYmxlUm93IH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1yb3cnO1xuaW1wb3J0IHsgT2VwYVRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1jb25maWcnO1xuaW1wb3J0IHsgT2VwYVRhYmxlSGVhZGVyIH0gZnJvbSAnLi4vdGFibGUvb2VwYS10YWJsZS1oZWFkZXInO1xuaW1wb3J0IHsgT2VwYUFjdGlvbkV2ZW50IH0gZnJvbSAnLi4vYWN0aW9uLWJ0bi9vZXBhLWFjdGlvbi1ldmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGUgfSBmcm9tICcuL29lcGEtbm90ZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2VwYS1ub3Rlcy1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3Rlcy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGVzLW1vZGFsLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOb3Rlc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIG5ld05vdGVGb3JtITogRm9ybUdyb3VwO1xuICBwdWJsaWMgbmV3Tm90ZVR5cGUhOiBPRVBBUmVmZXJlbmNlO1xuICBwdWJsaWMgbmV3Tm90ZVRleHQ6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaXNDcmVhdGluZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2RlZmF1bHROb3RlVHlwZSE6IE9FUEFSZWZlcmVuY2U7XG4gIHByaXZhdGUgX25vdGVzOiBOb3RlW10gPSBbXTtcblxuICBASW5wdXQoKSBsb2dpbk5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkZWxldGVBbnlOb3RlQWxsb3dlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWxldGVPd25Ob3RlQWxsb3dlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjcmVhdGVOb3RlQWxsb3dlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBleHRlcm5hbCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuXG4gIFxuICBASW5wdXQoKSBcbiAgcHVibGljIHNldCBub3Rlcyhub3RlczogTm90ZVtdKSB7XG4gICAgdGhpcy5pc0NyZWF0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5fbm90ZXMgPSBub3RlcztcbiAgICB0aGlzLmxvYWREYXRhKG5vdGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm90ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vdGVzO1xuICB9XG5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlZmF1bHROb3RlVHlwZSh0eXBlOiBPRVBBUmVmZXJlbmNlKSB7XG4gICAgdGhpcy5fZGVmYXVsdE5vdGVUeXBlID0gdHlwZTtcbiAgICB0aGlzLm5ld05vdGVUeXBlID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdE5vdGVUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0Tm90ZVR5cGU7XG4gIH1cblxuICBAT3V0cHV0KCkgb25BZGROb3RlOiBFdmVudEVtaXR0ZXI8Tm90ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPE5vdGU+KCk7XG4gIEBPdXRwdXQoKSBvbkRlbGV0ZU5vdGU6IEV2ZW50RW1pdHRlcjxOb3RlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Tm90ZT4oKTtcblxuICAgIC8vIFRhYmxlIGVsZW1lbnRzXG4gICAgcHVibGljIGRhdGE6IEFycmF5PE9lcGFUYWJsZVJvdz4gPSBbXTtcblxuICAgIHB1YmxpYyB0YmxDb25maWc6IE9lcGFUYWJsZUNvbmZpZyA9IHtcbiAgICB9O1xuICBcbiAgICBwdWJsaWMgaGVhZGVyOiBPZXBhVGFibGVIZWFkZXIgPSB7XG4gICAgICBjb2x1bW5zOiB0aGlzLmdldENvbHVtbnMoKVxuICAgIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmLCBwcml2YXRlIG1vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgbWFwcGluZ1NlcnZpY2U6IE9lcGFNYXBwaW5nU2VydmljZSkgeyBcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyAgICBcbiAgICB0aGlzLmluaXRpYWxpemVUYWJsZSgpO1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVGFibGUoKSB7XG4gICAgdGhpcy5oZWFkZXIgPSB7XG4gICAgICBjb2x1bW5zOiB0aGlzLmdldENvbHVtbnMoKVxuICAgIH07XG4gICAgdGhpcy5sb2FkRGF0YSh0aGlzLm5vdGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1ucygpOiBBcnJheTxPZXBhVGFibGVDb2x1bW4+IHtcbiAgICBjb25zdCBjb2x1bW5zOiBBcnJheTxPZXBhVGFibGVDb2x1bW4+ID0gW1xuICAgICAgeyB0aXRsZTogJ05vdGUnLCBpZDogJ25vdGUnIH0sXG4gICAgXTtcblxuICAgIGlmICghdGhpcy5leHRlcm5hbCkge1xuICAgICAgY29sdW1ucy5wdXNoKHsgdGl0bGU6ICdUeXBlJywgaWQ6ICd0eXBlJyB9KTtcbiAgICAgIGNvbHVtbnMucHVzaCh7IHRpdGxlOiAnQWNjb3VudCcsIGlkOiAnYWNjb3VudCcgfSk7XG4gICAgfVxuXG4gICAgY29sdW1ucy5wdXNoKHsgdGl0bGU6ICdEYXRlJywgaWQ6ICdkYXRlJyB9KTtcblxuICAgIGlmICh0aGlzLmRlbGV0ZUFueU5vdGVBbGxvd2VkIHx8IHRoaXMuZGVsZXRlT3duTm90ZUFsbG93ZWQpIHtcbiAgICAgIGNvbHVtbnMucHVzaCh7IHRpdGxlOiAnQWN0aW9ucycsIGlkOiAnYWN0aW9ucycsIGFjdGlvbkNvbHVtbjogdHJ1ZSwgY2xhc3NOYW1lOiAnYWN0aW9uLWJ0bi1jb2wnIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBjb2x1bW5zO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRGF0YShub3RlczogQXJyYXk8Tm90ZT4pIHtcbiAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICBpZiAobm90ZXMgJiYgbm90ZXMubGVuZ3RoKSB7XG4gICAgICBub3Rlcy5mb3JFYWNoKChub3RlKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YS5wdXNoKHRoaXMuY29udmVydE5vdGVUb1RhYmxlUm93KG5vdGUpKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLnNwbGljZSgwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnROb3RlVG9UYWJsZVJvdyhub3RlOiBOb3RlKTogT2VwYVRhYmxlUm93IHtcbiAgICBjb25zdCByb3c6IE9lcGFUYWJsZVJvdyA9IHtcbiAgICAgIGNlbGxzOiBbXG4gICAgICAgIHsgaWQ6ICdub3RlJywgdmFsdWU6IG5vdGUuY29tbWVudCB9LFxuICAgICAgICB7IGlkOiAndHlwZScsIHZhbHVlOiBub3RlLnR5cGUgPyBub3RlLnR5cGUubmFtZSA6ICcnIH0sXG4gICAgICAgIHsgaWQ6ICdhY2NvdW50JywgdmFsdWU6IG5vdGUudXNlciB9LFxuICAgICAgICB7IGlkOiAnZGF0ZScsIHZhbHVlOiBub3RlLm5vdGVEYXRlID8gdGhpcy5tYXBwaW5nU2VydmljZS5tYXBEYXRlVG9EYXRlVGltZVN0cmluZyhuZXcgRGF0ZShub3RlLm5vdGVEYXRlKSk6IG51bGwsIFxuICAgICAgICAgICAgICAgIHNvcnRWYWx1ZTogbm90ZS5ub3RlRGF0ZSB9XG4gICAgICBdLFxuICAgICAgZGF0YVNvdXJjZTogbm90ZVxuICAgIH07XG4gICAgLy8gb25seSBkaXNwbGF5IGRlbGV0ZSBhY3Rpb24gaWYgbm90ZSBjYW4gYmUgZGVsZXRlZFxuICAgIGlmICgodGhpcy5kZWxldGVBbnlOb3RlQWxsb3dlZCB8fCAodGhpcy5kZWxldGVPd25Ob3RlQWxsb3dlZCAmJiB0aGlzLmxvZ2luTmFtZSA9PT0gbm90ZS51c2VyKSkgJiYgbm90ZS50eXBlPy5jb2RlICE9PSAnU3lzdGVtJykge1xuICAgICAgcm93LmFjdGlvbnMgPSBbXG4gICAgICAgIHsgdGl0bGU6ICdEZWxldGUnLCBjbGFzc05hbWU6ICdiaSBiaS14LWxnJyB9XG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3cuYWN0aW9ucyA9IFtcbiAgICAgICAgeyB0aXRsZTogJ05BJywgY2xhc3NOYW1lOiB1bmRlZmluZWQgfVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICBpZiAodGhpcy5uZXdOb3RlRm9ybSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5ld05vdGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgIG5ld05vdGVUZXh0OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5ld05vdGVGb3JtLmNvbnRyb2xzWyduZXdOb3RlVGV4dCddLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUobmV3Tm90ZVRleHQgPT4gdGhpcy5uZXdOb3RlVGV4dCA9IG5ld05vdGVUZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZXdOb3RlRm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZU5vdGUoKSB7XG4gICAgdGhpcy5pc0NyZWF0aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICAgIGNvbnN0IG5vdGU6IE5vdGUgPSB7XG4gICAgICB0eXBlOiB0aGlzLm5ld05vdGVUeXBlLFxuICAgICAgbm90ZURhdGU6IG5ldyBEYXRlKCksXG4gICAgICBjb21tZW50OiB0aGlzLm5ld05vdGVUZXh0LFxuICAgICAgdXNlcjogdGhpcy5sb2dpbk5hbWVcbiAgICB9O1xuICAgIHRoaXMub25BZGROb3RlLmVtaXQobm90ZSk7XG4gIH1cblxuICBub3RlQWN0aW9uQ2xpY2tlZChldmVudDogT2VwYUFjdGlvbkV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmFjdGlvbi50aXRsZSA9PT0gJ0RlbGV0ZScpIHtcbiAgICAgIGNvbnN0IG1vZGFsOiBCc01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCwgeyBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlIH0pO1xuICAgICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5oZWFkZXJUZXh0ID0gJ0NvbmZpcm0gZGVsZXRlJztcbiAgICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuYm9keVRleHQgPSAnT25jZSBhIG5vdGUgaXMgZGVsZXRlZCBpdCBjYW5ub3QgYmUgdW5kb25lISBEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcz8nO1xuICAgICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQnRuTGFiZWwgPSAnWWVzJztcbiAgICAgICg8Q29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ+bW9kYWwuY29udGVudCkuY2FuY2VsQnRuTGFiZWwgPSAnTm8nO1xuICAgICAgKDxDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudD5tb2RhbC5jb250ZW50KS5jb25maXJtQ2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uRGVsZXRlTm90ZS5lbWl0KGV2ZW50LmRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZG9uZSgpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0PGgxIGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cIm1vZGFsVGl0bGVcIj5Ob3RlczwvaDE+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cblx0XG4gIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCI+e3sgZXJyb3JNZXNzYWdlIH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXRhLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyB0ZXh0LWNlbnRlclwiPjxlbT5UaGVyZSBhcmUgbm8gbm90ZXMgZGVmaW5lZC48L2VtPjwvZGl2PlxuXG4gIDxvZXBhLXRhYmxlIFtjb25maWddPVwidGJsQ29uZmlnXCIgW2RhdGFdPVwiZGF0YVwiIFtoZWFkZXJdPVwiaGVhZGVyXCIgKGFjdGlvbkNsaWNrZWQpPVwibm90ZUFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvb2VwYS10YWJsZT5cblxuICAgXHRcblx0PGZvcm0gKm5nSWY9XCJjcmVhdGVOb3RlQWxsb3dlZFwiIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCI+XG4gICAgXG4gICAgPGhyPlxuXHRcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwibmV3Tm90ZUZvcm1cIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5UeXBlOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIk5vdGVUeXBlVGV4dFwiPnt7bmV3Tm90ZVR5cGUubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0xMiBjb250cm9sLWxhYmVsXCI+PC9sYWJlbD4gICAgXG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIiBmb3I9XCJOb3RlSW5wdXRcIj5Ob3RlOjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cImlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwibmV3Tm90ZVRleHRcIiBpZD1cIk5vdGVJbnB1dFwiIG1heGxlbmd0aD1cIjIwMDBcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTEyIGNvbnRyb2wtbGFiZWxcIj48L2xhYmVsPiAgICBcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTIgY29udHJvbC1sYWJlbFwiPjwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ3JlYXRpbmdcIj48c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHRleHQtcHJpbWFyeVwiIHJvbGU9XCJzdGF0dXNcIj48L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzQ3JlYXRpbmdcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtci0xXCIgaWQ9XCJBZGROb3RlQnRuXCIgKGNsaWNrKT1cImNyZWF0ZU5vdGUoKVwiIFtkaXNhYmxlZF09XCJuZXdOb3RlRm9ybS5pbnZhbGlkXCIgYXJpYS1sYWJlbD1cIkFkZCBOb3RlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+QWRkIE5vdGU8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgPC9kaXY+ICBcbiAgPC9mb3JtPiA8IS0tIGZvcm0gLS0+XG4gICAgXG48L2Rpdj5cblx0XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG5cdDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXItMVwiIGlkPVwiRG9uZUJ0blwiIChjbGljayk9XCJkb25lKClcIiBhcmlhLWxhYmVsPVwiRG9uZVwiPkRvbmU8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|