vcomply-workflow-engine 2.6.109 → 2.6.111
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/bundles/vcomply-workflow-engine.umd.js +38 -31
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.js +16 -16
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.js +11 -6
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.js +2 -2
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +4 -2
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +86 -69
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-risk/workflow-risk.component.js +2 -2
- package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +3 -3
- package/fesm2015/vcomply-workflow-engine.js +38 -31
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +3 -3
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -0
- package/package.json +1 -1
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -436,7 +436,7 @@ export class AddMultipleRiskComponent {
|
|
|
436
436
|
frequency_details: {
|
|
437
437
|
frequency: frequencyValue,
|
|
438
438
|
started_at: (_x = this.changeTimeZone(new Date)) !== null && _x !== void 0 ? _x : moment().format("YYYY-MM-DD"),
|
|
439
|
-
frequency_time: "11:
|
|
439
|
+
frequency_time: "11:00 pm",
|
|
440
440
|
remind_before_days: (risk === null || risk === void 0 ? void 0 : risk.emailReminder) ? risk === null || risk === void 0 ? void 0 : risk.emailReminder : this.setDefaultEmailReminderValue(risk === null || risk === void 0 ? void 0 : risk.frequency),
|
|
441
441
|
},
|
|
442
442
|
risk_label: this.setRiskLabel(risk === null || risk === void 0 ? void 0 : risk.riskLabel),
|
|
@@ -703,4 +703,4 @@ AddMultipleRiskComponent.propDecorators = {
|
|
|
703
703
|
closeWorkflow: [{ type: Output }],
|
|
704
704
|
disconnectRefresh: [{ type: Output }]
|
|
705
705
|
};
|
|
706
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSxFQUFFLFlBQVksRUFBNkQsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQVNqQyxNQUFNLE9BQU8sd0JBQXdCO0lBOEVuQyxZQUFvQixXQUEyQixFQUNyQyxXQUF3QixFQUN2QixRQUF3QixFQUN6QixnQkFBc0M7UUFINUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7UUFoRnRDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFD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QUFPLENBQUMsQ0FBQTtTQUNsQjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsSUFBUzs7UUFDdEIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQzNCLFFBQVEsRUFBRSxNQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVywwQ0FBRSxRQUFRO1NBQ2pELENBQUMsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQXB1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLGdqSUFBaUQ7O2FBR2xEOzs7WUFYUSxjQUFjO1lBQ2QsV0FBVztZQUZYLGVBQWU7WUFHZixvQkFBb0I7Ozs0QkFXMUIsTUFBTTs2QkFDTixNQUFNOzRCQUNOLE1BQU07Z0NBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlMaXN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jYXRlZ29yeUxpc3QnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUmlza1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hZGQtcmlzay5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lCdWxrU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG50eXBlIEFPQSA9IGFueVtdW107XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1tdWx0aXBsZS1yaXNrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudC5sZXNzJywgJy4uL2Zvcm1zLmxlc3MnXSxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQE91dHB1dCgpIHBpY2tlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHBvcHVsYXRlT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkaXNjb25uZWN0UmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjYXRlZ29yeUxpc3Q6IENhdGVnb3J5TGlzdCA9IHtcclxuICAgIHN0cmF0ZWdpYzoge1xyXG4gICAgICBuYW1lOiAnU1RSQVRFR0lDJyxcclxuICAgICAgZGF0YTogW11cclxuICAgIH0sXHJcbiAgICBvcGVyYXRpb25hbDoge1xyXG4gICAgICBuYW1lOiAnT1BFUkFUSU9OQUwnLFxyXG4gICAgICBkYXRhOiBbXVxyXG4gICAgfSxcclxuICAgIGNvbXBsaWFuY2U6IHtcclxuICAgICAgbmFtZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICBkYXRhOiBbXVxyXG4gICAgfSxcclxuICAgIG90aGVyczoge1xyXG4gICAgICBuYW1lOiAnT1RIRVJTJyxcclxuICAgICAgZGF0YTogW11cclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgY2F0ZWdvcnk6IGFueSA9IHtcclxuICAgIHR5cGU6ICdzdHJhdGVnaWMnLFxyXG4gICAgc2VsZWN0ZWRDYXRlZ29yeTogJycsXHJcbiAgfVxyXG5cclxuICByaXNrQnVsa1VwbG9hZDogYW55ID0ge1xyXG4gICAgaGVhZGVyOiBbXSxcclxuICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgcmlza3M6IFtdLFxyXG4gIH1cclxuXHJcbiAgdGVtcGxhdGVJbmZvOiBhbnkgPSB7XHJcbiAgICBtZW1iZXJJZDogJycsXHJcbiAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgIG93bmVyTGlzdDogW10sXHJcbiAgICByY0xpc3Q6IFtdLFxyXG4gICAgbWl0aWdhdGlvbkxpc3Q6IFtdLFxyXG4gICAgbGlrZWxpaG9vZDpbXSxcclxuICAgIGltcGFjdDpbXSxcclxuICAgIHZlbG9jaXR5OltdLFxyXG4gICAgdnVsbmVyYWJpbGl0eTpbXVxyXG4gIH1cclxuXHJcbiAgaXNMb2FkZXIgPSBmYWxzZTtcclxuICBzaG93Q2F0ZWdvcnlMaXN0ID0gZmFsc2U7XHJcbiAgdGVtcGxhdGVEb3dubG9hZGVkID0gZmFsc2U7XHJcbiAgZG93bmxvYWRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgbG9hZGVyID0gZmFsc2U7XHJcbiAgc2V0dGluZ3NJbmZvICE6IGFueTtcclxuICBpc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gIGZpbGVOYW1lOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIGFzc2Vzc21lbnREZWFkTGluZTogYW55O1xyXG4gIHNob3dFeGNlbCA9IGZhbHNlO1xyXG4gIGZpbGVWYWx1ZTphbnk7XHJcbiAgbWVtYmVySWQgPSAwO1xyXG4gIG9yZ2FuaXphdGlvbklkID0gMDtcclxuICBlcnJvck1lc3NhZ2UgPSBcIiBpbnZhbGlkIGZpbGUgZXJyb3JcIlxyXG4gIGRvd25sb2FkU3RhdHVzOiBzdHJpbmcgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICBkb3dubG9hZFBlcmNlbnQgPSAwO1xyXG5cclxuICBzbWlsZXlNZXNzYWdlID0gYFlvdSdyZSBBbGwgU2V0ISBXZSdyZSB1cGxvYWRpbmcgdGhlIHJpc2tzLiBUaGUgcmlzayBvd25lcnMgd2lsbCBiZSBub3RpZmllZCBvbmNlIHRoZSByaXNrcyBoYXZlIGJlZW4gdXBsb2FkZWQuYDtcclxuICBhY3Rpb25CdXR0b25zID0gW1xyXG4gICAgeyBidXR0b25UZXh0OiAnQWRkIE1vcmUgUmlza3MnLCBjbGFzczogJ3doaXRlLWJ0bicsIGlkOiAnYWRkTW9yZScgfSxcclxuICAgIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmlzaycsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3ZpZXdSaXNrcycgfSxcclxuICBdO1xyXG4gIHNob3dTbWlsZXkgPSBmYWxzZTtcclxuICBtZW1iZXJfb2JqX2lkID0gJyc7XHJcbiAgZGVmYXVsdE93bmVyID0gJydcclxuICByaXNrRGF0YSAhOmFueTsgIFxyXG4gIGZyZXF1ZW5jeVR5cGUgPSBbJ3dlZWtseScsICdtb250aGx5JywgJ3F1YXJ0ZXJseScsICdiaWFubnVhbCcsICdhbm51YWwnLCAnb25lIHRpbWUnXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByaXNrU2VydmljZTogQWRkUmlza1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgIHNuYWNrQmFyOlNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5QnVsa1NlcnZpY2UsKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucGlja2VyQ2hhbmdlZC5lbWl0KGZhbHNlKTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KCk7XHJcbiAgICB0aGlzLmdldFNldHRpbmdzSW5mbygpO1xyXG5cclxuICAgIHRoaXMub3JnYW5pemF0aW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCk7XHJcbiAgICB0aGlzLm1lbWJlcklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRNZW1iZXJJZCgpO1xyXG4gICAgdGhpcy5tZW1iZXJfb2JqX2lkID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyRGV0YWlscygpLl9pZDtcclxuICB9XHJcbiAgZ2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG4gICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmdldENhdGVnb3J5TGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMuZGF0YSA9IHJlcy5zdHJhdGVnaWNfYXJyO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vcGVyYXRpb25hbC5kYXRhID0gcmVzLm9wZXJhdGlvbmFsX2FycjtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QuY29tcGxpYW5jZS5kYXRhID0gcmVzLmNvbXBsaWFuY2VfYXJyO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuZGF0YSA9IHJlcy5vdGhlcnNfYXJyO1xyXG5cclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuICBzYXZlU2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZih0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCAhPWNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCl7XHJcbiAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0NhdGVnb3J5TGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IGNhdGVnb3J5O1xyXG4gICAgY29uc3QgcmVmZXJlbmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Njcm9sbFJlZmVyZW5jZScpO1xyXG4gICAgaWYgKHJlZmVyZW5jZSkge1xyXG4gICAgICByZWZlcmVuY2Uuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzZXQoKTtcclxuXHJcbiAgfVxyXG4gIHJlbW92ZUNhdGVnb3J5KCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IHtcclxuICAgICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnXHJcbiAgICB9O1xyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gIH1cclxuICBnZXRTZXR0aW5nc0luZm8oKSB7XHJcblxyXG4gICAgdGhpcy5yaXNrU2VydmljZS5nZXRSaXNrU2V0dGluZ0RldGFpbHMoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZXR0aW5nc0luZm8gPSByZXM7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIHRyaWdnZXJCcm93c2VGaWxlKCkge1xyXG4gICAgY29uc3QgZ2V0RmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5wdXQnKTtcclxuICAgIGlmIChnZXRGaWxlKSB7XHJcbiAgICAgIGdldEZpbGUuY2xpY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwbG9hZGVkRmlsZShldmVudDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkID0ge1xyXG4gICAgICAgIGhlYWRlcjogW10sXHJcbiAgICAgICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICAgICAgcmlza3M6IFtdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50ZW1wbGF0ZUluZm8gPSB7XHJcbiAgICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgICAgIG93bmVyTGlzdDogW10sXHJcbiAgICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgICBtaXRpZ2F0aW9uTGlzdDogW10sXHJcbiAgICAgICAgbGlrZWxpaG9vZDpbXSxcclxuICAgICAgICBpbXBhY3Q6W10sXHJcbiAgICAgICAgdmVsb2NpdHk6W10sXHJcbiAgICAgICAgdnVsbmVyYWJpbGl0eTpbXVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzY3JvbGxSZWZlcmVuY2UnKTtcclxuICAgICAgaWYgKHJlZmVyZW5jZSkge1xyXG4gICAgICAgIHJlZmVyZW5jZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWxlTmFtZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXS5uYW1lO1xyXG5cclxuICAgICAgY29uc3QgdGFyZ2V0OiBEYXRhVHJhbnNmZXIgPSBldmVudC50YXJnZXQgYXMgRGF0YVRyYW5zZmVyO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGN1cmx5XHJcbiAgICAgIGlmICh0YXJnZXQuZmlsZXMubGVuZ3RoICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgbXVsdGlwbGUgZmlsZXMnKTtcclxuICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBic3RyOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoYnN0ciwgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3NuYW1lMTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1sxXTtcclxuXHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZTFdO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24od3MsIHtcclxuICAgICAgICAgIGhlYWRlcjogMSxcclxuICAgICAgICB9KSBhcyBBT0E7XHJcblxyXG4gICAgICAgIGNvbnN0IHREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7IGhlYWRlcjogMSB9KSBhcyBBT0E7XHJcbiAgICAgICAgY29uc3QgdGVtcExpc3QgPSB0RGF0YS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm1lbWJlcklkID0gdGVtcExpc3RbMF1bNTZdXHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8uY2F0ZWdvcnlJZCA9IHRlbXBMaXN0WzBdWzU1XVxyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQuaGVhZGVyID0gY2xvbmVEZWVwKHRoaXMuZGF0YVs0XS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApKTtcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMgPSBjbG9uZURlZXAodGhpcy5kYXRhWzVdLmZpbHRlcigod2VpZ2h0RmFjdG9yOiBhbnkpID0+IHdlaWdodEZhY3Rvci5sZW5ndGggPiAwKSk7XHJcbiAgICAgICAgdGVtcExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbOF0pIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG1lbWJlciA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50WzhdLFxyXG4gICAgICAgICAgICAgIG1lbWJlcl9pZDogZWxlbWVudFs5XVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdC5wdXNoKG1lbWJlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZWxlbWVudFsyXSkge1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbWl0aWdhdGlvbiA9IHtcclxuICAgICAgICAgICAgICBtaXRpZ2F0aW9uTmFtZTogZWxlbWVudFsyXSxcclxuICAgICAgICAgICAgICBtaXRpZ2F0aW9uX2lkOiBlbGVtZW50WzNdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWl0aWdhdGlvbkxpc3QucHVzaChtaXRpZ2F0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzZdKSB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCByYyA9IHtcclxuICAgICAgICAgICAgICByY05hbWU6IGVsZW1lbnRbNl0sXHJcbiAgICAgICAgICAgICAgcmNfaWQ6IGVsZW1lbnRbN10sXHJcbiAgICAgICAgICAgICAgb3duZXJfaWRzOiBlbGVtZW50WzExXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5wdXNoKHJjKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoZWxlbWVudFsxMl0pIHsgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mbz8ubGlrZWxpaG9vZC5wdXNoKGVsZW1lbnRbMTJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzEzXSkgeyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QucHVzaChlbGVtZW50WzEzXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1ZlbG9jaXR5JykgJiYgZWxlbWVudFsxNF0pIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8udmVsb2NpdHkucHVzaChlbGVtZW50WzE0XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1Z1bG5lcmFiaWxpdHknKSAmJiBlbGVtZW50WzE1XSkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby52dWxuZXJhYmlsaXR5LnB1c2goZWxlbWVudFsxNV0pO1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICsgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC5oZWFkZXJbMF0gIT09ICdXaGF0IHJpc2sgd291bGQgeW91IGxpa2UgdG8gbWFuYWdlPyonKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICsgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGE/LnNsaWNlKDcpO1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRPd25lciA9IHRoaXMudGVtcGxhdGVJbmZvPy5vd25lckxpc3Q/LmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkID09IHRoaXMubWVtYmVySWQpO1xyXG4gICAgICAgIGlmKGRlZmF1bHRPd25lciAhPS0xKXtcclxuICAgICAgICAgIHRoaXMuZGVmYXVsdE93bmVyID0gdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0W2RlZmF1bHRPd25lcl0ubmFtZVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnVGhlIGluY29ycmVjdCBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkLiBQbGVhc2UgdXBsb2FkIHRoZSB0ZW1wbGF0ZSBmaWxlIGZvciBSaXNrIENhdGVnb3J5OicgKyB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSArICcgUkVUUlknO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoKHRoaXMubWVtYmVyX29ial9pZCAhPSB0aGlzLnRlbXBsYXRlSW5mby5tZW1iZXJJZCkgfHwgKHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5faWQgIT0gdGhpcy50ZW1wbGF0ZUluZm8uY2F0ZWdvcnlJZCkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICsgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgKyAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmNoZWNrRW1wdHlGaWxlKCk7XHJcbiAgICAgICAgaWYgKGlzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1lvdSBoYXZlIHVwbG9hZGVkIGEgYmxhbmsgdGVtcGxhdGUuIFBsZWFzZSBhZGQgZGV0YWlscyBmb3IgYWxsIG1hbmRhdG9yeSBmaWVsZHMuIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC5oZWFkZXJbNl0gPT09ICdSaXNrIEFzc2Vzc21lbnQgRGVhZGxpbmUqJykge1xyXG4gICAgICAgICAgICB0aGlzLmFzc2Vzc21lbnREZWFkTGluZSA9IHRydWU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFzc2Vzc21lbnREZWFkTGluZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZpbGVWYWx1ZSA9ICcnO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgcmlza0RhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwKTtcclxuXHJcbiAgICAgICAgcmlza0RhdGEuZm9yRWFjaCgocmlzazogYW55LCBpbmRleDogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgLy8gY29uc3Qgb2JqOiBhbnkgPSB7XHJcbiAgICAgICAgICAvLyAgIHJpc2tOYW1lOiByaXNrWzBdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBkZXNjcmlwdGlvbjogcmlza1sxXSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgcmNOYW1lOiByaXNrWzJdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBvd25lcjogcmlza1szXSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgbWl0aWdhdGlvblByaW9yaXR5OiByaXNrWzRdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBvdmVyc2Vlcjogcmlza1s1XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgaXNWYWxpZDogdGhpcy5jaGVja1ZhbGlkaXR5KHJpc2spLFxyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIGlmICh0aGlzLmFzc2Vzc21lbnREZWFkTGluZSkge1xyXG4gICAgICAgICAgLy8gICBvYmouYXNzZXNzbWVudERlYWRMaW5lID0gcmlza1s2XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgb2JqLmxpa2VsaWhvb2QgPSByaXNrWzddID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmouaW1wYWN0ID0gcmlza1s4XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggPT0gMykge1xyXG4gICAgICAgICAgLy8gICAgIG9iai52ZWxvY2l0eSA9IHJpc2tbOV0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggPT0gNCkge1xyXG4gICAgICAgICAgLy8gICAgIG9iai52ZWxvY2l0eSA9IHJpc2tbOV0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZ1bG5lcmFiaWxpdHkgPSByaXNrWzEwXSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuXHJcbiAgICAgICAgICAvLyAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jdXN0b21fdGFnLmZvckVhY2goKHRhZzogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgaWYgKHRhZykge1xyXG4gICAgICAgICAgLy8gICAgICAgY29uc3QgY1RhZyA9IHtcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1s3ICsgdGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCArIGluZGV4XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgICAgLy8gICAgICAgfTtcclxuICAgICAgICAgIC8vICAgICAgIGN1c3RvbVRhZ3MucHVzaChjVGFnKTtcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgIH0pO1xyXG4gICAgICAgICAgLy8gICBvYmouY3VzdG9tVGFnID0gY3VzdG9tVGFncztcclxuICAgICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyAgIG9iai5saWtlbGlob29kID0gcmlza1s2XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgb2JqLmltcGFjdCA9IHJpc2tbN10gPz8gJyc7XHJcblxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s4XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSA0KSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s4XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgICBvYmoudnVsbmVyYWJpbGl0eSA9IHJpc2tbOV0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICAgICAgICAvLyAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jdXN0b21fdGFnLmZvckVhY2goKHRhZzogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgaWYgKHRhZykge1xyXG4gICAgICAgICAgLy8gICAgICAgY29uc3QgY1RhZyA9IHtcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1s2ICsgdGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCArIGluZGV4XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgICAgLy8gICAgICAgfTtcclxuICAgICAgICAgIC8vICAgICAgIGN1c3RvbVRhZ3MucHVzaChjVGFnKTtcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgIH0pO1xyXG4gICAgICAgICAgLy8gICBvYmouY3VzdG9tVGFnID0gY3VzdG9tVGFncztcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIGxldCBvYmogPSB0aGlzLnNldFJpc2tEZXRhaWxzKHJpc2spXHJcbiAgICAgICAgICBpZiAob2JqPy5saWtlbGlob29kICYmICF0aGlzLnRlbXBsYXRlSW5mbz8ubGlrZWxpaG9vZC5pbmNsdWRlcyhvYmo/Lmxpa2VsaWhvb2QpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy5pbXBhY3QgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QuaW5jbHVkZXMob2JqPy5pbXBhY3QpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy52ZWxvY2l0eSAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/LnZlbG9jaXR5LmluY2x1ZGVzKG9iaj8udmVsb2NpdHkpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy52dWxuZXJhYmlsaXR5ICYmICF0aGlzLnRlbXBsYXRlSW5mbz8udnVsbmVyYWJpbGl0eS5pbmNsdWRlcyhvYmo/LnZ1bG5lcmFiaWxpdHkpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQucmlza3MucHVzaChvYmopO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSB0cnVlO1xyXG4gICAgICB9O1xyXG4gICAgICByZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRhcmdldD8uZmlsZXNbMF0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tFbXB0eUZpbGUoKSB7XHJcbiAgICBsZXQgaXNFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCk7XHJcbiAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCA8IDEpIHtcclxuICAgICAgaXNFbXB0eSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNFbXB0eTtcclxuICB9XHJcblxyXG4gIGNoZWNrVmFsaWRpdHkocmlzazogYW55KSB7XHJcbiAgICBjb25zdCByZSA9IC8mbmJzcDt8PGJyPi9nO1xyXG4gICAgbGV0IHRyaW1tZWROYW1lID0gKHJpc2tbMF0pID8gcmlza1swXS50b1N0cmluZygpLnJlcGxhY2UocmUsICcnKS50cmltKCkgOiAnJztcclxuICAgIHRyaW1tZWROYW1lID0gdHJpbW1lZE5hbWUucmVwbGFjZSgvICArL2csICcgJyk7XHJcbiAgICAvLyB8fCAodGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgJiYgKCFyaXNrWzZdKSlcclxuICAgIGlmICgoIXRyaW1tZWROYW1lKSB8fCAocmlza1szXSAmJiAocmlza1szXSA9PSByaXNrWzZdKSkgfHwgKCghcmlza1szXSkgJiYgKHRoaXMuZGVmYXVsdE93bmVyID09IHJpc2tbNl0pKVxyXG4gICAgICB8fCAoIXJpc2tbMl0pIHx8ICghdGhpcy5mcmVxdWVuY3lUeXBlPy5pbmNsdWRlcyhyaXNrWzRdPy50b0xvd2VyQ2FzZSgpKSkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHsgcmV0dXJuIHRydWUgfVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURJTkcnO1xyXG4gICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAwO1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKTtcclxuICAgIGNvbnN0IGRvd25sb2FkRGF0ZSA9IHRvZGF5WzBdO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSAnVkNvbXBseSAtIFJpc2sgTW9kdWxlIC0gQWRkIE11bHRpcGxlIFJpc2tzIC0gJysgdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSArJyAtICcgKyBkb3dubG9hZERhdGUgKyAnLnhsc3gnO1xyXG5cclxuICAgIHRoaXMucmlza1NlcnZpY2UuZG93bmxvYWRUZW1wbGF0ZSh0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sb2FkZWQpIHtcclxuICAgICAgICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMTAwICogKGRhdGEubG9hZGVkIC8gZGF0YS50b3RhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRhLmJvZHkpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gdGhpcy5yaXNrU2VydmljZS5kb3duTG9hZEZpbGUoZGF0YS5ib2R5LCAnYXBwbGljYXRpb24veGxzeCcsIGZpbGVOYW1lKTtcclxuICAgICAgICAgIH0sIDE1MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURFRCc7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRSaXNrQnVsa1VwbG9hZChjb21wbGV0ZUFzc2Vzc21lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZDogYW55ID0gW107XHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBmcmVxdWVuY3lWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5zaG9ydEhhbmRfZnJlcUNhbChyaXNrPy5mcmVxdWVuY3kpO1xyXG4gICAgICBpZiAocmlzay5pc1ZhbGlkKSB7XHJcbiAgICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgICAgdGl0bGU6IHJpc2s/LnJpc2tOYW1lLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IHJpc2s/LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgY2F0ZWdvcnlfY3VzdG9tX3RhZzogcmlzaz8uY3VzdG9tVGFnLFxyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGU6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZSxcclxuICAgICAgICAgIG93bmVyOiAocmlzaz8ub3duZXIpID8gdGhpcy5yZXR1cm5JZHMocmlzaz8ub3duZXIsICdvd25lcicpIDogdGhpcy5yZXR1cm5JZHModGhpcy5kZWZhdWx0T3duZXIsICdvd25lcicpLFxyXG4gICAgICAgICAgY2F0ZWdvcnk6ICh0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCkgPyBbdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWRdIDogW10sXHJcbiAgICAgICAgICBtYW5hZ2Vfb3ZlcnNpZ2h0OiB0aGlzLnJldHVybklkcyhyaXNrPy5vdmVyc2VlciwgJ292ZXJzZWVyJyksXHJcbiAgICAgICAgICByY19pZDogdGhpcy5yZXR1cm5JZHMocmlzaz8ucmNOYW1lLCAncmNfaWQnKSxcclxuICAgICAgICAgIGhlYWRfaWRzOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19vd25lcl9pZHMnKSwgLy8yIHRvIGJlIGFyYXlcclxuICAgICAgICAgIHJhdGluZ19hcnI6IFtcclxuICAgICAgICAgICAgcmlzaz8ubGlrZWxpaG9vZCA/IHJpc2s/Lmxpa2VsaWhvb2Quc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8uaW1wYWN0ID8gcmlzaz8uaW1wYWN0LnNwbGl0KCcgLSAnKVsxXSA6IDAsXHJcbiAgICAgICAgICAgIHJpc2s/LnZlbG9jaXR5ID8gcmlzaz8udmVsb2NpdHkuc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8udnVsbmVyYWJpbGl0eSA/IHJpc2s/LnZ1bG5lcmFiaWxpdHkuc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBtZW1iZXJfaWQ6IHRoaXMubWVtYmVySWQsXHJcbiAgICAgICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMub3JnYW5pemF0aW9uSWQsXHJcbiAgICAgICAgICByaXNrX3Byb2dyZXNzX2ZsYWc6IDEsXHJcbiAgICAgICAgICBJZkFzc2Vzc21lbnREb25lOiAwLFxyXG4gICAgICAgICAgd29ya3Nob3BfaWQ6ICcnLFxyXG4gICAgICAgICAgY29tcGxldGVfYXNzZXNzbWVudDogKGNvbXBsZXRlQXNzZXNzbWVudCkgPyAxIDogMCxcclxuICAgICAgICAgIG1pdGlnYXRpb246IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm1pdGlnYXRpb25Qcmlvcml0eSwgJ21pdGlnYXRpb24nKSwgLy8zIHdyb25nXHJcbiAgICAgICAgICB3ZWlnaHRhZ2VfZW5hYmxlOiB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2VuYWJsZSxcclxuICAgICAgICAgIHRyZWF0bWVudF90eXBlOiB0aGlzLnNldHRpbmdzSW5mbz8udHJlYXRtZW50X2NyaXRlcmlhLFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX2RldGFpbHM6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscyxcclxuICAgICAgICAgIHdlaWdodGFnZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2Vfc2V0X2J5LFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX3N0cjogW1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LmltcGFjdC52YWx1ZSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzPy5saWtlbGlob29kLnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LnZlbG9jaXR5LnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LnZ1bG5lcmFiaWxpdHkudmFsdWUsXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgLy8gYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieSwgLy9jaGVjazEgbm90IGFwcGVhcmluZ1xyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieSA/PyB0aGlzLm1lbWJlcklkLCAvL2NoZWNrMSBub3QgYXBwZWFyaW5nXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM6ICh0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGUpID8gdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5cyA6IHJpc2s/LmFzc2Vzc21lbnREZWFkTGluZSxcclxuICAgICAgICAgIGZyZXF1ZW5jeV9kZXRhaWxzOiB7XHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeTogZnJlcXVlbmN5VmFsdWUsXHJcbiAgICAgICAgICAgIHN0YXJ0ZWRfYXQ6IHRoaXMuY2hhbmdlVGltZVpvbmUobmV3IERhdGUpID8/IG1vbWVudCgpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeV90aW1lOiBcIjExOjU5IHBtXCIsXHJcbiAgICAgICAgICAgIHJlbWluZF9iZWZvcmVfZGF5czogcmlzaz8uZW1haWxSZW1pbmRlciA/IHJpc2s/LmVtYWlsUmVtaW5kZXIgOiB0aGlzLnNldERlZmF1bHRFbWFpbFJlbWluZGVyVmFsdWUocmlzaz8uZnJlcXVlbmN5KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICByaXNrX2xhYmVsOiB0aGlzLnNldFJpc2tMYWJlbChyaXNrPy5yaXNrTGFiZWwpLFxyXG4gICAgICAgICAgbWl0aWdhdGlvbl9wbGFuX3JlY29tbWVuZGF0aW9uOiByaXNrPy5taXRpZ2F0aW9uUGxhbnMgPz8gJycsXHJcbiAgICAgICAgICBzYW1lUmlza1JhdGluZ3NGb3JBbGxSQzogcmlzaz8uYXBwbHlTYW1lUmlza1JhdGluZyA/PyAnTm8nLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcGF5bG9hZC5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2coXCJwYXlsb2FkcGF5bG9hZHBheWxvYWRwYXlsb2FkcGF5bG9hZHBheWxvYWQgID09PT0+XCIscGF5bG9hZClcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmFkZEJ1bGtSaXNrKHBheWxvYWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93RXhjZWwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yaXNrRGF0YSA9IHJlcztcclxuICAgIH0sXHJcbiAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdPT1BTISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgdGhlIHBhZ2UgY291bGQgbm90IGJlIGxvYWRlZC4gQ291bGQgeW91IHBsZWFzZSB0cnkgb25lIG1vcmUgdGltZT8nLCAnYWxlcnQnKTtcclxuXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcmV0dXJuSWRzKGl0ZW06IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgJ3JjX2lkJzpcclxuICAgICAgICBjb25zdCByY0lkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QuZm9yRWFjaCgocmNfZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmNfZWxlbWVudC5yY05hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICByY0lkLnB1c2gocmNfZWxlbWVudC5yY19pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmNJZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmNfb3duZXJfaWRzJzpcclxuICAgICAgICBsZXQgb3duZXJfaWRzOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QuZm9yRWFjaCgoaGVhZGVySWRzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChoZWFkZXJJZHMucmNOYW1lID09IGl0ZW0gJiYgaGVhZGVySWRzLm93bmVyX2lkcykge1xyXG4gICAgICAgICAgICBvd25lcl9pZHM9IGhlYWRlcklkcy5vd25lcl9pZHMuaW5jbHVkZXMoJywnKT8gaGVhZGVySWRzLm93bmVyX2lkcy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpIDpbTnVtYmVyKGhlYWRlcklkcy5vd25lcl9pZHMpXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3duZXJfaWRzO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvd25lcic6XHJcbiAgICAgICAgY29uc3Qgb3duZXJJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQubmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG93bmVySWQucHVzaChlbGVtZW50Lm1lbWJlcl9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3duZXJJZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb3ZlcnNlZXInOlxyXG4gICAgICAgIGNvbnN0IG92ZXJzZWVySWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdC5mb3JFYWNoKChvc19lbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChvc19lbGVtZW50Lm5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBvdmVyc2VlcklkLnB1c2gob3NfZWxlbWVudC5tZW1iZXJfaWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG92ZXJzZWVySWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdtaXRpZ2F0aW9uJzpcclxuICAgICAgICBsZXQgbWl0aWdhdGlvbklkOiBhbnk9MDtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5taXRpZ2F0aW9uTGlzdC5mb3JFYWNoKChtaXRpZ2F0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChtaXRpZ2F0aW9uLm1pdGlnYXRpb25OYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgbWl0aWdhdGlvbklkID0gbWl0aWdhdGlvbi5taXRpZ2F0aW9uX2lkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1pdGlnYXRpb25JZDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgIGhlYWRlcjogW10sXHJcbiAgICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgICByaXNrczogW11cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRlbXBsYXRlSW5mbyA9IHtcclxuICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgICAgb3duZXJMaXN0OiBbXSxcclxuICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgbWl0aWdhdGlvbkxpc3Q6IFtdXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5maWxlTmFtZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGF0YSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gdW5kZWZpbmVkXHJcbiAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcblxyXG4gIH1cclxuICBhY3Rpb24oZXZlbnQ6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChldmVudCkge1xyXG4gICAgICBjYXNlICdhZGRNb3JlJzpcclxuICAgICAgICB0aGlzLmNhdGVnb3J5ID0ge1xyXG4gICAgICAgICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICAgICAgICBzZWxlY3RlZENhdGVnb3J5OiAnJyxcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndmlld1Jpc2tzJzpcclxuICAgICAgICB0aGlzLnZpZXdSaXNrcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7ZXZ0OnRoaXMucmlza0RhdGEsIGNvbmZpcm0gOiBmYWxzZX0pO1xyXG4gIH1cclxuXHJcbiAgdmlld1Jpc2tzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcclxuICAgIGxldCB1cmw6IHN0cmluZztcclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdC5zdGFydHNXaXRoKCdsb2NhbGhvc3QnKSkge1xyXG4gICAgICB1cmwgPSAnaHR0cDovLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVybCA9ICdodHRwczovLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdDtcclxuICAgIH1cclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdC5zdGFydHNXaXRoKCdsb2NhbGhvc3QnKSkge1xyXG4gICAgICB1cmwgKz0gJy9yaXNrLXJlZ2lzdGVyJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVybCArPSAnL3Jpc2svcmlzay1yZWdpc3Rlcic7XHJcbiAgICB9XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0IHRha2VzIGFuIGFycmF5IG9mIHN0cmluZ3MgYW5kIHJldHVybnMgYW4gb2JqZWN0IHdpdGggdGhlIGFycmF5IHZhbHVlcyBhcyBwcm9wZXJ0aWVzLlxyXG4gICAqIDwvY29kZT5cclxuICAgKiBAcGFyYW0ge2FueX0gcmlzayAtIGFueSA9IFtcclxuICAgKiBAcmV0dXJucyBbXHJcbiAgICogICB7XHJcbiAgICogICAgIFwicmlza05hbWVcIjogXCJcIixcclxuICAgKiAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxyXG4gICAqICAgICBcInJjTmFtZVwiOiBcIlwiLFxyXG4gICAqICAgICBcIm93bmVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwiZnJlcXVlbmN5XCI6IFwiXCIsXHJcbiAgICogICAgIFwiZW1haWxSZW1pbmRlclwiOiBcIlwiLFxyXG4gICAqICAgICBcIm92ZXJzZWVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwiaXNWYWxpZFwiOiBmYWxzZSxcclxuICAgKiAgICAgXCJtaXRpZ2F0aW9uUHJpb3JpdHlcIjogXCJcIixcclxuICAgKi9cclxuICBzZXRSaXNrRGV0YWlscyhyaXNrOiBhbnkpIHtcclxuICAgIGxldCBvYmo6IGFueTtcclxuICAgIG9iaiA9IHtcclxuICAgICAgcmlza05hbWU6IHJpc2tbMF0gPz8gJycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiByaXNrWzFdID8/ICcnLFxyXG4gICAgICByY05hbWU6IHJpc2tbMl0gPz8gJycsXHJcbiAgICAgIG93bmVyOiByaXNrWzNdID8/ICcnLFxyXG4gICAgICBmcmVxdWVuY3k6IHJpc2tbNF0gPz8gJycsXHJcbiAgICAgIGVtYWlsUmVtaW5kZXI6IHJpc2tbNV0sXHJcbiAgICAgIG92ZXJzZWVyOiByaXNrWzZdID8/ICcnLFxyXG4gICAgICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICB9XHJcbiAgICBsZXQgaW5kZXggPSA3O1xyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnUmVjb21tZW5kZWQgTWl0aWdhdGlvbiBQcmlvcml0eScpKSB7IFxyXG4gICAgICBvYmpbJ21pdGlnYXRpb25Qcmlvcml0eSddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4ICsrO1xyXG4gICAgfVxyXG4gICAgb2JqWydtaXRpZ2F0aW9uUGxhbnMnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXggKys7XHJcbiAgICBvYmpbJ3Jpc2tMYWJlbCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCArKztcclxuICAgIG9ialsnbGlrZWxpaG9vZCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCArKztcclxuICAgIG9ialsnaW1wYWN0J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4ICsrO1xyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1ZlbG9jaXR5JykpIHtcclxuICAgICAgb2JqWyd2ZWxvY2l0eSddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9IFxyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1Z1bG5lcmFiaWxpdHknKSkge1xyXG4gICAgICBvYmpbJ3Z1bG5lcmFiaWxpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnRG8geW91IHdhbnQgdG8gYXBwbHkgdGhlIHNhbWUgcmlzayByYXRpbmdzIGZvciBhbGwgUmVzcG9uc2liaWxpdHkgQ2VudGVycz8nKSkge1xyXG4gICAgICBvYmpbJ2FwcGx5U2FtZVJpc2tSYXRpbmcnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jdXN0b21fdGFnPy5mb3JFYWNoKCh0YWc6IGFueSwgaTogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0YWcpIHtcclxuICAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1tpbmRleCArIGldID8/ICcnLFxyXG4gICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIG9ialsnY3VzdG9tVGFnJ10gPSBjdXN0b21UYWdzO1xyXG4gICAgb2JqWydpc1ZhbGlkRnJlcXVlbmN5J10gPSB0aGlzLmZyZXF1ZW5jeVR5cGU/LmluY2x1ZGVzKG9iaj8uZnJlcXVlbmN5Py50b0xvd2VyQ2FzZSgpKTtcclxuICAgIHJldHVybiBvYmo7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgZnJlcXVlbmN5VHlwZSBpcyB3ZWVrbHksIHJldHVybiAyLCBpZiBpdCdzIG1vbnRobHksIHJldHVybiA3LCBpZiBpdCdzIHF1YXJ0ZXJseSwgcmV0dXJuIDcsXHJcbiAgICogaWYgaXQncyBiaWFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIGFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIG9uZSB0aW1lLCByZXR1cm4gMTUsIG90aGVyd2lzZVxyXG4gICAqIHJldHVybiAwLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZnJlcXVlbmN5VHlwZV0gLSBzdHJpbmcgLSB0aGUgZnJlcXVlbmN5IHR5cGUgb2YgdGhlIHJlbWluZGVyXHJcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGRheXMgYmVmb3JlIHRoZSBldmVudCB0aGF0IHRoZSByZW1pbmRlciBzaG91bGQgYmUgc2VudC5cclxuICAgKi9cclxuICBzZXREZWZhdWx0RW1haWxSZW1pbmRlclZhbHVlKGZyZXF1ZW5jeVR5cGU/OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgc3dpdGNoKGZyZXF1ZW5jeVR5cGU/LnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnd2Vla2x5JyA6IHJldHVybiAyO1xyXG4gICAgICBjYXNlICdtb250aGx5JyA6IHJldHVybiA3O1xyXG4gICAgICBjYXNlICdxdWFydGVybHknIDogcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ2JpYW5udWFsJyA6IHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnYW5udWFsJyA6IHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnb25lIHRpbWUnIDogcmV0dXJuIDE1O1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBsYWJlbCBpcyAnbmV3IHJpc2snLCByZXR1cm4gMSwgaWYgdGhlIGxhYmVsIGlzICdlbWVyZ2luZy9yYXBpZGx5IGNoYW5naW5nIHJpc2tzJywgcmV0dXJuIDIsXHJcbiAgICogb3RoZXJ3aXNlIHJldHVybiAxXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsYWJlbF0gLSB0aGUgbGFiZWwgb2YgdGhlIHJpc2tcclxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBleHByZXNzaW9uIGluIHRoZSBmdW5jdGlvbi5cclxuICAgKi9cclxuICBzZXRSaXNrTGFiZWwobGFiZWw/OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaChsYWJlbD8udG9Mb3dlckNhc2UoKSl7XHJcbiAgICAgIGNhc2UgJ25ldyByaXNrJzogcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgJ2VtZXJnaW5nL3JhcGlkbHkgY2hhbmdpbmcgcmlza3MnOiByZXR1cm4gMjtcclxuICAgICAgZGVmYXVsdDogcmV0dXJuIDFcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFwiSWYgdGhlIGRhdGUgaXMgYSBudW1iZXIsIGNvbnZlcnQgaXQgdG8gYSBkYXRlIG9iamVjdCwgdGhlbiBjcmVhdGUgYSBuZXcgZGF0ZSBvYmplY3Qgd2l0aCB0aGVcclxuICAgKiB0aW1lem9uZSBzZXQgdG8gdGhlIHVzZXIncyB0aW1lem9uZSwgdGhlbiByZXR1cm4gdGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBZWVlZLU1NLURELlwiXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSBkYXRlIC0gYW55IC0gdGhlIGRhdGUgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSB0aW1lem9uZSBvZlxyXG4gICAqIEByZXR1cm5zIFRoZSBkYXRlIGlzIGJlaW5nIHJldHVybmVkIGluIHRoZSB0aW1lem9uZSBvZiB0aGUgdXNlci5cclxuICAgKi9cclxuICBjaGFuZ2VUaW1lWm9uZShkYXRlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW52RGF0ZSA9IG5ldyBEYXRlKFxyXG4gICAgICBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICB0aW1lWm9uZTogdGhpcy5hdXRoU2VydmljZS51c2VyRGV0YWlscz8udGltZXpvbmUsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIG1vbWVudChpbnZEYXRlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
706
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSxFQUFFLFlBQVksRUFBNkQsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQVNqQyxNQUFNLE9BQU8sd0JBQXdCO0lBOEVuQyxZQUFvQixXQUEyQixFQUNyQyxXQUF3QixFQUN2QixRQUF3QixFQUN6QixnQkFBc0M7UUFINUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7UUFoRnRDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFD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QUFPLENBQUMsQ0FBQTtTQUNsQjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsSUFBUzs7UUFDdEIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQzNCLFFBQVEsRUFBRSxNQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVywwQ0FBRSxRQUFRO1NBQ2pELENBQUMsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQXB1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLGdqSUFBaUQ7O2FBR2xEOzs7WUFYUSxjQUFjO1lBQ2QsV0FBVztZQUZYLGVBQWU7WUFHZixvQkFBb0I7Ozs0QkFXMUIsTUFBTTs2QkFDTixNQUFNOzRCQUNOLE1BQU07Z0NBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlMaXN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jYXRlZ29yeUxpc3QnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUmlza1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hZGQtcmlzay5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lCdWxrU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG50eXBlIEFPQSA9IGFueVtdW107XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1tdWx0aXBsZS1yaXNrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudC5sZXNzJywgJy4uL2Zvcm1zLmxlc3MnXSxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQE91dHB1dCgpIHBpY2tlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHBvcHVsYXRlT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkaXNjb25uZWN0UmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjYXRlZ29yeUxpc3Q6IENhdGVnb3J5TGlzdCA9IHtcclxuICAgIHN0cmF0ZWdpYzoge1xyXG4gICAgICBuYW1lOiAnU1RSQVRFR0lDJyxcclxuICAgICAgZGF0YTogW11cclxuICAgIH0sXHJcbiAgICBvcGVyYXRpb25hbDoge1xyXG4gICAgICBuYW1lOiAnT1BFUkFUSU9OQUwnLFxyXG4gICAgICBkYXRhOiBbXVxyXG4gICAgfSxcclxuICAgIGNvbXBsaWFuY2U6IHtcclxuICAgICAgbmFtZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICBkYXRhOiBbXVxyXG4gICAgfSxcclxuICAgIG90aGVyczoge1xyXG4gICAgICBuYW1lOiAnT1RIRVJTJyxcclxuICAgICAgZGF0YTogW11cclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgY2F0ZWdvcnk6IGFueSA9IHtcclxuICAgIHR5cGU6ICdzdHJhdGVnaWMnLFxyXG4gICAgc2VsZWN0ZWRDYXRlZ29yeTogJycsXHJcbiAgfVxyXG5cclxuICByaXNrQnVsa1VwbG9hZDogYW55ID0ge1xyXG4gICAgaGVhZGVyOiBbXSxcclxuICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgcmlza3M6IFtdLFxyXG4gIH1cclxuXHJcbiAgdGVtcGxhdGVJbmZvOiBhbnkgPSB7XHJcbiAgICBtZW1iZXJJZDogJycsXHJcbiAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgIG93bmVyTGlzdDogW10sXHJcbiAgICByY0xpc3Q6IFtdLFxyXG4gICAgbWl0aWdhdGlvbkxpc3Q6IFtdLFxyXG4gICAgbGlrZWxpaG9vZDpbXSxcclxuICAgIGltcGFjdDpbXSxcclxuICAgIHZlbG9jaXR5OltdLFxyXG4gICAgdnVsbmVyYWJpbGl0eTpbXVxyXG4gIH1cclxuXHJcbiAgaXNMb2FkZXIgPSBmYWxzZTtcclxuICBzaG93Q2F0ZWdvcnlMaXN0ID0gZmFsc2U7XHJcbiAgdGVtcGxhdGVEb3dubG9hZGVkID0gZmFsc2U7XHJcbiAgZG93bmxvYWRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgbG9hZGVyID0gZmFsc2U7XHJcbiAgc2V0dGluZ3NJbmZvICE6IGFueTtcclxuICBpc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gIGZpbGVOYW1lOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIGFzc2Vzc21lbnREZWFkTGluZTogYW55O1xyXG4gIHNob3dFeGNlbCA9IGZhbHNlO1xyXG4gIGZpbGVWYWx1ZTphbnk7XHJcbiAgbWVtYmVySWQgPSAwO1xyXG4gIG9yZ2FuaXphdGlvbklkID0gMDtcclxuICBlcnJvck1lc3NhZ2UgPSBcIiBpbnZhbGlkIGZpbGUgZXJyb3JcIlxyXG4gIGRvd25sb2FkU3RhdHVzOiBzdHJpbmcgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICBkb3dubG9hZFBlcmNlbnQgPSAwO1xyXG5cclxuICBzbWlsZXlNZXNzYWdlID0gYFlvdSdyZSBBbGwgU2V0ISBXZSdyZSB1cGxvYWRpbmcgdGhlIHJpc2tzLiBUaGUgcmlzayBvd25lcnMgd2lsbCBiZSBub3RpZmllZCBvbmNlIHRoZSByaXNrcyBoYXZlIGJlZW4gdXBsb2FkZWQuYDtcclxuICBhY3Rpb25CdXR0b25zID0gW1xyXG4gICAgeyBidXR0b25UZXh0OiAnQWRkIE1vcmUgUmlza3MnLCBjbGFzczogJ3doaXRlLWJ0bicsIGlkOiAnYWRkTW9yZScgfSxcclxuICAgIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmlzaycsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3ZpZXdSaXNrcycgfSxcclxuICBdO1xyXG4gIHNob3dTbWlsZXkgPSBmYWxzZTtcclxuICBtZW1iZXJfb2JqX2lkID0gJyc7XHJcbiAgZGVmYXVsdE93bmVyID0gJydcclxuICByaXNrRGF0YSAhOmFueTsgIFxyXG4gIGZyZXF1ZW5jeVR5cGUgPSBbJ3dlZWtseScsICdtb250aGx5JywgJ3F1YXJ0ZXJseScsICdiaWFubnVhbCcsICdhbm51YWwnLCAnb25lIHRpbWUnXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByaXNrU2VydmljZTogQWRkUmlza1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgIHNuYWNrQmFyOlNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5QnVsa1NlcnZpY2UsKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucGlja2VyQ2hhbmdlZC5lbWl0KGZhbHNlKTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KCk7XHJcbiAgICB0aGlzLmdldFNldHRpbmdzSW5mbygpO1xyXG5cclxuICAgIHRoaXMub3JnYW5pemF0aW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCk7XHJcbiAgICB0aGlzLm1lbWJlcklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRNZW1iZXJJZCgpO1xyXG4gICAgdGhpcy5tZW1iZXJfb2JqX2lkID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyRGV0YWlscygpLl9pZDtcclxuICB9XHJcbiAgZ2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG4gICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmdldENhdGVnb3J5TGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMuZGF0YSA9IHJlcy5zdHJhdGVnaWNfYXJyO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vcGVyYXRpb25hbC5kYXRhID0gcmVzLm9wZXJhdGlvbmFsX2FycjtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QuY29tcGxpYW5jZS5kYXRhID0gcmVzLmNvbXBsaWFuY2VfYXJyO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuZGF0YSA9IHJlcy5vdGhlcnNfYXJyO1xyXG5cclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuICBzYXZlU2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZih0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCAhPWNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCl7XHJcbiAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0NhdGVnb3J5TGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IGNhdGVnb3J5O1xyXG4gICAgY29uc3QgcmVmZXJlbmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Njcm9sbFJlZmVyZW5jZScpO1xyXG4gICAgaWYgKHJlZmVyZW5jZSkge1xyXG4gICAgICByZWZlcmVuY2Uuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzZXQoKTtcclxuXHJcbiAgfVxyXG4gIHJlbW92ZUNhdGVnb3J5KCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IHtcclxuICAgICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnXHJcbiAgICB9O1xyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gIH1cclxuICBnZXRTZXR0aW5nc0luZm8oKSB7XHJcblxyXG4gICAgdGhpcy5yaXNrU2VydmljZS5nZXRSaXNrU2V0dGluZ0RldGFpbHMoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZXR0aW5nc0luZm8gPSByZXM7XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIHRyaWdnZXJCcm93c2VGaWxlKCkge1xyXG4gICAgY29uc3QgZ2V0RmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5wdXQnKTtcclxuICAgIGlmIChnZXRGaWxlKSB7XHJcbiAgICAgIGdldEZpbGUuY2xpY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwbG9hZGVkRmlsZShldmVudDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkID0ge1xyXG4gICAgICAgIGhlYWRlcjogW10sXHJcbiAgICAgICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICAgICAgcmlza3M6IFtdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50ZW1wbGF0ZUluZm8gPSB7XHJcbiAgICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgICAgIG93bmVyTGlzdDogW10sXHJcbiAgICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgICBtaXRpZ2F0aW9uTGlzdDogW10sXHJcbiAgICAgICAgbGlrZWxpaG9vZDpbXSxcclxuICAgICAgICBpbXBhY3Q6W10sXHJcbiAgICAgICAgdmVsb2NpdHk6W10sXHJcbiAgICAgICAgdnVsbmVyYWJpbGl0eTpbXVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzY3JvbGxSZWZlcmVuY2UnKTtcclxuICAgICAgaWYgKHJlZmVyZW5jZSkge1xyXG4gICAgICAgIHJlZmVyZW5jZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWxlTmFtZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXS5uYW1lO1xyXG5cclxuICAgICAgY29uc3QgdGFyZ2V0OiBEYXRhVHJhbnNmZXIgPSBldmVudC50YXJnZXQgYXMgRGF0YVRyYW5zZmVyO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGN1cmx5XHJcbiAgICAgIGlmICh0YXJnZXQuZmlsZXMubGVuZ3RoICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgbXVsdGlwbGUgZmlsZXMnKTtcclxuICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBic3RyOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoYnN0ciwgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3NuYW1lMTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1sxXTtcclxuXHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZTFdO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24od3MsIHtcclxuICAgICAgICAgIGhlYWRlcjogMSxcclxuICAgICAgICB9KSBhcyBBT0E7XHJcblxyXG4gICAgICAgIGNvbnN0IHREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7IGhlYWRlcjogMSB9KSBhcyBBT0E7XHJcbiAgICAgICAgY29uc3QgdGVtcExpc3QgPSB0RGF0YS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm1lbWJlcklkID0gdGVtcExpc3RbMF1bNTZdXHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8uY2F0ZWdvcnlJZCA9IHRlbXBMaXN0WzBdWzU1XVxyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQuaGVhZGVyID0gY2xvbmVEZWVwKHRoaXMuZGF0YVs0XS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApKTtcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMgPSBjbG9uZURlZXAodGhpcy5kYXRhWzVdLmZpbHRlcigod2VpZ2h0RmFjdG9yOiBhbnkpID0+IHdlaWdodEZhY3Rvci5sZW5ndGggPiAwKSk7XHJcbiAgICAgICAgdGVtcExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbOF0pIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG1lbWJlciA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50WzhdLFxyXG4gICAgICAgICAgICAgIG1lbWJlcl9pZDogZWxlbWVudFs5XVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdC5wdXNoKG1lbWJlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZWxlbWVudFsyXSkge1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbWl0aWdhdGlvbiA9IHtcclxuICAgICAgICAgICAgICBtaXRpZ2F0aW9uTmFtZTogZWxlbWVudFsyXSxcclxuICAgICAgICAgICAgICBtaXRpZ2F0aW9uX2lkOiBlbGVtZW50WzNdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWl0aWdhdGlvbkxpc3QucHVzaChtaXRpZ2F0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzZdKSB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCByYyA9IHtcclxuICAgICAgICAgICAgICByY05hbWU6IGVsZW1lbnRbNl0sXHJcbiAgICAgICAgICAgICAgcmNfaWQ6IGVsZW1lbnRbN10sXHJcbiAgICAgICAgICAgICAgb3duZXJfaWRzOiBlbGVtZW50WzExXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5wdXNoKHJjKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoZWxlbWVudFsxMl0pIHsgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mbz8ubGlrZWxpaG9vZC5wdXNoKGVsZW1lbnRbMTJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzEzXSkgeyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QucHVzaChlbGVtZW50WzEzXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1ZlbG9jaXR5JykgJiYgZWxlbWVudFsxNF0pIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8udmVsb2NpdHkucHVzaChlbGVtZW50WzE0XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1Z1bG5lcmFiaWxpdHknKSAmJiBlbGVtZW50WzE1XSkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby52dWxuZXJhYmlsaXR5LnB1c2goZWxlbWVudFsxNV0pO1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICsgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC5oZWFkZXJbMF0gIT09ICdXaGF0IHJpc2sgd291bGQgeW91IGxpa2UgdG8gbWFuYWdlPyonKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICsgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGE/LnNsaWNlKDcpO1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRPd25lciA9IHRoaXMudGVtcGxhdGVJbmZvPy5vd25lckxpc3Q/LmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkID09IHRoaXMubWVtYmVySWQpO1xyXG4gICAgICAgIGlmKGRlZmF1bHRPd25lciAhPS0xKXtcclxuICAgICAgICAgIHRoaXMuZGVmYXVsdE93bmVyID0gdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0W2RlZmF1bHRPd25lcl0ubmFtZVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnVGhlIGluY29ycmVjdCBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkLiBQbGVhc2UgdXBsb2FkIHRoZSB0ZW1wbGF0ZSBmaWxlIGZvciBSaXNrIENhdGVnb3J5OicgKyB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSArICcgUkVUUlknO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoKHRoaXMubWVtYmVyX29ial9pZCAhPSB0aGlzLnRlbXBsYXRlSW5mby5tZW1iZXJJZCkgfHwgKHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5faWQgIT0gdGhpcy50ZW1wbGF0ZUluZm8uY2F0ZWdvcnlJZCkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICsgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgKyAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmNoZWNrRW1wdHlGaWxlKCk7XHJcbiAgICAgICAgaWYgKGlzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1lvdSBoYXZlIHVwbG9hZGVkIGEgYmxhbmsgdGVtcGxhdGUuIFBsZWFzZSBhZGQgZGV0YWlscyBmb3IgYWxsIG1hbmRhdG9yeSBmaWVsZHMuIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC5oZWFkZXJbNl0gPT09ICdSaXNrIEFzc2Vzc21lbnQgRGVhZGxpbmUqJykge1xyXG4gICAgICAgICAgICB0aGlzLmFzc2Vzc21lbnREZWFkTGluZSA9IHRydWU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFzc2Vzc21lbnREZWFkTGluZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZpbGVWYWx1ZSA9ICcnO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgcmlza0RhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwKTtcclxuXHJcbiAgICAgICAgcmlza0RhdGEuZm9yRWFjaCgocmlzazogYW55LCBpbmRleDogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgLy8gY29uc3Qgb2JqOiBhbnkgPSB7XHJcbiAgICAgICAgICAvLyAgIHJpc2tOYW1lOiByaXNrWzBdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBkZXNjcmlwdGlvbjogcmlza1sxXSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgcmNOYW1lOiByaXNrWzJdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBvd25lcjogcmlza1szXSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgbWl0aWdhdGlvblByaW9yaXR5OiByaXNrWzRdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBvdmVyc2Vlcjogcmlza1s1XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgaXNWYWxpZDogdGhpcy5jaGVja1ZhbGlkaXR5KHJpc2spLFxyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIGlmICh0aGlzLmFzc2Vzc21lbnREZWFkTGluZSkge1xyXG4gICAgICAgICAgLy8gICBvYmouYXNzZXNzbWVudERlYWRMaW5lID0gcmlza1s2XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgb2JqLmxpa2VsaWhvb2QgPSByaXNrWzddID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmouaW1wYWN0ID0gcmlza1s4XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggPT0gMykge1xyXG4gICAgICAgICAgLy8gICAgIG9iai52ZWxvY2l0eSA9IHJpc2tbOV0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggPT0gNCkge1xyXG4gICAgICAgICAgLy8gICAgIG9iai52ZWxvY2l0eSA9IHJpc2tbOV0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZ1bG5lcmFiaWxpdHkgPSByaXNrWzEwXSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuXHJcbiAgICAgICAgICAvLyAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jdXN0b21fdGFnLmZvckVhY2goKHRhZzogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgaWYgKHRhZykge1xyXG4gICAgICAgICAgLy8gICAgICAgY29uc3QgY1RhZyA9IHtcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1s3ICsgdGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCArIGluZGV4XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgICAgLy8gICAgICAgfTtcclxuICAgICAgICAgIC8vICAgICAgIGN1c3RvbVRhZ3MucHVzaChjVGFnKTtcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgIH0pO1xyXG4gICAgICAgICAgLy8gICBvYmouY3VzdG9tVGFnID0gY3VzdG9tVGFncztcclxuICAgICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyAgIG9iai5saWtlbGlob29kID0gcmlza1s2XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgb2JqLmltcGFjdCA9IHJpc2tbN10gPz8gJyc7XHJcblxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s4XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSA0KSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s4XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgICBvYmoudnVsbmVyYWJpbGl0eSA9IHJpc2tbOV0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICAgICAgICAvLyAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jdXN0b21fdGFnLmZvckVhY2goKHRhZzogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgaWYgKHRhZykge1xyXG4gICAgICAgICAgLy8gICAgICAgY29uc3QgY1RhZyA9IHtcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1s2ICsgdGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCArIGluZGV4XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgICAgLy8gICAgICAgfTtcclxuICAgICAgICAgIC8vICAgICAgIGN1c3RvbVRhZ3MucHVzaChjVGFnKTtcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgIH0pO1xyXG4gICAgICAgICAgLy8gICBvYmouY3VzdG9tVGFnID0gY3VzdG9tVGFncztcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIGxldCBvYmogPSB0aGlzLnNldFJpc2tEZXRhaWxzKHJpc2spXHJcbiAgICAgICAgICBpZiAob2JqPy5saWtlbGlob29kICYmICF0aGlzLnRlbXBsYXRlSW5mbz8ubGlrZWxpaG9vZC5pbmNsdWRlcyhvYmo/Lmxpa2VsaWhvb2QpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy5pbXBhY3QgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QuaW5jbHVkZXMob2JqPy5pbXBhY3QpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy52ZWxvY2l0eSAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/LnZlbG9jaXR5LmluY2x1ZGVzKG9iaj8udmVsb2NpdHkpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy52dWxuZXJhYmlsaXR5ICYmICF0aGlzLnRlbXBsYXRlSW5mbz8udnVsbmVyYWJpbGl0eS5pbmNsdWRlcyhvYmo/LnZ1bG5lcmFiaWxpdHkpKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQucmlza3MucHVzaChvYmopO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSB0cnVlO1xyXG4gICAgICB9O1xyXG4gICAgICByZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRhcmdldD8uZmlsZXNbMF0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tFbXB0eUZpbGUoKSB7XHJcbiAgICBsZXQgaXNFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCk7XHJcbiAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCA8IDEpIHtcclxuICAgICAgaXNFbXB0eSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNFbXB0eTtcclxuICB9XHJcblxyXG4gIGNoZWNrVmFsaWRpdHkocmlzazogYW55KSB7XHJcbiAgICBjb25zdCByZSA9IC8mbmJzcDt8PGJyPi9nO1xyXG4gICAgbGV0IHRyaW1tZWROYW1lID0gKHJpc2tbMF0pID8gcmlza1swXS50b1N0cmluZygpLnJlcGxhY2UocmUsICcnKS50cmltKCkgOiAnJztcclxuICAgIHRyaW1tZWROYW1lID0gdHJpbW1lZE5hbWUucmVwbGFjZSgvICArL2csICcgJyk7XHJcbiAgICAvLyB8fCAodGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgJiYgKCFyaXNrWzZdKSlcclxuICAgIGlmICgoIXRyaW1tZWROYW1lKSB8fCAocmlza1szXSAmJiAocmlza1szXSA9PSByaXNrWzZdKSkgfHwgKCghcmlza1szXSkgJiYgKHRoaXMuZGVmYXVsdE93bmVyID09IHJpc2tbNl0pKVxyXG4gICAgICB8fCAoIXJpc2tbMl0pIHx8ICghdGhpcy5mcmVxdWVuY3lUeXBlPy5pbmNsdWRlcyhyaXNrWzRdPy50b0xvd2VyQ2FzZSgpKSkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHsgcmV0dXJuIHRydWUgfVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURJTkcnO1xyXG4gICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAwO1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKTtcclxuICAgIGNvbnN0IGRvd25sb2FkRGF0ZSA9IHRvZGF5WzBdO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSAnVkNvbXBseSAtIFJpc2sgTW9kdWxlIC0gQWRkIE11bHRpcGxlIFJpc2tzIC0gJysgdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSArJyAtICcgKyBkb3dubG9hZERhdGUgKyAnLnhsc3gnO1xyXG5cclxuICAgIHRoaXMucmlza1NlcnZpY2UuZG93bmxvYWRUZW1wbGF0ZSh0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sb2FkZWQpIHtcclxuICAgICAgICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMTAwICogKGRhdGEubG9hZGVkIC8gZGF0YS50b3RhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRhLmJvZHkpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gdGhpcy5yaXNrU2VydmljZS5kb3duTG9hZEZpbGUoZGF0YS5ib2R5LCAnYXBwbGljYXRpb24veGxzeCcsIGZpbGVOYW1lKTtcclxuICAgICAgICAgIH0sIDE1MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURFRCc7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRSaXNrQnVsa1VwbG9hZChjb21wbGV0ZUFzc2Vzc21lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZDogYW55ID0gW107XHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBmcmVxdWVuY3lWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5zaG9ydEhhbmRfZnJlcUNhbChyaXNrPy5mcmVxdWVuY3kpO1xyXG4gICAgICBpZiAocmlzay5pc1ZhbGlkKSB7XHJcbiAgICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgICAgdGl0bGU6IHJpc2s/LnJpc2tOYW1lLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IHJpc2s/LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgY2F0ZWdvcnlfY3VzdG9tX3RhZzogcmlzaz8uY3VzdG9tVGFnLFxyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGU6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZSxcclxuICAgICAgICAgIG93bmVyOiAocmlzaz8ub3duZXIpID8gdGhpcy5yZXR1cm5JZHMocmlzaz8ub3duZXIsICdvd25lcicpIDogdGhpcy5yZXR1cm5JZHModGhpcy5kZWZhdWx0T3duZXIsICdvd25lcicpLFxyXG4gICAgICAgICAgY2F0ZWdvcnk6ICh0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCkgPyBbdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWRdIDogW10sXHJcbiAgICAgICAgICBtYW5hZ2Vfb3ZlcnNpZ2h0OiB0aGlzLnJldHVybklkcyhyaXNrPy5vdmVyc2VlciwgJ292ZXJzZWVyJyksXHJcbiAgICAgICAgICByY19pZDogdGhpcy5yZXR1cm5JZHMocmlzaz8ucmNOYW1lLCAncmNfaWQnKSxcclxuICAgICAgICAgIGhlYWRfaWRzOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19vd25lcl9pZHMnKSwgLy8yIHRvIGJlIGFyYXlcclxuICAgICAgICAgIHJhdGluZ19hcnI6IFtcclxuICAgICAgICAgICAgcmlzaz8ubGlrZWxpaG9vZCA/IHJpc2s/Lmxpa2VsaWhvb2Quc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8uaW1wYWN0ID8gcmlzaz8uaW1wYWN0LnNwbGl0KCcgLSAnKVsxXSA6IDAsXHJcbiAgICAgICAgICAgIHJpc2s/LnZlbG9jaXR5ID8gcmlzaz8udmVsb2NpdHkuc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8udnVsbmVyYWJpbGl0eSA/IHJpc2s/LnZ1bG5lcmFiaWxpdHkuc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBtZW1iZXJfaWQ6IHRoaXMubWVtYmVySWQsXHJcbiAgICAgICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMub3JnYW5pemF0aW9uSWQsXHJcbiAgICAgICAgICByaXNrX3Byb2dyZXNzX2ZsYWc6IDEsXHJcbiAgICAgICAgICBJZkFzc2Vzc21lbnREb25lOiAwLFxyXG4gICAgICAgICAgd29ya3Nob3BfaWQ6ICcnLFxyXG4gICAgICAgICAgY29tcGxldGVfYXNzZXNzbWVudDogKGNvbXBsZXRlQXNzZXNzbWVudCkgPyAxIDogMCxcclxuICAgICAgICAgIG1pdGlnYXRpb246IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm1pdGlnYXRpb25Qcmlvcml0eSwgJ21pdGlnYXRpb24nKSwgLy8zIHdyb25nXHJcbiAgICAgICAgICB3ZWlnaHRhZ2VfZW5hYmxlOiB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2VuYWJsZSxcclxuICAgICAgICAgIHRyZWF0bWVudF90eXBlOiB0aGlzLnNldHRpbmdzSW5mbz8udHJlYXRtZW50X2NyaXRlcmlhLFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX2RldGFpbHM6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscyxcclxuICAgICAgICAgIHdlaWdodGFnZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2Vfc2V0X2J5LFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX3N0cjogW1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LmltcGFjdC52YWx1ZSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzPy5saWtlbGlob29kLnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LnZlbG9jaXR5LnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/LnZ1bG5lcmFiaWxpdHkudmFsdWUsXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgLy8gYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieSwgLy9jaGVjazEgbm90IGFwcGVhcmluZ1xyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnk6IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieSA/PyB0aGlzLm1lbWJlcklkLCAvL2NoZWNrMSBub3QgYXBwZWFyaW5nXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM6ICh0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGUpID8gdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5cyA6IHJpc2s/LmFzc2Vzc21lbnREZWFkTGluZSxcclxuICAgICAgICAgIGZyZXF1ZW5jeV9kZXRhaWxzOiB7XHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeTogZnJlcXVlbmN5VmFsdWUsXHJcbiAgICAgICAgICAgIHN0YXJ0ZWRfYXQ6IHRoaXMuY2hhbmdlVGltZVpvbmUobmV3IERhdGUpID8/IG1vbWVudCgpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeV90aW1lOiBcIjExOjAwIHBtXCIsXHJcbiAgICAgICAgICAgIHJlbWluZF9iZWZvcmVfZGF5czogcmlzaz8uZW1haWxSZW1pbmRlciA/IHJpc2s/LmVtYWlsUmVtaW5kZXIgOiB0aGlzLnNldERlZmF1bHRFbWFpbFJlbWluZGVyVmFsdWUocmlzaz8uZnJlcXVlbmN5KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICByaXNrX2xhYmVsOiB0aGlzLnNldFJpc2tMYWJlbChyaXNrPy5yaXNrTGFiZWwpLFxyXG4gICAgICAgICAgbWl0aWdhdGlvbl9wbGFuX3JlY29tbWVuZGF0aW9uOiByaXNrPy5taXRpZ2F0aW9uUGxhbnMgPz8gJycsXHJcbiAgICAgICAgICBzYW1lUmlza1JhdGluZ3NGb3JBbGxSQzogcmlzaz8uYXBwbHlTYW1lUmlza1JhdGluZyA/PyAnTm8nLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcGF5bG9hZC5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2coXCJwYXlsb2FkcGF5bG9hZHBheWxvYWRwYXlsb2FkcGF5bG9hZHBheWxvYWQgID09PT0+XCIscGF5bG9hZClcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmFkZEJ1bGtSaXNrKHBheWxvYWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93RXhjZWwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yaXNrRGF0YSA9IHJlcztcclxuICAgIH0sXHJcbiAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdPT1BTISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgdGhlIHBhZ2UgY291bGQgbm90IGJlIGxvYWRlZC4gQ291bGQgeW91IHBsZWFzZSB0cnkgb25lIG1vcmUgdGltZT8nLCAnYWxlcnQnKTtcclxuXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcmV0dXJuSWRzKGl0ZW06IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgJ3JjX2lkJzpcclxuICAgICAgICBjb25zdCByY0lkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QuZm9yRWFjaCgocmNfZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmNfZWxlbWVudC5yY05hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICByY0lkLnB1c2gocmNfZWxlbWVudC5yY19pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmNJZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmNfb3duZXJfaWRzJzpcclxuICAgICAgICBsZXQgb3duZXJfaWRzOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QuZm9yRWFjaCgoaGVhZGVySWRzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChoZWFkZXJJZHMucmNOYW1lID09IGl0ZW0gJiYgaGVhZGVySWRzLm93bmVyX2lkcykge1xyXG4gICAgICAgICAgICBvd25lcl9pZHM9IGhlYWRlcklkcy5vd25lcl9pZHMuaW5jbHVkZXMoJywnKT8gaGVhZGVySWRzLm93bmVyX2lkcy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpIDpbTnVtYmVyKGhlYWRlcklkcy5vd25lcl9pZHMpXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3duZXJfaWRzO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvd25lcic6XHJcbiAgICAgICAgY29uc3Qgb3duZXJJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQubmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG93bmVySWQucHVzaChlbGVtZW50Lm1lbWJlcl9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3duZXJJZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb3ZlcnNlZXInOlxyXG4gICAgICAgIGNvbnN0IG92ZXJzZWVySWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdC5mb3JFYWNoKChvc19lbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChvc19lbGVtZW50Lm5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBvdmVyc2VlcklkLnB1c2gob3NfZWxlbWVudC5tZW1iZXJfaWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG92ZXJzZWVySWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdtaXRpZ2F0aW9uJzpcclxuICAgICAgICBsZXQgbWl0aWdhdGlvbklkOiBhbnk9MDtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5taXRpZ2F0aW9uTGlzdC5mb3JFYWNoKChtaXRpZ2F0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChtaXRpZ2F0aW9uLm1pdGlnYXRpb25OYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgbWl0aWdhdGlvbklkID0gbWl0aWdhdGlvbi5taXRpZ2F0aW9uX2lkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1pdGlnYXRpb25JZDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgIGhlYWRlcjogW10sXHJcbiAgICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgICByaXNrczogW11cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRlbXBsYXRlSW5mbyA9IHtcclxuICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgICAgb3duZXJMaXN0OiBbXSxcclxuICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgbWl0aWdhdGlvbkxpc3Q6IFtdXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5maWxlTmFtZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGF0YSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gdW5kZWZpbmVkXHJcbiAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcblxyXG4gIH1cclxuICBhY3Rpb24oZXZlbnQ6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChldmVudCkge1xyXG4gICAgICBjYXNlICdhZGRNb3JlJzpcclxuICAgICAgICB0aGlzLmNhdGVnb3J5ID0ge1xyXG4gICAgICAgICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICAgICAgICBzZWxlY3RlZENhdGVnb3J5OiAnJyxcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndmlld1Jpc2tzJzpcclxuICAgICAgICB0aGlzLnZpZXdSaXNrcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7ZXZ0OnRoaXMucmlza0RhdGEsIGNvbmZpcm0gOiBmYWxzZX0pO1xyXG4gIH1cclxuXHJcbiAgdmlld1Jpc2tzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcclxuICAgIGxldCB1cmw6IHN0cmluZztcclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdC5zdGFydHNXaXRoKCdsb2NhbGhvc3QnKSkge1xyXG4gICAgICB1cmwgPSAnaHR0cDovLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVybCA9ICdodHRwczovLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdDtcclxuICAgIH1cclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdC5zdGFydHNXaXRoKCdsb2NhbGhvc3QnKSkge1xyXG4gICAgICB1cmwgKz0gJy9yaXNrLXJlZ2lzdGVyJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVybCArPSAnL3Jpc2svcmlzay1yZWdpc3Rlcic7XHJcbiAgICB9XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0IHRha2VzIGFuIGFycmF5IG9mIHN0cmluZ3MgYW5kIHJldHVybnMgYW4gb2JqZWN0IHdpdGggdGhlIGFycmF5IHZhbHVlcyBhcyBwcm9wZXJ0aWVzLlxyXG4gICAqIDwvY29kZT5cclxuICAgKiBAcGFyYW0ge2FueX0gcmlzayAtIGFueSA9IFtcclxuICAgKiBAcmV0dXJucyBbXHJcbiAgICogICB7XHJcbiAgICogICAgIFwicmlza05hbWVcIjogXCJcIixcclxuICAgKiAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxyXG4gICAqICAgICBcInJjTmFtZVwiOiBcIlwiLFxyXG4gICAqICAgICBcIm93bmVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwiZnJlcXVlbmN5XCI6IFwiXCIsXHJcbiAgICogICAgIFwiZW1haWxSZW1pbmRlclwiOiBcIlwiLFxyXG4gICAqICAgICBcIm92ZXJzZWVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwiaXNWYWxpZFwiOiBmYWxzZSxcclxuICAgKiAgICAgXCJtaXRpZ2F0aW9uUHJpb3JpdHlcIjogXCJcIixcclxuICAgKi9cclxuICBzZXRSaXNrRGV0YWlscyhyaXNrOiBhbnkpIHtcclxuICAgIGxldCBvYmo6IGFueTtcclxuICAgIG9iaiA9IHtcclxuICAgICAgcmlza05hbWU6IHJpc2tbMF0gPz8gJycsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiByaXNrWzFdID8/ICcnLFxyXG4gICAgICByY05hbWU6IHJpc2tbMl0gPz8gJycsXHJcbiAgICAgIG93bmVyOiByaXNrWzNdID8/ICcnLFxyXG4gICAgICBmcmVxdWVuY3k6IHJpc2tbNF0gPz8gJycsXHJcbiAgICAgIGVtYWlsUmVtaW5kZXI6IHJpc2tbNV0sXHJcbiAgICAgIG92ZXJzZWVyOiByaXNrWzZdID8/ICcnLFxyXG4gICAgICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICB9XHJcbiAgICBsZXQgaW5kZXggPSA3O1xyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnUmVjb21tZW5kZWQgTWl0aWdhdGlvbiBQcmlvcml0eScpKSB7IFxyXG4gICAgICBvYmpbJ21pdGlnYXRpb25Qcmlvcml0eSddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4ICsrO1xyXG4gICAgfVxyXG4gICAgb2JqWydtaXRpZ2F0aW9uUGxhbnMnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXggKys7XHJcbiAgICBvYmpbJ3Jpc2tMYWJlbCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCArKztcclxuICAgIG9ialsnbGlrZWxpaG9vZCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCArKztcclxuICAgIG9ialsnaW1wYWN0J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4ICsrO1xyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1ZlbG9jaXR5JykpIHtcclxuICAgICAgb2JqWyd2ZWxvY2l0eSddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9IFxyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1Z1bG5lcmFiaWxpdHknKSkge1xyXG4gICAgICBvYmpbJ3Z1bG5lcmFiaWxpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnRG8geW91IHdhbnQgdG8gYXBwbHkgdGhlIHNhbWUgcmlzayByYXRpbmdzIGZvciBhbGwgUmVzcG9uc2liaWxpdHkgQ2VudGVycz8nKSkge1xyXG4gICAgICBvYmpbJ2FwcGx5U2FtZVJpc2tSYXRpbmcnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jdXN0b21fdGFnPy5mb3JFYWNoKCh0YWc6IGFueSwgaTogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0YWcpIHtcclxuICAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1tpbmRleCArIGldID8/ICcnLFxyXG4gICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIG9ialsnY3VzdG9tVGFnJ10gPSBjdXN0b21UYWdzO1xyXG4gICAgb2JqWydpc1ZhbGlkRnJlcXVlbmN5J10gPSB0aGlzLmZyZXF1ZW5jeVR5cGU/LmluY2x1ZGVzKG9iaj8uZnJlcXVlbmN5Py50b0xvd2VyQ2FzZSgpKTtcclxuICAgIHJldHVybiBvYmo7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgZnJlcXVlbmN5VHlwZSBpcyB3ZWVrbHksIHJldHVybiAyLCBpZiBpdCdzIG1vbnRobHksIHJldHVybiA3LCBpZiBpdCdzIHF1YXJ0ZXJseSwgcmV0dXJuIDcsXHJcbiAgICogaWYgaXQncyBiaWFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIGFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIG9uZSB0aW1lLCByZXR1cm4gMTUsIG90aGVyd2lzZVxyXG4gICAqIHJldHVybiAwLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZnJlcXVlbmN5VHlwZV0gLSBzdHJpbmcgLSB0aGUgZnJlcXVlbmN5IHR5cGUgb2YgdGhlIHJlbWluZGVyXHJcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGRheXMgYmVmb3JlIHRoZSBldmVudCB0aGF0IHRoZSByZW1pbmRlciBzaG91bGQgYmUgc2VudC5cclxuICAgKi9cclxuICBzZXREZWZhdWx0RW1haWxSZW1pbmRlclZhbHVlKGZyZXF1ZW5jeVR5cGU/OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgc3dpdGNoKGZyZXF1ZW5jeVR5cGU/LnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnd2Vla2x5JyA6IHJldHVybiAyO1xyXG4gICAgICBjYXNlICdtb250aGx5JyA6IHJldHVybiA3O1xyXG4gICAgICBjYXNlICdxdWFydGVybHknIDogcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ2JpYW5udWFsJyA6IHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnYW5udWFsJyA6IHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnb25lIHRpbWUnIDogcmV0dXJuIDE1O1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBsYWJlbCBpcyAnbmV3IHJpc2snLCByZXR1cm4gMSwgaWYgdGhlIGxhYmVsIGlzICdlbWVyZ2luZy9yYXBpZGx5IGNoYW5naW5nIHJpc2tzJywgcmV0dXJuIDIsXHJcbiAgICogb3RoZXJ3aXNlIHJldHVybiAxXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsYWJlbF0gLSB0aGUgbGFiZWwgb2YgdGhlIHJpc2tcclxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBleHByZXNzaW9uIGluIHRoZSBmdW5jdGlvbi5cclxuICAgKi9cclxuICBzZXRSaXNrTGFiZWwobGFiZWw/OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaChsYWJlbD8udG9Mb3dlckNhc2UoKSl7XHJcbiAgICAgIGNhc2UgJ25ldyByaXNrJzogcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgJ2VtZXJnaW5nL3JhcGlkbHkgY2hhbmdpbmcgcmlza3MnOiByZXR1cm4gMjtcclxuICAgICAgZGVmYXVsdDogcmV0dXJuIDFcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFwiSWYgdGhlIGRhdGUgaXMgYSBudW1iZXIsIGNvbnZlcnQgaXQgdG8gYSBkYXRlIG9iamVjdCwgdGhlbiBjcmVhdGUgYSBuZXcgZGF0ZSBvYmplY3Qgd2l0aCB0aGVcclxuICAgKiB0aW1lem9uZSBzZXQgdG8gdGhlIHVzZXIncyB0aW1lem9uZSwgdGhlbiByZXR1cm4gdGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBZWVlZLU1NLURELlwiXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSBkYXRlIC0gYW55IC0gdGhlIGRhdGUgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSB0aW1lem9uZSBvZlxyXG4gICAqIEByZXR1cm5zIFRoZSBkYXRlIGlzIGJlaW5nIHJldHVybmVkIGluIHRoZSB0aW1lem9uZSBvZiB0aGUgdXNlci5cclxuICAgKi9cclxuICBjaGFuZ2VUaW1lWm9uZShkYXRlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW52RGF0ZSA9IG5ldyBEYXRlKFxyXG4gICAgICBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICB0aW1lWm9uZTogdGhpcy5hdXRoU2VydmljZS51c2VyRGV0YWlscz8udGltZXpvbmUsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIG1vbWVudChpbnZEYXRlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -6,7 +6,7 @@ export class FrequencyDialogAnnualComponent {
|
|
|
6
6
|
var _a, _b;
|
|
7
7
|
this.frequencyService = frequencyService;
|
|
8
8
|
this.monthList = [];
|
|
9
|
-
this.yearlyInterval = '11:
|
|
9
|
+
this.yearlyInterval = '11:00 pm';
|
|
10
10
|
this.yearlyInput = 1;
|
|
11
11
|
this.yearlyFailed = 5;
|
|
12
12
|
this.yearlyWindow = 30;
|
|
@@ -207,4 +207,4 @@ FrequencyDialogAnnualComponent.propDecorators = {
|
|
|
207
207
|
startDate: [{ type: Input }],
|
|
208
208
|
frequencyDetails: [{ type: Output }]
|
|
209
209
|
};
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1hbm51YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT3JFLE1BQU0sT0FBTyw4QkFBOEI7SUEyQnpDLFlBQW9CLGdCQUFrQzs7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCdEQsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFXLFVBQVUsQ0FBQztRQUNwQyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQUcsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsMENBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEUseUJBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsMkJBQXNCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLDZCQUF3QixHQUFXLEVB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LElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQy9KO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFFckIsQ0FBQzs7O1lBbE5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2Qyxpa0VBQXVEOzthQUV4RDs7O1lBTlEsZ0JBQWdCOzs7NEJBMEJ0QixLQUFLO21CQUNMLEtBQUs7d0JBRUwsS0FBSzsrQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLWFubnVhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZGlhbG9nLWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dBbm51YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBtb250aExpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgeWVhcmx5SW50ZXJ2YWw6IHN0cmluZyA9ICcxMTo1OSBwbSc7XHJcbiAgeWVhcmx5SW5wdXQ6IG51bWJlciA9IDE7XHJcbiAgeWVhcmx5RmFpbGVkOiBudW1iZXIgPSA1O1xyXG4gIHllYXJseVdpbmRvdzogbnVtYmVyID0gMzA7XHJcbiAgeWVhcmx5RGF5ID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpPy5nZXREYXRlKCk7XHJcbiAgeWVhcmx5TGlmZUN5Y2xlU3RhcnQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk7XHJcbiAgeWVhcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKHRoaXMueWVhcmx5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDApO1xyXG4gIHllYXJseUxpZmVjeWNsZU9jY3VyYW5jZTogbnVtYmVyID0gMTA7XHJcbiAgeWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGU6IG51bWJlciA9IDI7XHJcbiAgeWVhcmx5U2VsZWN0ZWQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk/LmdldE1vbnRoKCk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gIHByZXZpb3VzU3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHNob3J0TW9udGg6QXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55PScnO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb250aExpc3QgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKG1vbnRoID0+IG1vbnRoLnN1YnN0cmluZygwLCAzKSk7XHJcbiAgICBpZih0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA0KSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLnNwbGl0KCd+JykubWFwKE51bWJlcik7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGF0dGVybkluZm9bMl0gLSAxO1xyXG4gICAgLy8gY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy55ZWFybHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkVGltZTtcclxuICAgIHRoaXMueWVhcmx5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhPy53aW5kb3c7XHJcbiAgICB0aGlzLnllYXJseUlucHV0ID0gcGF0dGVybkluZm9bM107XHJcbiAgICB0aGlzLnllYXJseURheSA9IHBhdHRlcm5JbmZvWzFdXHJcbiAgICAvLyBpZihOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAvLyAgIHRoaXMueWVhcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy55ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIocGF0dGVybkluZm9bMV0pO1xyXG4gICAgdGhpcy55ZWFybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YT8uc3RhcnREYXRlICogMTAwMClcclxuICAgIHRoaXMuc3RhcnREYXRlID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5zdGFydEZyb20gPz8gdGhpcy5mcmVxdWVuY3lEYXRhPy5zdGFydERhdGVcclxuICAgIHRoaXMueWVhcmx5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5mYWlsZWQ7XHJcbiAgICAvLyBpZiggbGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAvLyAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChsaWZlY3ljbGVJbmZvWzBdICsgJyAxMTo1OSBwbScsICdERC1NTU1NLVlZWVkgSEg6bW0gYScpLnVuaXgoKVxyXG4gICAgLy8gICB0aGlzLnllYXJseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIC8vIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlO1xyXG4gICAgLy8gaWYoIHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgLy8gICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIC8vIH0gZWxzZSBpZihsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgIC8vICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6c3RyaW5nKSB7XHJcbiAgICB0aGlzLnllYXJseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNoYW5nZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnllYXJseURheSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgdGhpcy55ZWFybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpPy5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5ID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KCkgOiBlbmRCeURhdGU7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBcclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgICAgIHRoaXMueWVhcmx5V2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMueWVhcmx5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gZnJlcXVlbmN5IHBhdHRlcm4gYW5kIGRldGFpbHMgaW5mb1xyXG4gIGdldEFubnVhbEZyZXF1ZW5jeSgpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9ICB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKE51bWJlcih0aGlzLnllYXJseUlucHV0KSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9IDQgKyAnficgKyB0aGlzLnllYXJseURheSArICd+JyArICh0aGlzLnllYXJseVNlbGVjdGVkICsgMSkgKyAnficgKyB0aGlzLnllYXJseUlucHV0O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAneWVhcmx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMueWVhcmx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMueWVhcmx5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aCh0aGlzLnllYXJseUludGVydmFsKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIGNvbnNvbGUubG9nKFwiIHRoaXMuZnJlcXVlbmN5SW5mbyA9PT5cIiwgIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoeWVhcmx5SW5wdXQ6IGFueSkgeyBcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgaWYoeWVhcmx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAgdGhpcy5nZXRQbGFjZWhvbGRlckZvclN0MigpOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gIHRoaXMuZ2V0UGxhY2Vob2xkZXJGb3JHdDEoKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gaWYgeWVhcmx5SW5wdXQgaXMgc21hbGxlciB0aGFuIDIgdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbGVkXHJcbiAgZ2V0UGxhY2Vob2xkZXJGb3JTdDIoKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcxc3Qgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMm5kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzNyZCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICd0aCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMzEgfHwgdGhpcy55ZWFybHlEYXkgPT09IDIxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAnc3Qgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAnbmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAncmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG5cclxuICAvLyBpZiB5ZWFybHlJbnB1dCBpcyBncmVhdGVyIHRoYW4gMSB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsZWRcclxuICBnZXRQbGFjZWhvbGRlckZvckd0MSgpIHtcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzFzdCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcybmQgb2YgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcsIEludGVydmFsOiBldmVyeSAnICsgdGhpcy55ZWFybHlJbnB1dCArICcgeWVhcnMgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnM3JkIG9mICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHRoaXMueWVhcmx5SW5wdXQgKyAnIHllYXJzIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3RoIG9mICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHRoaXMueWVhcmx5SW5wdXQgKyAnIHllYXJzIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzMSB8fCB0aGlzLnllYXJseURheSA9PT0gMjEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICdzdCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICduZCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICdyZCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICAgIFxyXG4gIH1cclxufVxyXG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1hbm51YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT3JFLE1BQU0sT0FBTyw4QkFBOEI7SUEyQnpDLFlBQW9CLGdCQUFrQzs7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCdEQsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFXLFVBQVUsQ0FBQztRQUNwQyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQUcsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsMENBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEUseUJBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsMkJBQXNCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLDZCQUF3QixHQUFXLEVBQUUsQ0FBQztRQUN0QywrQkFBMEIsR0FBVyxDQUFDLENBQUM7UUFDdkMsbUJBQWMsR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQywwQ0FBRSxRQUFRLEVBQUUsQ0FBQztRQUM5RSxxQkFBZ0IsR0FBUSxlQUFlLENBQUM7UUFDeEMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFbEQsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFHckIsU0FBSSxHQUFNLEVBQUUsQ0FBQztRQUViLGNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUV6QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBR0ssQ0FBQztJQUUzRCxRQUFROztRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUcsQ0FBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE9BQU8sS0FBSSxFQUFFLElBQUksUUFBUSxDQUFDLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCOztRQUNmLE1BQU0sV0FBVyxHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFVBQVUsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsTUFBTSxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQy9CLHFDQUFxQztRQUNyQyw4REFBOEQ7UUFDOUQsSUFBSTtRQUNKLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxTQUFTLElBQUcsSUFBSSxDQUFDLENBQUE7UUFDMUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsU0FBUyxtQ0FBSSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFNBQVMsQ0FBQTtRQUMvRSxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsTUFBTSxDQUFDO1FBQy9DLDJDQUEyQztRQUMzQywrRkFBK0Y7UUFDL0YsaUVBQWlFO1FBQ2pFLElBQUk7UUFDSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxTQUFTLENBQUM7UUFDdEQsMERBQTBEO1FBQzFELHlDQUF5QztRQUN6QyxpREFBaUQ7UUFDakQseUNBQXlDO1FBQ3pDLFdBQVc7UUFDWCx5Q0FBeUM7UUFDekMsSUFBSTtJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVTs7UUFFeEIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQzdDLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUN4RCxNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtRQUNELElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLDBDQUFFLE9BQU8sRUFBRSxJQUFHLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQztRQUMxRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBRTFHO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBVTtRQUNsQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUdELHFDQUFxQztJQUNyQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNqSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsV0FBZ0I7UUFDdEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUcsV0FBVyxLQUFLLENBQUMsRUFBRTtZQUNwQixXQUFXLEdBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDNUM7YUFBTTtZQUNMLFdBQVcsR0FBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtTQUMzQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsb0JBQW9CO1FBQ2xCLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLFdBQVcsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDckc7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLFdBQVcsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDckc7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLFdBQVcsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDckc7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNySDtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDbEQsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3JIO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUN6QixXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDckg7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNySDtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsb0JBQW9CO1FBQ2xCLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLFdBQVcsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMvSTtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsV0FBVyxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQy9JO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBRTtZQUN4QixXQUFXLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDL0k7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQy9KO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUNsRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMvSjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDekIsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDL0o7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQy9KO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFFckIsQ0FBQzs7O1lBbE5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2Qyxpa0VBQXVEOzthQUV4RDs7O1lBTlEsZ0JBQWdCOzs7NEJBMEJ0QixLQUFLO21CQUNMLEtBQUs7d0JBRUwsS0FBSzsrQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLWFubnVhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1kaWFsb2ctYW5udWFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZGlhbG9nLWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dBbm51YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBtb250aExpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgeWVhcmx5SW50ZXJ2YWw6IHN0cmluZyA9ICcxMTowMCBwbSc7XHJcbiAgeWVhcmx5SW5wdXQ6IG51bWJlciA9IDE7XHJcbiAgeWVhcmx5RmFpbGVkOiBudW1iZXIgPSA1O1xyXG4gIHllYXJseVdpbmRvdzogbnVtYmVyID0gMzA7XHJcbiAgeWVhcmx5RGF5ID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpPy5nZXREYXRlKCk7XHJcbiAgeWVhcmx5TGlmZUN5Y2xlU3RhcnQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk7XHJcbiAgeWVhcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKHRoaXMueWVhcmx5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDApO1xyXG4gIHllYXJseUxpZmVjeWNsZU9jY3VyYW5jZTogbnVtYmVyID0gMTA7XHJcbiAgeWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGU6IG51bWJlciA9IDI7XHJcbiAgeWVhcmx5U2VsZWN0ZWQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk/LmdldE1vbnRoKCk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gIHByZXZpb3VzU3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHNob3J0TW9udGg6QXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55PScnO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb250aExpc3QgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKG1vbnRoID0+IG1vbnRoLnN1YnN0cmluZygwLCAzKSk7XHJcbiAgICBpZih0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA0KSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLnNwbGl0KCd+JykubWFwKE51bWJlcik7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGF0dGVybkluZm9bMl0gLSAxO1xyXG4gICAgLy8gY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy55ZWFybHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkVGltZTtcclxuICAgIHRoaXMueWVhcmx5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhPy53aW5kb3c7XHJcbiAgICB0aGlzLnllYXJseUlucHV0ID0gcGF0dGVybkluZm9bM107XHJcbiAgICB0aGlzLnllYXJseURheSA9IHBhdHRlcm5JbmZvWzFdXHJcbiAgICAvLyBpZihOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAvLyAgIHRoaXMueWVhcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy55ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIocGF0dGVybkluZm9bMV0pO1xyXG4gICAgdGhpcy55ZWFybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YT8uc3RhcnREYXRlICogMTAwMClcclxuICAgIHRoaXMuc3RhcnREYXRlID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5zdGFydEZyb20gPz8gdGhpcy5mcmVxdWVuY3lEYXRhPy5zdGFydERhdGVcclxuICAgIHRoaXMueWVhcmx5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5mYWlsZWQ7XHJcbiAgICAvLyBpZiggbGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAvLyAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChsaWZlY3ljbGVJbmZvWzBdICsgJyAxMTo1OSBwbScsICdERC1NTU1NLVlZWVkgSEg6bW0gYScpLnVuaXgoKVxyXG4gICAgLy8gICB0aGlzLnllYXJseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIC8vIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlO1xyXG4gICAgLy8gaWYoIHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgLy8gICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIC8vIH0gZWxzZSBpZihsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgIC8vICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6c3RyaW5nKSB7XHJcbiAgICB0aGlzLnllYXJseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNoYW5nZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnllYXJseURheSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgdGhpcy55ZWFybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCkpPy5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5ID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KCkgOiBlbmRCeURhdGU7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBcclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgICAgIHRoaXMueWVhcmx5V2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMueWVhcmx5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gZnJlcXVlbmN5IHBhdHRlcm4gYW5kIGRldGFpbHMgaW5mb1xyXG4gIGdldEFubnVhbEZyZXF1ZW5jeSgpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9ICB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKE51bWJlcih0aGlzLnllYXJseUlucHV0KSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9IDQgKyAnficgKyB0aGlzLnllYXJseURheSArICd+JyArICh0aGlzLnllYXJseVNlbGVjdGVkICsgMSkgKyAnficgKyB0aGlzLnllYXJseUlucHV0O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAneWVhcmx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMueWVhcmx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMueWVhcmx5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aCh0aGlzLnllYXJseUludGVydmFsKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIGNvbnNvbGUubG9nKFwiIHRoaXMuZnJlcXVlbmN5SW5mbyA9PT5cIiwgIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoeWVhcmx5SW5wdXQ6IGFueSkgeyBcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgaWYoeWVhcmx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAgdGhpcy5nZXRQbGFjZWhvbGRlckZvclN0MigpOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gIHRoaXMuZ2V0UGxhY2Vob2xkZXJGb3JHdDEoKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gaWYgeWVhcmx5SW5wdXQgaXMgc21hbGxlciB0aGFuIDIgdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbGVkXHJcbiAgZ2V0UGxhY2Vob2xkZXJGb3JTdDIoKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcxc3Qgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMm5kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzNyZCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICd0aCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMzEgfHwgdGhpcy55ZWFybHlEYXkgPT09IDIxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAnc3Qgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAnbmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAncmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG5cclxuICAvLyBpZiB5ZWFybHlJbnB1dCBpcyBncmVhdGVyIHRoYW4gMSB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsZWRcclxuICBnZXRQbGFjZWhvbGRlckZvckd0MSgpIHtcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzFzdCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcybmQgb2YgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcsIEludGVydmFsOiBldmVyeSAnICsgdGhpcy55ZWFybHlJbnB1dCArICcgeWVhcnMgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnM3JkIG9mICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHRoaXMueWVhcmx5SW5wdXQgKyAnIHllYXJzIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3RoIG9mICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHRoaXMueWVhcmx5SW5wdXQgKyAnIHllYXJzIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzMSB8fCB0aGlzLnllYXJseURheSA9PT0gMjEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICdzdCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICduZCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICdyZCBvZiAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICAgIFxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -5,7 +5,7 @@ export class FrequencyDialogBiannualComponent {
|
|
|
5
5
|
constructor(frequencyService) {
|
|
6
6
|
var _a, _b;
|
|
7
7
|
this.frequencyService = frequencyService;
|
|
8
|
-
this.biannualInterval = '11:
|
|
8
|
+
this.biannualInterval = '11:00 pm';
|
|
9
9
|
this.biannualInput = (_a = this.frequencyService.changeTimeZone(new Date())) === null || _a === void 0 ? void 0 : _a.getDate();
|
|
10
10
|
this.biannualFailed = 5;
|
|
11
11
|
this.biannualWindow = 30;
|
|
@@ -184,4 +184,4 @@ FrequencyDialogBiannualComponent.propDecorators = {
|
|
|
184
184
|
frequencyData: [{ type: Input }],
|
|
185
185
|
frequencyDetails: [{ type: Output }]
|
|
186
186
|
};
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC9mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT3JFLE1BQU0sT0FBTyxnQ0FBZ0M7SUEyQjNDLFlBQW9CLGdCQUFrQzs7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCdEQscUJBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsMENBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQywwQ0FBRSxPQUFPLEVBQUUsQ0FBQztRQUMxRSwyQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRSw2QkFBd0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMs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T0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7O1lBaExGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6Qyx3L0RBQXlEOzthQUUxRDs7O1lBTlEsZ0JBQWdCOzs7bUJBeUJ0QixLQUFLO3dCQUVMLEtBQUs7NEJBQ0wsS0FBSzsrQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dCaWFubnVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGJpYW5udWFsSW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIGJpYW5udWFsSW5wdXQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk/LmdldERhdGUoKTtcclxuICBiaWFubnVhbEZhaWxlZCA9IDU7XHJcbiAgYmlhbm51YWxXaW5kb3cgPSAzMDtcclxuICBiaWFubnVhbERheSA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKT8uZ2V0RGF0ZSgpO1xyXG4gIGJpYW5udWFsTGlmZUN5Y2xlU3RhcnQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk7XHJcbiAgYmlhbm51YWxMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUodGhpcy5iaWFubnVhbExpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwKTtcclxuICBiaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIGJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIGJpYW5udWFsU2VsZWN0ZWQ6IEFycmF5PG51bWJlcj4gPSBbXTtcclxuICBiaWFubnVhbExpZmVjeWNsZSA9IGZhbHNlO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBtb250aE5hbWVBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gIHNob3J0TW9udGg6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBzZWxlY3RlZE1vbnRobHk6IEFycmF5PG51bWJlcj4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgbW9kZTogYW55PScnO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIFxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgdGhpcy5tb250aE5hbWVBcnJheSA9IFsuLi5uZXcgU2V0KHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5KV07XHJcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAobW9udGggPT4gbW9udGguc3Vic3RyaW5nKDAsIDMpKTtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5mcmVxdWVuY3lEYXRhID09PlwiLCB0aGlzLmZyZXF1ZW5jeURhdGEpXHJcbiAgICBpZih0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA5KSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGcmVxdWVuY3koKSB7XHJcbiAgICBjb25zdCBwYXR0ZXJuSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybi5zcGxpdCgnficpXHJcbiAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSBwYXR0ZXJuSW5mb1syXS5zcGxpdCgnLCcpLm1hcCgoZWxlOiBhbnkpID0+IE51bWJlcihlbGUpIC0gMSlcclxuICAgIC8vIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGE/LmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkVGltZTtcclxuICAgIHRoaXMuYmlhbm51YWxXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGE/LndpbmRvdztcclxuICAgIHRoaXMuYmlhbm51YWxJbnB1dCA9IHBhdHRlcm5JbmZvWzFdO1xyXG4gICAgLy8gaWYoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgLy8gICB0aGlzLmJpYW5udWFsTGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgLy8gfVxyXG4gIFxyXG4gICAgdGhpcy5iaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihwYXR0ZXJuSW5mb1sxXSk7XHJcbiAgICB0aGlzLmJpYW5udWFsTGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGE/LnN0YXJ0RGF0ZSAqIDEwMDApIFxyXG4gICAgdGhpcy5iaWFubnVhbEZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkO1xyXG4gICAgLy8gaWYoIGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgLy8gICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQobGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLCAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnKS51bml4KClcclxuICAgIC8vICAgdGhpcy5iaWFubnVhbExpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIC8vIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlO1xyXG4gICAgLy8gaWYoICB0aGlzLmZyZXF1ZW5jeURhdGE/LmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgIC8vICAgdGhpcy5iaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIC8vIH0gZWxzZSBpZihsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgIC8vICAgdGhpcy5iaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBvbk1vbnRoU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudFwiLCBldmVudClcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkLnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICB9IGVsc2Uge1xyXG4gICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZCA9IHRoaXMuYmlhbm51YWxTZWxlY3RlZC5maWx0ZXIoKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleCk7XHJcbiAgIH1cclxuICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2V2ZW50ID09PicsIGV2ZW50KTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gICB9XHJcblxyXG4gICBvblRpbWVDaGFuZ2VkKGV2ZW50OnN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coXCJ0aW1lIGV2ZW50ID0+XCIsIGV2ZW50KVxyXG4gICAgdGhpcy5iaWFubnVhbEludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLmJpYW5udWFsV2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpYW5udWFsRmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbn1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudD09PicsIGV2ZW50KTtcclxuXHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcInN0YXJ0IDExMTFcIilcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdGFydCAxMTExMjIyMlwiKVxyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKHRoaXMuZnJlcXVlbmN5U2VydmljZS5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKT8uZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdzdHJhdCBkYXRlID09PT0+JywgdGhpcy5zdGFydERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coJ2VuZCBkYXRlJywgZW5kQnlEYXRlKTtcclxuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XHJcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeSA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpIDogZW5kQnlEYXRlO1xyXG4gICAgICBjb25zb2xlLmxvZygnZW5kQnlEYXRlJywgZW5kQnlEYXRlKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Qmlhbm51YWxGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIGNvbnN0IG1vbnRoSW5kZXggPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQubWFwKChlbGUpID0+IGVsZSArIDEpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPSA5ICsgJ34nICsgdGhpcy5iaWFubnVhbElucHV0ICsgJ34nICsgbW9udGhJbmRleC5qb2luKCcsJykgKyAnfjAnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAnYmlhbm51YWwnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5iaWFubnVhbEZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLmJpYW5udWFsV2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMjRIciA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lRnJvbTEyaFRvMjRoKHRoaXMuYmlhbm51YWxJbnRlcnZhbCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKE51bWJlcih0aGlzLmJpYW5udWFsSW5wdXQpKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICBjb25zb2xlLmxvZyhcIiB0aGlzLmZyZXF1ZW5jeUluZm8gPT0+XCIsICB0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoYmlhbm51YWxJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGNvbnN0IHNlbGVjdGVkTW9udGggPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIGlmIChiaWFubnVhbElucHV0ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzJuZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzNyZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyMSB8fCBiaWFubnVhbElucHV0ID09PSAzMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGJpYW5udWFsSW5wdXQgKyAnc3Qgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBiaWFubnVhbElucHV0ICsgJ25kIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYmlhbm51YWxJbnB1dCArICdyZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGJpYW5udWFsSW5wdXQgKyAndGggb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC9mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT3JFLE1BQU0sT0FBTyxnQ0FBZ0M7SUEyQjNDLFlBQW9CLGdCQUFrQzs7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCdEQscUJBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsMENBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQywwQ0FBRSxPQUFPLEVBQUUsQ0FBQztRQUMxRSwyQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRSw2QkFBd0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDdEYsK0JBQTBCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLGlDQUE0QixHQUFHLENBQUMsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBa0IsRUFBRSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixtQkFBYyxHQUFrQixFQUFFLENBQUM7UUFDbkMsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBa0IsRUFBRSxDQUFDO1FBRTNCLFNBQUksR0FBTSxFQUFFLENBQUM7UUFFYixjQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFbkQscUJBQWdCLEdBQVEsZUFBZSxDQUFDO1FBRTlCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFHSyxDQUFDO0lBRTNELFFBQVE7O1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUN6RCxJQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxPQUFPLEtBQUksRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELGlCQUFpQjs7UUFDZixNQUFNLFdBQVcsR0FBRyxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDcEYsbUVBQW1FO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFVBQVUsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsTUFBTSxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLHFDQUFxQztRQUNyQyxnRUFBZ0U7UUFDaEUsSUFBSTtRQUVKLElBQUksQ0FBQywwQkFBMEIsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxTQUFTLElBQUcsSUFBSSxDQUFDLENBQUE7UUFDNUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLE1BQU0sQ0FBQztRQUNqRCwyQ0FBMkM7UUFDM0MsK0ZBQStGO1FBQy9GLG1FQUFtRTtRQUNuRSxJQUFJO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsU0FBUyxDQUFDO1FBQ3RELDJEQUEyRDtRQUMzRCwyQ0FBMkM7UUFDM0MsaURBQWlEO1FBQ2pELDJDQUEyQztRQUMzQyxXQUFXO1FBQ1gsMkNBQTJDO1FBQzNDLElBQUk7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDM0IsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwRjtRQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDbkM7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFQyxlQUFlLENBQUMsS0FBVTs7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFL0IsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQzdDLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUN4RCxNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtRQUNELElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFO1lBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLDBDQUFFLE9BQU8sRUFBRSxJQUFHLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQztRQUMxRyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBRXJDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELHVCQUF1QixDQUFDLGFBQXFCO1FBQzNDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLFdBQVcsR0FBRyxlQUFlLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzNGO2FBQU0sSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQzlCLFdBQVcsR0FBRyxlQUFlLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzNGO2FBQU0sSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQzlCLFdBQVcsR0FBRyxlQUFlLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzNGO2FBQU0sSUFBSSxhQUFhLEtBQUssRUFBRSxJQUFJLGFBQWEsS0FBSyxFQUFFLEVBQUU7WUFDdkQsV0FBVyxHQUFHLGFBQWEsR0FBRyxjQUFjLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzFHO2FBQU0sSUFBSSxhQUFhLEtBQUssRUFBRSxFQUFFO1lBQy9CLFdBQVcsR0FBRyxhQUFhLEdBQUcsY0FBYyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUMxRzthQUFNLElBQUksYUFBYSxLQUFLLEVBQUUsRUFBRTtZQUMvQixXQUFXLEdBQUcsYUFBYSxHQUFHLGNBQWMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDMUc7YUFBTSxJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQUU7WUFDNUIsV0FBVyxHQUFHLGFBQWEsR0FBRyxjQUFjLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzFHO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7O1lBaExGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6Qyx3L0RBQXlEOzthQUUxRDs7O1lBTlEsZ0JBQWdCOzs7bUJBeUJ0QixLQUFLO3dCQUVMLEtBQUs7NEJBQ0wsS0FBSzsrQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLWJpYW5udWFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWRpYWxvZy1iaWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dCaWFubnVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGJpYW5udWFsSW50ZXJ2YWwgPSAnMTE6MDAgcG0nO1xyXG4gIGJpYW5udWFsSW5wdXQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk/LmdldERhdGUoKTtcclxuICBiaWFubnVhbEZhaWxlZCA9IDU7XHJcbiAgYmlhbm51YWxXaW5kb3cgPSAzMDtcclxuICBiaWFubnVhbERheSA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKT8uZ2V0RGF0ZSgpO1xyXG4gIGJpYW5udWFsTGlmZUN5Y2xlU3RhcnQgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSk7XHJcbiAgYmlhbm51YWxMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUodGhpcy5iaWFubnVhbExpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwKTtcclxuICBiaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIGJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIGJpYW5udWFsU2VsZWN0ZWQ6IEFycmF5PG51bWJlcj4gPSBbXTtcclxuICBiaWFubnVhbExpZmVjeWNsZSA9IGZhbHNlO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBtb250aE5hbWVBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gIHNob3J0TW9udGg6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBzZWxlY3RlZE1vbnRobHk6IEFycmF5PG51bWJlcj4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgbW9kZTogYW55PScnO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIFxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgdGhpcy5tb250aE5hbWVBcnJheSA9IFsuLi5uZXcgU2V0KHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5KV07XHJcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAobW9udGggPT4gbW9udGguc3Vic3RyaW5nKDAsIDMpKTtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5mcmVxdWVuY3lEYXRhID09PlwiLCB0aGlzLmZyZXF1ZW5jeURhdGEpXHJcbiAgICBpZih0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA5KSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGcmVxdWVuY3koKSB7XHJcbiAgICBjb25zdCBwYXR0ZXJuSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybi5zcGxpdCgnficpXHJcbiAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSBwYXR0ZXJuSW5mb1syXS5zcGxpdCgnLCcpLm1hcCgoZWxlOiBhbnkpID0+IE51bWJlcihlbGUpIC0gMSlcclxuICAgIC8vIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGE/LmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkVGltZTtcclxuICAgIHRoaXMuYmlhbm51YWxXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGE/LndpbmRvdztcclxuICAgIHRoaXMuYmlhbm51YWxJbnB1dCA9IHBhdHRlcm5JbmZvWzFdO1xyXG4gICAgLy8gaWYoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgLy8gICB0aGlzLmJpYW5udWFsTGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgLy8gfVxyXG4gIFxyXG4gICAgdGhpcy5iaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihwYXR0ZXJuSW5mb1sxXSk7XHJcbiAgICB0aGlzLmJpYW5udWFsTGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGE/LnN0YXJ0RGF0ZSAqIDEwMDApIFxyXG4gICAgdGhpcy5iaWFubnVhbEZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkO1xyXG4gICAgLy8gaWYoIGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgLy8gICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQobGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLCAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnKS51bml4KClcclxuICAgIC8vICAgdGhpcy5iaWFubnVhbExpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIC8vIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ubGlmZWN5Y2xlO1xyXG4gICAgLy8gaWYoICB0aGlzLmZyZXF1ZW5jeURhdGE/LmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgIC8vICAgdGhpcy5iaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIC8vIH0gZWxzZSBpZihsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgIC8vICAgdGhpcy5iaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBvbk1vbnRoU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudFwiLCBldmVudClcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkLnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICB9IGVsc2Uge1xyXG4gICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZCA9IHRoaXMuYmlhbm51YWxTZWxlY3RlZC5maWx0ZXIoKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleCk7XHJcbiAgIH1cclxuICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2V2ZW50ID09PicsIGV2ZW50KTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gICB9XHJcblxyXG4gICBvblRpbWVDaGFuZ2VkKGV2ZW50OnN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coXCJ0aW1lIGV2ZW50ID0+XCIsIGV2ZW50KVxyXG4gICAgdGhpcy5iaWFubnVhbEludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLmJpYW5udWFsV2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpYW5udWFsRmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbn1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudD09PicsIGV2ZW50KTtcclxuXHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcInN0YXJ0IDExMTFcIilcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdGFydCAxMTExMjIyMlwiKVxyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKHRoaXMuZnJlcXVlbmN5U2VydmljZS5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKT8uZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdzdHJhdCBkYXRlID09PT0+JywgdGhpcy5zdGFydERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coJ2VuZCBkYXRlJywgZW5kQnlEYXRlKTtcclxuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XHJcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeSA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpIDogZW5kQnlEYXRlO1xyXG4gICAgICBjb25zb2xlLmxvZygnZW5kQnlEYXRlJywgZW5kQnlEYXRlKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Qmlhbm51YWxGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIGNvbnN0IG1vbnRoSW5kZXggPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQubWFwKChlbGUpID0+IGVsZSArIDEpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPSA5ICsgJ34nICsgdGhpcy5iaWFubnVhbElucHV0ICsgJ34nICsgbW9udGhJbmRleC5qb2luKCcsJykgKyAnfjAnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAnYmlhbm51YWwnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5iaWFubnVhbEZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLmJpYW5udWFsV2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMjRIciA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lRnJvbTEyaFRvMjRoKHRoaXMuYmlhbm51YWxJbnRlcnZhbCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKE51bWJlcih0aGlzLmJpYW5udWFsSW5wdXQpKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICBjb25zb2xlLmxvZyhcIiB0aGlzLmZyZXF1ZW5jeUluZm8gPT0+XCIsICB0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoYmlhbm51YWxJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGNvbnN0IHNlbGVjdGVkTW9udGggPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIGlmIChiaWFubnVhbElucHV0ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzJuZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzNyZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyMSB8fCBiaWFubnVhbElucHV0ID09PSAzMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGJpYW5udWFsSW5wdXQgKyAnc3Qgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBiaWFubnVhbElucHV0ICsgJ25kIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYmlhbm51YWxJbnB1dCArICdyZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGJpYW5udWFsSW5wdXQgKyAndGggb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|