@annalib/anna-core 30.8.0 → 31.0.0
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/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +16 -57
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +4 -4
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +14 -6
- package/fesm2022/annalib-anna-core.mjs +35 -68
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +1 -1
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +2 -2
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
- package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +3 -7
- package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +2 -2
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +1 -1
- package/package.json +1 -1
package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs
CHANGED
|
@@ -18,11 +18,11 @@ export class AnnaIconColumnComponent {
|
|
|
18
18
|
this.PfpIconDisableColor = "rgba(189,189,189,0.5)";
|
|
19
19
|
this.columnIconClicked = new EventEmitter();
|
|
20
20
|
}
|
|
21
|
-
svgIconClicked(
|
|
22
|
-
this.columnIconClicked.emit(
|
|
21
|
+
svgIconClicked() {
|
|
22
|
+
this.columnIconClicked.emit();
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaIconColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaIconColumnComponent, isStandalone: true, selector: "anna-core-icon-column", inputs: { componentName: "componentName", iconToShow: "iconToShow", dataObject: "dataObject" }, outputs: { columnIconClicked: "columnIconClicked" }, ngImport: i0, template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALERT_OCTAGON_ICON'\"\r\n class=\"mdi mdi-alert-octagon\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-alert-octagon{color:red;cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AnnaPayForPerformanceIconTemplateComponent, selector: "anna-core-pay-for-performance-icon-template", inputs: ["isTitle", "color", "width", "height"] }, { kind: "component", type: AnnaDeletedOrderIconTemplateComponent, selector: "anna-core-deleted-order-icon-template" }, { kind: "component", type: AnnaEstIconTemplateComponent, selector: "anna-core-anna-est-icon-template" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaIconColumnComponent, isStandalone: true, selector: "anna-core-icon-column", inputs: { componentName: "componentName", iconToShow: "iconToShow", dataObject: "dataObject" }, outputs: { columnIconClicked: "columnIconClicked" }, ngImport: i0, template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALERT_OCTAGON_ICON'\"\r\n class=\"mdi mdi-alert-octagon\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'MESSAGE'\"\r\n class=\"mdi mdi-comment-edit-outline\"\r\n (click)=\"svgIconClicked()\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-alert-octagon{color:red;cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}.mdi.mdi-comment-edit-outline{color:var(--primary-blue-color);cursor:pointer!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AnnaPayForPerformanceIconTemplateComponent, selector: "anna-core-pay-for-performance-icon-template", inputs: ["isTitle", "color", "width", "height"] }, { kind: "component", type: AnnaDeletedOrderIconTemplateComponent, selector: "anna-core-deleted-order-icon-template" }, { kind: "component", type: AnnaEstIconTemplateComponent, selector: "anna-core-anna-est-icon-template" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaIconColumnComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
@@ -35,7 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35
35
|
AnnaBuyerApprovalIconTemplateComponent,
|
|
36
36
|
AnnaDeletedOrderIconTemplateComponent,
|
|
37
37
|
AnnaEstIconTemplateComponent,
|
|
38
|
-
], template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALERT_OCTAGON_ICON'\"\r\n class=\"mdi mdi-alert-octagon\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-alert-octagon{color:red;cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}\n"] }]
|
|
38
|
+
], template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALERT_OCTAGON_ICON'\"\r\n class=\"mdi mdi-alert-octagon\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'MESSAGE'\"\r\n class=\"mdi mdi-comment-edit-outline\"\r\n (click)=\"svgIconClicked()\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-alert-octagon{color:red;cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}.mdi.mdi-comment-edit-outline{color:var(--primary-blue-color);cursor:pointer!important}\n"] }]
|
|
39
39
|
}], propDecorators: { componentName: [{
|
|
40
40
|
type: Input
|
|
41
41
|
}], iconToShow: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
45
45
|
}], columnIconClicked: [{
|
|
46
46
|
type: Output
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUloRyxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDMUksbUNBQW1DO0FBQ25DLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILG1DQUFtQztBQUNuQyxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUN4SixtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7O0FBbUJ6SCxNQUFNLE9BQU8sdUJBQXVCO0lBakJwQztRQXNCSSx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsdUJBQXVCLENBQUM7UUFDcEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7S0FLN0U7SUFIRyxjQUFjO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBWFEsdUJBQXVCO21HQUF2Qix1QkFBdUIsc09DbENwQyxtM0RBb0VBLDZyQkQ1Q1EsSUFBSSw2RkFDSiwwQ0FBMEMseUlBSzFDLHFDQUFxQyxrRkFDckMsNEJBQTRCOzs0RkFHdkIsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osMENBQTBDO3dCQUMxQyw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMsK0JBQStCO3dCQUMvQixzQ0FBc0M7d0JBQ3RDLHFDQUFxQzt3QkFDckMsNEJBQTRCO3FCQUMvQjs4QkFHUSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFHSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgR3RDb2x1bW5JY29uRW1pdHRlZERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FubmEtZ2VuZXJpYy1kYXRhLXR5cGUubW9kZWxcIjtcclxuaW1wb3J0IHsgSWNvblRvU2hvdyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzXCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FubmEtYnV5ZXItYXBwcm92YWwtaWNvbi10ZW1wbGF0ZS9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFEZWxldGVkT3JkZXJJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUvYW5uYS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFFc3RJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZS9hbm5hLWVzdC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlL2FubmEtbm90aWZ5LWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuaW1wb3J0IHsgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS9hbm5hLXJlamVjdGVkLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1pY29uLWNvbHVtblwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbm5hLWljb24tY29sdW1uLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFFc3RJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUljb25Db2x1bW5Db21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaWNvblRvU2hvdzogSWNvblRvU2hvdztcclxuICAgIC8vIEBJbnB1dCgpIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGF0YU9iamVjdDogYW55O1xyXG4gICAgUGZwSWNvbkFjdGl2ZUNvbG9yID0gXCIjOUIxQjkzXCI7XHJcbiAgICBQZnBJY29uRGlzYWJsZUNvbG9yID0gXCJyZ2JhKDE4OSwxODksMTg5LDAuNSlcIjtcclxuICAgIEBPdXRwdXQoKSBjb2x1bW5JY29uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3RDb2x1bW5JY29uRW1pdHRlZERhdGE+KCk7XHJcblxyXG4gICAgc3ZnSWNvbkNsaWNrZWQoKSB7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5JY29uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNwYW4gKm5nSWY9XCJpY29uVG9TaG93ID09PSAnUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUnXCI+XHJcbiAgICA8YW5uYS1jb3JlLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZVxyXG4gICAgICAgIFtjb2xvcl09XCJQZnBJY29uQWN0aXZlQ29sb3JcIlxyXG4gICAgICAgIFt3aWR0aF09XCInMTJweCdcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiJzEycHgnXCJcclxuICAgID5cclxuICAgIDwvYW5uYS1jb3JlLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZT5cclxuPC9zcGFuPlxyXG5cclxuPGFubmEtY29yZS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnREVMRVRFRF9PUkRFUidcIj4gPC9hbm5hLWNvcmUtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlPlxyXG5cclxuPGlcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydFwiXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdORUVEX1NFTExFUl9DT05GSVJNQVRJT04nXCJcclxuPjwvaT5cclxuPGlcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydFwiXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdORUVEX0JVWUVSX0NPTkZJUk1BVElPTidcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FVVE9NQVRFRCdcIlxyXG4gICAgY2xhc3M9XCJhbm5hLWF1dG9tYXRpb24tYWN0aXZhdGVkLWljb24gbWRpIG1kaS1jb2ctcmVmcmVzaFwiXHJcbj48L2k+XHJcblxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnV0FSTklOR19JQ09OJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktYWxlcnRcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0lORk9STUFUSU9OX09VVExJTkVfSUNPTidcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWluZm9ybWF0aW9uLW91dGxpbmVcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FMRVJUX09DVEFHT05fSUNPTidcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWFsZXJ0LW9jdGFnb25cIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0NBTkNFTF9JQ09OJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktY2FuY2VsXCJcclxuPjwvaT5cclxuXHJcbjxpXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdBTFBIQV9CX0NJUkNMRSdcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWFscGhhLWItY2lyY2xlLW91dGxpbmVcIlxyXG4+PC9pPlxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfRV9DSVJDTEUnXCJcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbHBoYS1yLWNpcmNsZS1vdXRsaW5lXCJcclxuPjwvaT5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FMUEhBX0FfQ0lSQ0xFJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktYWxwaGEtYS1jaXJjbGVcIlxyXG4+PC9pPlxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnTUVTU0FHRSdcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWNvbW1lbnQtZWRpdC1vdXRsaW5lXCJcclxuICAgIChjbGljayk9XCJzdmdJY29uQ2xpY2tlZCgpXCJcclxuPjwvaT5cclxuPCEtLSA8aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfUl9DSVJDTEUnXCJcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbHBoYS1yLWNpcmNsZS1vdXRsaW5lXCJcclxuPjwvaT4gLS0+XHJcblxyXG48YW5uYS1jb3JlLWFubmEtZXN0LWljb24tdGVtcGxhdGUgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfUl9DSVJDTEUnXCI+PC9hbm5hLWNvcmUtYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -64,4 +64,4 @@ export class EllipsisWithTableTooltip {
|
|
|
64
64
|
this.tooltipClass = tooltipClass;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FZWDtBQVpELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCx5Q0FBdUIsQ0FBQTtJQUN2QixpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtJQUM3Qix1RUFBcUQsQ0FBQTtJQUNyRCwyREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBMkIsQ0FBQTtJQUMzQixtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtBQUNyQyxDQUFDLEVBWlcsY0FBYyxLQUFkLGNBQWMsUUFZekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUE4Q0QsTUFBTSxPQUFPLHNCQUFzQjthQUNmLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7YUFDakMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7YUFDOUIsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQzthQUNsQyxtQkFBYyxHQUFHLG9CQUFvQixDQUFDO2FBQ3RDLFVBQUssR0FBRyxTQUFTLENBQUM7YUFDbEIsdUJBQWtCLEdBQUcsdUJBQXVCLENBQUM7YUFDN0MsMENBQXFDLEdBQUcsb0NBQW9DLENBQUM7YUFDN0UseUJBQW9CLEdBQUcseUJBQXlCLENBQUM7YUFDakQsMEJBQXFCLEdBQUcseUJBQXlCLENBQUM7YUFDbEQsMEJBQXFCLEdBQUcsMEJBQTBCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUVwQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVNqQyxZQUNJLE9BQWUsRUFDZixZQUFtQyxFQUNuQyxTQUFnQixFQUNoQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFvQixFQUNwQixZQUFvQjtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXZWVrQ2FsZW5kYXIgfSBmcm9tIFwiLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0VGFibGVIZWFkZXIge1xyXG4gICAgaGVhZGVySW5mbzogSUhlYWRlckluZm9bXTtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJJbmZvIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgYWN0aW9uS2V5Pzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleT86IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG4gICAgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXI/OiBib29sZWFuW107IFxyXG4gICAgICAgIC8vIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgc3BsaXQgb3B0aW9ucyBpbiBhIGNoZWNrYm94IGZpbHRlci4gXHJcbiAgICAgICAgLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHZhbHVlcyBpbiB0aGUgZmlsdGVyIHdpbGwgYmUgc3BsaXQgaW50byBpbmRpdmlkdWFsIG9wdGlvbnMuIFxyXG4gICAgICAgIC8vIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGhhcyB2YWx1ZXMgbGlrZSBcIkExOCssIEEzNStcIiwgaXQgd2lsbCBzcGxpdCB0aGVtIGludG8gdHdvIHNlcGFyYXRlIG9wdGlvbnMgKFwiQTE4K1wiIGFuZCBcIkEzNStcIikgaW4gdGhlIGNoZWNrYm94IGZpbHRlci5cclxuXHJcbiAgICBzcGxpdERlbGltaXRlcj86IHN0cmluZ1tdOyBcclxuICAgICAgICAvLyBEZWZpbmVzIHRoZSBrZXkgb3IgbG9naWMgdXNlZCB0byBzcGxpdCB0aGUgdmFsdWVzIGluIHRoZSBjaGVja2JveCBmaWx0ZXIgd2hlbiBgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXJgIGlzIHRydWUuXHJcbiAgICAgICAgLy8gVGhpcyBrZXkgZGV0ZXJtaW5lcyBob3cgdGhlIHZhbHVlcyBhcmUgc3BsaXQuIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGNvbnRhaW5zIFwiQTE4KywgQTM1K1wiIGFuZCBgc3BsaXREZWxpbWl0ZXJgIGlzIHNldCB0byBhIGNvbW1hIG9yIHBsdXMgc2lnbiAoJysnKSwgXHJcbiAgICAgICAgLy8gdGhlIGZpbHRlciB3aWxsIGdlbmVyYXRlIHNlcGFyYXRlIG9wdGlvbnMgZm9yIFwiQTE4K1wiIGFuZCBcIkEzNStcIiBiYXNlZCBvbiB0aGUgc3BsaXQgZGVsaW1pdGVyLlxyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID1cclxuICAgIHwgXCJDSEVDS0JPWFwiXHJcbiAgICB8IFwiSUNPTlwiXHJcbiAgICB8IFwiU1RSSU5HXCJcclxuICAgIHwgXCJSQURJT1wiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJTVkdfSUNPTlwiXHJcbiAgICB8IFwiVEVYVF9BQ1RJT05TXCJcclxuICAgIHwgXCJDTElDS0FCTEVfREFUQVwiXHJcbiAgICB8IFwiU1RSSU5HX19URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19JQ09OX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19fSUNPTl9PUl9URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiSFRNTFwiXHJcbiAgICB8IFwiSFRNTF9TVFJJTkdcIlxyXG4gICAgfCBcIklDT05fQ0VMTFwiXHJcbiAgICB8IFwiU1RSSU5HX09SX0lOUFVUXCJcclxuICAgIHwgXCJTSU5HTEVfUkFESU9cIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX0VMTElQU0lTX1dJVEhfVEFCTEVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX1dJVEhfVE9PTFRJUF9JTk5FUl9IVE1MXCI7XHJcblxyXG50eXBlIEZJTFRFUlRZUEUgPSBcIkNIRUNLQk9YXCIgfCBcIlNMSURFUlwiIHwgXCJEQVRFXCIgfCBcIlRJTUVcIiB8IFwiV0VFS1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU3ZnT3JJY29uVHlwZUluR1RUYWJsZSB7XHJcbiAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuO1xyXG4gICAgc3ZnT3JJY29uTmFtZT86IHN0cmluZztcclxuICAgIHN2Z09ySWNvblRvb2x0aXBNc2c/OiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsVGV4dD86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxUZXh0Q2xhc3M/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgY29uc3RydWN0b3IoZGF0YTogeyBzaG93T2JqZWN0S2V5OiBib29sZWFuOyBzdmdPckljb25OYW1lOiBzdHJpbmcgfSkge1xyXG4gICAgICAgIHRoaXMuc2hvd09iamVjdEtleSA9IGRhdGEuc2hvd09iamVjdEtleTtcclxuICAgICAgICB0aGlzLnN2Z09ySWNvbk5hbWUgPSBkYXRhLnN2Z09ySWNvbk5hbWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN2Z09ySWNvbk5hbWVzIHtcclxuICAgIFBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFID0gXCJQQVlfRk9SX1BFUkZPUk1BTkNFX0FDVElWRVwiLFxyXG4gICAgQVVUT01BVEVEID0gXCJBVVRPTUFURURcIixcclxuICAgIERFTEVURURfT1JERVIgPSBcIkRFTEVURURfT1JERVJcIixcclxuICAgIFdBUk5JTkdfSUNPTiA9IFwiV0FSTklOR19JQ09OXCIsXHJcbiAgICBJTkZPUk1BVElPTl9PVVRMSU5FX0lDT04gPSBcIklORk9STUFUSU9OX09VVExJTkVfSUNPTlwiLFxyXG4gICAgQUxFUlRfT0NUQUdPTl9JQ09OID0gXCJBTEVSVF9PQ1RBR09OX0lDT05cIixcclxuICAgIENBTkNFTF9JQ09OID0gXCJDQU5DRUxfSUNPTlwiLFxyXG4gICAgQUxQSEFfQl9DSVJDTEUgPSBcIkFMUEhBX0JfQ0lSQ0xFXCIsXHJcbiAgICBBTFBIQV9SX0NJUkNMRSA9IFwiQUxQSEFfUl9DSVJDTEVcIixcclxuICAgIEFMUEhBX0VfQ0lSQ0xFID0gXCJBTFBIQV9FX0NJUkNMRVwiLFxyXG4gICAgQUxQSEFfQV9DSVJDTEUgPSBcIkFMUEhBX0FfQ0lSQ0xFXCIsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvdGFsUm93SW5mbyB7XHJcbiAgICBjb2xzcGFuOiBudW1iZXI7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICBsb3dlckRhdGE/OiBzdHJpbmc7XHJcbiAgICBjb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbFJlZFRleHRBZnRlckRhdGE/OiBzdHJpbmc7XHJcbiAgICBpc0FjdGlvbkNvbHVtbj86IGJvb2xlYW47XHJcbiAgICBhY3Rpb25EYXRhPzogQ2xpY2thYmxlSXRlbVtdO1xyXG4gICAgaXNJY29uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGljb25EYXRhPzogeyBjbGFzczogc3RyaW5nOyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcclxuICAgIHRvb2x0aXBJY29uQ2xhc3M/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0SGVhZGVyQ29uZmlnIHtcclxuICAgIGljb25Db2x1bW46IGJvb2xlYW47XHJcbiAgICBjaGVja2JveENvbHVtbjogYm9vbGVhbjtcclxuICAgIGxhc3RDb2x1bW5LZXlzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RHZW5lcmFsQ29uZmlnIGV4dGVuZHMgSVNwb3RUYWJsZUNvbmZpZyB7XHJcbiAgICBjb21wb25lbnQ6IENPTVBPTkVOVE5BTUU7XHJcbiAgICB0b3RhbFJvdzogYm9vbGVhbjtcclxuICAgIGlzSGVhZGVyQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlSGVhZGVyQ2hlY2tib3g/OiBib29sZWFuO1xyXG4gICAgbXVsdGlXZWVrUGlja2VyQ29uZmlnPzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcD86IG51bWJlcjtcclxuICAgIHRhYmxlQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHRhYmxlT3V0ZXJDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgc2hvd0FsbENvbHVtbkZpbHRlcjogYm9vbGVhbjtcclxuICAgIGJ1ZmZlclNpemU6IG51bWJlcjtcclxuICAgIHBhZ2U6IHN0cmluZztcclxufVxyXG5cclxudHlwZSBDT01QT05FTlROQU1FID1cclxuICAgIHwgXCJTUE9UREVUQUlMU1wiXHJcbiAgICB8IFwiRVhDTFVERUlOVkVOVE9SWVBPUFVQXCJcclxuICAgIHwgXCJFWENMVURFSU5WRU5UT1JZXCJcclxuICAgIHwgXCJEUlJMSVNUSU5HXCJcclxuICAgIHwgXCJEUlJcIlxyXG4gICAgfCBcIlwiXHJcbiAgICB8IFwiUkFUSU5HXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0lORkxJR0hUXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0NPTVBMRVRFRFwiXHJcbiAgICB8IFwiT1JERVJfTElTVElOR19CTEFOS1wiXHJcbiAgICB8IFwiTFVSX1ZJT0xBVElPTlNcIlxyXG4gICAgfCBcIkFDVElWSVRZTE9HXCJcclxuICAgIHwgXCJOT1RJRklDQVRJT05TXCJcclxuICAgIHwgXCJEUF9SRVNUUklDVElPTlNcIjtcclxuaW50ZXJmYWNlIElTcG90VGFibGVDb25maWcge1xyXG4gICAgaXNHcm91cGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb29sdGlwIHtcclxuICAgIGljb25Qb3NpdGlvbjogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImFib3ZlXCIgfCBcImJlbG93XCIgfCBcImJlZm9yZVwiIHwgXCJhZnRlclwiO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBDbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkRhdGEge1xyXG4gICAgZGF0YTogYW55O1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0QWN0aW9uIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsaWNrYWJsZUl0ZW0ge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9O1xyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0OiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHR5cGVPZkFjdGlvbkxpbmtGb3JHdDogYW55LFxyXG4gICAgICAgIG5hbWU6IHN0cmluZyxcclxuICAgICAgICBjbGFzc05hbWU6IHN0cmluZyxcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICAgICB0b29sdGlwRGF0YTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IHR5cGVPZkFjdGlvbkxpbmtGb3JHdDtcclxuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgICAgIHRoaXMuY2xhc3MgPSBjbGFzc05hbWU7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcERhdGEgPSB0b29sdGlwRGF0YTtcclxuICAgICAgICB0aGlzLmVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dCA9IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSWNvbkNlbGxBY3Rpb25LZXkge1xyXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZztcclxuICAgIHNob3dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE/OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaWQ6IGFueSxcclxuICAgICAgICBzaG93SWNvbjogYm9vbGVhbixcclxuICAgICAgICBpY29uQ2xhc3M6IHN0cmluZyxcclxuICAgICAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBEYXRhPzogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgICAgIHRoaXMuc2hvd0ljb24gPSBzaG93SWNvbjtcclxuICAgICAgICB0aGlzLmljb25DbGFzcyA9IGljb25DbGFzcztcclxuICAgICAgICB0aGlzLnNob3dPYmplY3RLZXkgPSBzaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBEYXRhID0gdG9vbHRpcERhdGE7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGlvbkl0ZW1UeXBlV2l0aFN0cmluZ0ljb25PclRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIGRhdGE6IHN0cmluZztcclxuXHJcbiAgICB0eXBlT2ZEYXRhOiBcIlNUUklOR1wiIHwgXCJJQ09OX1RFWFRfQUNUSU9OXCI7XHJcbiAgICBhZGRpdGlvbmFsVGV4dEJlZm9yZUxpbms6IHN0cmluZztcclxuXHJcbiAgICBpY29uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkSWNvbj86IGJvb2xlYW47XHJcblxyXG4gICAgbGlua0NsYXNzPzogc3RyaW5nO1xyXG4gICAgc2hvd0xpbms/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRMaW5rPzogYm9vbGVhbjtcclxuXHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuXHJcbiAgICB0b29sdGlwRGF0YT86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xyXG4gICAgdG9vbHRpcENsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBsYWNlbWVudD86IHN0cmluZztcclxuXHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJY29uVG9TaG93ID1cclxuICAgIHwgXCJMSVZFXCJcclxuICAgIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFX0FDVElWRVwiXHJcbiAgICB8IFwiUEFZX0ZPUl9QRVJGT1JNQU5DRVwiXHJcbiAgICB8IFwiUkVKRUNURURcIlxyXG4gICAgfCBcIk5PVElGWVwiXHJcbiAgICB8IFwiQVdBSVRJTkdfQVBQUk9WQUxcIlxyXG4gICAgfCBcIkRFTEVURURfT1JERVJcIlxyXG4gICAgfCBcIk5FRURfU0VMTEVSX0NPTkZJUk1BVElPTlwiXHJcbiAgICB8IFwiTkVFRF9CVVlFUl9DT05GSVJNQVRJT05cIlxyXG4gICAgfCBcIkFVVE9NQVRFRFwiXHJcbiAgICB8IFwiV0FSTklOR19JQ09OXCJcclxuICAgIHwgXCJJTkZPUk1BVElPTl9PVVRMSU5FX0lDT05cIlxyXG4gICAgfCBcIkFMRVJUX09DVEFHT05fSUNPTlwiXHJcbiAgICB8IFwiQ0FOQ0VMX0lDT05cIlxyXG4gICAgfCBcIkFMUEhBX0JfQ0lSQ0xFXCJcclxuICAgIHwgXCJBTFBIQV9SX0NJUkNMRVwiXHJcbiAgICB8IFwiQUxQSEFfRV9DSVJDTEVcIlxyXG4gICAgfCBcIkFMUEhBX0FfQ0lSQ0xFXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDbGFzc05hbWVDb25zdGFudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdENsYXNzID0gXCJ0YWJsZS1ib2R5LXJvdyBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBzZWxlY3RlZFJvdyA9IFwic2VsZWN0ZWQtcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlbGVjdGFibGVSb3cgPSBcInNlbGVjdGFibGUtcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGxhc3RSb3dPZkdyb3VwID0gXCJsYXN0LXJvdy1vZi1ncm91cCBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBtZ1JvdyA9IFwibWctcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHJlZENvbG9yQ2VsbEJvcmRlciA9IFwicmVkY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JDZWxsQm9yZGVyRm9yQm9va2VkUnRnSW1wc0NvbCA9IFwiIHJlZGNvbG9yLWNlbGwtYm9yZGVyLXJ0Zy1pbXBzLWNvbFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGdyZWVuQ29sb3JDZWxsQm9yZGVyID0gXCJncmVlbmNvbG9yLWNlbGwtYm9yZGVyIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHllbGxvd0NvbG9yQ2VsbEJvcmRlciA9IFwieWVsbG93Y29sb3ItY2VsbC1ib3JkZXJcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBvcmFuZ2VDb2xvckNlbGxCb3JkZXIgPSBcIm9yYW5nZWNvbG9yLWNlbGwtYm9yZGVyIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHJlZENvbG9yU3RhdHVzID0gXCJyZWRjb2xvci1zdGF0dXMgXCI7XHJcblxyXG4gICAgc3RhdGljIHJlYWRvbmx5IGdyb3VwZWRUYWJsZUNsYXNzID0gXCJncm91cGVkLXRhYmxlLWNvbnRhaW5lciBcIjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzV2l0aFRhYmxlVG9vbHRpcCB7XHJcbiAgICB0b29sdGlwSGVhZGVyOiBzdHJpbmc7XHJcbiAgICB0YWJsZUhlYWRlcnM6IEhlYWRlcldpdGhPYmplY3RLZXlbXTtcclxuICAgIHRhYmxlRGF0YTogYW55W107XHJcbiAgICBjZWxsVmFsdWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBIb3ZlclRleHQ6IHN0cmluZztcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaGVhZGluZzogc3RyaW5nLFxyXG4gICAgICAgIHRhYmxlSGVhZGVyczogSGVhZGVyV2l0aE9iamVjdEtleVtdLFxyXG4gICAgICAgIHRhYmxlRGF0YTogYW55W10sXHJcbiAgICAgICAgY2VsbFZhbHVlOiBzdHJpbmcsXHJcbiAgICAgICAgdG9vbHRpcFRleHQ6IHN0cmluZyxcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICAgICB0b29sdGlwQ2xhc3M6IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMudG9vbHRpcEhlYWRlciA9IGhlYWRpbmc7XHJcbiAgICAgICAgdGhpcy50YWJsZUhlYWRlcnMgPSB0YWJsZUhlYWRlcnM7XHJcbiAgICAgICAgdGhpcy50YWJsZURhdGEgPSB0YWJsZURhdGE7XHJcbiAgICAgICAgdGhpcy5jZWxsVmFsdWUgPSBjZWxsVmFsdWU7XHJcbiAgICAgICAgdGhpcy50b29sdGlwSG92ZXJUZXh0ID0gdG9vbHRpcFRleHQ7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcENsYXNzID0gdG9vbHRpcENsYXNzO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlcldpdGhPYmplY3RLZXkge1xyXG4gICAgaGVhZGVyTmFtZTogc3RyaW5nO1xyXG4gICAgb2JqZWN0S2V5OiBzdHJpbmc7XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElubmVySFRNTFRvb2x0aXBBY3Rpb24ge1xyXG4gICAgZGF0YVRvRGlzcGxheT86IHN0cmluZzsgLy8gVGV4dCBvciBkYXRhIHRvIGRpc3BsYXkgYmVmb3JlIHRoZSB0b29sdGlwXHJcbiAgICBzaG93VG9vbHRpcD86IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gc2hvdyB0aGUgdG9vbHRpcFxyXG4gICAgdG9vbHRpcElubmVySHRtbFRlbXBsYXRlPzogc3RyaW5nOyAvLyBUZW1wbGF0ZSBvciBjb250ZW50IGZvciB0aGUgdG9vbHRpcFxyXG4gICAgdG9vbHRpcFBvc2l0aW9uPzogc3RyaW5nOyAvLyBUb29sdGlwIHBvc2l0aW9uIChlLmcuLCAndG9wJywgJ2JvdHRvbScpXHJcbiAgICB0b29sdGlwSWNvbkNsYXNzPzogc3RyaW5nOyAvLyBDU1MgY2xhc3MgZm9yIHRoZSB0b29sdGlwIGljb25cclxuICAgIHRvb2x0aXBJbm5lckNsYXNzPzogc3RyaW5nOyAvLyBDU1MgY2xhc3MgZm9yIGN1c3RvbWl6aW5nIHRvb2x0aXAncyBpbm5lciBjb250ZW50XHJcbiAgICBkaXNhYmxlVG9vbHRpcD86IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9vbHRpcFxyXG4gICAgdG9vbHRpcE1hcmtlclRleHQ/OiBzdHJpbmc7IC8vIFRleHQgZm9yIHRoZSB0b29sdGlwIGljb24gb3IgaW5kaWNhdG9yXHJcbiAgICBkYXRhVG9EaXNwbGF5QWZ0ZXJUb29sdGlwPzogc3RyaW5nOyAvLyBEYXRhIHRvIGRpc3BsYXkgYWZ0ZXIgdGhlIHRvb2x0aXBcclxuICAgIGlzTWFudWFsVHJpZ2dlcj86IGJvb2xlYW47IC8vIFdoZXRoZXIgdGhlIHRvb2x0aXAgdHJpZ2dlciBpcyBtYW51YWwgb3IgYXV0b21hdGljXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXBUYWJsZUhlYWRlciB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbiAgICBjb2xzcGFuPzogbnVtYmVyO1xyXG4gICAgcm93c3Bhbj86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcFRhYmxlUm93RGF0YSB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93IGR5bmFtaWMga2V5cyBmb3Igcm93IGRhdGFcclxufVxyXG4iXX0=
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FZWDtBQVpELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCx5Q0FBdUIsQ0FBQTtJQUN2QixpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtJQUM3Qix1RUFBcUQsQ0FBQTtJQUNyRCwyREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBMkIsQ0FBQTtJQUMzQixtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtBQUNyQyxDQUFDLEVBWlcsY0FBYyxLQUFkLGNBQWMsUUFZekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUErQ0QsTUFBTSxPQUFPLHNCQUFzQjthQUNmLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7YUFDakMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7YUFDOUIsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQzthQUNsQyxtQkFBYyxHQUFHLG9CQUFvQixDQUFDO2FBQ3RDLFVBQUssR0FBRyxTQUFTLENBQUM7YUFDbEIsdUJBQWtCLEdBQUcsdUJBQXVCLENBQUM7YUFDN0MsMENBQXFDLEdBQUcsb0NBQW9DLENBQUM7YUFDN0UseUJBQW9CLEdBQUcseUJBQXlCLENBQUM7YUFDakQsMEJBQXFCLEdBQUcseUJBQXlCLENBQUM7YUFDbEQsMEJBQXFCLEdBQUcsMEJBQTBCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUVwQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVNqQyxZQUNJLE9BQWUsRUFDZixZQUFtQyxFQUNuQyxTQUFnQixFQUNoQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFvQixFQUNwQixZQUFvQjtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXZWVrQ2FsZW5kYXIgfSBmcm9tIFwiLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0VGFibGVIZWFkZXIge1xyXG4gICAgaGVhZGVySW5mbzogSUhlYWRlckluZm9bXTtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJJbmZvIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgYWN0aW9uS2V5Pzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleT86IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG4gICAgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXI/OiBib29sZWFuW107IFxyXG4gICAgICAgIC8vIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgc3BsaXQgb3B0aW9ucyBpbiBhIGNoZWNrYm94IGZpbHRlci4gXHJcbiAgICAgICAgLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHZhbHVlcyBpbiB0aGUgZmlsdGVyIHdpbGwgYmUgc3BsaXQgaW50byBpbmRpdmlkdWFsIG9wdGlvbnMuIFxyXG4gICAgICAgIC8vIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGhhcyB2YWx1ZXMgbGlrZSBcIkExOCssIEEzNStcIiwgaXQgd2lsbCBzcGxpdCB0aGVtIGludG8gdHdvIHNlcGFyYXRlIG9wdGlvbnMgKFwiQTE4K1wiIGFuZCBcIkEzNStcIikgaW4gdGhlIGNoZWNrYm94IGZpbHRlci5cclxuXHJcbiAgICBzcGxpdERlbGltaXRlcj86IHN0cmluZ1tdOyBcclxuICAgICAgICAvLyBEZWZpbmVzIHRoZSBrZXkgb3IgbG9naWMgdXNlZCB0byBzcGxpdCB0aGUgdmFsdWVzIGluIHRoZSBjaGVja2JveCBmaWx0ZXIgd2hlbiBgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXJgIGlzIHRydWUuXHJcbiAgICAgICAgLy8gVGhpcyBrZXkgZGV0ZXJtaW5lcyBob3cgdGhlIHZhbHVlcyBhcmUgc3BsaXQuIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGNvbnRhaW5zIFwiQTE4KywgQTM1K1wiIGFuZCBgc3BsaXREZWxpbWl0ZXJgIGlzIHNldCB0byBhIGNvbW1hIG9yIHBsdXMgc2lnbiAoJysnKSwgXHJcbiAgICAgICAgLy8gdGhlIGZpbHRlciB3aWxsIGdlbmVyYXRlIHNlcGFyYXRlIG9wdGlvbnMgZm9yIFwiQTE4K1wiIGFuZCBcIkEzNStcIiBiYXNlZCBvbiB0aGUgc3BsaXQgZGVsaW1pdGVyLlxyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID1cclxuICAgIHwgXCJDSEVDS0JPWFwiXHJcbiAgICB8IFwiSUNPTlwiXHJcbiAgICB8IFwiU1RSSU5HXCJcclxuICAgIHwgXCJSQURJT1wiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJTVkdfSUNPTlwiXHJcbiAgICB8IFwiVEVYVF9BQ1RJT05TXCJcclxuICAgIHwgXCJDTElDS0FCTEVfREFUQVwiXHJcbiAgICB8IFwiU1RSSU5HX19URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19JQ09OX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19fSUNPTl9PUl9URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiSFRNTFwiXHJcbiAgICB8IFwiSFRNTF9TVFJJTkdcIlxyXG4gICAgfCBcIklDT05fQ0VMTFwiXHJcbiAgICB8IFwiU1RSSU5HX09SX0lOUFVUXCJcclxuICAgIHwgXCJTSU5HTEVfUkFESU9cIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX0VMTElQU0lTX1dJVEhfVEFCTEVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX1dJVEhfVE9PTFRJUF9JTk5FUl9IVE1MXCJcclxuICAgIHwgXCJJQ09OX0NFTExfQU5EX1NUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiO1xyXG4gICAgXHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgc3ZnT3JJY29uVG9vbHRpcE1zZz86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxUZXh0Pzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbFRleHRDbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN2Z09ySWNvblR5cGVJbkdUVGFibGUge1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHN2Z09ySWNvbk5hbWU/OiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiB7IHNob3dPYmplY3RLZXk6IGJvb2xlYW47IHN2Z09ySWNvbk5hbWU6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gZGF0YS5zaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc3ZnT3JJY29uTmFtZSA9IGRhdGEuc3ZnT3JJY29uTmFtZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3ZnT3JJY29uTmFtZXMge1xyXG4gICAgUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUgPSBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCIsXHJcbiAgICBBVVRPTUFURUQgPSBcIkFVVE9NQVRFRFwiLFxyXG4gICAgREVMRVRFRF9PUkRFUiA9IFwiREVMRVRFRF9PUkRFUlwiLFxyXG4gICAgV0FSTklOR19JQ09OID0gXCJXQVJOSU5HX0lDT05cIixcclxuICAgIElORk9STUFUSU9OX09VVExJTkVfSUNPTiA9IFwiSU5GT1JNQVRJT05fT1VUTElORV9JQ09OXCIsXHJcbiAgICBBTEVSVF9PQ1RBR09OX0lDT04gPSBcIkFMRVJUX09DVEFHT05fSUNPTlwiLFxyXG4gICAgQ0FOQ0VMX0lDT04gPSBcIkNBTkNFTF9JQ09OXCIsXHJcbiAgICBBTFBIQV9CX0NJUkNMRSA9IFwiQUxQSEFfQl9DSVJDTEVcIixcclxuICAgIEFMUEhBX1JfQ0lSQ0xFID0gXCJBTFBIQV9SX0NJUkNMRVwiLFxyXG4gICAgQUxQSEFfRV9DSVJDTEUgPSBcIkFMUEhBX0VfQ0lSQ0xFXCIsXHJcbiAgICBBTFBIQV9BX0NJUkNMRSA9IFwiQUxQSEFfQV9DSVJDTEVcIixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxSb3dJbmZvIHtcclxuICAgIGNvbHNwYW46IG51bWJlcjtcclxuICAgIGRhdGE6IHN0cmluZztcclxuICAgIGxvd2VyRGF0YT86IHN0cmluZztcclxuICAgIGNvbE5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsUmVkVGV4dEFmdGVyRGF0YT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPVxyXG4gICAgfCBcIlNQT1RERVRBSUxTXCJcclxuICAgIHwgXCJFWENMVURFSU5WRU5UT1JZUE9QVVBcIlxyXG4gICAgfCBcIkVYQ0xVREVJTlZFTlRPUllcIlxyXG4gICAgfCBcIkRSUkxJU1RJTkdcIlxyXG4gICAgfCBcIkRSUlwiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJSQVRJTkdcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfSU5GTElHSFRcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfQ09NUExFVEVEXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCJcclxuICAgIHwgXCJMVVJfVklPTEFUSU9OU1wiXHJcbiAgICB8IFwiQUNUSVZJVFlMT0dcIlxyXG4gICAgfCBcIk5PVElGSUNBVElPTlNcIlxyXG4gICAgfCBcIkRQX1JFU1RSSUNUSU9OU1wiO1xyXG5pbnRlcmZhY2UgSVNwb3RUYWJsZUNvbmZpZyB7XHJcbiAgICBpc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXAge1xyXG4gICAgaWNvblBvc2l0aW9uOiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiYWJvdmVcIiB8IFwiYmVsb3dcIiB8IFwiYmVmb3JlXCIgfCBcImFmdGVyXCI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YSB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpY2thYmxlSXRlbSB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH07XHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgdHlwZU9mQWN0aW9uTGlua0Zvckd0OiBhbnksXHJcbiAgICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIGNsYXNzTmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gdHlwZU9mQWN0aW9uTGlua0Zvckd0O1xyXG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jbGFzcyA9IGNsYXNzTmFtZTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJY29uQ2VsbEFjdGlvbktleSB7XHJcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YT86IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpZDogYW55LFxyXG4gICAgICAgIHNob3dJY29uOiBib29sZWFuLFxyXG4gICAgICAgIGljb25DbGFzczogc3RyaW5nLFxyXG4gICAgICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW4sXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE/OiBzdHJpbmcsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5zaG93SWNvbiA9IHNob3dJY29uO1xyXG4gICAgICAgIHRoaXMuaWNvbkNsYXNzID0gaWNvbkNsYXNzO1xyXG4gICAgICAgIHRoaXMuc2hvd09iamVjdEtleSA9IHNob3dPYmplY3RLZXk7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcERhdGEgPSB0b29sdGlwRGF0YTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uSXRlbVR5cGVXaXRoU3RyaW5nSWNvbk9yVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG5cclxuICAgIHR5cGVPZkRhdGE6IFwiU1RSSU5HXCIgfCBcIklDT05fVEVYVF9BQ1RJT05cIjtcclxuICAgIGFkZGl0aW9uYWxUZXh0QmVmb3JlTGluazogc3RyaW5nO1xyXG5cclxuICAgIGljb25DbGFzcz86IHN0cmluZztcclxuICAgIHNob3dJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRJY29uPzogYm9vbGVhbjtcclxuXHJcbiAgICBsaW5rQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBzaG93TGluaz86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZExpbms/OiBib29sZWFuO1xyXG5cclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG5cclxuICAgIHRvb2x0aXBEYXRhPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W107XHJcbiAgICB0b29sdGlwQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUGxhY2VtZW50Pzogc3RyaW5nO1xyXG5cclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEljb25Ub1Nob3cgPVxyXG4gICAgfCBcIkxJVkVcIlxyXG4gICAgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCJcclxuICAgIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFXCJcclxuICAgIHwgXCJSRUpFQ1RFRFwiXHJcbiAgICB8IFwiTk9USUZZXCJcclxuICAgIHwgXCJBV0FJVElOR19BUFBST1ZBTFwiXHJcbiAgICB8IFwiREVMRVRFRF9PUkRFUlwiXHJcbiAgICB8IFwiTkVFRF9TRUxMRVJfQ09ORklSTUFUSU9OXCJcclxuICAgIHwgXCJORUVEX0JVWUVSX0NPTkZJUk1BVElPTlwiXHJcbiAgICB8IFwiQVVUT01BVEVEXCJcclxuICAgIHwgXCJXQVJOSU5HX0lDT05cIlxyXG4gICAgfCBcIklORk9STUFUSU9OX09VVExJTkVfSUNPTlwiXHJcbiAgICB8IFwiQUxFUlRfT0NUQUdPTl9JQ09OXCJcclxuICAgIHwgXCJDQU5DRUxfSUNPTlwiXHJcbiAgICB8IFwiQUxQSEFfQl9DSVJDTEVcIlxyXG4gICAgfCBcIkFMUEhBX1JfQ0lSQ0xFXCJcclxuICAgIHwgXCJBTFBIQV9FX0NJUkNMRVwiXHJcbiAgICB8IFwiQUxQSEFfQV9DSVJDTEVcIlxyXG4gICAgfCBcIk1FU1NBR0VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNsYXNzTmFtZUNvbnN0YW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBkZWZhdWx0Q2xhc3MgPSBcInRhYmxlLWJvZHktcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlbGVjdGVkUm93ID0gXCJzZWxlY3RlZC1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2VsZWN0YWJsZVJvdyA9IFwic2VsZWN0YWJsZS1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgbGFzdFJvd09mR3JvdXAgPSBcImxhc3Qtcm93LW9mLWdyb3VwIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG1nUm93ID0gXCJtZy1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JDZWxsQm9yZGVyID0gXCJyZWRjb2xvci1jZWxsLWJvcmRlciBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSByZWRDb2xvckNlbGxCb3JkZXJGb3JCb29rZWRSdGdJbXBzQ29sID0gXCIgcmVkY29sb3ItY2VsbC1ib3JkZXItcnRnLWltcHMtY29sXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZ3JlZW5Db2xvckNlbGxCb3JkZXIgPSBcImdyZWVuY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgeWVsbG93Q29sb3JDZWxsQm9yZGVyID0gXCJ5ZWxsb3djb2xvci1jZWxsLWJvcmRlclwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG9yYW5nZUNvbG9yQ2VsbEJvcmRlciA9IFwib3JhbmdlY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JTdGF0dXMgPSBcInJlZGNvbG9yLXN0YXR1cyBcIjtcclxuXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZ3JvdXBlZFRhYmxlQ2xhc3MgPSBcImdyb3VwZWQtdGFibGUtY29udGFpbmVyIFwiO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNXaXRoVGFibGVUb29sdGlwIHtcclxuICAgIHRvb2x0aXBIZWFkZXI6IHN0cmluZztcclxuICAgIHRhYmxlSGVhZGVyczogSGVhZGVyV2l0aE9iamVjdEtleVtdO1xyXG4gICAgdGFibGVEYXRhOiBhbnlbXTtcclxuICAgIGNlbGxWYWx1ZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEhvdmVyVGV4dDogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBoZWFkaW5nOiBzdHJpbmcsXHJcbiAgICAgICAgdGFibGVIZWFkZXJzOiBIZWFkZXJXaXRoT2JqZWN0S2V5W10sXHJcbiAgICAgICAgdGFibGVEYXRhOiBhbnlbXSxcclxuICAgICAgICBjZWxsVmFsdWU6IHN0cmluZyxcclxuICAgICAgICB0b29sdGlwVGV4dDogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBDbGFzczogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy50b29sdGlwSGVhZGVyID0gaGVhZGluZztcclxuICAgICAgICB0aGlzLnRhYmxlSGVhZGVycyA9IHRhYmxlSGVhZGVycztcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YTtcclxuICAgICAgICB0aGlzLmNlbGxWYWx1ZSA9IGNlbGxWYWx1ZTtcclxuICAgICAgICB0aGlzLnRvb2x0aXBIb3ZlclRleHQgPSB0b29sdGlwVGV4dDtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwQ2xhc3MgPSB0b29sdGlwQ2xhc3M7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2l0aE9iamVjdEtleSB7XHJcbiAgICBoZWFkZXJOYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5uZXJIVE1MVG9vbHRpcEFjdGlvbiB7XHJcbiAgICBkYXRhVG9EaXNwbGF5Pzogc3RyaW5nOyAvLyBUZXh0IG9yIGRhdGEgdG8gZGlzcGxheSBiZWZvcmUgdGhlIHRvb2x0aXBcclxuICAgIHNob3dUb29sdGlwPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBzaG93IHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwSW5uZXJIdG1sVGVtcGxhdGU/OiBzdHJpbmc7IC8vIFRlbXBsYXRlIG9yIGNvbnRlbnQgZm9yIHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwUG9zaXRpb24/OiBzdHJpbmc7IC8vIFRvb2x0aXAgcG9zaXRpb24gKGUuZy4sICd0b3AnLCAnYm90dG9tJylcclxuICAgIHRvb2x0aXBJY29uQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAgaWNvblxyXG4gICAgdG9vbHRpcElubmVyQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyBmb3IgY3VzdG9taXppbmcgdG9vbHRpcCdzIGlubmVyIGNvbnRlbnRcclxuICAgIGRpc2FibGVUb29sdGlwPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBkaXNhYmxlIHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwTWFya2VyVGV4dD86IHN0cmluZzsgLy8gVGV4dCBmb3IgdGhlIHRvb2x0aXAgaWNvbiBvciBpbmRpY2F0b3JcclxuICAgIGRhdGFUb0Rpc3BsYXlBZnRlclRvb2x0aXA/OiBzdHJpbmc7IC8vIERhdGEgdG8gZGlzcGxheSBhZnRlciB0aGUgdG9vbHRpcFxyXG4gICAgaXNNYW51YWxUcmlnZ2VyPzogYm9vbGVhbjsgLy8gV2hldGhlciB0aGUgdG9vbHRpcCB0cmlnZ2VyIGlzIG1hbnVhbCBvciBhdXRvbWF0aWNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcFRhYmxlSGVhZGVyIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxuICAgIGNvbHNwYW4/OiBudW1iZXI7XHJcbiAgICByb3dzcGFuPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb29sdGlwVGFibGVSb3dEYXRhIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTsgLy8gQWxsb3cgZHluYW1pYyBrZXlzIGZvciByb3cgZGF0YVxyXG59XHJcbiJdfQ==
|
|
@@ -5,32 +5,6 @@ export class AnnaGlobalConfigService {
|
|
|
5
5
|
Initializing all default settings
|
|
6
6
|
*/
|
|
7
7
|
constructor() {
|
|
8
|
-
this.defaultAngular2MultiSelectSettings = {
|
|
9
|
-
text: "Select option",
|
|
10
|
-
selectAllText: "Select All",
|
|
11
|
-
unSelectAllText: "UnSelect All",
|
|
12
|
-
badgeShowLimit: 1,
|
|
13
|
-
singleSelection: false,
|
|
14
|
-
classes: "filter-dropdowns",
|
|
15
|
-
enableSearchFilter: true,
|
|
16
|
-
enableCheckAll: true,
|
|
17
|
-
autoPosition: false,
|
|
18
|
-
disabled: false,
|
|
19
|
-
position: "bottom",
|
|
20
|
-
lazyLoading: false,
|
|
21
|
-
showCheckbox: true,
|
|
22
|
-
maxHeight: 300,
|
|
23
|
-
enableFilterSelectAll: true,
|
|
24
|
-
};
|
|
25
|
-
this.defaultNgxAsideSettings = {
|
|
26
|
-
title: '"Filters"',
|
|
27
|
-
cancelButtonTitle: '"Cancel"',
|
|
28
|
-
submitButtonTitle: '"Apply"',
|
|
29
|
-
closeOnEscape: false,
|
|
30
|
-
showOverlay: false,
|
|
31
|
-
showDefaultFooter: false,
|
|
32
|
-
showDefaultHeader: false,
|
|
33
|
-
};
|
|
34
8
|
this.defaultNgbDatePickerSettings = {
|
|
35
9
|
autoClose: false,
|
|
36
10
|
placeholder: "mm-dd-yyyy",
|
|
@@ -43,35 +17,12 @@ export class AnnaGlobalConfigService {
|
|
|
43
17
|
allowClear: false,
|
|
44
18
|
placeholder: "Select",
|
|
45
19
|
};
|
|
46
|
-
this.defaultNgxInfiniteScrollSettings = {
|
|
47
|
-
infiniteScrollDistance: 1,
|
|
48
|
-
infiniteScrollUpDistance: 2,
|
|
49
|
-
infiniteScrollThrottle: 300,
|
|
50
|
-
scrollWindow: false,
|
|
51
|
-
};
|
|
52
20
|
this.defaultNgxSkeletonLoaderSettings = {
|
|
53
21
|
numberOfSkeletonRows: Array(6).fill(0),
|
|
54
22
|
};
|
|
55
|
-
this.defaultRadioButtonsComponentConfig = {
|
|
56
|
-
heading: "Select Option",
|
|
57
|
-
radioButtons: [
|
|
58
|
-
{
|
|
59
|
-
value: "Yes",
|
|
60
|
-
isDisabled: false,
|
|
61
|
-
label: "Yes",
|
|
62
|
-
class: "",
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
value: "No",
|
|
66
|
-
isDisabled: false,
|
|
67
|
-
label: "No",
|
|
68
|
-
class: "",
|
|
69
|
-
},
|
|
70
|
-
],
|
|
71
|
-
};
|
|
72
23
|
this.defaultConfirmationPopupConfig = {
|
|
73
24
|
showCancelButton: true,
|
|
74
|
-
title: "Are you sure ?",
|
|
25
|
+
title: "Are you sure you want to save the changes?",
|
|
75
26
|
showConfirmButton: true,
|
|
76
27
|
cancelButtonLabel: "No",
|
|
77
28
|
confirmButtonLabel: "Yes",
|
|
@@ -81,6 +32,18 @@ export class AnnaGlobalConfigService {
|
|
|
81
32
|
size: "sm",
|
|
82
33
|
keyboard: false,
|
|
83
34
|
};
|
|
35
|
+
this.defaultUnsavedChangesConfirmationPopupConfig = {
|
|
36
|
+
showCancelButton: true,
|
|
37
|
+
title: "You have unsaved changes. All the changes will be lost if you switch. Do you want to continue?",
|
|
38
|
+
showConfirmButton: true,
|
|
39
|
+
cancelButtonLabel: "No",
|
|
40
|
+
confirmButtonLabel: "Yes",
|
|
41
|
+
showCloseIcon: false,
|
|
42
|
+
backdrop: "static",
|
|
43
|
+
windowClass: "",
|
|
44
|
+
size: "sm",
|
|
45
|
+
keyboard: false,
|
|
46
|
+
};
|
|
84
47
|
this.defaultWeekCalendarConfig = {
|
|
85
48
|
firstDayOfWeek: 1,
|
|
86
49
|
showWeekNumbers: true,
|
|
@@ -95,11 +58,6 @@ export class AnnaGlobalConfigService {
|
|
|
95
58
|
showAsDropdown: true,
|
|
96
59
|
selectCurrentWeek: true,
|
|
97
60
|
};
|
|
98
|
-
this.defaultGtHeaderConfig = {
|
|
99
|
-
iconColumn: false,
|
|
100
|
-
checkboxColumn: false,
|
|
101
|
-
lastColumnKeys: [],
|
|
102
|
-
};
|
|
103
61
|
this.defaultGtGeneralConfig = {
|
|
104
62
|
component: "",
|
|
105
63
|
totalRow: false,
|
|
@@ -116,7 +74,8 @@ export class AnnaGlobalConfigService {
|
|
|
116
74
|
placeholder: "Select",
|
|
117
75
|
classes: "",
|
|
118
76
|
position: "BOTTOM",
|
|
119
|
-
|
|
77
|
+
minHeightOfList: 30,
|
|
78
|
+
maxHeightOfList: 180,
|
|
120
79
|
};
|
|
121
80
|
this.defaultMultiSelectConfig = {
|
|
122
81
|
...this.defaultSingleSelectConfig,
|
|
@@ -132,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
132
91
|
providedIn: "root",
|
|
133
92
|
}]
|
|
134
93
|
}], ctorParameters: function () { return []; } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW9CM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QscUJBQXFCLEVBQUUsSUFBSTtTQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7U0FDM0IsQ0FBQztRQUVGLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNoQyxTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFX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QUFFLElBQUksRUFBRTtTQUM3QyxDQUFDO0lBQ04sQ0FBQzsrR0FwSlEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIElBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcsXHJcbiAgICBJQ3VzdG9tTXVsdGlTZWxlY3QsXHJcbiAgICBJQ3VzdG9tU2luZ2xlU2VsZWN0LFxyXG4gICAgSU5nYkRhdGVQaWNrZXJTZXR0aW5ncyxcclxuICAgIElOZ1NlbGVjdFNldHRpbmdzLFxyXG4gICAgSU5neEFzaWRlU2V0dGluZ3MsXHJcbiAgICBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJR3RHZW5lcmFsQ29uZmlnLCBJR3RIZWFkZXJDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XHJcbiAgICByZWFkb25seSBkZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzOiBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEFzaWRlU2V0dGluZ3M6IElOZ3hBc2lkZVNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzOiBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWc6IElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRHdEhlYWRlckNvbmZpZzogSUd0SGVhZGVyQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TXVsdGlTZWxlY3RDb25maWc6IElDdXN0b21NdWx0aVNlbGVjdDtcclxuXHJcbiAgICAvKlxyXG4gICAgIEluaXRpYWxpemluZyBhbGwgZGVmYXVsdCBzZXR0aW5nc1xyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGV4dDogXCJTZWxlY3Qgb3B0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlbGVjdEFsbFRleHQ6IFwiU2VsZWN0IEFsbFwiLFxyXG4gICAgICAgICAgICB1blNlbGVjdEFsbFRleHQ6IFwiVW5TZWxlY3QgQWxsXCIsXHJcbiAgICAgICAgICAgIGJhZGdlU2hvd0xpbWl0OiAxLFxyXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBjbGFzc2VzOiBcImZpbHRlci1kcm9wZG93bnNcIixcclxuICAgICAgICAgICAgZW5hYmxlU2VhcmNoRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBlbmFibGVDaGVja0FsbDogdHJ1ZSxcclxuICAgICAgICAgICAgYXV0b1Bvc2l0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogXCJib3R0b21cIixcclxuICAgICAgICAgICAgbGF6eUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93Q2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgICAgIG1heEhlaWdodDogMzAwLFxyXG4gICAgICAgICAgICBlbmFibGVGaWx0ZXJTZWxlY3RBbGw6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4QXNpZGVTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGl0bGU6ICdcIkZpbHRlcnNcIicsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRpdGxlOiAnXCJDYW5jZWxcIicsXHJcbiAgICAgICAgICAgIHN1Ym1pdEJ1dHRvblRpdGxlOiAnXCJBcHBseVwiJyxcclxuICAgICAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dPdmVybGF5OiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0RlZmF1bHRGb290ZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93RGVmYXVsdEhlYWRlcjogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJtbS1kZC15eXl5XCIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogMSxcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiAyLFxyXG4gICAgICAgICAgICBpbmZpbml0ZVNjcm9sbFRocm90dGxlOiAzMDAsXHJcbiAgICAgICAgICAgIHNjcm9sbFdpbmRvdzogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UmFkaW9CdXR0b25zQ29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBoZWFkaW5nOiBcIlNlbGVjdCBPcHRpb25cIixcclxuICAgICAgICAgICAgcmFkaW9CdXR0b25zOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkFyZSB5b3Ugc3VyZSA/XCIsXHJcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogXCJOb1wiLFxyXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uTGFiZWw6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogXCJcIixcclxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxyXG4gICAgICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0VG9EaXNwbGF5OiBcImQgTU1NIHlcIixcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6IFwieS1NTS1kZFwiLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcclxuICAgICAgICAgICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogMSxcclxuICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGVXZWVrczogZmFsc2UsXHJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0czogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1NlbGVjdDogMCxcclxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdEN1cnJlbnRXZWVrOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0SGVhZGVyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBpY29uQ29sdW1uOiBmYWxzZSxcclxuICAgICAgICAgICAgY2hlY2tib3hDb2x1bW46IGZhbHNlLFxyXG4gICAgICAgICAgICBsYXN0Q29sdW1uS2V5czogW10sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RHZW5lcmFsQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFwiXCIsXHJcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNIZWFkZXJDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUhlYWRlckNoZWNrYm94OiBmYWxzZSxcclxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxyXG4gICAgICAgICAgICBpc0dyb3VwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcclxuICAgICAgICAgICAgcGFnZTogXCJcIixcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dTZWFyY2hCYXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJTZWxlY3RcIixcclxuICAgICAgICAgICAgY2xhc3NlczogXCJcIixcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiQk9UVE9NXCIsXHJcbiAgICAgICAgICAgIG1heEhlaWdodE9mTGlzdDogMjAwLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE11bHRpU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsXHJcbiAgICAgICAgICAgIC4uLnsgc2hvd0Vycm9yV2hlbk5vT3B0aW9uU2VsZWN0ZWQ6IHRydWUgfSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWdCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQVdoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLDRCQUE0QixHQUFHO1lBQ2hDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUc7WUFDM0IsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLFFBQVE7U0FDeEIsQ0FBQztRQUVGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRztZQUNwQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDO1FBRUYsSUFBSSxDQUFDLDhCQUE4QixHQUFHO1lBQ2xDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsS0FBSyxFQUFFLDRDQUE0QztZQUNuRCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyw0Q0FBNEMsR0FBRztZQUNoRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxnR0FBZ0c7WUFDdkcsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLEdBQUc7WUFDN0IsY0FBYyxFQUFFLENBQUM7WUFDakIsZUFBZSxFQUFFLElBQUk7WUFDckIsbUJBQW1CLEVBQUUsU0FBUztZQUM5QixvQkFBb0IsRUFBRSxTQUFTO1lBQy9CLGdDQUFnQyxFQUFFLENBQUM7WUFDbkMsNEJBQTRCLEVBQUUsQ0FBQztZQUMvQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsdUJBQXVCLEVBQUUsSUFBSTtZQUM3QixnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7U0FDMUIsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsR0FBRztZQUMxQixTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsZUFBZSxFQUFFLEtBQUs7WUFDdEIscUJBQXFCLEVBQUUsS0FBSztZQUM1QixvQ0FBb0MsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsVUFBVSxFQUFFLEVBQUU7WUFDZCxJQUFJLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLEdBQUc7WUFDN0IsYUFBYSxFQUFFLEtBQUs7WUFDcEIsV0FBVyxFQUFFLFFBQVE7WUFDckIsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixlQUFlLEVBQUUsRUFBRTtZQUNuQixlQUFlLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBRUYsSUFBSSxDQUFDLHdCQUF3QixHQUFHO1lBQzVCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QjtZQUNqQyxHQUFHLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFO1NBQzdDLENBQUM7SUFDTixDQUFDOytHQW5HUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnLFxyXG4gICAgSUN1c3RvbU11bHRpU2VsZWN0LFxyXG4gICAgSUN1c3RvbVNpbmdsZVNlbGVjdCxcclxuICAgIElOZ2JEYXRlUGlja2VyU2V0dGluZ3MsXHJcbiAgICBJTmdTZWxlY3RTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJR3RHZW5lcmFsQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9hbm5hLW5vbi1lZGl0YWJsZS1ndC1tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2Uge1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uUG9wdXBDb25maWc6IElDb25maXJtYXRpb25Qb3B1cENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc6IElXZWVrQ2FsZW5kYXI7XHJcbiAgICByZWFkb25seSBkZWZhdWx0R3RHZW5lcmFsQ29uZmlnOiBJR3RHZW5lcmFsQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFNpbmdsZVNlbGVjdENvbmZpZzogSUN1c3RvbVNpbmdsZVNlbGVjdDtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZzogSUN1c3RvbU11bHRpU2VsZWN0O1xyXG5cclxuICAgIC8qXHJcbiAgICAgSW5pdGlhbGl6aW5nIGFsbCBkZWZhdWx0IHNldHRpbmdzXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJtbS1kZC15eXl5XCIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzYXZlIHRoZSBjaGFuZ2VzP1wiLFxyXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxyXG4gICAgICAgICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAgICAgICAgd2luZG93Q2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgIHNpemU6IFwic21cIixcclxuICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gQWxsIHRoZSBjaGFuZ2VzIHdpbGwgYmUgbG9zdCBpZiB5b3Ugc3dpdGNoLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT9cIixcclxuICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBcIk5vXCIsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogXCJZZXNcIixcclxuICAgICAgICAgICAgc2hvd0Nsb3NlSWNvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogXCJcIixcclxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxyXG4gICAgICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0VG9EaXNwbGF5OiBcImQgTU1NIHlcIixcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6IFwieS1NTS1kZFwiLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcclxuICAgICAgICAgICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogMSxcclxuICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGVXZWVrczogZmFsc2UsXHJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0czogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1NlbGVjdDogMCxcclxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdEN1cnJlbnRXZWVrOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0R2VuZXJhbENvbmZpZyA9IHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiBcIlwiLFxyXG4gICAgICAgICAgICB0b3RhbFJvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIGlzSGVhZGVyQ2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVIZWFkZXJDaGVja2JveDogZmFsc2UsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcDogMCxcclxuICAgICAgICAgICAgaXNHcm91cGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0FsbENvbHVtbkZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgYnVmZmVyU2l6ZTogMjAsXHJcbiAgICAgICAgICAgIHBhZ2U6IFwiXCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBzaG93U2VhcmNoQmFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzZXM6IFwiXCIsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBcIkJPVFRPTVwiLFxyXG4gICAgICAgICAgICBtaW5IZWlnaHRPZkxpc3Q6IDMwLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHRPZkxpc3Q6IDE4MCxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLFxyXG4gICAgICAgICAgICAuLi57IHNob3dFcnJvcldoZW5Ob09wdGlvblNlbGVjdGVkOiB0cnVlIH0sXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -16,7 +16,7 @@ import * as i4 from "@angular/forms";
|
|
|
16
16
|
export class AnnaWeekCalendarComponent {
|
|
17
17
|
ngOnChanges(changes) {
|
|
18
18
|
// if some values are not sent, setting the default values
|
|
19
|
-
this.defaultValues = this.
|
|
19
|
+
this.defaultValues = this.annaGlobalConfig.defaultWeekCalendarConfig;
|
|
20
20
|
this.config = { ...this.defaultValues, ...this.config };
|
|
21
21
|
if (this.config.selectCurrentWeek) {
|
|
22
22
|
this.initializeWeekData();
|
|
@@ -37,11 +37,11 @@ export class AnnaWeekCalendarComponent {
|
|
|
37
37
|
this.disabledFunc = (date, current) => this.checkIfDateIsDisabled(date);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
constructor(calendar, datePickerConfig, annaDateTimeFormatService,
|
|
40
|
+
constructor(calendar, datePickerConfig, annaDateTimeFormatService, annaGlobalConfig) {
|
|
41
41
|
this.calendar = calendar;
|
|
42
42
|
this.datePickerConfig = datePickerConfig;
|
|
43
43
|
this.annaDateTimeFormatService = annaDateTimeFormatService;
|
|
44
|
-
this.
|
|
44
|
+
this.annaGlobalConfig = annaGlobalConfig;
|
|
45
45
|
this.hoveredDate = null;
|
|
46
46
|
this.toDate = null;
|
|
47
47
|
this.weekNumbers = [];
|
|
@@ -356,4 +356,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
356
356
|
}], calendarToggled: [{
|
|
357
357
|
type: Output
|
|
358
358
|
}] } });
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGFBQWEsRUFDYixtQkFBbUIsRUFFbkIsa0JBQWtCLEdBQ3JCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOzs7Ozs7QUFFNUcsaUNBQWlDO0FBU2pDLE1BQU0sT0FBTyx5QkFBeUI7SUFvQ2xDLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QiwwREFBMEQ7UUFDMUQs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Q0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQWtCO1FBQzlCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQXRaUSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwWUM3QnRDLGs1S0F1SkEsa2hJRDVIYyxJQUFJLDRGQUFFLFdBQVcsd2RBQUUsa0JBQWtCLHllQUFFLE9BQU8sb0ZBQUUsYUFBYTs7NEZBRTlELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxvQ0FBb0MsY0FHbEMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO2tOQXNCL0QsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFDSSx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7XHJcbiAgICBOZ2JDYWxlbmRhcixcclxuICAgIE5nYkRhdGUsXHJcbiAgICBOZ2JEYXRlcGlja2VyLFxyXG4gICAgTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgIE5nYkRhdGVTdHJ1Y3QsXHJcbiAgICBOZ2JJbnB1dERhdGVwaWNrZXIsXHJcbn0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbmltcG9ydCB7IFdlZWtPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2VuZXJpYy1kYXRhLXR5cGUubW9kZWxcIjtcclxuaW1wb3J0IHsgSVdlZWtDYWxlbmRhciB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2VcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtd2Vlay1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBGb3Jtc01vZHVsZSwgTmdiSW5wdXREYXRlcGlja2VyLCBOZ0NsYXNzLCBOZ2JEYXRlcGlja2VyXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBmcm9tRGF0ZTogTmdiRGF0ZSB8IG51bGw7XHJcbiAgICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gICAgdG9EYXRlOiBOZ2JEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgICB0b2RheTogTmdiRGF0ZTtcclxuXHJcbiAgICBtb2RlbDogTmdiRGF0ZVN0cnVjdDtcclxuXHJcbiAgICB3ZWVrTnVtYmVyczogc3RyaW5nW10gPSBbXTtcclxuICAgIHBpcGU6IERhdGVQaXBlO1xyXG4gICAgZGF0ZVRvRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuICAgIHdlZWtPYmplY3RzOiBXZWVrT2JqZWN0W107XHJcbiAgICBtdWx0aVNlbGVjdERyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0ZXBpY2tlcjogTmdiSW5wdXREYXRlcGlja2VyO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IGFueTtcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRTdGFydERhdGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRFbmREYXRlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNhbGVuZGFyTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBmbGFnMTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgZmxhZzI6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEZyb21EYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRFbmREYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWREYXRlczogTmdiRGF0ZVtdID0gW107XHJcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcblxyXG4gICAgZGlzYWJsZWRGdW5jOiBhbnk7XHJcbiAgICBzdGF0ZTogYW55O1xyXG5cclxuICAgIC8vIFNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0VmFsdWVzOiBJV2Vla0NhbGVuZGFyO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIEBPdXRwdXQoKSBhcHBseVdlZWtDYWxlbmRhckNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FsZW5kYXJUb2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICAvLyBpZiBzb21lIHZhbHVlcyBhcmUgbm90IHNlbnQsIHNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWVzID0gdGhpcy5nbG9iYWxDb25maWdTZXJ2aWNlLmRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdFZhbHVlcywgLi4udGhpcy5jb25maWcgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdEN1cnJlbnRXZWVrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVdlZWtEYXRhKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZyb21EYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFdlZWsodGhpcy5mcm9tRGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gdGhpcy5mb3JtYXR0ZWREYXRlcygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEZyb21EYXRlICYmIHRoaXMuc2VsZWN0ZWRFbmREYXRlICYmIHRoaXMuY29uZmlnKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRnJvbURhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJNYXAoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkRnVuYyA9IChkYXRlOiBOZ2JEYXRlLCBjdXJyZW50OiB7IG1vbnRoOiBudW1iZXIgfSkgPT4gdGhpcy5jaGVja0lmRGF0ZUlzRGlzYWJsZWQoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLFxyXG4gICAgICAgIHByaXZhdGUgZGF0ZVBpY2tlckNvbmZpZzogTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBnbG9iYWxDb25maWdTZXJ2aWNlOiBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBnZXRXZWVrTnVtYmVyKHdlZWs6IGFueSwgZmlyc3REYXlPZldlZWs6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHdlZWtTdGFydERhdGUgPSBkYXlqcyhjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KHdlZWtbMF0pLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgY29uc3Qgd2Vla1llYXIgPSB3ZWVrU3RhcnREYXRlLnllYXIoKTtcclxuICAgICAgICBjb25zdCB5ZWFyU3RhcnREYXRlID0gZGF5anMoYDAxLzAxLyR7d2Vla1llYXJ9YCwgXCJNTS9ERC9ZWVlZXCIpO1xyXG4gICAgICAgIGNvbnN0IHdlZWtEYXkgPSB5ZWFyU3RhcnREYXRlLmRheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBub09mRGF5cyA9IHdlZWtTdGFydERhdGUuZGlmZih5ZWFyU3RhcnREYXRlLCBcImRcIikgKyAxO1xyXG5cclxuICAgICAgICBmdW5jdGlvbiBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KG5nYkRhdGU6IE5nYkRhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG5nYkRhdGUgJiYgbmdiRGF0ZS5tb250aCAmJiBuZ2JEYXRlLmRheSAmJiBuZ2JEYXRlLnllYXIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnZlcnRlZCA9IGAke25nYkRhdGUubW9udGh9LyR7bmdiRGF0ZS5kYXl9LyR7bmdiRGF0ZS55ZWFyfWA7XHJcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGNoZWNrSWZZZWFySXNCcm9hZGNhc3RMZWFwWWVhcigpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNMZWFwWWVhciA9ICh3ZWVrWWVhciAlIDQgPT09IDAgJiYgd2Vla1llYXIgJSAxMDAgIT09IDApIHx8IHdlZWtZZWFyICUgNDAwID09PSAwO1xyXG4gICAgICAgICAgICByZXR1cm4gKGlzTGVhcFllYXIgJiYgKHdlZWtEYXkgPT09IDAgfHwgd2Vla0RheSA9PT0gNikpIHx8ICghaXNMZWFwWWVhciAmJiB3ZWVrRGF5ID09PSAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzTGVhcFllYXIgPSBjaGVja0lmWWVhcklzQnJvYWRjYXN0TGVhcFllYXIoKTtcclxuICAgICAgICBjb25zdCBkaXZpZGVyID0gaXNMZWFwWWVhciA/IDUzIDogNTI7XHJcbiAgICAgICAgY29uc3QgYWRkZXIgPSBpc0xlYXBZZWFyID8gMiA6IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IGJyb2FkY2FzdE51bWJlck9mRGF5cyA9IHdlZWtEYXkgKyBub09mRGF5cztcclxuICAgICAgICBjb25zdCBicm9hZGNhc3RXZWVrTnVtYmVyID1cclxuICAgICAgICAgICAgYnJvYWRjYXN0TnVtYmVyT2ZEYXlzICUgNyA+IDAgPyBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3ICsgYWRkZXIgOiBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3O1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5mbG9vcihicm9hZGNhc3RXZWVrTnVtYmVyICUgZGl2aWRlcikgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRpdmlkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJyb2FkY2FzdFdlZWtOdW1iZXIgJSBkaXZpZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gQ0hBTkdFU0BBTk5BTElCIENoYW5nZWQgdGhpcy5cclxuICAgICAgICAvLyB0aGlzLmNhbGVuZGFyW1wiX19wcm90b19fXCJdLmdldFdlZWtOdW1iZXIgPSB0aGlzLmdldFdlZWtOdW1iZXI7XHJcbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMuY2FsZW5kYXIsIHsgZ2V0V2Vla051bWJlcjogdGhpcy5nZXRXZWVrTnVtYmVyIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICB0aGlzLnNldENhbGVuZGFyTWFwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVdlZWtEYXRhKCkge1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICAgICAgICB0aGlzLnRvZGF5ID0gdGhpcy5jYWxlbmRhci5nZXRUb2RheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBiYWNrRGF0ZWRQZXJpb2QgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlckRldGFpbHNcIikgfHwgXCJ7fVwiKS5sb2NraW5nX3BlcmlvZF9kYXlzO1xyXG4gICAgICAgIGlmIChiYWNrRGF0ZWRQZXJpb2QgPCAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGU6IE5nYkRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5jYWxlbmRhci5nZXRUb2RheSgpLCBcImRcIiwgTWF0aC5hYnMoYmFja0RhdGVkUGVyaW9kKSk7XHJcbiAgICAgICAgICAgIHRoaXMudG9kYXkgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEaXNhYmxlIG1vbnRocyBiZWZvcmUgbnVtYmVyT2ZNb250aHNUb0VuYWJsZVxyXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckNvbmZpZy5tYXJrRGlzYWJsZWQgPSAoZGF0ZTogTmdiRGF0ZVN0cnVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c01vbnRoID0gdGhpcy5jYWxlbmRhci5nZXRQcmV2KHRoaXMudG9kYXksIFwibVwiLCB0aGlzLmNvbmZpZy5udW1iZXJPZk1vbnRoc1RvRW5hYmxlSW5QYXN0KTtcclxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNEYXkgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYocHJldmlvdXNNb250aCwgXCJkXCIsIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gIU5nYkRhdGUuZnJvbShwcmV2aW91c0RheSkuYmVmb3JlKGRhdGUpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5mb3JtYXR0ZXIgPSB0aGlzLmZvcm1hdHRlZERhdGVzKCk7XHJcbiAgICAgICAgdGhpcy5mbGFnMSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmxhZzIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RXZWVrKGRhdGU6IE5nYkRhdGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRlT2JqZWN0ID0gbmV3IERhdGUoZGF0ZS55ZWFyLCBkYXRlLm1vbnRoIC0gMSwgZGF0ZS5kYXkpO1xyXG4gICAgICAgIGxldCBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUoZGF0ZU9iamVjdCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuc2VsZWN0TXVsdGlwbGVXZWVrcykge1xyXG4gICAgICAgICAgICAvLyBTaW5nbGUgd2VlayBzZWxlY3Rpb25cclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGRhdGUuYmVmb3JlKHRoaXMuZnJvbURhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5jb25zdHJ1Y3RTdGFydERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5mbGFnMSA9ICF0aGlzLmZsYWcxO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGUuYWZ0ZXIodGhpcy50b0RhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNvbnN0cnVjdFN0YXJ0RGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZzIgPSAhdGhpcy5mbGFnMjtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNvbnN0cnVjdEVuZERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF5anNTdGFydERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLmZyb21EYXRlKSxcclxuICAgICAgICAgICAgICAgICAgICBcIk1NL0REL1lZWVlcIixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXlqc0VuZERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLnRvRGF0ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgXCJNTS9ERC9ZWVlZXCIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgbGV0IG5nYkRhdGU7XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoIWRheWpzU3RhcnREYXRlLmlzU2FtZShkYXlqc0VuZERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb252ZXJ0VG9OZ2JEYXRlKGRheWpzU3RhcnREYXRlLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tJZkRhdGVJc0Rpc2FibGVkKG5nYkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkYXlqc1N0YXJ0RGF0ZS5hZGQoMSwgXCJkXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RGF0ZU9iamVjdCA9IG5ldyBEYXRlKG5nYkRhdGUueWVhciwgbmdiRGF0ZS5tb250aCAtIDEsIG5nYkRhdGUuZGF5IC0gMSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUobmV3RGF0ZU9iamVjdCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShuZXdEYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnNob3dBc0Ryb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdlZWtOdW1iZXJHZW5lcmF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0ZXMgPSBbXTtcclxuICAgICAgICBsZXQgd2VlayA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gTmdiRGF0ZS5mcm9tKHRoaXMuZnJvbURhdGUpO1xyXG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBOZ2JEYXRlLmZyb20odGhpcy50b0RhdGUpO1xyXG5cclxuICAgICAgICB3ZWVrLnB1c2goc3RhcnREYXRlKTtcclxuICAgICAgICB3aGlsZSAoZW5kRGF0ZSAhPSBudWxsICYmICFzdGFydERhdGUuZXF1YWxzKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQoc3RhcnREYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgICAgIHdlZWsucHVzaChkYXRlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbGxlY3QgYWxsIGRheXMgaW4gd2VlayB0byBjYWxjdWxhdGUgdGhlIHdlZWsgbnVtYmVyXHJcbiAgICAgICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykge1xyXG4gICAgICAgICAgICAgICAgZGF0ZXMucHVzaCh3ZWVrKTtcclxuICAgICAgICAgICAgICAgIHdlZWsgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoKHRoaXMuY29uZmlnLm1heFdlZWtzVG9TZWxlY3QgPz8gMCkgPiAwICYmIGRhdGVzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKSB7XHJcbiAgICAgICAgICAgIGRhdGVzLnNwbGljZSh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDAsIGRhdGVzLmxlbmd0aCAtICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzKGRhdGVzKTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgZGF0ZXMuZm9yRWFjaCgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCBXZWVrICR7dGhpcy5jYWxlbmRhci5nZXRXZWVrTnVtYmVyKGRhdGUsIHRoaXMuY29uZmlnLmZpcnN0RGF5T2ZXZWVrKX1gKTtcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZXMgPSB0aGlzLmZvcm1hdHRlcihkYXRlWzBdLCBkYXRlWzZdKTtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZU9iamVjdHMgPSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZFN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgIGVuZERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZEVuZERhdGUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMud2Vla09iamVjdHMucHVzaChkYXRlT2JqZWN0cyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheVRvVUkoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZERhdGVzKGRhdGVzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gZGF0ZXNbMF1bMF07XHJcbiAgICAgICAgdGhpcy50b0RhdGUgPSBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXVs2XTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXR0ZWREYXRlcygpIHtcclxuICAgICAgICBjb25zdCBwaXBlID0gbmV3IERhdGVQaXBlKFwiZW4tVVNcIik7XHJcbiAgICAgICAgcmV0dXJuIChmcm9tRGF0ZTogTmdiRGF0ZSwgdG9EYXRlOiBOZ2JEYXRlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZyb21EYXRlT2JqZWN0ID0gbmV3IERhdGUoZnJvbURhdGUueWVhciwgZnJvbURhdGUubW9udGggLSAxLCBmcm9tRGF0ZS5kYXkpO1xyXG4gICAgICAgICAgICBjb25zdCB0b0RhdGVPYmplY3QgPSBuZXcgRGF0ZSh0b0RhdGUueWVhciwgdG9EYXRlLm1vbnRoIC0gMSwgdG9EYXRlLmRheSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkU3RhcnREYXRlID0gcGlwZS50cmFuc2Zvcm0oZnJvbURhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRGb3JSZXF1ZXN0KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRFbmREYXRlID0gcGlwZS50cmFuc2Zvcm0odG9EYXRlT2JqZWN0LCB0aGlzLmNvbmZpZy5kYXRlRm9ybWF0Rm9yUmVxdWVzdCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0Rpc3BsYXkgPSBgJHtwaXBlLnRyYW5zZm9ybShcclxuICAgICAgICAgICAgICAgIGZyb21EYXRlT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0ZUZvcm1hdFRvRGlzcGxheSxcclxuICAgICAgICAgICAgKX0gdG8gJHtwaXBlLnRyYW5zZm9ybSh0b0RhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRUb0Rpc3BsYXkpfWA7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheVRvVUkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzICYmIHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgLy8gRGlzcGxheSBmb3Igb25seSBTaW5nbGUgV2Vla1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlcih0aGlzLmZyb21EYXRlLCB0aGlzLnRvRGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLndlZWtOdW1iZXJzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKSkge1xyXG4gICAgICAgICAgICAvLyBEaXNwbGF5IGZvciBNdWx0aXBsZSBXZWVrc1xyXG4gICAgICAgICAgICBjb25zdCB3ZWVrRGlzcGxheSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB3ZWVrRGlzcGxheS5wdXNoKHRoaXMud2Vla051bWJlcnMuc2hpZnQoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nV2Vla3MgPSB0aGlzLndlZWtOdW1iZXJzLmxlbmd0aDtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCR7d2Vla0Rpc3BsYXl9ICske3JlbWFpbmluZ1dlZWtzfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RTdGFydERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZmlyc3REYXlPZldlZWsgfSA9IHRoaXMuY29uZmlnO1xyXG4gICAgICAgIHJldHVybiAoY29uc3RydWN0RGF0ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSAtIGRhdGUuZ2V0RGF5KCkgOiAtNjtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoc3RhcnREYXkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0RW5kRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgY29uc3QgeyBmaXJzdERheU9mV2VlayB9ID0gdGhpcy5jb25maWc7XHJcbiAgICAgICAgcmV0dXJuIChjb25zdHJ1Y3REYXRlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZW5kRGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSArIDYgLSBkYXRlLmdldERheSgpIDogMDtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoZW5kRGF5KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChudW1iZXI6IG51bWJlcik6IE5nYkRhdGUgfCBudWxsID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCkgKyBudW1iZXI7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF5KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5nYkRhdGVPYmplY3QgPSB7fSBhcyBOZ2JEYXRlO1xyXG4gICAgICAgICAgICBuZ2JEYXRlT2JqZWN0LmRheSA9IGRheTtcclxuXHJcbiAgICAgICAgICAgIGlmIChuZ2JEYXRlT2JqZWN0LmRheSA+IDMxIHx8IG5nYkRhdGVPYmplY3QuZGF5IDwgMSkge1xyXG4gICAgICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5kYXkgPSBkYXRlT2JqZWN0LmdldERhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5tb250aCA9IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgICAgICAgIG5nYkRhdGVPYmplY3QueWVhciA9IGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICAgICAgcmV0dXJuIE5nYkRhdGUuZnJvbShuZ2JEYXRlT2JqZWN0KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXHJcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZERhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJlxyXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGRhdGUuZXF1YWxzKHRoaXMuZnJvbURhdGUpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLnRvRGF0ZSAmJiBkYXRlLmVxdWFscyh0aGlzLnRvRGF0ZSkpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuaXNJbnNpZGUoZGF0ZSkgfHxcclxuICAgICAgICAgICAgdGhpcy5pc0hvdmVyZWQoZGF0ZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzV2VlaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0UHJldih0aGlzLmZyb21EYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dFdlZWsoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZnJvbURhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0TmV4dCh0aGlzLmZyb21EYXRlLCBcImRcIiwgdGhpcy5jYWxlbmRhci5nZXREYXlzUGVyV2VlaygpKTtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndlZWtOdW1iZXJHZW5lcmF0b3IoKTtcclxuICAgICAgICB0aGlzLmFwcGx5Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENhbGVuZGFyTWFwKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGVPYmogPSB7IGZyb21EYXRlOiB0aGlzLmZyb21EYXRlLCB0b0RhdGU6IHRoaXMudG9EYXRlIH07XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhck1hcC5zZXQoXCJvbGREYXRlc1wiLCBkYXRlT2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNoYW5nZXMoKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZW1pdE11bHRpcGxlV2Vla09iamVjdHMpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB7fSBhcyBXZWVrT2JqZWN0O1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlcyA9IHRoaXMuZm9ybWF0dGVyKHRoaXMuZnJvbURhdGUsIHRoaXMudG9EYXRlKTtcclxuICAgICAgICAgICAgZGF0ZXMuc3RhcnREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkU3RhcnREYXRlO1xyXG4gICAgICAgICAgICBkYXRlcy5lbmREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkRW5kRGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdChkYXRlcyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdCh0aGlzLndlZWtPYmplY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhck1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRm9jdXNlZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclRvZ2dsZWQuZW1pdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXI6IE5nYklucHV0RGF0ZXBpY2tlcikge1xyXG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlciA9IGRhdGVwaWNrZXI7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlci5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJldmVydERhdGVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0RHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyLm9wZW4oKTtcclxuICAgICAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldmVydERhdGVzKCkge1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3REcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlT2JqID0gdGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGVPYmouZnJvbURhdGU7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gZGF0ZU9iai50b0RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZEYXRlSXNEaXNhYmxlZChkYXRlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JGdW5jID0gKG5nYkRhdGU6IE5nYkRhdGUpID0+XHJcbiAgICAgICAgICAgIG5nYkRhdGUueWVhciA9PT0gZGF0ZS55ZWFyICYmIG5nYkRhdGUubW9udGggPT09IGRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgPT09IGRhdGUuZGF5O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSh2YWxpZGF0b3JGdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZURhdGVwaWNrZXIoZGF0ZXBpY2tlclJlZjogYW55KSB7XHJcbiAgICAgICAgZGF0ZXBpY2tlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmb3JtXHJcbiAgICBjbGFzcz1cImZvcm0taW5saW5lXCJcclxuICAgICpuZ0lmPVwiY29uZmlnLnNob3dBc0Ryb3Bkb3duXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgaGlkZGVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRhdGVwaWNrZXIgZC1ub25lXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICBbYXV0b0Nsb3NlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cInNlbGVjdFdlZWsoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoY2xvc2VkKT1cImlzRm9jdXNlZChmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgICAgICAgICAgICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tU2luZ2xlIHdlZWsgc2VsZWN0LS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrbnVtYmVycy1sYWJlbFwiPiAmbmJzcDt7eyB3ZWVrTnVtYmVycyB9fSA8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBuZXh0LXJvdW5kLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNXZWVrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZV9uZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgI2RwRnJvbURhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBXZWVrc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb25maWcuY3VzdG9tQ2xhc3MgPT09ICcnID8gJycgOiBjb25maWcuY3VzdG9tQ2xhc3NdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF0ZVRvRGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRm9jdXNlZCh0cnVlKTsgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcm91bmQtYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0V2VlaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGVfbmV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tTXVsdGlwbGUgd2VlayBzZWxlY3QtLT5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxyXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLnNlbGVjdE11bHRpcGxlV2Vla3NcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtd2Vla3NcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICNkcEZyb21EYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFdlZWtzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29uZmlnLmN1c3RvbUNsYXNzID09PSAnJyA/ICcnIDogY29uZmlnLmN1c3RvbUNsYXNzXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwid2Vla051bWJlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc0ZvY3VzZWQodHJ1ZSk7IGlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdERyb3Bkb3duT3BlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpU2VsZWN0RHJvcGRvd25PcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktbWVudS11cCBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48bmdiLWRhdGVwaWNrZXJcclxuICAgICN3ZWVrUGlja2VyXHJcbiAgICAqbmdJZj1cIiFjb25maWcuc2hvd0FzRHJvcGRvd25cIlxyXG4gICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcclxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgKGRhdGVTZWxlY3QpPVwic2VsZWN0V2VlaygkZXZlbnQpXCJcclxuICAgIFttYXJrRGlzYWJsZWRdPVwiZGlzYWJsZWRGdW5jXCJcclxuPlxyXG48L25nYi1kYXRlcGlja2VyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgIDxociBjbGFzcz1cIm15LTBcIiAvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgYXBwbHktYnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgY2FuY2VsLWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJldmVydERhdGVzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQ2FuY2VsXHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3RcclxuICAgIGxldC1kYXRlXHJcbiAgICBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIlxyXG4gICAgbGV0LWRpc2FibGVkPVwiZGlzYWJsZWRcIlxyXG4+XHJcbiAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLWRheVwiXHJcbiAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5mYWRlZF09XCJpc0hvdmVyZWQoZGF0ZSkgfHwgaXNJbnNpZGUoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIlxyXG4gICAgPlxyXG4gICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGFBQWEsRUFDYixtQkFBbUIsRUFFbkIsa0JBQWtCLEdBQ3JCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOzs7Ozs7QUFFNUcsaUNBQWlDO0FBU2pDLE1BQU0sT0FBTyx5QkFBeUI7SUFvQ2xDLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QiwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUV4RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0o7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUQsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBYSxFQUFFLE9BQTBCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RztJQUNMLENBQUM7SUFFRCxZQUNZLFFBQXFCLEVBQ3JCLGdCQUFxQyxFQUNyQyx5QkFBb0QsRUFDcEQsZ0JBQXlDO1FBSHpDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFsRXJELGdCQUFXLEdBQW1CLElBQUksQ0FBQztRQUNuQyxXQUFNLEdBQW1CLElBQUksQ0FBQztRQUs5QixnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUUzQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUUzQiw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFLakMsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBS3ZCLGtCQUFhLEdBQWMsRUFBRSxDQUFDO1FBVzdCLDZCQUF3QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBbUM1QyxDQUFDO0lBRUosYUFBYSxDQUFDLElBQVMsRUFBRSxjQUFtQjtRQUN4QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0UsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxTQUFTLFFBQVEsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9ELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVwQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUQsU0FBUyxzQkFBc0IsQ0FBQyxPQUFnQjtZQUM1QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pELFNBQVMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlELFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3JEO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELFNBQVMsOEJBQThCO1lBQ25DLE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxRQUFRLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUN4RixPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5RixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsOEJBQThCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakMsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ2pELE1BQU0sbUJBQW1CLEdBQ3JCLHFCQUFxQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQztRQUVsRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pELE9BQU8sT0FBTyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxlQUFlO1FBQ1gsZ0NBQWdDO1FBQ2hDLGlFQUFpRTtRQUNqRSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFFBQVE7UUFDSixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXRDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRyxJQUFJLGVBQWUsR0FBRyxDQUFDLEVBQUU7WUFDckIsTUFBTSxJQUFJLEdBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFFRCwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxDQUFDLElBQW1CLEVBQUUsRUFBRTtZQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDdkcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFhO1FBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUU7WUFDbEMsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2lCQUNsRTtnQkFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUM1QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ25FLGtFQUFrRTtpQkFDckU7Z0JBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2xFO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNsRTtZQUVELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQ3hCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3BFLFlBQVksQ0FDZixDQUFDO2dCQUNGLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FDdEIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDbEUsWUFBWSxDQUNmLENBQUM7Z0JBQ0YsSUFBSSxPQUFPLENBQUM7Z0JBQ1osT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQ3pDLE9BQU8sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUN4RixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDckMsTUFBTTtxQkFDVDtvQkFDRCxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDOUI7Z0JBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNqRixhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDckU7WUFFRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckIsT0FBTyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVoQix3REFBd0Q7WUFDeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbkIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQzthQUNiO1NBQ0o7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDL0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZHO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUV0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEcsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEQsTUFBTSxXQUFXLEdBQUc7Z0JBQ2hCLFNBQVMsRUFBRSxjQUFjLENBQUMsa0JBQWtCO2dCQUM1QyxPQUFPLEVBQUUsY0FBYyxDQUFDLGdCQUFnQjthQUMzQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsUUFBaUIsRUFBRSxNQUFlLEVBQUUsRUFBRTtZQUMxQyxNQUFNLGNBQWMsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRixNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFFdkYsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQ2xDLGNBQWMsRUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUNsQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2xFLCtCQUErQjtZQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDdEYsNkJBQTZCO1lBQzdCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdDQUFnQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMxRSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUM5QztZQUNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxLQUFLLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBVTtRQUN6QixNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxPQUFPLENBQUMsYUFBa0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEYsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVU7UUFDdkIsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsT0FBTyxDQUFDLGFBQWtCLEVBQUUsRUFBRTtZQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkYsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFVO1FBQ2hCLE9BQU8sQ0FBQyxNQUFjLEVBQWtCLEVBQUU7WUFDdEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQztZQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRXRFLE1BQU0sYUFBYSxHQUFHLEVBQWEsQ0FBQztZQUNwQyxhQUFhLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUV4QixJQUFJLGFBQWEsQ0FBQyxHQUFHLEdBQUcsRUFBRSxJQUFJLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNqRCxhQUFhLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM1QztZQUVELGFBQWEsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNoRCxhQUFhLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFhO1FBQ25CLE9BQU8sQ0FDSCxJQUFJLENBQUMsUUFBUTtZQUNiLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDWixJQUFJLENBQUMsV0FBVztZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ2hDLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBYTtRQUNqQixPQUFPLENBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzFCLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQzdGO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQy9GO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1YsTUFBTSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUU7WUFDdEMsTUFBTSxLQUFLLEdBQUcsRUFBZ0IsQ0FBQztZQUMvQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xFLEtBQUssQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixDQUFDO1lBQ3BELEtBQUssQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDO1lBQ2hELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNILElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsMkJBQTJCLENBQUMsVUFBOEI7UUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7U0FDeEM7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQVM7UUFDM0IsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FDdkMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQWtCO1FBQzlCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQXRaUSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwWUM3QnRDLGs1S0F1SkEsa2hJRDVIYyxJQUFJLDRGQUFFLFdBQVcsd2RBQUUsa0JBQWtCLHllQUFFLE9BQU8sb0ZBQUUsYUFBYTs7NEZBRTlELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxvQ0FBb0MsY0FHbEMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO2tOQXNCL0QsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFDSSx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7XHJcbiAgICBOZ2JDYWxlbmRhcixcclxuICAgIE5nYkRhdGUsXHJcbiAgICBOZ2JEYXRlcGlja2VyLFxyXG4gICAgTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgIE5nYkRhdGVTdHJ1Y3QsXHJcbiAgICBOZ2JJbnB1dERhdGVwaWNrZXIsXHJcbn0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbmltcG9ydCB7IFdlZWtPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2VuZXJpYy1kYXRhLXR5cGUubW9kZWxcIjtcclxuaW1wb3J0IHsgSVdlZWtDYWxlbmRhciB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2VcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtd2Vlay1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBGb3Jtc01vZHVsZSwgTmdiSW5wdXREYXRlcGlja2VyLCBOZ0NsYXNzLCBOZ2JEYXRlcGlja2VyXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBmcm9tRGF0ZTogTmdiRGF0ZSB8IG51bGw7XHJcbiAgICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gICAgdG9EYXRlOiBOZ2JEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgICB0b2RheTogTmdiRGF0ZTtcclxuXHJcbiAgICBtb2RlbDogTmdiRGF0ZVN0cnVjdDtcclxuXHJcbiAgICB3ZWVrTnVtYmVyczogc3RyaW5nW10gPSBbXTtcclxuICAgIHBpcGU6IERhdGVQaXBlO1xyXG4gICAgZGF0ZVRvRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuICAgIHdlZWtPYmplY3RzOiBXZWVrT2JqZWN0W107XHJcbiAgICBtdWx0aVNlbGVjdERyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0ZXBpY2tlcjogTmdiSW5wdXREYXRlcGlja2VyO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IGFueTtcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRTdGFydERhdGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRFbmREYXRlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNhbGVuZGFyTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBmbGFnMTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgZmxhZzI6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEZyb21EYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRFbmREYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWREYXRlczogTmdiRGF0ZVtdID0gW107XHJcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcblxyXG4gICAgZGlzYWJsZWRGdW5jOiBhbnk7XHJcbiAgICBzdGF0ZTogYW55O1xyXG5cclxuICAgIC8vIFNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0VmFsdWVzOiBJV2Vla0NhbGVuZGFyO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIEBPdXRwdXQoKSBhcHBseVdlZWtDYWxlbmRhckNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FsZW5kYXJUb2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICAvLyBpZiBzb21lIHZhbHVlcyBhcmUgbm90IHNlbnQsIHNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWVzID0gdGhpcy5hbm5hR2xvYmFsQ29uZmlnLmRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdFZhbHVlcywgLi4udGhpcy5jb25maWcgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdEN1cnJlbnRXZWVrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVdlZWtEYXRhKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZyb21EYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFdlZWsodGhpcy5mcm9tRGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gdGhpcy5mb3JtYXR0ZWREYXRlcygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEZyb21EYXRlICYmIHRoaXMuc2VsZWN0ZWRFbmREYXRlICYmIHRoaXMuY29uZmlnKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRnJvbURhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJNYXAoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkRnVuYyA9IChkYXRlOiBOZ2JEYXRlLCBjdXJyZW50OiB7IG1vbnRoOiBudW1iZXIgfSkgPT4gdGhpcy5jaGVja0lmRGF0ZUlzRGlzYWJsZWQoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLFxyXG4gICAgICAgIHByaXZhdGUgZGF0ZVBpY2tlckNvbmZpZzogTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhbm5hR2xvYmFsQ29uZmlnOiBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBnZXRXZWVrTnVtYmVyKHdlZWs6IGFueSwgZmlyc3REYXlPZldlZWs6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHdlZWtTdGFydERhdGUgPSBkYXlqcyhjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KHdlZWtbMF0pLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgY29uc3Qgd2Vla1llYXIgPSB3ZWVrU3RhcnREYXRlLnllYXIoKTtcclxuICAgICAgICBjb25zdCB5ZWFyU3RhcnREYXRlID0gZGF5anMoYDAxLzAxLyR7d2Vla1llYXJ9YCwgXCJNTS9ERC9ZWVlZXCIpO1xyXG4gICAgICAgIGNvbnN0IHdlZWtEYXkgPSB5ZWFyU3RhcnREYXRlLmRheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBub09mRGF5cyA9IHdlZWtTdGFydERhdGUuZGlmZih5ZWFyU3RhcnREYXRlLCBcImRcIikgKyAxO1xyXG5cclxuICAgICAgICBmdW5jdGlvbiBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KG5nYkRhdGU6IE5nYkRhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG5nYkRhdGUgJiYgbmdiRGF0ZS5tb250aCAmJiBuZ2JEYXRlLmRheSAmJiBuZ2JEYXRlLnllYXIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnZlcnRlZCA9IGAke25nYkRhdGUubW9udGh9LyR7bmdiRGF0ZS5kYXl9LyR7bmdiRGF0ZS55ZWFyfWA7XHJcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGNoZWNrSWZZZWFySXNCcm9hZGNhc3RMZWFwWWVhcigpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNMZWFwWWVhciA9ICh3ZWVrWWVhciAlIDQgPT09IDAgJiYgd2Vla1llYXIgJSAxMDAgIT09IDApIHx8IHdlZWtZZWFyICUgNDAwID09PSAwO1xyXG4gICAgICAgICAgICByZXR1cm4gKGlzTGVhcFllYXIgJiYgKHdlZWtEYXkgPT09IDAgfHwgd2Vla0RheSA9PT0gNikpIHx8ICghaXNMZWFwWWVhciAmJiB3ZWVrRGF5ID09PSAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzTGVhcFllYXIgPSBjaGVja0lmWWVhcklzQnJvYWRjYXN0TGVhcFllYXIoKTtcclxuICAgICAgICBjb25zdCBkaXZpZGVyID0gaXNMZWFwWWVhciA/IDUzIDogNTI7XHJcbiAgICAgICAgY29uc3QgYWRkZXIgPSBpc0xlYXBZZWFyID8gMiA6IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IGJyb2FkY2FzdE51bWJlck9mRGF5cyA9IHdlZWtEYXkgKyBub09mRGF5cztcclxuICAgICAgICBjb25zdCBicm9hZGNhc3RXZWVrTnVtYmVyID1cclxuICAgICAgICAgICAgYnJvYWRjYXN0TnVtYmVyT2ZEYXlzICUgNyA+IDAgPyBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3ICsgYWRkZXIgOiBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3O1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5mbG9vcihicm9hZGNhc3RXZWVrTnVtYmVyICUgZGl2aWRlcikgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRpdmlkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJyb2FkY2FzdFdlZWtOdW1iZXIgJSBkaXZpZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gQ0hBTkdFU0BBTk5BTElCIENoYW5nZWQgdGhpcy5cclxuICAgICAgICAvLyB0aGlzLmNhbGVuZGFyW1wiX19wcm90b19fXCJdLmdldFdlZWtOdW1iZXIgPSB0aGlzLmdldFdlZWtOdW1iZXI7XHJcbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMuY2FsZW5kYXIsIHsgZ2V0V2Vla051bWJlcjogdGhpcy5nZXRXZWVrTnVtYmVyIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICB0aGlzLnNldENhbGVuZGFyTWFwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVdlZWtEYXRhKCkge1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICAgICAgICB0aGlzLnRvZGF5ID0gdGhpcy5jYWxlbmRhci5nZXRUb2RheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBiYWNrRGF0ZWRQZXJpb2QgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlckRldGFpbHNcIikgfHwgXCJ7fVwiKS5sb2NraW5nX3BlcmlvZF9kYXlzO1xyXG4gICAgICAgIGlmIChiYWNrRGF0ZWRQZXJpb2QgPCAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGU6IE5nYkRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5jYWxlbmRhci5nZXRUb2RheSgpLCBcImRcIiwgTWF0aC5hYnMoYmFja0RhdGVkUGVyaW9kKSk7XHJcbiAgICAgICAgICAgIHRoaXMudG9kYXkgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEaXNhYmxlIG1vbnRocyBiZWZvcmUgbnVtYmVyT2ZNb250aHNUb0VuYWJsZVxyXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckNvbmZpZy5tYXJrRGlzYWJsZWQgPSAoZGF0ZTogTmdiRGF0ZVN0cnVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c01vbnRoID0gdGhpcy5jYWxlbmRhci5nZXRQcmV2KHRoaXMudG9kYXksIFwibVwiLCB0aGlzLmNvbmZpZy5udW1iZXJPZk1vbnRoc1RvRW5hYmxlSW5QYXN0KTtcclxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNEYXkgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYocHJldmlvdXNNb250aCwgXCJkXCIsIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gIU5nYkRhdGUuZnJvbShwcmV2aW91c0RheSkuYmVmb3JlKGRhdGUpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5mb3JtYXR0ZXIgPSB0aGlzLmZvcm1hdHRlZERhdGVzKCk7XHJcbiAgICAgICAgdGhpcy5mbGFnMSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmxhZzIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RXZWVrKGRhdGU6IE5nYkRhdGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRlT2JqZWN0ID0gbmV3IERhdGUoZGF0ZS55ZWFyLCBkYXRlLm1vbnRoIC0gMSwgZGF0ZS5kYXkpO1xyXG4gICAgICAgIGxldCBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUoZGF0ZU9iamVjdCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuc2VsZWN0TXVsdGlwbGVXZWVrcykge1xyXG4gICAgICAgICAgICAvLyBTaW5nbGUgd2VlayBzZWxlY3Rpb25cclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGRhdGUuYmVmb3JlKHRoaXMuZnJvbURhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5jb25zdHJ1Y3RTdGFydERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5mbGFnMSA9ICF0aGlzLmZsYWcxO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGUuYWZ0ZXIodGhpcy50b0RhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNvbnN0cnVjdFN0YXJ0RGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZzIgPSAhdGhpcy5mbGFnMjtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNvbnN0cnVjdEVuZERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF5anNTdGFydERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLmZyb21EYXRlKSxcclxuICAgICAgICAgICAgICAgICAgICBcIk1NL0REL1lZWVlcIixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXlqc0VuZERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLnRvRGF0ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgXCJNTS9ERC9ZWVlZXCIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgbGV0IG5nYkRhdGU7XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoIWRheWpzU3RhcnREYXRlLmlzU2FtZShkYXlqc0VuZERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb252ZXJ0VG9OZ2JEYXRlKGRheWpzU3RhcnREYXRlLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tJZkRhdGVJc0Rpc2FibGVkKG5nYkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkYXlqc1N0YXJ0RGF0ZS5hZGQoMSwgXCJkXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RGF0ZU9iamVjdCA9IG5ldyBEYXRlKG5nYkRhdGUueWVhciwgbmdiRGF0ZS5tb250aCAtIDEsIG5nYkRhdGUuZGF5IC0gMSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUobmV3RGF0ZU9iamVjdCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShuZXdEYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnNob3dBc0Ryb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdlZWtOdW1iZXJHZW5lcmF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0ZXMgPSBbXTtcclxuICAgICAgICBsZXQgd2VlayA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gTmdiRGF0ZS5mcm9tKHRoaXMuZnJvbURhdGUpO1xyXG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBOZ2JEYXRlLmZyb20odGhpcy50b0RhdGUpO1xyXG5cclxuICAgICAgICB3ZWVrLnB1c2goc3RhcnREYXRlKTtcclxuICAgICAgICB3aGlsZSAoZW5kRGF0ZSAhPSBudWxsICYmICFzdGFydERhdGUuZXF1YWxzKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQoc3RhcnREYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgICAgIHdlZWsucHVzaChkYXRlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbGxlY3QgYWxsIGRheXMgaW4gd2VlayB0byBjYWxjdWxhdGUgdGhlIHdlZWsgbnVtYmVyXHJcbiAgICAgICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykge1xyXG4gICAgICAgICAgICAgICAgZGF0ZXMucHVzaCh3ZWVrKTtcclxuICAgICAgICAgICAgICAgIHdlZWsgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoKHRoaXMuY29uZmlnLm1heFdlZWtzVG9TZWxlY3QgPz8gMCkgPiAwICYmIGRhdGVzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKSB7XHJcbiAgICAgICAgICAgIGRhdGVzLnNwbGljZSh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDAsIGRhdGVzLmxlbmd0aCAtICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzKGRhdGVzKTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgZGF0ZXMuZm9yRWFjaCgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCBXZWVrICR7dGhpcy5jYWxlbmRhci5nZXRXZWVrTnVtYmVyKGRhdGUsIHRoaXMuY29uZmlnLmZpcnN0RGF5T2ZXZWVrKX1gKTtcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZXMgPSB0aGlzLmZvcm1hdHRlcihkYXRlWzBdLCBkYXRlWzZdKTtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZU9iamVjdHMgPSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZFN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgIGVuZERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZEVuZERhdGUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMud2Vla09iamVjdHMucHVzaChkYXRlT2JqZWN0cyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheVRvVUkoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZERhdGVzKGRhdGVzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gZGF0ZXNbMF1bMF07XHJcbiAgICAgICAgdGhpcy50b0RhdGUgPSBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXVs2XTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXR0ZWREYXRlcygpIHtcclxuICAgICAgICBjb25zdCBwaXBlID0gbmV3IERhdGVQaXBlKFwiZW4tVVNcIik7XHJcbiAgICAgICAgcmV0dXJuIChmcm9tRGF0ZTogTmdiRGF0ZSwgdG9EYXRlOiBOZ2JEYXRlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZyb21EYXRlT2JqZWN0ID0gbmV3IERhdGUoZnJvbURhdGUueWVhciwgZnJvbURhdGUubW9udGggLSAxLCBmcm9tRGF0ZS5kYXkpO1xyXG4gICAgICAgICAgICBjb25zdCB0b0RhdGVPYmplY3QgPSBuZXcgRGF0ZSh0b0RhdGUueWVhciwgdG9EYXRlLm1vbnRoIC0gMSwgdG9EYXRlLmRheSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkU3RhcnREYXRlID0gcGlwZS50cmFuc2Zvcm0oZnJvbURhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRGb3JSZXF1ZXN0KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRFbmREYXRlID0gcGlwZS50cmFuc2Zvcm0odG9EYXRlT2JqZWN0LCB0aGlzLmNvbmZpZy5kYXRlRm9ybWF0Rm9yUmVxdWVzdCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0Rpc3BsYXkgPSBgJHtwaXBlLnRyYW5zZm9ybShcclxuICAgICAgICAgICAgICAgIGZyb21EYXRlT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0ZUZvcm1hdFRvRGlzcGxheSxcclxuICAgICAgICAgICAgKX0gdG8gJHtwaXBlLnRyYW5zZm9ybSh0b0RhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRUb0Rpc3BsYXkpfWA7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheVRvVUkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzICYmIHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgLy8gRGlzcGxheSBmb3Igb25seSBTaW5nbGUgV2Vla1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlcih0aGlzLmZyb21EYXRlLCB0aGlzLnRvRGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLndlZWtOdW1iZXJzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKSkge1xyXG4gICAgICAgICAgICAvLyBEaXNwbGF5IGZvciBNdWx0aXBsZSBXZWVrc1xyXG4gICAgICAgICAgICBjb25zdCB3ZWVrRGlzcGxheSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB3ZWVrRGlzcGxheS5wdXNoKHRoaXMud2Vla051bWJlcnMuc2hpZnQoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nV2Vla3MgPSB0aGlzLndlZWtOdW1iZXJzLmxlbmd0aDtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCR7d2Vla0Rpc3BsYXl9ICske3JlbWFpbmluZ1dlZWtzfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RTdGFydERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZmlyc3REYXlPZldlZWsgfSA9IHRoaXMuY29uZmlnO1xyXG4gICAgICAgIHJldHVybiAoY29uc3RydWN0RGF0ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSAtIGRhdGUuZ2V0RGF5KCkgOiAtNjtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoc3RhcnREYXkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0RW5kRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgY29uc3QgeyBmaXJzdERheU9mV2VlayB9ID0gdGhpcy5jb25maWc7XHJcbiAgICAgICAgcmV0dXJuIChjb25zdHJ1Y3REYXRlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZW5kRGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSArIDYgLSBkYXRlLmdldERheSgpIDogMDtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoZW5kRGF5KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChudW1iZXI6IG51bWJlcik6IE5nYkRhdGUgfCBudWxsID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCkgKyBudW1iZXI7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF5KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5nYkRhdGVPYmplY3QgPSB7fSBhcyBOZ2JEYXRlO1xyXG4gICAgICAgICAgICBuZ2JEYXRlT2JqZWN0LmRheSA9IGRheTtcclxuXHJcbiAgICAgICAgICAgIGlmIChuZ2JEYXRlT2JqZWN0LmRheSA+IDMxIHx8IG5nYkRhdGVPYmplY3QuZGF5IDwgMSkge1xyXG4gICAgICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5kYXkgPSBkYXRlT2JqZWN0LmdldERhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5tb250aCA9IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgICAgICAgIG5nYkRhdGVPYmplY3QueWVhciA9IGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICAgICAgcmV0dXJuIE5nYkRhdGUuZnJvbShuZ2JEYXRlT2JqZWN0KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXHJcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZERhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJlxyXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGRhdGUuZXF1YWxzKHRoaXMuZnJvbURhdGUpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLnRvRGF0ZSAmJiBkYXRlLmVxdWFscyh0aGlzLnRvRGF0ZSkpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuaXNJbnNpZGUoZGF0ZSkgfHxcclxuICAgICAgICAgICAgdGhpcy5pc0hvdmVyZWQoZGF0ZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzV2VlaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0UHJldih0aGlzLmZyb21EYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dFdlZWsoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZnJvbURhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0TmV4dCh0aGlzLmZyb21EYXRlLCBcImRcIiwgdGhpcy5jYWxlbmRhci5nZXREYXlzUGVyV2VlaygpKTtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndlZWtOdW1iZXJHZW5lcmF0b3IoKTtcclxuICAgICAgICB0aGlzLmFwcGx5Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENhbGVuZGFyTWFwKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGVPYmogPSB7IGZyb21EYXRlOiB0aGlzLmZyb21EYXRlLCB0b0RhdGU6IHRoaXMudG9EYXRlIH07XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhck1hcC5zZXQoXCJvbGREYXRlc1wiLCBkYXRlT2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNoYW5nZXMoKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZW1pdE11bHRpcGxlV2Vla09iamVjdHMpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB7fSBhcyBXZWVrT2JqZWN0O1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlcyA9IHRoaXMuZm9ybWF0dGVyKHRoaXMuZnJvbURhdGUsIHRoaXMudG9EYXRlKTtcclxuICAgICAgICAgICAgZGF0ZXMuc3RhcnREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkU3RhcnREYXRlO1xyXG4gICAgICAgICAgICBkYXRlcy5lbmREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkRW5kRGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdChkYXRlcyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdCh0aGlzLndlZWtPYmplY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhck1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRm9jdXNlZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclRvZ2dsZWQuZW1pdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXI6IE5nYklucHV0RGF0ZXBpY2tlcikge1xyXG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlciA9IGRhdGVwaWNrZXI7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlci5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJldmVydERhdGVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0RHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyLm9wZW4oKTtcclxuICAgICAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldmVydERhdGVzKCkge1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3REcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlT2JqID0gdGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGVPYmouZnJvbURhdGU7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gZGF0ZU9iai50b0RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZEYXRlSXNEaXNhYmxlZChkYXRlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JGdW5jID0gKG5nYkRhdGU6IE5nYkRhdGUpID0+XHJcbiAgICAgICAgICAgIG5nYkRhdGUueWVhciA9PT0gZGF0ZS55ZWFyICYmIG5nYkRhdGUubW9udGggPT09IGRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgPT09IGRhdGUuZGF5O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSh2YWxpZGF0b3JGdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZURhdGVwaWNrZXIoZGF0ZXBpY2tlclJlZjogYW55KSB7XHJcbiAgICAgICAgZGF0ZXBpY2tlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmb3JtXHJcbiAgICBjbGFzcz1cImZvcm0taW5saW5lXCJcclxuICAgICpuZ0lmPVwiY29uZmlnLnNob3dBc0Ryb3Bkb3duXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgaGlkZGVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRhdGVwaWNrZXIgZC1ub25lXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICBbYXV0b0Nsb3NlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cInNlbGVjdFdlZWsoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoY2xvc2VkKT1cImlzRm9jdXNlZChmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgICAgICAgICAgICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tU2luZ2xlIHdlZWsgc2VsZWN0LS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrbnVtYmVycy1sYWJlbFwiPiAmbmJzcDt7eyB3ZWVrTnVtYmVycyB9fSA8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBuZXh0LXJvdW5kLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNXZWVrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZV9uZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgI2RwRnJvbURhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBXZWVrc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb25maWcuY3VzdG9tQ2xhc3MgPT09ICcnID8gJycgOiBjb25maWcuY3VzdG9tQ2xhc3NdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF0ZVRvRGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRm9jdXNlZCh0cnVlKTsgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcm91bmQtYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0V2VlaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGVfbmV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tTXVsdGlwbGUgd2VlayBzZWxlY3QtLT5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxyXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLnNlbGVjdE11bHRpcGxlV2Vla3NcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtd2Vla3NcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICNkcEZyb21EYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFdlZWtzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29uZmlnLmN1c3RvbUNsYXNzID09PSAnJyA/ICcnIDogY29uZmlnLmN1c3RvbUNsYXNzXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwid2Vla051bWJlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc0ZvY3VzZWQodHJ1ZSk7IGlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdERyb3Bkb3duT3BlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpU2VsZWN0RHJvcGRvd25PcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktbWVudS11cCBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48bmdiLWRhdGVwaWNrZXJcclxuICAgICN3ZWVrUGlja2VyXHJcbiAgICAqbmdJZj1cIiFjb25maWcuc2hvd0FzRHJvcGRvd25cIlxyXG4gICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcclxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgKGRhdGVTZWxlY3QpPVwic2VsZWN0V2VlaygkZXZlbnQpXCJcclxuICAgIFttYXJrRGlzYWJsZWRdPVwiZGlzYWJsZWRGdW5jXCJcclxuPlxyXG48L25nYi1kYXRlcGlja2VyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgIDxociBjbGFzcz1cIm15LTBcIiAvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgYXBwbHktYnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgY2FuY2VsLWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJldmVydERhdGVzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQ2FuY2VsXHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3RcclxuICAgIGxldC1kYXRlXHJcbiAgICBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIlxyXG4gICAgbGV0LWRpc2FibGVkPVwiZGlzYWJsZWRcIlxyXG4+XHJcbiAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLWRheVwiXHJcbiAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5mYWRlZF09XCJpc0hvdmVyZWQoZGF0ZSkgfHwgaXNJbnNpZGUoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIlxyXG4gICAgPlxyXG4gICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|