@hmcts/ccpay-web-component 5.2.0-beta02 → 5.2.0-beta04
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/hmcts-ccpay-web-component.umd.js +15 -19
- package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +2 -2
- package/esm2015/lib/components/contact-details/contact-details.component.js +2 -2
- package/esm2015/lib/components/reports/reports.component.js +1 -4
- package/esm2015/lib/services/xl-file/xl-file.service.js +14 -15
- package/fesm2015/hmcts-ccpay-web-component.js +15 -19
- package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
- package/hmcts-ccpay-web-component.metadata.json +1 -1
- package/lib/components/reports/reports.component.d.ts.map +1 -1
- package/lib/services/xl-file/xl-file.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -37,7 +37,7 @@ export class ContactDetailsComponent {
|
|
|
37
37
|
this.emailAddressForm = this.formBuilder.group({
|
|
38
38
|
email: new FormControl('', Validators.compose([
|
|
39
39
|
Validators.required,
|
|
40
|
-
Validators.pattern('^[a-
|
|
40
|
+
Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$')
|
|
41
41
|
]))
|
|
42
42
|
});
|
|
43
43
|
this.postCodeForm = this.formBuilder.group({
|
|
@@ -312,4 +312,4 @@ ContactDetailsComponent.propDecorators = {
|
|
|
312
312
|
assignContactDetailsInFefundsList: [{ type: Output }],
|
|
313
313
|
redirectToIssueRefund: [{ type: Output }]
|
|
314
314
|
};
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBT3ZGLE1BQU0sT0FBTyx1QkFBdUI7SUFtQ2xDLFlBQW9CLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxtQkFBd0M7UUFGeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBakNsRCx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCxzQ0FBaUMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRSwwQkFBcUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RSxjQUFTLEdBQVcsd0JBQXdCLENBQUM7UUFFN0MsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFhLEtBQUssQ0FBQztRQUNwQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBSXhDLHdCQUFtQixHQUFTLEVBQUUsQ0FBQztRQUUvQixzQkFBaUIsR0FBWSxLQUFLLENB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LEVBQUUsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBRyxLQUFLLEtBQUcsV0FBVyxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBRyxLQUFLLEtBQUcsU0FBUyxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDL0I7SUFFSCxDQUFDOzs7WUEzU0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDYyVkFBK0M7O2FBRWhEOzs7WUFSUSxXQUFXO1lBRVgsbUJBQW1CO1lBRG5CLG1CQUFtQjs7OzhCQVN6QixLQUFLLFNBQUMsaUJBQWlCOzBDQUN2QixLQUFLLFNBQUMsNkJBQTZCO3lCQUNuQyxLQUFLLFNBQUMsWUFBWTttQ0FDbEIsTUFBTTtnREFDTixNQUFNO29DQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWNvbnRhY3QtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3REZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdpc0VkaXRPcGVyYXRpb24nKSBpc0VkaXRPcGVyYXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgnaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0JykgaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0OiBib29sZWFuO1xuICBASW5wdXQoJ2FkZHJlc3NPYmonKSBhZGRyZXNzT2JqOiBhbnk7XG4gIEBPdXRwdXQoKSBhc3NpZ25Db250YWN0RGV0YWlsczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBhc3NpZ25Db250YWN0RGV0YWlsc0luRmVmdW5kc0xpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVkaXJlY3RUb0lzc3VlUmVmdW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSAnUGF5bWVudCBzdGF0dXMgaGlzdG9yeSc7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBpc0VtYWlsU0FkZHJlc3NDbGlja2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTaG93UGlja0FkZHJlc3M6ICBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTWFudWFsQWRkcmVzc0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZW1haWxBZGRyZXNzRm9ybTogRm9ybUdyb3VwO1xuICBwb3N0Q29kZUZvcm06IEZvcm1Hcm91cDtcbiAgbWFudWFsQWRkcmVzc0Zvcm06IEZvcm1Hcm91cDtcbiAgYWRkcmVzc1Bvc3Rjb2RlTGlzdDphbnlbXSA9IFtdO1xuICBwb3N0Y29kZUFkZHJlc3M6YW55O1xuICBpc0FkZHJlc3NCb3hFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzRW1haWxFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBlbWFpbEhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBwb3N0Y29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzYWRkcmVzc0xpbmUxRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkcmVzc0xpbmUxSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkcmVzc0xpbmUySGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNUb3duT3JDaXR5RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdG93bk9yQ2l0eUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ291bnR5RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY291bnR5SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNUG9zdGNvZGVFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBtcG9zdGNvZGVIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvdW50cnlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FsbCcpO1xuXG4gICAgdGhpcy5lbWFpbEFkZHJlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16MC05Ll8lKy1dK0BbYS16MC05LV0rXFxcXC5bYS16XXsyLDR9JCcpXG4gICAgICBdKSlcbiAgICB9KTtcbiAgICB0aGlzLnBvc3RDb2RlRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgcG9zdGNvZGU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFtBLVphLXpdezEsMn1bMC05XXsxLDJ9W0EtWmEtel17MCwxfSA/WzAtOV1bQS1aYS16XXsyfSknKVxuICAgICAgXSkpXG4gICAgfSk7XG4gICAgdGhpcy5tYW51YWxBZGRyZXNzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgYWRkcmVzc2wxOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlthLXpBLVowLTlcXFxccyxcXCctXSokJylcbiAgICAgIF0pKSxcbiAgICAgIGFkZHJlc3NsMjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICB0b3dub3JjaXR5OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlthLXpBLVowLTlcXFxccyxcXCctXSokJylcbiAgICAgIF0pKSxcbiAgICAgIGNvdW50eTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBtcG9zdGNvZGU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFtBLVphLXpdezEsMn1bMC05XXsxLDJ9W0EtWmEtel17MCwxfSA/WzAtOV1bQS1aYS16XXsyfSknKVxuICAgICAgXSkpLFxuICAgICAgY291bnRyeTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICBdKSlcbiAgICB9KTtcbiAgICBpZih0aGlzLmFkZHJlc3NPYmogIT09IHVuZGVmaW5lZCAmJiB0aGlzLmFkZHJlc3NPYmogIT09ICcnKSB7XG4gICAgICB0aGlzLnNldEVkaXREZXRhaWxzKCk7XG4gICAgfVxuICAgIGlmKHRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHNldEVkaXREZXRhaWxzKCkge1xuICAgIGlmKHRoaXMuYWRkcmVzc09iai5ub3RpZmljYXRpb25fdHlwZSA9PT0gJ0VNQUlMJykge1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5lbWFpbEFkZHJlc3NGb3JtLnNldFZhbHVlKHsgZW1haWw6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuZW1haWwgfSk7XG4gICAgfSBlbHNlIGlmKHRoaXMuYWRkcmVzc09iai5ub3RpZmljYXRpb25fdHlwZSA9PT0gJ0xFVFRFUicpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5tYW51YWxBZGRyZXNzRm9ybS5wYXRjaFZhbHVlKHsgXG4gICAgICAgIGFkZHJlc3NsMTogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5hZGRyZXNzX2xpbmUsXG4gICAgICAgIHRvd25vcmNpdHk6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuY2l0eSxcbiAgICAgICAgY291bnR5OiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmNvdW50eSxcbiAgICAgICAgY291bnRyeTogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5jb3VudHJ5LFxuICAgICAgICBtcG9zdGNvZGU6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMucG9zdGFsX2NvZGVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENvbnRhY3RPcHRpb24odHlwZSwgaXNMaW5rZWRDbGllZCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcbiAgICBpZiggdHlwZSA9PT0gJ0VtYWlsJyAmJiBpc0xpbmtlZENsaWVkID09PSAnZmFsc2UnKXtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYodHlwZSA9PT0gJ1Bvc3Rjb2RlJyAmJiBpc0xpbmtlZENsaWVkID09PSAnZmFsc2UnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmKHR5cGUgPT09ICdQb3N0Y29kZScgJiYgaXNMaW5rZWRDbGllZCA9PT0gJ3RydWUnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gdHJ1ZTtcblxuICAgIH1cbiAgfVxuXG4gIGZpbmFsRm9ybVN1Ym1pdCgpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWxsJyk7XG4gICAgaWYoIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCApe1xuICAgICAgY29uc3QgZW1haWxGaWVsZCA9IHRoaXMuZW1haWxBZGRyZXNzRm9ybS5jb250cm9scy5lbWFpbDtcbiAgICAgIGlmICh0aGlzLmVtYWlsQWRkcmVzc0Zvcm0udmFsaWQpIHtcbiAgICAgICAgaWYoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHMuZW1pdCgge1xuICAgICAgICAgIGVtYWlsOiBlbWFpbEZpZWxkLnZhbHVlLFxuICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnRU1BSUwnXG4gICAgICAgIH0gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0LmVtaXQoe1xuICAgICAgICAgIGVtYWlsOiBlbWFpbEZpZWxkLnZhbHVlLFxuICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnRU1BSUwnXG4gICAgICAgIH0gKTtcbiAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKCBlbWFpbEZpZWxkLnZhbHVlID09ICcnICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFt0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2VtYWlsJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoZW1haWxGaWVsZC52YWx1ZSAhPSAnJyAmJiBlbWFpbEZpZWxkLmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnZW1haWwnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiggdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCAmJiAhdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkICkge1xuICAgICAgdGhpcy5wb3N0Y29kZVZhbGlkYXRpb24oJ0ZTJyk7XG4gICAgfSBlbHNlIGlmKHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgJiYgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkKSB7XG4gICAgICBjb25zdCBmaWVsZEN0cmxzID0gdGhpcy5tYW51YWxBZGRyZXNzRm9ybS5jb250cm9scztcbiAgICAgIGlmICh0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLnZhbGlkKSB7XG4gICAgICAgIGlmKCF0aGlzLmlzRWRpdE9wZXJhdGlvbkluUmVmdW5kTGlzdCkge1xuICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzLmVtaXQoe1xuICAgICAgICAgIGFkZHJlc3NfbGluZTogZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUrJyAnK2ZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlLFxuICAgICAgICAgIGNpdHk6IGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSxcbiAgICAgICAgICBjb3VudHk6IGZpZWxkQ3RybHMuY291bnR5LnZhbHVlLFxuICAgICAgICAgIHBvc3RhbF9jb2RlOiBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSxcbiAgICAgICAgICBjb3VudHJ5OiBmaWVsZEN0cmxzLmNvdW50cnkudmFsdWUsXG4gICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdMRVRURVInXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlsc0luRmVmdW5kc0xpc3QuZW1pdCh7XG4gICAgICAgICAgYWRkcmVzc19saW5lOiBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSsnICcrZmllbGRDdHJscy5hZGRyZXNzbDIudmFsdWUsXG4gICAgICAgICAgY2l0eTogZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlLFxuICAgICAgICAgIGNvdW50eTogZmllbGRDdHJscy5jb3VudHkudmFsdWUsXG4gICAgICAgICAgcG9zdGFsX2NvZGU6IGZpZWxkQ3RybHMubXBvc3Rjb2RlLnZhbHVlLFxuICAgICAgICAgIGNvdW50cnk6IGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSxcbiAgICAgICAgICBub3RpZmljYXRpb25fdHlwZTogJ0xFVFRFUidcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiggZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWRkcmVzczEnKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmFkZHJlc3NsMS5pbnZhbGlkICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FkZHJlc3MxJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGRDdHJscy5hZGRyZXNzbDIudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5hZGRyZXNzbDIuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhZGRyZXNzMicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCBmaWVsZEN0cmxzLnRvd25vcmNpdHkudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAndG93bicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLnRvd25vcmNpdHkuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICd0b3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIGZpZWxkQ3RybHMuY291bnR5LnZhbHVlID09ICcnICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2NvdW50eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGZpZWxkQ3RybHMuY291bnR5LnZhbHVlICE9ICcnICYmIGZpZWxkQ3RybHMuY291bnR5LmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2VdLCAnY291bnR5Jyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIGZpZWxkQ3RybHMubXBvc3Rjb2RlLnZhbHVlID09ICcnICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlXSwgJ21wb3N0Y29kZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGZpZWxkQ3RybHMubXBvc3Rjb2RlLnZhbHVlICE9ICcnICYmIGZpZWxkQ3RybHMubXBvc3Rjb2RlLmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2VdLCAnbXBvc3Rjb2RlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZV0sICdjb3VudHJ5Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgcG9zdGNvZGVWYWxpZGF0aW9uKHN0cikge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcbiAgICBjb25zdCBwb3N0Y29kZUZpZWxkID0gdGhpcy5wb3N0Q29kZUZvcm0uY29udHJvbHMucG9zdGNvZGU7XG4gICAgaWYgKHRoaXMucG9zdENvZGVGb3JtLnZhbGlkKSB7XG4gICAgICBpZihzdHIgPT09ICdGQScpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmdldEFkZHJlc3NCeVBvc3Rjb2RlKHBvc3Rjb2RlRmllbGQudmFsdWUpLnN1YnNjcmliZShcbiAgICAgICAgICByZWZ1bmRzTm90aWZpY2F0aW9uID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzc1Bvc3Rjb2RlTGlzdCA9IHJlZnVuZHNOb3RpZmljYXRpb25bJ3Jlc3VsdHMnXTtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93UGlja0FkZHJlc3MgPSByZWZ1bmRzTm90aWZpY2F0aW9uWydoZWFkZXInXS50b3RhbHJlc3VsdHMgPiAwO1xuICAgICAgICAgICAgaWYoIXRoaXMuaXNTaG93UGlja0FkZHJlc3MpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1Nob3dQaWNrQWRkcmVzcyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVwbGFjZSgvXCIvZyxcIlwiKTtcbiAgICAgICAgfTsgXG4gICAgICB9IGVsc2UgaWYgKHN0ciA9PT0gJ0ZTJykge1xuICAgICAgICBpZih0aGlzLnBvc3Rjb2RlQWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucG9zdGNvZGVBZGRyZXNzKSB7XG4gICAgICAgICAgdGhpcy5pc0FkZHJlc3NCb3hFbXB0eSA9IGZhbHNlO1xuICAgICAgICAgIGxldCBhZGRyZXNzTGluZT1cIlwiO1xuICAgICAgICAgIGxldCBhZGRyZXNzQXJyYXkgPSB0aGlzLnBvc3Rjb2RlQWRkcmVzcy5BRERSRVNTLnNwbGl0KFwiLFwiKTtcbiAgICAgICAgICBmb3IoIGxldCBpPTA7IGk8YWRkcmVzc0FycmF5Lmxlbmd0aC0yOyBpKysgKSB7XG4gICAgICAgICAgICBhZGRyZXNzTGluZSArPWFkZHJlc3NBcnJheVtpXTsgXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGFkZHJlc3NPYmplY3QgPSB7XG4gICAgICAgICAgICBhZGRyZXNzX2xpbmU6IGFkZHJlc3NMaW5lLFxuICAgICAgICAgICAgY2l0eTogdGhpcy5wb3N0Y29kZUFkZHJlc3MuUE9TVF9UT1dOLFxuICAgICAgICAgICAgY291bnR5OiB0aGlzLnBvc3Rjb2RlQWRkcmVzcy5MT0NBTF9DVVNUT0RJQU5fQ09ERV9ERVNDUklQVElPTixcbiAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLnBvc3Rjb2RlQWRkcmVzcy5QT1NUQ09ERSxcbiAgICAgICAgICAgIGNvdW50cnk6ICdVbml0ZWQgS2luZ2RvbScsXG4gICAgICAgICAgICBub3RpZmljYXRpb25fdHlwZTogJ0xFVFRFUidcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmKCF0aGlzLmlzRWRpdE9wZXJhdGlvbkluUmVmdW5kTGlzdCkge1xuICAgICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHMuZW1pdChhZGRyZXNzT2JqZWN0KTtcbiAgICAgICAgfSBlbHNlICB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlsc0luRmVmdW5kc0xpc3QuZW1pdChhZGRyZXNzT2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNBZGRyZXNzQm94RW1wdHkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmKCBwb3N0Y29kZUZpZWxkLnZhbHVlID09ICcnICkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdwb3N0Y29kZScpO1xuICAgICAgfVxuICAgICAgaWYocG9zdGNvZGVGaWVsZC52YWx1ZSAhPSAnJyAmJiBwb3N0Y29kZUZpZWxkLmludmFsaWQgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3Bvc3Rjb2RlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJlZGlyZWN0aW9uKGV2ZW50OmFueSkge1xuICAgIHRoaXMucmVkaXJlY3RUb0lzc3VlUmVmdW5kLmVtaXQoZXZlbnQpO1xuICB9XG4gIHJlc2V0Rm9ybSh2YWwsIGZpZWxkKSB7XG4gICAgaWYoZmllbGQ9PT0nZW1haWwnIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNFbWFpbEVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5lbWFpbEhhc0Vycm9yID0gdmFsWzFdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdwb3N0Y29kZScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlRW1wdHkgPSB2YWxbMl07XG4gICAgICB0aGlzLnBvc3Rjb2RlSGFzRXJyb3IgPSB2YWxbM107XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J2FkZHJlc3MxJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzYWRkcmVzc0xpbmUxRW1wdHkgPSB2YWxbNF07XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMUhhc0Vycm9yID0gdmFsWzVdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdhZGRyZXNzMicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5hZGRyZXNzTGluZTJIYXNFcnJvciA9IHZhbFs2XTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0ndG93bicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1Rvd25PckNpdHlFbXB0eSA9IHZhbFs3XTtcbiAgICAgIHRoaXMudG93bk9yQ2l0eUhhc0Vycm9yID0gdmFsWzhdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdjb3VudHknIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNDb3VudHlFbXB0eSA9IHZhbFs5XTtcbiAgICAgIHRoaXMuY291bnR5SGFzRXJyb3IgPSB2YWxbMTBdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdtcG9zdGNvZGUnIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNNUG9zdGNvZGVFbXB0eSA9IHZhbFsxMV07XG4gICAgICB0aGlzLm1wb3N0Y29kZUhhc0Vycm9yID0gdmFsWzEyXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nY291bnRyeScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc0NvdW50cnlFbXB0eSA9IHZhbFsxM107XG4gICAgfVxuICBcbiAgfVxufVxuIl19
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBT3ZGLE1BQU0sT0FBTyx1QkFBdUI7SUFtQ2xDLFlBQW9CLFdBQXdCLEVBQ3hCLG1CQUF3QyxFQUN4QyxtQkFBd0M7UUFGeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBakNsRCx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCxzQ0FBaUMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRSwwQkFBcUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RSxjQUFTLEdBQVcsd0JBQXdCLENBQUM7UUFFN0MsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFhLEtBQUssQ0FBQztRQUNwQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBSXhDLHdCQUFtQixHQUFTLEVBQUUsQ0FBQztRQUUvQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbkMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQUlnQyxDQUFDO0lBRWpFLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTdHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQzVDLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsT0FBTyxDQUFDLGlEQUFpRCxDQUFDO2FBQ3RFLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDekMsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUMvQyxVQUFVLENBQUMsUUFBUTtnQkFDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQywyREFBMkQsQ0FBQzthQUNoRixDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDOUMsU0FBUyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNoRCxVQUFVLENBQUMsUUFBUTtnQkFDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQzthQUM1QyxDQUFDLENBQUM7WUFDSCxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2hELFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7YUFDNUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNqRCxVQUFVLENBQUMsUUFBUTtnQkFDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQzthQUM1QyxDQUFDLENBQUM7WUFDSCxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQzdDLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7YUFDNUMsQ0FBQyxDQUFDO1lBQ0gsU0FBUyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNoRCxVQUFVLENBQUMsUUFBUTtnQkFDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQywyREFBMkQsQ0FBQzthQUNoRixDQUFDLENBQUM7WUFDSCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQzlDLFVBQVUsQ0FBQyxRQUFRO2FBQ3BCLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUNILElBQUcsSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO1FBQ0QsSUFBRyxJQUFJLENBQUMsMkJBQTJCLEtBQUssU0FBUyxFQUFFO1lBQ2pELElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBQ0QsY0FBYztRQUNaLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsS0FBSyxPQUFPLEVBQUU7WUFDaEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2xGO2FBQU0sSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixLQUFLLFFBQVEsRUFBRTtZQUN4RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsWUFBWTtnQkFDdkQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUk7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxNQUFNO2dCQUM5QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTztnQkFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFdBQVc7YUFDdkQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBSSxFQUFFLGFBQWE7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkgsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLGFBQWEsS0FBSyxPQUFPLEVBQUM7WUFDaEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7U0FDckM7YUFBTSxJQUFHLElBQUksS0FBSyxVQUFVLElBQUksYUFBYSxLQUFLLE9BQU8sRUFBRTtZQUMxRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztTQUNyQzthQUFNLElBQUcsSUFBSSxLQUFLLFVBQVUsSUFBSSxhQUFhLEtBQUssTUFBTSxFQUFFO1lBQ3pELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1NBRXBDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuSCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN4RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9CLElBQUcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUU7d0JBQzlCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSzt3QkFDdkIsaUJBQWlCLEVBQUUsT0FBTztxQkFDM0IsQ0FBRSxDQUFDO2lCQUNMO3FCQUFNO29CQUNMLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUM7d0JBQzFDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSzt3QkFDdkIsaUJBQWlCLEVBQUUsT0FBTztxQkFDM0IsQ0FBRSxDQUFDO2lCQUNMO2FBQ0E7aUJBQU07Z0JBQ0wsSUFBSSxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRztvQkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztpQkFDL0c7Z0JBQ0QsSUFBRyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFHO29CQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2lCQUMvRzthQUNGO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRztZQUNsRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7YUFBTSxJQUFHLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUNuRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hDLElBQUcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7d0JBQzdCLFlBQVksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBQyxHQUFHLEdBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLO3dCQUN2RSxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLO3dCQUNqQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLO3dCQUMvQixXQUFXLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLO3dCQUN2QyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLO3dCQUNqQyxpQkFBaUIsRUFBRSxRQUFRO3FCQUM1QixDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQzt3QkFDMUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFDLEdBQUcsR0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUs7d0JBQ3ZFLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUs7d0JBQ2pDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUs7d0JBQy9CLFdBQVcsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUs7d0JBQ3ZDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUs7d0JBQ2pDLGlCQUFpQixFQUFFLFFBQVE7cUJBQzVCLENBQUMsQ0FBQztpQkFDSjthQUNBO2lCQUFNO2dCQUNMLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFHO29CQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2lCQUNsSDtnQkFDRCxJQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRztvQkFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDbEg7Z0JBQ0QsSUFBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUc7b0JBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7aUJBQ2xIO2dCQUNELElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFHO29CQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUM5RztnQkFDRCxJQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRztvQkFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDOUc7Z0JBQ0QsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUc7b0JBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQ2hIO2dCQUNELElBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFHO29CQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNoSDtnQkFDRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRztvQkFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztpQkFDbkg7Z0JBQ0QsSUFBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUc7b0JBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7aUJBQ25IO2dCQUNELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFHO29CQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUNqSDthQUNGO1NBRUY7SUFFSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBRztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuSCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMzQixJQUFHLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQzFFLG1CQUFtQixDQUFDLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7b0JBQ3hFLElBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7d0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztxQkFDNUc7Z0JBQ0gsQ0FBQyxDQUNGO29CQUNELENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0MsQ0FBQyxDQUFDO2FBQ0g7aUJBQU0sSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUN2QixJQUFHLElBQUksQ0FBQyxlQUFlLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7b0JBQy9CLElBQUksV0FBVyxHQUFDLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMzRCxLQUFLLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsWUFBWSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUc7d0JBQzNDLFdBQVcsSUFBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQy9CO29CQUNELE1BQU0sYUFBYSxHQUFHO3dCQUNwQixZQUFZLEVBQUUsV0FBVzt3QkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUzt3QkFDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsZ0NBQWdDO3dCQUM3RCxXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO3dCQUMxQyxPQUFPLEVBQUUsZ0JBQWdCO3dCQUN6QixpQkFBaUIsRUFBRSxRQUFRO3FCQUM1QixDQUFDO29CQUNGLElBQUcsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7d0JBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQy9DO3lCQUFPO3dCQUNOLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQzVEO2lCQUNBO3FCQUFNO29CQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7aUJBQy9CO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsSUFBSSxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRztnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQzVHO1lBQ0QsSUFBRyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFHO2dCQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDNUc7U0FDRjtJQUNILENBQUM7SUFDRCxXQUFXLENBQUMsS0FBUztRQUNuQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUs7UUFDbEIsSUFBRyxLQUFLLEtBQUcsT0FBTyxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7UUFDRCxJQUFHLEtBQUssS0FBRyxVQUFVLElBQUksS0FBSyxLQUFHLEtBQUssRUFBRTtZQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsSUFBRyxLQUFLLEtBQUcsVUFBVSxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBRyxLQUFLLEtBQUcsVUFBVSxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQztRQUNELElBQUcsS0FBSyxLQUFHLE1BQU0sSUFBSSxLQUFLLEtBQUcsS0FBSyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUcsS0FBSyxLQUFHLFFBQVEsSUFBSSxLQUFLLEtBQUcsS0FBSyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBRyxLQUFLLEtBQUcsV0FBVyxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBRyxLQUFLLEtBQUcsU0FBUyxJQUFJLEtBQUssS0FBRyxLQUFLLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDL0I7SUFFSCxDQUFDOzs7WUEzU0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDYyVkFBK0M7O2FBRWhEOzs7WUFSUSxXQUFXO1lBRVgsbUJBQW1CO1lBRG5CLG1CQUFtQjs7OzhCQVN6QixLQUFLLFNBQUMsaUJBQWlCOzBDQUN2QixLQUFLLFNBQUMsNkJBQTZCO3lCQUNuQyxLQUFLLFNBQUMsWUFBWTttQ0FDbEIsTUFBTTtnREFDTixNQUFNO29DQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWNvbnRhY3QtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3REZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdpc0VkaXRPcGVyYXRpb24nKSBpc0VkaXRPcGVyYXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgnaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0JykgaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0OiBib29sZWFuO1xuICBASW5wdXQoJ2FkZHJlc3NPYmonKSBhZGRyZXNzT2JqOiBhbnk7XG4gIEBPdXRwdXQoKSBhc3NpZ25Db250YWN0RGV0YWlsczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBhc3NpZ25Db250YWN0RGV0YWlsc0luRmVmdW5kc0xpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVkaXJlY3RUb0lzc3VlUmVmdW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSAnUGF5bWVudCBzdGF0dXMgaGlzdG9yeSc7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBpc0VtYWlsU0FkZHJlc3NDbGlja2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTaG93UGlja0FkZHJlc3M6ICBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTWFudWFsQWRkcmVzc0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZW1haWxBZGRyZXNzRm9ybTogRm9ybUdyb3VwO1xuICBwb3N0Q29kZUZvcm06IEZvcm1Hcm91cDtcbiAgbWFudWFsQWRkcmVzc0Zvcm06IEZvcm1Hcm91cDtcbiAgYWRkcmVzc1Bvc3Rjb2RlTGlzdDphbnlbXSA9IFtdO1xuICBwb3N0Y29kZUFkZHJlc3M6YW55O1xuICBpc0FkZHJlc3NCb3hFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzRW1haWxFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBlbWFpbEhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBwb3N0Y29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzYWRkcmVzc0xpbmUxRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkcmVzc0xpbmUxSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkcmVzc0xpbmUySGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNUb3duT3JDaXR5RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdG93bk9yQ2l0eUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ291bnR5RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY291bnR5SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNUG9zdGNvZGVFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBtcG9zdGNvZGVIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvdW50cnlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FsbCcpO1xuXG4gICAgdGhpcy5lbWFpbEFkZHJlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05Xy4rLV0rQFthLXpBLVowLTktXSsuW2EtekEtWjAtOS0uXSskJylcbiAgICAgIF0pKVxuICAgIH0pO1xuICAgIHRoaXMucG9zdENvZGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBwb3N0Y29kZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW0EtWmEtel17MSwyfVswLTldezEsMn1bQS1aYS16XXswLDF9ID9bMC05XVtBLVphLXpdezJ9KScpXG4gICAgICBdKSlcbiAgICB9KTtcbiAgICB0aGlzLm1hbnVhbEFkZHJlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBhZGRyZXNzbDE6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgYWRkcmVzc2wyOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlthLXpBLVowLTlcXFxccyxcXCctXSokJylcbiAgICAgIF0pKSxcbiAgICAgIHRvd25vcmNpdHk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgY291bnR5OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlthLXpBLVowLTlcXFxccyxcXCctXSokJylcbiAgICAgIF0pKSxcbiAgICAgIG1wb3N0Y29kZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW0EtWmEtel17MSwyfVswLTldezEsMn1bQS1aYS16XXswLDF9ID9bMC05XVtBLVphLXpdezJ9KScpXG4gICAgICBdKSksXG4gICAgICBjb3VudHJ5OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgIF0pKVxuICAgIH0pO1xuICAgIGlmKHRoaXMuYWRkcmVzc09iaiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWRkcmVzc09iaiAhPT0gJycpIHtcbiAgICAgIHRoaXMuc2V0RWRpdERldGFpbHMoKTtcbiAgICB9XG4gICAgaWYodGhpcy5pc0VkaXRPcGVyYXRpb25JblJlZnVuZExpc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0VkaXRPcGVyYXRpb25JblJlZnVuZExpc3QgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgc2V0RWRpdERldGFpbHMoKSB7XG4gICAgaWYodGhpcy5hZGRyZXNzT2JqLm5vdGlmaWNhdGlvbl90eXBlID09PSAnRU1BSUwnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmVtYWlsQWRkcmVzc0Zvcm0uc2V0VmFsdWUoeyBlbWFpbDogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5lbWFpbCB9KTtcbiAgICB9IGVsc2UgaWYodGhpcy5hZGRyZXNzT2JqLm5vdGlmaWNhdGlvbl90eXBlID09PSAnTEVUVEVSJykge1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLnBhdGNoVmFsdWUoeyBcbiAgICAgICAgYWRkcmVzc2wxOiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmFkZHJlc3NfbGluZSxcbiAgICAgICAgdG93bm9yY2l0eTogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5jaXR5LFxuICAgICAgICBjb3VudHk6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuY291bnR5LFxuICAgICAgICBjb3VudHJ5OiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmNvdW50cnksXG4gICAgICAgIG1wb3N0Y29kZTogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5wb3N0YWxfY29kZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q29udGFjdE9wdGlvbih0eXBlLCBpc0xpbmtlZENsaWVkKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FsbCcpO1xuICAgIGlmKCB0eXBlID09PSAnRW1haWwnICYmIGlzTGlua2VkQ2xpZWQgPT09ICdmYWxzZScpe1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZih0eXBlID09PSAnUG9zdGNvZGUnICYmIGlzTGlua2VkQ2xpZWQgPT09ICdmYWxzZScpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYodHlwZSA9PT0gJ1Bvc3Rjb2RlJyAmJiBpc0xpbmtlZENsaWVkID09PSAndHJ1ZScpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSB0cnVlO1xuXG4gICAgfVxuICB9XG5cbiAgZmluYWxGb3JtU3VibWl0KCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcbiAgICBpZiggdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkICl7XG4gICAgICBjb25zdCBlbWFpbEZpZWxkID0gdGhpcy5lbWFpbEFkZHJlc3NGb3JtLmNvbnRyb2xzLmVtYWlsO1xuICAgICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzRm9ybS52YWxpZCkge1xuICAgICAgICBpZighdGhpcy5pc0VkaXRPcGVyYXRpb25JblJlZnVuZExpc3QpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlscy5lbWl0KCB7XG4gICAgICAgICAgZW1haWw6IGVtYWlsRmllbGQudmFsdWUsXG4gICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdFTUFJTCdcbiAgICAgICAgfSApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlsc0luRmVmdW5kc0xpc3QuZW1pdCh7XG4gICAgICAgICAgZW1haWw6IGVtYWlsRmllbGQudmFsdWUsXG4gICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdFTUFJTCdcbiAgICAgICAgfSApO1xuICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYoIGVtYWlsRmllbGQudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW3RydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnZW1haWwnKTtcbiAgICAgICAgfVxuICAgICAgICBpZihlbWFpbEZpZWxkLnZhbHVlICE9ICcnICYmIGVtYWlsRmllbGQuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdlbWFpbCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmKCB0aGlzLmlzUG9zdGNvZGVDbGlja2VkICYmICF0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgKSB7XG4gICAgICB0aGlzLnBvc3Rjb2RlVmFsaWRhdGlvbignRlMnKTtcbiAgICB9IGVsc2UgaWYodGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCAmJiB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQpIHtcbiAgICAgIGNvbnN0IGZpZWxkQ3RybHMgPSB0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLmNvbnRyb2xzO1xuICAgICAgaWYgKHRoaXMubWFudWFsQWRkcmVzc0Zvcm0udmFsaWQpIHtcbiAgICAgICAgaWYoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHMuZW1pdCh7XG4gICAgICAgICAgYWRkcmVzc19saW5lOiBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSsnICcrZmllbGRDdHJscy5hZGRyZXNzbDIudmFsdWUsXG4gICAgICAgICAgY2l0eTogZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlLFxuICAgICAgICAgIGNvdW50eTogZmllbGRDdHJscy5jb3VudHkudmFsdWUsXG4gICAgICAgICAgcG9zdGFsX2NvZGU6IGZpZWxkQ3RybHMubXBvc3Rjb2RlLnZhbHVlLFxuICAgICAgICAgIGNvdW50cnk6IGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSxcbiAgICAgICAgICBub3RpZmljYXRpb25fdHlwZTogJ0xFVFRFUidcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzSW5GZWZ1bmRzTGlzdC5lbWl0KHtcbiAgICAgICAgICBhZGRyZXNzX2xpbmU6IGZpZWxkQ3RybHMuYWRkcmVzc2wxLnZhbHVlKycgJytmaWVsZEN0cmxzLmFkZHJlc3NsMi52YWx1ZSxcbiAgICAgICAgICBjaXR5OiBmaWVsZEN0cmxzLnRvd25vcmNpdHkudmFsdWUsXG4gICAgICAgICAgY291bnR5OiBmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSxcbiAgICAgICAgICBwb3N0YWxfY29kZTogZmllbGRDdHJscy5tcG9zdGNvZGUudmFsdWUsXG4gICAgICAgICAgY291bnRyeTogZmllbGRDdHJscy5jb3VudHJ5LnZhbHVlLFxuICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnTEVUVEVSJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKCBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhZGRyZXNzMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGZpZWxkQ3RybHMuYWRkcmVzc2wxLnZhbHVlICE9ICcnICYmIGZpZWxkQ3RybHMuYWRkcmVzc2wxLmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWRkcmVzczEnKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZEN0cmxzLmFkZHJlc3NsMi52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmFkZHJlc3NsMi5pbnZhbGlkICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FkZHJlc3MyJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICd0b3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlICE9ICcnICYmIGZpZWxkQ3RybHMudG93bm9yY2l0eS5pbnZhbGlkICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3Rvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiggZmllbGRDdHJscy5jb3VudHkudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnY291bnR5Jyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGRDdHJscy5jb3VudHkudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5jb3VudHkuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdjb3VudHknKTtcbiAgICAgICAgfVxuICAgICAgICBpZiggZmllbGRDdHJscy5tcG9zdGNvZGUudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2VdLCAnbXBvc3Rjb2RlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGRDdHJscy5tcG9zdGNvZGUudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5tcG9zdGNvZGUuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZV0sICdtcG9zdGNvZGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiggZmllbGRDdHJscy5jb3VudHJ5LnZhbHVlID09ICcnICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlXSwgJ2NvdW50cnknKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBwb3N0Y29kZVZhbGlkYXRpb24oc3RyKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FsbCcpO1xuICAgIGNvbnN0IHBvc3Rjb2RlRmllbGQgPSB0aGlzLnBvc3RDb2RlRm9ybS5jb250cm9scy5wb3N0Y29kZTtcbiAgICBpZiAodGhpcy5wb3N0Q29kZUZvcm0udmFsaWQpIHtcbiAgICAgIGlmKHN0ciA9PT0gJ0ZBJykge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0QWRkcmVzc0J5UG9zdGNvZGUocG9zdGNvZGVGaWVsZC52YWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlZnVuZHNOb3RpZmljYXRpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzUG9zdGNvZGVMaXN0ID0gcmVmdW5kc05vdGlmaWNhdGlvblsncmVzdWx0cyddO1xuICAgICAgICAgICAgdGhpcy5pc1Nob3dQaWNrQWRkcmVzcyA9IHJlZnVuZHNOb3RpZmljYXRpb25bJ2hlYWRlciddLnRvdGFscmVzdWx0cyA+IDA7XG4gICAgICAgICAgICBpZighdGhpcy5pc1Nob3dQaWNrQWRkcmVzcykge1xuICAgICAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdwb3N0Y29kZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2hvd1BpY2tBZGRyZXNzID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgICB9OyBcbiAgICAgIH0gZWxzZSBpZiAoc3RyID09PSAnRlMnKSB7XG4gICAgICAgIGlmKHRoaXMucG9zdGNvZGVBZGRyZXNzICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wb3N0Y29kZUFkZHJlc3MpIHtcbiAgICAgICAgICB0aGlzLmlzQWRkcmVzc0JveEVtcHR5ID0gZmFsc2U7XG4gICAgICAgICAgbGV0IGFkZHJlc3NMaW5lPVwiXCI7XG4gICAgICAgICAgbGV0IGFkZHJlc3NBcnJheSA9IHRoaXMucG9zdGNvZGVBZGRyZXNzLkFERFJFU1Muc3BsaXQoXCIsXCIpO1xuICAgICAgICAgIGZvciggbGV0IGk9MDsgaTxhZGRyZXNzQXJyYXkubGVuZ3RoLTI7IGkrKyApIHtcbiAgICAgICAgICAgIGFkZHJlc3NMaW5lICs9YWRkcmVzc0FycmF5W2ldOyBcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgYWRkcmVzc09iamVjdCA9IHtcbiAgICAgICAgICAgIGFkZHJlc3NfbGluZTogYWRkcmVzc0xpbmUsXG4gICAgICAgICAgICBjaXR5OiB0aGlzLnBvc3Rjb2RlQWRkcmVzcy5QT1NUX1RPV04sXG4gICAgICAgICAgICBjb3VudHk6IHRoaXMucG9zdGNvZGVBZGRyZXNzLkxPQ0FMX0NVU1RPRElBTl9DT0RFX0RFU0NSSVBUSU9OLFxuICAgICAgICAgICAgcG9zdGFsX2NvZGU6IHRoaXMucG9zdGNvZGVBZGRyZXNzLlBPU1RDT0RFLFxuICAgICAgICAgICAgY291bnRyeTogJ1VuaXRlZCBLaW5nZG9tJyxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnTEVUVEVSJ1xuICAgICAgICAgIH07XG4gICAgICAgICAgaWYoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlscy5lbWl0KGFkZHJlc3NPYmplY3QpO1xuICAgICAgICB9IGVsc2UgIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzSW5GZWZ1bmRzTGlzdC5lbWl0KGFkZHJlc3NPYmplY3QpO1xuICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc0FkZHJlc3NCb3hFbXB0eSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYoIHBvc3Rjb2RlRmllbGQudmFsdWUgPT0gJycgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3Bvc3Rjb2RlJyk7XG4gICAgICB9XG4gICAgICBpZihwb3N0Y29kZUZpZWxkLnZhbHVlICE9ICcnICYmIHBvc3Rjb2RlRmllbGQuaW52YWxpZCApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVkaXJlY3Rpb24oZXZlbnQ6YW55KSB7XG4gICAgdGhpcy5yZWRpcmVjdFRvSXNzdWVSZWZ1bmQuZW1pdChldmVudCk7XG4gIH1cbiAgcmVzZXRGb3JtKHZhbCwgZmllbGQpIHtcbiAgICBpZihmaWVsZD09PSdlbWFpbCcgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc0VtYWlsRW1wdHkgPSB2YWxbMF07XG4gICAgICB0aGlzLmVtYWlsSGFzRXJyb3IgPSB2YWxbMV07XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J3Bvc3Rjb2RlJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVFbXB0eSA9IHZhbFsyXTtcbiAgICAgIHRoaXMucG9zdGNvZGVIYXNFcnJvciA9IHZhbFszXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nYWRkcmVzczEnIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNhZGRyZXNzTGluZTFFbXB0eSA9IHZhbFs0XTtcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUxSGFzRXJyb3IgPSB2YWxbNV07XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J2FkZHJlc3MyJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMkhhc0Vycm9yID0gdmFsWzZdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSd0b3duJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzVG93bk9yQ2l0eUVtcHR5ID0gdmFsWzddO1xuICAgICAgdGhpcy50b3duT3JDaXR5SGFzRXJyb3IgPSB2YWxbOF07XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J2NvdW50eScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc0NvdW50eUVtcHR5ID0gdmFsWzldO1xuICAgICAgdGhpcy5jb3VudHlIYXNFcnJvciA9IHZhbFsxMF07XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J21wb3N0Y29kZScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc01Qb3N0Y29kZUVtcHR5ID0gdmFsWzExXTtcbiAgICAgIHRoaXMubXBvc3Rjb2RlSGFzRXJyb3IgPSB2YWxbMTJdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdjb3VudHJ5JyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzQ291bnRyeUVtcHR5ID0gdmFsWzEzXTtcbiAgICB9XG4gIFxuICB9XG59XG4iXX0=
|
|
@@ -133,9 +133,6 @@ export class ReportsComponent {
|
|
|
133
133
|
if (res['data'][i]['refund_date'] === undefined) {
|
|
134
134
|
res['data'][i]['refund_date'] = 'N/A';
|
|
135
135
|
}
|
|
136
|
-
if (res['data'][i]['document_control_number'] === undefined) {
|
|
137
|
-
res['data'][i]['document_control_number'] = 'N/A';
|
|
138
|
-
}
|
|
139
136
|
}
|
|
140
137
|
}
|
|
141
138
|
this.isDownLoadButtondisabled = false;
|
|
@@ -277,4 +274,4 @@ ReportsComponent.ctorParameters = () => [
|
|
|
277
274
|
ReportsComponent.propDecorators = {
|
|
278
275
|
ISPAYMENTSTATUSENABLED: [{ type: Input }]
|
|
279
276
|
};
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFRckUsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDVSxhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsV0FBd0IsRUFDeEIseUJBQW9ELEVBQ3BELGtCQUFzQztRQUp0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQW5CaEQsUUFBRyxHQUFHLFlBQVksQ0FBQztRQUNuQixRQUFHLEdBQUcsT0FBTyxDQUFDO1FBTWQsNkJBQXdCLEdBQVcsS0FBSyxDQUFDO1FBQ3pDLDhCQUF5QixHQUFZLEtBQUssQ0FBQztRQUMzQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsd0JBQW1CLEdB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QUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQUc7UUFDckIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekQsQ0FBQzs7O1lBblNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsMGdMQUF1Qzs7YUFFeEM7OztZQVBPLGFBQWE7WUFGWixtQkFBbUI7WUFKbkIsV0FBVztZQUdYLHlCQUF5QjtZQUV6QixrQkFBa0I7OztxQ0FVeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NoYXJlZC9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7WGxGaWxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMveGwtZmlsZS94bC1maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluZFZhbHVlU3Vic2NyaWJlciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb3BlcmF0b3JzL2ZpbmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1yZXBvcnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIElTUEFZTUVOVFNUQVRVU0VOQUJMRUQ6IHN0cmluZztcbiAgZm10ID0gJ2RkL01NL3l5eXknO1xuICBsb2MgPSAnZW4tVVMnO1xuICByZXBvcnRzRm9ybTogRm9ybUdyb3VwO1xuICBzdGFydERhdGU6IHN0cmluZztcbiAgZW5kRGF0ZTogc3RyaW5nO1xuICBlcnJvck1lYWFnc2U6IHN0cmluZztcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBpc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQ6Qm9vbGVhbiA9IGZhbHNlO1xuICBpc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGlzRGF0ZUJldHduTW9udGg6IEJvb2xlYW4gPSBmYWxzZTtcbiAgaXNEYXRlUmFuZ2VCZXRuV2VlazogQm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKGZhbHNlLCBmYWxzZSwgJycpO1xuICBwYXltZW50R3JvdXBzOiBJUGF5bWVudEdyb3VwW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHhsRmlsZVNlcnZpY2U6IFhsRmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlKSB7IH1cbiAgIFxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZnJvbVZhbGlkYXRpb24oKTtcblxuICAgfVxuXG4gIGdldFRvZGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuIH1cblxuIGdldFNlbGVjdGVkRnJvbURhdGUoKTogdm9pZCB7XG4gdGhpcy52YWxpZGF0ZURhdGVzKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzZWxlY3RlZHJlcG9ydCcpLnZhbHVlKTtcbiB9XG5cbiB2YWxpZGF0ZURhdGVzKHJlcG9ydE5hbWUpe1xuICBjb25zdCBzZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzdGFydERhdGUnKS52YWx1ZSksXG4gICAgc2VsZWN0ZWRFbmREYXRlID0gdGhpcy50cmFuZm9ybURhdGUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ2VuZERhdGUnKS52YWx1ZSk7XG4gIGNvbnN0IGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gNztcbiAgY29uc3QgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gMzA7XG4gIGlmKG5ldyBEYXRlKHNlbGVjdGVkU3RhcnREYXRlKSA+IG5ldyBEYXRlKHNlbGVjdGVkRW5kRGF0ZSkgJiYgc2VsZWN0ZWRFbmREYXRlICE9PSAnJyl7XG4gICAgdGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmlzRGF0ZVJhbmdlQmV0bldlZWsgPSBmYWxzZTtcbiAgICB0aGlzLmlzRGF0ZUJldHduTW9udGggPSBmYWxzZTtcbiAgICB0aGlzLmlzU3RhcnREYXRlTGVzdGhhbkVuZERhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYocmVwb3J0TmFtZSAmJiByZXBvcnROYW1lID09PSdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICYmIGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IHRydWU7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSBpZihyZXBvcnROYW1lICYmIHJlcG9ydE5hbWUgPT09J1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcgJiYgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IGZhbHNlO1xuICAgIHRoaXMuaXNEYXRlQmV0d25Nb250aCA9IHRydWU7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc0RhdGVSYW5nZUJldG5XZWVrID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH1cblxuIH1cblxuICBmcm9tVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnJlcG9ydHNGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWxlY3RlZHJlcG9ydDogbmV3IEZvcm1Db250cm9sKCcnKSAsXG4gICAgICBzdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBlbmREYXRlOiBuZXcgRm9ybUNvbnRyb2woJycpIFxuICAgIH0pO1xufVxuXG5kb3dubG9hZFJlcG9ydCgpe1xuICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gIGNvbnN0IGRhdGFMb3NzUnB0RGVmYXVsdCA9IFt7bG9zc19yZXNwOicnLHBheW1lbnRfYXNzZXRfZGNuOicnLGVudl9yZWY6JycsZW52X2l0ZW06JycscmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLGRhdGVfYmFua2VkOicnLGJnY19iYXRjaDonJyxwYXltZW50X21ldGhvZDonJyxhbW91bnQ6Jyd9XSxcbiAgICB1blByb2Nlc3NlZFJwdERlZmF1bHQgPSBbe3Jlc3Bfc2VydmljZV9pZDonJyxyZXNwX3NlcnZpY2VfbmFtZTonJyxleGNlcHRpb25fcmVmOicnLGNjZF9yZWY6JycsZGF0ZV9iYW5rZWQ6JycsYmdjX2JhdGNoOicnLHBheW1lbnRfYXNzZXRfZGNuOicnLGVudl9yZWY6JycsZW52X2l0ZW06JycscGF5bWVudF9tZXRob2Q6JycsYW1vdW50OicnfV0sXG4gICAgcHJvY2Vzc2VkVW5hbGxvY2F0ZWQgPVt7cmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLGFsbG9jYXRpb25fc3RhdHVzOicnLHJlY2VpdmluZ19vZmZpY2U6JycsYWxsb2NhdGlvbl9yZWFzb246JycsY2NkX2V4Y2VwdGlvbl9yZWY6JycsY2NkX2Nhc2VfcmVmOicnLHBheW1lbnRfYXNzZXRfZGNuOicnLGVudl9yZWY6JycsZW52X2l0ZW06JycsZGF0ZV9iYW5rZWQ6JycsYmdjX2JhdGNoOicnLHBheW1lbnRfbWV0aG9kOicnLGFtb3VudDonJyx1cGRhdGVkX2J5OicnfV0sXG4gICAgc2hvcnRGYWxsc1JwdERlZmF1bHQgPSBbe3Jlc3Bfc2VydmljZV9pZDonJyxyZXNwX3NlcnZpY2VfbmFtZTonJyxzdXJwbHVzX3Nob3J0ZmFsbDonJyxiYWxhbmNlOicnLHBheW1lbnRfYW1vdW50OicnLGNjZF9jYXNlX3JlZmVyZW5jZTonJyxjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZTonJyxwcm9jZXNzZWRfZGF0ZTonJywgcmVhc29uOicnLCBleHBsYW5hdGlvbjonJywgdXNlcl9uYW1lOicnfV0sXG4gICAgc2VsZWN0ZWRSZXBvcnROYW1lID0gdGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsXG4gICAgc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLnRyYW5mb3JtRGF0ZSh0aGlzLnJlcG9ydHNGb3JtLmdldCgnc3RhcnREYXRlJykudmFsdWUpLFxuICAgIHNlbGVjdGVkRW5kRGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdlbmREYXRlJykudmFsdWUpO1xuXG4gICAgaWYoc2VsZWN0ZWRSZXBvcnROYW1lID09PSAnUFJPQ0VTU0VEX1VOQUxMT0NBVEVEJyB8fCBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICl7XG4gICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5kb3dubG9hZFNlbGVjdGVkUmVwb3J0KHNlbGVjdGVkUmVwb3J0TmFtZSxzZWxlY3RlZFN0YXJ0RGF0ZSxzZWxlY3RlZEVuZERhdGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4gIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZSk7XG4gICAgICAgICAgbGV0IHJlcz0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmKHJlc1snZGF0YSddLmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdQUk9DRVNTRURfVU5BTExPQ0FURUQnICl7XG4gICAgICAgICAgICByZXMuZGF0YT0gcHJvY2Vzc2VkVW5hbGxvY2F0ZWQ7XG4gICAgICAgICAgfSBlbHNlIGlmKHJlc1snZGF0YSddLmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICkge1xuICAgICAgICAgICAgcmVzLmRhdGE9IHNob3J0RmFsbHNScHREZWZhdWx0O1xuICAgICAgICAgIH0gXG4gICAgICAgICAgaWYocmVzdWx0WydkYXRhJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnZW52X3JlZiddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMCwxMyk7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Vudl9pdGVtJ10gPSByZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdLnN1YnN0cigxMywyMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYocmVzWydkYXRhJ11baV1bXCJhbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydhbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVsnYW1vdW50J10pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYmFsYW5jZVwiXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2JhbGFuY2UnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVtcImJhbGFuY2VcIl0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxldCBPcCA9IHJlc1snZGF0YSddW2ldW1wic3VycGx1c19zaG9ydGZhbGxcIl07XG4gICAgICAgICAgICAgIGlmKE9wICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnc3VycGx1c19zaG9ydGZhbGwnXSA9IE9wID09XCJTdXJwbHVzXCIgPyBcIk92ZXIgcGF5bWVudFwiOlwiVW5kZXIgcGF5bWVudFwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wicGF5bWVudF9hbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydwYXltZW50X2Ftb3VudCddID0gdGhpcy5jb252ZXJ0VG9GbG9hdFZhbHVlKHJlc1snZGF0YSddW2ldWydwYXltZW50X2Ftb3VudCddKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gXG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZSh0cnVlLCBmYWxzZSwgJycpO1xuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIGlmKHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcpIHtcblxuICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZG93bmxvYWRGYWlsdXJlUmVwb3J0KHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB7ZGF0YTogSlNPTi5wYXJzZShyZXNwb25zZSlbJ3BheW1lbnRfZmFpbHVyZV9yZXBvcnRfbGlzdCddfTtcbiAgICAgICAgICBsZXQgcmVzID0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmIChyZXN1bHRbJ2RhdGEnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bXCJkaXNwdXRlZF9hbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydkaXNwdXRlZF9hbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVtcImRpc3B1dGVkX2Ftb3VudFwiXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldW1wicmVwcmVzZW50bWVudF9zdGF0dXNcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gcmVzWydkYXRhJ11baV1bXCJyZXByZXNlbnRtZW50X3N0YXR1c1wiXS50b0xvd2VyQ2FzZSgpID09PSAneWVzJyA/ICdTdWNjZXNzJyA6ICdGYWlsdXJlJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bJ3JlcHJlc2VudG1lbnRfc3RhdHVzJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gJ05vIHJlcHJlc2VudG1lbnQgcmVjZWl2ZWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVwcmVzZW50bWVudF9kYXRlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID0gJ05vIHJlZnVuZCBhdmFpbGFibGUnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID0gJ04vQSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldWydyZWZ1bmRfZGF0ZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsnZG9jdW1lbnRfY29udHJvbF9udW1iZXInXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2RvY3VtZW50X2NvbnRyb2xfbnVtYmVyJ10gPSAnTi9BJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMueGxGaWxlU2VydmljZS5leHBvcnRBc0V4Y2VsRmlsZShyZXNbJ2RhdGEnXSwgdGhpcy5nZXRGaWxlTmFtZSh0aGlzLnJlcG9ydHNGb3JtLmdldCgnc2VsZWN0ZWRyZXBvcnQnKS52YWx1ZSwgc2VsZWN0ZWRTdGFydERhdGUsIHNlbGVjdGVkRW5kRGF0ZSApKTtcblxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gZXJyb3IucmVwbGFjZSgvW15hLXpBLVogXS9nLCAnJykudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBlcnJvci5yZXBsYWNlKC9bXmEtekEtWjAtOSBdL2csICcnKS50cmltKCkuc3BsaXQoJyAnKVswXTtcbiAgICAgICAgICBpZihzdGF0dXNDb2RlID09PSAnNDA0Jykge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKHRydWUsIHRydWUsIGVycm9yQ29udGVudCk7XG4gICAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKHRydWUsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5kb3dubG9hZFNlbGVjdGVkUmVwb3J0KHNlbGVjdGVkUmVwb3J0TmFtZSxzZWxlY3RlZFN0YXJ0RGF0ZSxzZWxlY3RlZEVuZERhdGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4gIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZSk7XG4gICAgICAgICAgbGV0IHJlcyA9IHtkYXRhOiB0aGlzLmFwcGx5RGF0ZUZvcm1hdChyZXN1bHQpfTtcbiAgICAgICAgICBpZihyZXNbJ2RhdGEnXS5sZW5ndGggPT09IDAgJiYgc2VsZWN0ZWRSZXBvcnROYW1lID09PSAnREFUQV9MT1NTJyApe1xuICAgICAgICAgICAgcmVzLmRhdGE9IGRhdGFMb3NzUnB0RGVmYXVsdDtcbiAgICAgICAgICB9IGVsc2UgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1VOUFJPQ0VTU0VEJyl7XG4gICAgICAgICAgICByZXMuZGF0YSA9IHVuUHJvY2Vzc2VkUnB0RGVmYXVsdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYocmVzdWx0WydkYXRhJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciggdmFyIGk9MDsgaTwgcmVzWydkYXRhJ10ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Ftb3VudCddID0gdGhpcy5jb252ZXJ0VG9GbG9hdFZhbHVlKHJlc1snZGF0YSddW2ldWydhbW91bnQnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfcmVmJ10gPSByZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdLnN1YnN0cigwLDEzKTtcbiAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfaXRlbSddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMTMsMjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUgKSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UodHJ1ZSwgZmFsc2UsICcnKTtcbiAgICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXRGaWxlTmFtZShzZWxlY3RlZE9wdGlvbjogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nICkge1xuICAgIGNvbnN0IGxvYyA9ICdlbi1VUycsXG4gICAgICBzdER0ID0gZm9ybWF0RGF0ZShzdGFydERhdGUsICdkZE1NeXknLCBsb2MpLFxuICAgICAgZW5EdCA9IGZvcm1hdERhdGUoZW5kRGF0ZSwgJ2RkTU15eScsIGxvYyksXG4gICAgICBub3cgPSBuZXcgRGF0ZSgpLFxuICAgICAgY3VycmVudERhdGUgPSBmb3JtYXREYXRlKG5vdywgJ2RkTU15eScsIGxvYyksXG4gICAgICB0aW1lc3RhbXAgPSBgJHtjdXJyZW50RGF0ZX1fJHt0aGlzLmdldFR3b2RpZ2l0KG5vdy5nZXRIb3VycygpKX0ke3RoaXMuZ2V0VHdvZGlnaXQobm93LmdldE1pbnV0ZXMoKSl9JHt0aGlzLmdldFR3b2RpZ2l0KG5vdy5nZXRTZWNvbmRzKCkpfWAsXG4gICAgICBzZWxlY3RlZE9wdGlvblR4dCA9IHRoaXMuZ2V0Q2FtZWxDYXNlU3RyaW5nKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgIFxuICAgICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9uVHh0KydfJytzdER0KydfVG9fJytlbkR0KydfUnVuXycrIHRpbWVzdGFtcDtcbiAgfSBcbiAgdHJhbmZvcm1EYXRlKHN0ckRhdGU6IHN0cmluZykge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBpZiAoc3RyRGF0ZSkge1xuICAgICAgbGV0IHBhcnRzID0gc3RyRGF0ZS5zcGxpdCgnLScpO1xuICAgICAgcmVzdWx0ID0gYCR7cGFydHNbMV19LyR7cGFydHNbMl19LyR7cGFydHNbMF19YDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBnZXRUd29kaWdpdChpbnB1dDogbnVtYmVyKXtcbiAgICByZXR1cm4gKFwiMFwiICsgaW5wdXQpLnNsaWNlKC0yKTtcbiAgfVxuICBnZXRDYW1lbENhc2VTdHJpbmcoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHN3aXRjaChzZWxlY3RlZE9wdGlvbikgeyBcbiAgICAgIGNhc2UgJ1VOUFJPQ0VTU0VEJzogeyBcbiAgICAgICAgcmVzdWx0ID0gJ1VucHJvY2Vzc2VkJztcbiAgICAgICAgYnJlYWs7IFxuICAgICAgfSBcbiAgICAgIGNhc2UgJ0RBVEFfTE9TUyc6IHsgXG4gICAgICAgIHJlc3VsdCA9ICdEYXRhX0xvc3MnO1xuICAgICAgICBicmVhazsgXG4gICAgICB9IFxuICAgICAgY2FzZSAnUFJPQ0VTU0VEX1VOQUxMT0NBVEVEJzogeyBcbiAgICAgICAgcmVzdWx0ID0gJ1Byb2Nlc3NlZF9VbmFsbG9jYXRlZCc7XG4gICAgICAgIGJyZWFrOyBcbiAgICAgIH0gXG4gICAgICBjYXNlICdTVVJQTFVTX0FORF9TSE9SVEZBTEwnOiB7IFxuICAgICAgICByZXN1bHQgPSAnT3ZlciBQYXltZW50X1VuZGVyIFBheW1lbnQnO1xuICAgICAgICBicmVhazsgXG4gICAgICB9IFxuICAgICAgY2FzZSAnUEFZTUVOVF9GQUlMVVJFX0VWRU5UJzogeyBcbiAgICAgICAgcmVzdWx0ID0gJ1BheW1lbnQgZmFpbHVyZSBldmVudCc7XG4gICAgICAgIGJyZWFrOyBcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHsgXG4gICAgICAgIHJlc3VsdCA9IHNlbGVjdGVkT3B0aW9uO1xuICAgICAgICBicmVhazsgXG4gICAgICB9IFxuICAgfSBcbiAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgYXBwbHlEYXRlRm9ybWF0KHJlcykge1xuICAgIHJldHVybiByZXNbJ2RhdGEnXS5tYXAodmFsdWUgPT4ge1xuICAgICAgaWYgKHZhbHVlWydkYXRlX2JhbmtlZCddKSB7XG4gICAgICAgIHZhbHVlWydkYXRlX2JhbmtlZCddID0gZm9ybWF0RGF0ZSh2YWx1ZVsnZGF0ZV9iYW5rZWQnXSwgdGhpcy5mbXQsIHRoaXMubG9jKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZVsnZXZlbnRfZGF0ZSddICYmIHZhbHVlWydldmVudF9kYXRlJ10uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgICAgICB2YWx1ZVsnZXZlbnRfZGF0ZSddID0gZm9ybWF0RGF0ZSh2YWx1ZVsnZXZlbnRfZGF0ZSddLCB0aGlzLmZtdCwgdGhpcy5sb2MpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZVsnZXZlbnRfZGF0ZSddICYmIHZhbHVlWydldmVudF9kYXRlJ10uaW5kZXhPZignLCcpICE9PSAtMSkge1xuICAgICAgICB2YWx1ZVsnZXZlbnRfZGF0ZSddID0gdGhpcy5tdWx0aURhdGVGb3JtYXRlcih2YWx1ZVsnZXZlbnRfZGF0ZSddKVxuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddICYmIHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXS5pbmRleE9mKCcsJykgPT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSA9IGZvcm1hdERhdGUodmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddLCB0aGlzLmZtdCwgdGhpcy5sb2MpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10gJiYgdmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddLmluZGV4T2YoJywnKSAhPT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddID0gdGhpcy5tdWx0aURhdGVGb3JtYXRlcih2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10pXG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZVsncmVmdW5kX2RhdGUnXSAmJiB2YWx1ZVsncmVmdW5kX2RhdGUnXS5pbmRleE9mKCcsJykgPT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydyZWZ1bmRfZGF0ZSddID0gZm9ybWF0RGF0ZSh2YWx1ZVsncmVmdW5kX2RhdGUnXSwgdGhpcy5mbXQsIHRoaXMubG9jKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWVbJ3JlZnVuZF9kYXRlJ10gJiYgdmFsdWVbJ3JlZnVuZF9kYXRlJ10uaW5kZXhPZignLCcpICE9PSAtMSkge1xuICAgICAgICB2YWx1ZVsncmVmdW5kX2RhdGUnXSA9IHRoaXMubXVsdGlEYXRlRm9ybWF0ZXIodmFsdWVbJ3JlZnVuZF9kYXRlJ10pXG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSk7XG4gIH1cbiAgbXVsdGlEYXRlRm9ybWF0ZXIoZGF0ZVN0cikge1xuICAgcmV0dXJuIGRhdGVTdHIuc3BsaXQoJywnKS5tYXAoKGRhdGUpID0+IGZvcm1hdERhdGUoZGF0ZSwgdGhpcy5mbXQsIHRoaXMubG9jKSkuam9pbignLCcpO1xuICB9XG4gIFxuICBjb252ZXJ0VG9GbG9hdFZhbHVlKGFtdCkge1xuICAgIHJldHVybiBhbXQgPyBOdW1iZXIucGFyc2VGbG9hdChhbXQpLnRvRml4ZWQoMik6ICcwLjAwJztcbiAgfVxufVxuIl19
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFhLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFRckUsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDVSxhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsV0FBd0IsRUFDeEIseUJBQW9ELEVBQ3BELGtCQUFzQztRQUp0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQW5CaEQsUUFBRyxHQUFHLFlBQVksQ0FBQztRQUNuQixRQUFHLEdBQUcsT0FBTyxDQUFDO1FBTWQsNkJBQXdCLEdBQVcsS0FBSyxDQUFDO1FBQ3pDLDhCQUF5QixHQUFZLEtBQUssQ0FBQztRQUMzQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsd0JBQW1CLEdB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QUc7UUFDckIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekQsQ0FBQzs7O1lBaFNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsMGdMQUF1Qzs7YUFFeEM7OztZQVBPLGFBQWE7WUFGWixtQkFBbUI7WUFKbkIsV0FBVztZQUdYLHlCQUF5QjtZQUV6QixrQkFBa0I7OztxQ0FVeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NoYXJlZC9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7WGxGaWxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMveGwtZmlsZS94bC1maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluZFZhbHVlU3Vic2NyaWJlciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb3BlcmF0b3JzL2ZpbmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1yZXBvcnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIElTUEFZTUVOVFNUQVRVU0VOQUJMRUQ6IHN0cmluZztcbiAgZm10ID0gJ2RkL01NL3l5eXknO1xuICBsb2MgPSAnZW4tVVMnO1xuICByZXBvcnRzRm9ybTogRm9ybUdyb3VwO1xuICBzdGFydERhdGU6IHN0cmluZztcbiAgZW5kRGF0ZTogc3RyaW5nO1xuICBlcnJvck1lYWFnc2U6IHN0cmluZztcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBpc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQ6Qm9vbGVhbiA9IGZhbHNlO1xuICBpc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGlzRGF0ZUJldHduTW9udGg6IEJvb2xlYW4gPSBmYWxzZTtcbiAgaXNEYXRlUmFuZ2VCZXRuV2VlazogQm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKGZhbHNlLCBmYWxzZSwgJycpO1xuICBwYXltZW50R3JvdXBzOiBJUGF5bWVudEdyb3VwW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHhsRmlsZVNlcnZpY2U6IFhsRmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlKSB7IH1cbiAgIFxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZnJvbVZhbGlkYXRpb24oKTtcblxuICAgfVxuXG4gIGdldFRvZGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuIH1cblxuIGdldFNlbGVjdGVkRnJvbURhdGUoKTogdm9pZCB7XG4gdGhpcy52YWxpZGF0ZURhdGVzKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzZWxlY3RlZHJlcG9ydCcpLnZhbHVlKTtcbiB9XG5cbiB2YWxpZGF0ZURhdGVzKHJlcG9ydE5hbWUpe1xuICBjb25zdCBzZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzdGFydERhdGUnKS52YWx1ZSksXG4gICAgc2VsZWN0ZWRFbmREYXRlID0gdGhpcy50cmFuZm9ybURhdGUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ2VuZERhdGUnKS52YWx1ZSk7XG4gIGNvbnN0IGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gNztcbiAgY29uc3QgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gMzA7XG4gIGlmKG5ldyBEYXRlKHNlbGVjdGVkU3RhcnREYXRlKSA+IG5ldyBEYXRlKHNlbGVjdGVkRW5kRGF0ZSkgJiYgc2VsZWN0ZWRFbmREYXRlICE9PSAnJyl7XG4gICAgdGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmlzRGF0ZVJhbmdlQmV0bldlZWsgPSBmYWxzZTtcbiAgICB0aGlzLmlzRGF0ZUJldHduTW9udGggPSBmYWxzZTtcbiAgICB0aGlzLmlzU3RhcnREYXRlTGVzdGhhbkVuZERhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYocmVwb3J0TmFtZSAmJiByZXBvcnROYW1lID09PSdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICYmIGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IHRydWU7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSBpZihyZXBvcnROYW1lICYmIHJlcG9ydE5hbWUgPT09J1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcgJiYgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IGZhbHNlO1xuICAgIHRoaXMuaXNEYXRlQmV0d25Nb250aCA9IHRydWU7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc0RhdGVSYW5nZUJldG5XZWVrID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH1cblxuIH1cblxuICBmcm9tVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnJlcG9ydHNGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWxlY3RlZHJlcG9ydDogbmV3IEZvcm1Db250cm9sKCcnKSAsXG4gICAgICBzdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBlbmREYXRlOiBuZXcgRm9ybUNvbnRyb2woJycpIFxuICAgIH0pO1xufVxuXG5kb3dubG9hZFJlcG9ydCgpe1xuICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gIGNvbnN0IGRhdGFMb3NzUnB0RGVmYXVsdCA9IFt7bG9zc19yZXNwOicnLHBheW1lbnRfYXNzZXRfZGNuOicnLGVudl9yZWY6JycsZW52X2l0ZW06JycscmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLGRhdGVfYmFua2VkOicnLGJnY19iYXRjaDonJyxwYXltZW50X21ldGhvZDonJyxhbW91bnQ6Jyd9XSxcbiAgICB1blByb2Nlc3NlZFJwdERlZmF1bHQgPSBbe3Jlc3Bfc2VydmljZV9pZDonJyxyZXNwX3NlcnZpY2VfbmFtZTonJyxleGNlcHRpb25fcmVmOicnLGNjZF9yZWY6JycsZGF0ZV9iYW5rZWQ6JycsYmdjX2JhdGNoOicnLHBheW1lbnRfYXNzZXRfZGNuOicnLGVudl9yZWY6JycsZW52X2l0ZW06JycscGF5bWVudF9tZXRob2Q6JycsYW1vdW50OicnfV0sXG4gICAgcHJvY2Vzc2VkVW5hbGxvY2F0ZWQgPVt7cmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLGFsbG9jYXRpb25fc3RhdHVzOicnLHJlY2VpdmluZ19vZmZpY2U6JycsYWxsb2NhdGlvbl9yZWFzb246JycsY2NkX2V4Y2VwdGlvbl9yZWY6JycsY2NkX2Nhc2VfcmVmOicnLHBheW1lbnRfYXNzZXRfZGNuOicnLGVudl9yZWY6JycsZW52X2l0ZW06JycsZGF0ZV9iYW5rZWQ6JycsYmdjX2JhdGNoOicnLHBheW1lbnRfbWV0aG9kOicnLGFtb3VudDonJyx1cGRhdGVkX2J5OicnfV0sXG4gICAgc2hvcnRGYWxsc1JwdERlZmF1bHQgPSBbe3Jlc3Bfc2VydmljZV9pZDonJyxyZXNwX3NlcnZpY2VfbmFtZTonJyxzdXJwbHVzX3Nob3J0ZmFsbDonJyxiYWxhbmNlOicnLHBheW1lbnRfYW1vdW50OicnLGNjZF9jYXNlX3JlZmVyZW5jZTonJyxjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZTonJyxwcm9jZXNzZWRfZGF0ZTonJywgcmVhc29uOicnLCBleHBsYW5hdGlvbjonJywgdXNlcl9uYW1lOicnfV0sXG4gICAgc2VsZWN0ZWRSZXBvcnROYW1lID0gdGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsXG4gICAgc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLnRyYW5mb3JtRGF0ZSh0aGlzLnJlcG9ydHNGb3JtLmdldCgnc3RhcnREYXRlJykudmFsdWUpLFxuICAgIHNlbGVjdGVkRW5kRGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdlbmREYXRlJykudmFsdWUpO1xuXG4gICAgaWYoc2VsZWN0ZWRSZXBvcnROYW1lID09PSAnUFJPQ0VTU0VEX1VOQUxMT0NBVEVEJyB8fCBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICl7XG4gICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5kb3dubG9hZFNlbGVjdGVkUmVwb3J0KHNlbGVjdGVkUmVwb3J0TmFtZSxzZWxlY3RlZFN0YXJ0RGF0ZSxzZWxlY3RlZEVuZERhdGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4gIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZSk7XG4gICAgICAgICAgbGV0IHJlcz0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmKHJlc1snZGF0YSddLmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdQUk9DRVNTRURfVU5BTExPQ0FURUQnICl7XG4gICAgICAgICAgICByZXMuZGF0YT0gcHJvY2Vzc2VkVW5hbGxvY2F0ZWQ7XG4gICAgICAgICAgfSBlbHNlIGlmKHJlc1snZGF0YSddLmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICkge1xuICAgICAgICAgICAgcmVzLmRhdGE9IHNob3J0RmFsbHNScHREZWZhdWx0O1xuICAgICAgICAgIH0gXG4gICAgICAgICAgaWYocmVzdWx0WydkYXRhJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnZW52X3JlZiddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMCwxMyk7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Vudl9pdGVtJ10gPSByZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdLnN1YnN0cigxMywyMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYocmVzWydkYXRhJ11baV1bXCJhbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydhbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVsnYW1vdW50J10pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYmFsYW5jZVwiXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2JhbGFuY2UnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVtcImJhbGFuY2VcIl0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxldCBPcCA9IHJlc1snZGF0YSddW2ldW1wic3VycGx1c19zaG9ydGZhbGxcIl07XG4gICAgICAgICAgICAgIGlmKE9wICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnc3VycGx1c19zaG9ydGZhbGwnXSA9IE9wID09XCJTdXJwbHVzXCIgPyBcIk92ZXIgcGF5bWVudFwiOlwiVW5kZXIgcGF5bWVudFwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wicGF5bWVudF9hbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydwYXltZW50X2Ftb3VudCddID0gdGhpcy5jb252ZXJ0VG9GbG9hdFZhbHVlKHJlc1snZGF0YSddW2ldWydwYXltZW50X2Ftb3VudCddKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gXG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZSh0cnVlLCBmYWxzZSwgJycpO1xuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIGlmKHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcpIHtcblxuICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZG93bmxvYWRGYWlsdXJlUmVwb3J0KHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB7ZGF0YTogSlNPTi5wYXJzZShyZXNwb25zZSlbJ3BheW1lbnRfZmFpbHVyZV9yZXBvcnRfbGlzdCddfTtcbiAgICAgICAgICBsZXQgcmVzID0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmIChyZXN1bHRbJ2RhdGEnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bXCJkaXNwdXRlZF9hbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydkaXNwdXRlZF9hbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVtcImRpc3B1dGVkX2Ftb3VudFwiXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldW1wicmVwcmVzZW50bWVudF9zdGF0dXNcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gcmVzWydkYXRhJ11baV1bXCJyZXByZXNlbnRtZW50X3N0YXR1c1wiXS50b0xvd2VyQ2FzZSgpID09PSAneWVzJyA/ICdTdWNjZXNzJyA6ICdGYWlsdXJlJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bJ3JlcHJlc2VudG1lbnRfc3RhdHVzJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gJ05vIHJlcHJlc2VudG1lbnQgcmVjZWl2ZWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVwcmVzZW50bWVudF9kYXRlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID0gJ05vIHJlZnVuZCBhdmFpbGFibGUnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID0gJ04vQSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldWydyZWZ1bmRfZGF0ZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy54bEZpbGVTZXJ2aWNlLmV4cG9ydEFzRXhjZWxGaWxlKHJlc1snZGF0YSddLCB0aGlzLmdldEZpbGVOYW1lKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzZWxlY3RlZHJlcG9ydCcpLnZhbHVlLCBzZWxlY3RlZFN0YXJ0RGF0ZSwgc2VsZWN0ZWRFbmREYXRlICkpO1xuXG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBlcnJvckNvbnRlbnQgPSBlcnJvci5yZXBsYWNlKC9bXmEtekEtWiBdL2csICcnKS50cmltKCk7XG4gICAgICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IGVycm9yLnJlcGxhY2UoL1teYS16QS1aMC05IF0vZywgJycpLnRyaW0oKS5zcGxpdCgnICcpWzBdO1xuICAgICAgICAgIGlmKHN0YXR1c0NvZGUgPT09ICc0MDQnKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UodHJ1ZSwgdHJ1ZSwgZXJyb3JDb250ZW50KTtcbiAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UodHJ1ZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmRvd25sb2FkU2VsZWN0ZWRSZXBvcnQoc2VsZWN0ZWRSZXBvcnROYW1lLHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBsZXQgcmVzID0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmKHJlc1snZGF0YSddLmxlbmd0aCA9PT0gMCAmJiBzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdEQVRBX0xPU1MnICl7XG4gICAgICAgICAgICByZXMuZGF0YT0gZGF0YUxvc3NScHREZWZhdWx0O1xuICAgICAgICAgIH0gZWxzZSBpZihyZXNbJ2RhdGEnXS5sZW5ndGggPT09IDAgJiYgc2VsZWN0ZWRSZXBvcnROYW1lID09PSAnVU5QUk9DRVNTRUQnKXtcbiAgICAgICAgICAgIHJlcy5kYXRhID0gdW5Qcm9jZXNzZWRScHREZWZhdWx0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihyZXN1bHRbJ2RhdGEnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYocmVzWydkYXRhJ11baV1bXCJhbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnYW1vdW50J10gPSB0aGlzLmNvbnZlcnRUb0Zsb2F0VmFsdWUocmVzWydkYXRhJ11baV1bJ2Ftb3VudCddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wicGF5bWVudF9hc3NldF9kY25cIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Vudl9yZWYnXSA9IHJlc1snZGF0YSddW2ldW1wicGF5bWVudF9hc3NldF9kY25cIl0uc3Vic3RyKDAsMTMpO1xuICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Vudl9pdGVtJ10gPSByZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdLnN1YnN0cigxMywyMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMueGxGaWxlU2VydmljZS5leHBvcnRBc0V4Y2VsRmlsZShyZXNbJ2RhdGEnXSwgdGhpcy5nZXRGaWxlTmFtZSh0aGlzLnJlcG9ydHNGb3JtLmdldCgnc2VsZWN0ZWRyZXBvcnQnKS52YWx1ZSwgc2VsZWN0ZWRTdGFydERhdGUsIHNlbGVjdGVkRW5kRGF0ZSApKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZSh0cnVlLCBmYWxzZSwgJycpO1xuICAgICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGdldEZpbGVOYW1lKHNlbGVjdGVkT3B0aW9uOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgKSB7XG4gICAgY29uc3QgbG9jID0gJ2VuLVVTJyxcbiAgICAgIHN0RHQgPSBmb3JtYXREYXRlKHN0YXJ0RGF0ZSwgJ2RkTU15eScsIGxvYyksXG4gICAgICBlbkR0ID0gZm9ybWF0RGF0ZShlbmREYXRlLCAnZGRNTXl5JywgbG9jKSxcbiAgICAgIG5vdyA9IG5ldyBEYXRlKCksXG4gICAgICBjdXJyZW50RGF0ZSA9IGZvcm1hdERhdGUobm93LCAnZGRNTXl5JywgbG9jKSxcbiAgICAgIHRpbWVzdGFtcCA9IGAke2N1cnJlbnREYXRlfV8ke3RoaXMuZ2V0VHdvZGlnaXQobm93LmdldEhvdXJzKCkpfSR7dGhpcy5nZXRUd29kaWdpdChub3cuZ2V0TWludXRlcygpKX0ke3RoaXMuZ2V0VHdvZGlnaXQobm93LmdldFNlY29uZHMoKSl9YCxcbiAgICAgIHNlbGVjdGVkT3B0aW9uVHh0ID0gdGhpcy5nZXRDYW1lbENhc2VTdHJpbmcoc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgXG4gICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25UeHQrJ18nK3N0RHQrJ19Ub18nK2VuRHQrJ19SdW5fJysgdGltZXN0YW1wO1xuICB9IFxuICB0cmFuZm9ybURhdGUoc3RyRGF0ZTogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGlmIChzdHJEYXRlKSB7XG4gICAgICBsZXQgcGFydHMgPSBzdHJEYXRlLnNwbGl0KCctJyk7XG4gICAgICByZXN1bHQgPSBgJHtwYXJ0c1sxXX0vJHtwYXJ0c1syXX0vJHtwYXJ0c1swXX1gO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGdldFR3b2RpZ2l0KGlucHV0OiBudW1iZXIpe1xuICAgIHJldHVybiAoXCIwXCIgKyBpbnB1dCkuc2xpY2UoLTIpO1xuICB9XG4gIGdldENhbWVsQ2FzZVN0cmluZyhzZWxlY3RlZE9wdGlvbikge1xuICAgIGxldCByZXN1bHQ7XG4gICAgc3dpdGNoKHNlbGVjdGVkT3B0aW9uKSB7IFxuICAgICAgY2FzZSAnVU5QUk9DRVNTRUQnOiB7IFxuICAgICAgICByZXN1bHQgPSAnVW5wcm9jZXNzZWQnO1xuICAgICAgICBicmVhazsgXG4gICAgICB9IFxuICAgICAgY2FzZSAnREFUQV9MT1NTJzogeyBcbiAgICAgICAgcmVzdWx0ID0gJ0RhdGFfTG9zcyc7XG4gICAgICAgIGJyZWFrOyBcbiAgICAgIH0gXG4gICAgICBjYXNlICdQUk9DRVNTRURfVU5BTExPQ0FURUQnOiB7IFxuICAgICAgICByZXN1bHQgPSAnUHJvY2Vzc2VkX1VuYWxsb2NhdGVkJztcbiAgICAgICAgYnJlYWs7IFxuICAgICAgfSBcbiAgICAgIGNhc2UgJ1NVUlBMVVNfQU5EX1NIT1JURkFMTCc6IHsgXG4gICAgICAgIHJlc3VsdCA9ICdPdmVyIFBheW1lbnRfVW5kZXIgUGF5bWVudCc7XG4gICAgICAgIGJyZWFrOyBcbiAgICAgIH0gXG4gICAgICBjYXNlICdQQVlNRU5UX0ZBSUxVUkVfRVZFTlQnOiB7IFxuICAgICAgICByZXN1bHQgPSAnUGF5bWVudCBmYWlsdXJlIGV2ZW50JztcbiAgICAgICAgYnJlYWs7IFxuICAgICAgfVxuICAgICAgZGVmYXVsdDogeyBcbiAgICAgICAgcmVzdWx0ID0gc2VsZWN0ZWRPcHRpb247XG4gICAgICAgIGJyZWFrOyBcbiAgICAgIH0gXG4gICB9IFxuICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBhcHBseURhdGVGb3JtYXQocmVzKSB7XG4gICAgcmV0dXJuIHJlc1snZGF0YSddLm1hcCh2YWx1ZSA9PiB7XG4gICAgICBpZiAodmFsdWVbJ2RhdGVfYmFua2VkJ10pIHtcbiAgICAgICAgdmFsdWVbJ2RhdGVfYmFua2VkJ10gPSBmb3JtYXREYXRlKHZhbHVlWydkYXRlX2JhbmtlZCddLCB0aGlzLmZtdCwgdGhpcy5sb2MpO1xuICAgICAgfVxuICAgICAgaWYgKHZhbHVlWydldmVudF9kYXRlJ10gJiYgdmFsdWVbJ2V2ZW50X2RhdGUnXS5pbmRleE9mKCcsJykgPT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydldmVudF9kYXRlJ10gPSBmb3JtYXREYXRlKHZhbHVlWydldmVudF9kYXRlJ10sIHRoaXMuZm10LCB0aGlzLmxvYyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlWydldmVudF9kYXRlJ10gJiYgdmFsdWVbJ2V2ZW50X2RhdGUnXS5pbmRleE9mKCcsJykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydldmVudF9kYXRlJ10gPSB0aGlzLm11bHRpRGF0ZUZvcm1hdGVyKHZhbHVlWydldmVudF9kYXRlJ10pXG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10gJiYgdmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddLmluZGV4T2YoJywnKSA9PT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddID0gZm9ybWF0RGF0ZSh2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10sIHRoaXMuZm10LCB0aGlzLmxvYyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSAmJiB2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10uaW5kZXhPZignLCcpICE9PSAtMSkge1xuICAgICAgICB2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10gPSB0aGlzLm11bHRpRGF0ZUZvcm1hdGVyKHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSlcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlWydyZWZ1bmRfZGF0ZSddICYmIHZhbHVlWydyZWZ1bmRfZGF0ZSddLmluZGV4T2YoJywnKSA9PT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ3JlZnVuZF9kYXRlJ10gPSBmb3JtYXREYXRlKHZhbHVlWydyZWZ1bmRfZGF0ZSddLCB0aGlzLmZtdCwgdGhpcy5sb2MpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZVsncmVmdW5kX2RhdGUnXSAmJiB2YWx1ZVsncmVmdW5kX2RhdGUnXS5pbmRleE9mKCcsJykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydyZWZ1bmRfZGF0ZSddID0gdGhpcy5tdWx0aURhdGVGb3JtYXRlcih2YWx1ZVsncmVmdW5kX2RhdGUnXSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuICBtdWx0aURhdGVGb3JtYXRlcihkYXRlU3RyKSB7XG4gICByZXR1cm4gZGF0ZVN0ci5zcGxpdCgnLCcpLm1hcCgoZGF0ZSkgPT4gZm9ybWF0RGF0ZShkYXRlLCB0aGlzLmZtdCwgdGhpcy5sb2MpKS5qb2luKCcsJyk7XG4gIH1cbiAgXG4gIGNvbnZlcnRUb0Zsb2F0VmFsdWUoYW10KSB7XG4gICAgcmV0dXJuIGFtdCA/IE51bWJlci5wYXJzZUZsb2F0KGFtdCkudG9GaXhlZCgyKTogJzAuMDAnO1xuICB9XG59XG4iXX0=
|
|
@@ -24,7 +24,7 @@ export class XlFileService {
|
|
|
24
24
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
25
25
|
}
|
|
26
26
|
else if (excelFileName.match('Payment failure') !== null) {
|
|
27
|
-
worksheet = XLSX.utils.json_to_sheet(json, { header: ['payment_reference', 'ccd_reference', '
|
|
27
|
+
worksheet = XLSX.utils.json_to_sheet(json, { header: ['payment_reference', 'ccd_reference', 'org_id', 'service_name', 'failure_reference', 'failure_reason', 'disputed_amount', 'event_name', 'event_date', 'representment_status', 'representment_date', 'refund_reference', 'refund_amount', 'refund_date'] });
|
|
28
28
|
worksheet = this.setPaymentFailureReportHeaders(worksheet);
|
|
29
29
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
30
30
|
}
|
|
@@ -108,19 +108,18 @@ export class XlFileService {
|
|
|
108
108
|
setPaymentFailureReportHeaders(worksheet) {
|
|
109
109
|
worksheet.A1.v = "Payment reference";
|
|
110
110
|
worksheet.B1.v = "CCD reference";
|
|
111
|
-
worksheet.C1.v = "
|
|
112
|
-
worksheet.D1.v = "
|
|
113
|
-
worksheet.E1.v = "
|
|
114
|
-
worksheet.F1.v = "Failure
|
|
115
|
-
worksheet.G1.v = "
|
|
116
|
-
worksheet.H1.v = "
|
|
117
|
-
worksheet.I1.v = "Event
|
|
118
|
-
worksheet.J1.v = "
|
|
119
|
-
worksheet.K1.v = "Representment
|
|
120
|
-
worksheet.L1.v = "
|
|
121
|
-
worksheet.M1.v = "Refund
|
|
122
|
-
worksheet.N1.v = "Refund
|
|
123
|
-
worksheet.O1.v = "Refund date";
|
|
111
|
+
worksheet.C1.v = "OrgID";
|
|
112
|
+
worksheet.D1.v = "Service name";
|
|
113
|
+
worksheet.E1.v = "Failure reference";
|
|
114
|
+
worksheet.F1.v = "Failure reason";
|
|
115
|
+
worksheet.G1.v = "Disputed amount";
|
|
116
|
+
worksheet.H1.v = "Event name";
|
|
117
|
+
worksheet.I1.v = "Event date";
|
|
118
|
+
worksheet.J1.v = "Representment status";
|
|
119
|
+
worksheet.K1.v = "Representment date";
|
|
120
|
+
worksheet.L1.v = "Refund reference";
|
|
121
|
+
worksheet.M1.v = "Refund amount";
|
|
122
|
+
worksheet.N1.v = "Refund date";
|
|
124
123
|
return worksheet;
|
|
125
124
|
}
|
|
126
125
|
setShortFallReportHeaders(worksheet) {
|
|
@@ -148,4 +147,4 @@ XlFileService.decorators = [
|
|
|
148
147
|
{ type: Injectable }
|
|
149
148
|
];
|
|
150
149
|
XlFileService.ctorParameters = () => [];
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy94bC1maWxlL3hsLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBSTdCLE1BQU0sVUFBVSxHQUFHLGlGQUFpRixDQUFDO0FBQ3JHLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztBQUdoQyxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQztJQUVWLGlCQUFpQixDQUFDLElBQVcsRUFBRSxhQUFxQjtRQUN6RCxJQUFJLFNBQXlCLENBQUM7UUFDOUIsSUFBSSxRQUF1QixDQUFDO1FBQzVCLElBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSSxJQUFJLEVBQUM7WUFDM0MsU0FBUyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQ3RNLFNBQVMsR0FBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9DO2FBQU0sSUFBRyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFJLElBQUksRUFBQztZ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QUM7SUFDTyx5QkFBeUIsQ0FBRSxTQUF5QjtRQUMxRCxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQztRQUNuQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztRQUNyQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyw0QkFBNEIsQ0FBQztRQUM5QyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDM0IsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7UUFDbEMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUNqQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNsQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDMUIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDO1FBQy9CLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNqRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7WUFsSkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5pbXBvcnQgKiBhcyBYTFNYU3R5bGUgZnJvbSAneGxzeC1zdHlsZSc7XG5cblxuY29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBYbEZpbGVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQ7IFxuICAgIGxldCB3b3JrYm9vazogWExTWC5Xb3JrQm9vazsgXG4gICAgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnRGF0YV9Mb3NzJykhPT0gbnVsbCl7XG4gICAgIHdvcmtzaGVldCA9ICBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbix7aGVhZGVyOlsnbG9zc19yZXNwJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXX0pO1xuICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXREYXRhTG9zc1JlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdVbnByb2Nlc3NlZCcpIT09IG51bGwpe1xuICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZXhjZXB0aW9uX3JlZicsJ2NjZF9yZWYnLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXX0pO1xuICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1Byb2Nlc3NlZF9VbmFsbG9jYXRlZCcpIT09IG51bGwpe1xuICAgICAgd29ya3NoZWV0ID0gIFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uLHtoZWFkZXI6WydyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2FsbG9jYXRpb25fc3RhdHVzJywncmVjZWl2aW5nX29mZmljZScsJ2FsbG9jYXRpb25fcmVhc29uJywnY2NkX2V4Y2VwdGlvbl9yZWZlcmVuY2UnLCdjY2RfY2FzZV9yZWZlcmVuY2UnLCdwYXltZW50X2Fzc2V0X2RjbicsJ2Vudl9yZWYnLCdlbnZfaXRlbScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXX0pO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnUGF5bWVudCBmYWlsdXJlJykhPT0gbnVsbCl7XG4gICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3BheW1lbnRfcmVmZXJlbmNlJywnY2NkX3JlZmVyZW5jZScsJ2RvY3VtZW50X2NvbnRyb2xfbnVtYmVyJywnb3JnX2lkJywnc2VydmljZV9uYW1lJywnZmFpbHVyZV9yZWZlcmVuY2UnLCdmYWlsdXJlX3JlYXNvbicsJ2Rpc3B1dGVkX2Ftb3VudCcsJ2V2ZW50X25hbWUnLCdldmVudF9kYXRlJywncmVwcmVzZW50bWVudF9zdGF0dXMnLCdyZXByZXNlbnRtZW50X2RhdGUnLCdyZWZ1bmRfcmVmZXJlbmNlJywncmVmdW5kX2Ftb3VudCcsJ3JlZnVuZF9kYXRlJ119KTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFBheW1lbnRGYWlsdXJlUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdvcmtzaGVldCA9ICBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbix7aGVhZGVyOlsncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdzdXJwbHVzX3Nob3J0ZmFsbCcsJ2JhbGFuY2UnLCdwYXltZW50X2Ftb3VudCcsJ2NjZF9jYXNlX3JlZmVyZW5jZScsICdjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZScsICdwcm9jZXNzZWRfZGF0ZScsICdyZWFzb24nLCAnZXhwbGFuYXRpb24nLCAndXNlcl9uYW1lJ119KTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgIH1cbiAgICB3b3JrYm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgICB0aGlzLnNhdmVBc0V4Y2VsRmlsZShleGNlbEJ1ZmZlciwgZXhjZWxGaWxlTmFtZSk7XG4gIH1cblxuXG5wcml2YXRlIGF1dG9GaXRDb2x1bW5zICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0LGpzb246YW55KSA6IFhMU1guV29ya1NoZWV0IHtcbiAgbGV0IG9iamVjdE1heExlbmd0aCA9IFtdOyBcbiAgbGV0IENvbFdpZHRoID0gW107XG4gIGxldCBvYmogPSA8YW55Pk9iamVjdDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGpzb24ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9iai52YWx1ZXMoanNvbltpXSk7XG4gICAgICBsZXQga2V5ID0gb2JqLmtleXMoanNvbltpXSk7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHZhbHVlLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmKHZhbHVlW2pdID09PSBudWxsKXtcbiAgICAgICAgICB2YWx1ZVtqXSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdE1heExlbmd0aFtqXSA9XG4gICAgICAgICAga2V5W2pdLmxlbmd0aCA+PSB2YWx1ZVtqXS5sZW5ndGhcbiAgICAgICAgICAgID8ga2V5W2pdLmxlbmd0aCsyXG4gICAgICAgICAgICA6IHZhbHVlW2pdLmxlbmd0aCsxO1xuICAgICAgICAgICAgaWYoIHZhbHVlW2pdLmxlbmd0aCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgICAgICAgICAgb2JqZWN0TWF4TGVuZ3RoW2pdID0gIGtleVtqXS5sZW5ndGgrMjtcbiAgICAgICAgICAgIH1cbiAgICAgIENvbFdpZHRoLnB1c2goeyd3aWR0aCc6ICtvYmplY3RNYXhMZW5ndGhbal19KTtcbiAgICAgIH1cbiAgICB9XG4gICAgd29ya3NoZWV0WychY29scyddID0gQ29sV2lkdGg7XG4gICAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxuXG5wcml2YXRlIHNldERhdGFMb3NzUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCk6IFhMU1guV29ya1NoZWV0IHtcbiAgd29ya3NoZWV0LkExLnYgPSBcIkxvc3NfUmVzcFwiO1xuICB3b3Jrc2hlZXQuQjEudiA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgd29ya3NoZWV0LkMxLnYgPSBcIkVudmVsb3BlX1JlZlwiO1xuICB3b3Jrc2hlZXQuRDEudiA9IFwiRW52ZWxvcGVfSXRlbVwiO1xuICB3b3Jrc2hlZXQuRTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuRzEudiA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIkJHQ19CYXRjaFwiO1xuICB3b3Jrc2hlZXQuSTEudiA9IFwiUGF5bWVudF9NZXRob2RcIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkFtb3VudFwiO1xuICByZXR1cm4gd29ya3NoZWV0O1xufVxuXG5wcml2YXRlIHNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCk6IFhMU1guV29ya1NoZWV0IHtcbiAgd29ya3NoZWV0LkExLnYgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICB3b3Jrc2hlZXQuQjEudiA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgd29ya3NoZWV0LkMxLnYgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkNDRF9SZWZcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIkRhdGVfQmFua2VkXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJCR0NfQmF0Y2hcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgd29ya3NoZWV0LkkxLnYgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJBbW91bnRcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzZXRQcm9jZXNzZWRVbmFsbG9jYXRlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJBbGxvY2F0aW9uX1N0YXR1c1wiO1xuICB3b3Jrc2hlZXQuRDEudiA9IFwiUmVjZWl2aW5nX09mZmljZVwiO1xuICB3b3Jrc2hlZXQuRTEudiA9IFwiQWxsb2NhdGlvbl9SZWFzb25cIjtcbiAgd29ya3NoZWV0LkYxLnYgPSBcIkNDRF9FeGNlcHRpb25fUmVmXCI7XG4gIHdvcmtzaGVldC5HMS52ID0gXCJDQ0RfQ2FzZV9SZWZcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgd29ya3NoZWV0LksxLnYgPSBcIkRhdGVfQmFua2VkXCI7XG4gIHdvcmtzaGVldC5MMS52ID0gXCJCR0NfQmF0Y2hcIjtcbiAgd29ya3NoZWV0Lk0xLnYgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gIHdvcmtzaGVldC5OMS52ID0gXCJBbW91bnRcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzZXRQYXltZW50RmFpbHVyZVJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJQYXltZW50IHJlZmVyZW5jZVwiO1xuICB3b3Jrc2hlZXQuQjEudiA9IFwiQ0NEIHJlZmVyZW5jZVwiO1xuICB3b3Jrc2hlZXQuQzEudiA9IFwiRG9jdW1lbnQgQ29udHJvbCBOdW1iZXJcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIk9yZ0lEXCI7XG4gIHdvcmtzaGVldC5FMS52ID0gXCJTZXJ2aWNlIG5hbWVcIjtcbiAgd29ya3NoZWV0LkYxLnYgPSBcIkZhaWx1cmUgcmVmZXJlbmNlXCI7XG4gIHdvcmtzaGVldC5HMS52ID0gXCJGYWlsdXJlIHJlYXNvblwiO1xuICB3b3Jrc2hlZXQuSDEudiA9IFwiRGlzcHV0ZWQgYW1vdW50XCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJFdmVudCBuYW1lXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJFdmVudCBkYXRlXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJSZXByZXNlbnRtZW50IHN0YXR1c1wiO1xuICB3b3Jrc2hlZXQuTDEudiA9IFwiUmVwcmVzZW50bWVudCBkYXRlXCI7XG4gIHdvcmtzaGVldC5NMS52ID0gXCJSZWZ1bmQgcmVmZXJlbmNlXCI7XG4gIHdvcmtzaGVldC5OMS52ID0gXCJSZWZ1bmQgYW1vdW50XCI7XG4gIHdvcmtzaGVldC5PMS52ID0gXCJSZWZ1bmQgZGF0ZVwiO1xuICByZXR1cm4gd29ya3NoZWV0O1xufVxucHJpdmF0ZSBzZXRTaG9ydEZhbGxSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0KTogWExTWC5Xb3JrU2hlZXQge1xuICB3b3Jrc2hlZXQuQTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5CMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuQzEudiA9IFwiT3ZlciBQYXltZW50X1VuZGVyIFBheW1lbnRcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkJhbGFuY2VcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIlBheW1lbnRfQW1vdW50XCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJDQ0RfQ2FzZV9SZWZcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIlByb2Nlc3NlZF9EYXRlXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJSZWFzb25cIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkV4cGxhbmF0aW9uXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJVcGRhdGVkIE5hbWVcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcbiAgfVxufVxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy94bC1maWxlL3hsLWZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBSTdCLE1BQU0sVUFBVSxHQUFHLGlGQUFpRixDQUFDO0FBQ3JHLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztBQUdoQyxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQztJQUVWLGlCQUFpQixDQUFDLElBQVcsRUFBRSxhQUFxQjtRQUN6RCxJQUFJLFNBQXlCLENBQUM7UUFDOUIsSUFBSSxRQUF1QixDQUFDO1FBQzVCLElBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSSxJQUFJLEVBQUM7WUFDM0MsU0FBUyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQ3RNLFNBQVMsR0FBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9DO2FBQU0sSUFBRyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFJLElBQUksRUFBQztZ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RyxpQkFBaUIsQ0FBQztRQUNuQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztRQUNyQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyw0QkFBNEIsQ0FBQztRQUM5QyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDM0IsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7UUFDbEMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUNqQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNsQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDMUIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDO1FBQy9CLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNqRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7WUFqSkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5pbXBvcnQgKiBhcyBYTFNYU3R5bGUgZnJvbSAneGxzeC1zdHlsZSc7XG5cblxuY29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBYbEZpbGVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQ7IFxuICAgIGxldCB3b3JrYm9vazogWExTWC5Xb3JrQm9vazsgXG4gICAgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnRGF0YV9Mb3NzJykhPT0gbnVsbCl7XG4gICAgIHdvcmtzaGVldCA9ICBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbix7aGVhZGVyOlsnbG9zc19yZXNwJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXX0pO1xuICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXREYXRhTG9zc1JlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdVbnByb2Nlc3NlZCcpIT09IG51bGwpe1xuICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZXhjZXB0aW9uX3JlZicsJ2NjZF9yZWYnLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXX0pO1xuICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1Byb2Nlc3NlZF9VbmFsbG9jYXRlZCcpIT09IG51bGwpe1xuICAgICAgd29ya3NoZWV0ID0gIFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uLHtoZWFkZXI6WydyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2FsbG9jYXRpb25fc3RhdHVzJywncmVjZWl2aW5nX29mZmljZScsJ2FsbG9jYXRpb25fcmVhc29uJywnY2NkX2V4Y2VwdGlvbl9yZWZlcmVuY2UnLCdjY2RfY2FzZV9yZWZlcmVuY2UnLCdwYXltZW50X2Fzc2V0X2RjbicsJ2Vudl9yZWYnLCdlbnZfaXRlbScsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9tZXRob2QnLCdhbW91bnQnXX0pO1xuICAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnUGF5bWVudCBmYWlsdXJlJykhPT0gbnVsbCl7XG4gICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3BheW1lbnRfcmVmZXJlbmNlJywnY2NkX3JlZmVyZW5jZScsJ29yZ19pZCcsJ3NlcnZpY2VfbmFtZScsJ2ZhaWx1cmVfcmVmZXJlbmNlJywnZmFpbHVyZV9yZWFzb24nLCdkaXNwdXRlZF9hbW91bnQnLCdldmVudF9uYW1lJywnZXZlbnRfZGF0ZScsJ3JlcHJlc2VudG1lbnRfc3RhdHVzJywncmVwcmVzZW50bWVudF9kYXRlJywncmVmdW5kX3JlZmVyZW5jZScsJ3JlZnVuZF9hbW91bnQnLCdyZWZ1bmRfZGF0ZSddfSk7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRQYXltZW50RmFpbHVyZVJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnc3VycGx1c19zaG9ydGZhbGwnLCdiYWxhbmNlJywncGF5bWVudF9hbW91bnQnLCdjY2RfY2FzZV9yZWZlcmVuY2UnLCAnY2NkX2V4Y2VwdGlvbl9yZWZlcmVuY2UnLCAncHJvY2Vzc2VkX2RhdGUnLCAncmVhc29uJywgJ2V4cGxhbmF0aW9uJywgJ3VzZXJfbmFtZSddfSk7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRTaG9ydEZhbGxSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICB9XG4gICAgd29ya2Jvb2sgPSB7IFNoZWV0czogeyAnZGF0YSc6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xuICB9XG5cblxucHJpdmF0ZSBhdXRvRml0Q29sdW1ucyAod29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCxqc29uOmFueSkgOiBYTFNYLldvcmtTaGVldCB7XG4gIGxldCBvYmplY3RNYXhMZW5ndGggPSBbXTsgXG4gIGxldCBDb2xXaWR0aCA9IFtdO1xuICBsZXQgb2JqID0gPGFueT5PYmplY3Q7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBqc29uLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgdmFsdWUgPSBvYmoudmFsdWVzKGpzb25baV0pO1xuICAgICAgbGV0IGtleSA9IG9iai5rZXlzKGpzb25baV0pO1xuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB2YWx1ZS5sZW5ndGg7IGorKykge1xuICAgICAgICBpZih2YWx1ZVtqXSA9PT0gbnVsbCl7XG4gICAgICAgICAgdmFsdWVbal0gPSAnJztcbiAgICAgICAgfVxuICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPVxuICAgICAgICAgIGtleVtqXS5sZW5ndGggPj0gdmFsdWVbal0ubGVuZ3RoXG4gICAgICAgICAgICA/IGtleVtqXS5sZW5ndGgrMlxuICAgICAgICAgICAgOiB2YWx1ZVtqXS5sZW5ndGgrMTtcbiAgICAgICAgICAgIGlmKCB2YWx1ZVtqXS5sZW5ndGggPT09IHVuZGVmaW5lZCl7XG4gICAgICAgICAgICAgIG9iamVjdE1heExlbmd0aFtqXSA9ICBrZXlbal0ubGVuZ3RoKzI7XG4gICAgICAgICAgICB9XG4gICAgICBDb2xXaWR0aC5wdXNoKHsnd2lkdGgnOiArb2JqZWN0TWF4TGVuZ3RoW2pdfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHdvcmtzaGVldFsnIWNvbHMnXSA9IENvbFdpZHRoO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG59XG5cblxucHJpdmF0ZSBzZXREYXRhTG9zc1JlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJMb3NzX1Jlc3BcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICB3b3Jrc2hlZXQuRjEudiA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIkRhdGVfQmFua2VkXCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJCR0NfQmF0Y2hcIjtcbiAgd29ya3NoZWV0LkkxLnYgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJBbW91bnRcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gIHdvcmtzaGVldC5EMS52ID0gXCJDQ0RfUmVmXCI7XG4gIHdvcmtzaGVldC5FMS52ID0gXCJEYXRlX0JhbmtlZFwiO1xuICB3b3Jrc2hlZXQuRjEudiA9IFwiQkdDX0JhdGNoXCI7XG4gIHdvcmtzaGVldC5HMS52ID0gXCJQYXltZW50X0Fzc2V0X0RDTlwiO1xuICB3b3Jrc2hlZXQuSDEudiA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJQYXltZW50X01ldGhvZFwiO1xuICB3b3Jrc2hlZXQuSzEudiA9IFwiQW1vdW50XCI7XG4gIHJldHVybiB3b3Jrc2hlZXQ7XG59XG5cbnByaXZhdGUgc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0KTogWExTWC5Xb3JrU2hlZXQge1xuICB3b3Jrc2hlZXQuQTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5CMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuQzEudiA9IFwiQWxsb2NhdGlvbl9TdGF0dXNcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIlJlY2VpdmluZ19PZmZpY2VcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIkFsbG9jYXRpb25fUmVhc29uXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJDQ0RfRXhjZXB0aW9uX1JlZlwiO1xuICB3b3Jrc2hlZXQuRzEudiA9IFwiQ0NEX0Nhc2VfUmVmXCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJQYXltZW50X0Fzc2V0X0RDTlwiO1xuICB3b3Jrc2hlZXQuSTEudiA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJEYXRlX0JhbmtlZFwiO1xuICB3b3Jrc2hlZXQuTDEudiA9IFwiQkdDX0JhdGNoXCI7XG4gIHdvcmtzaGVldC5NMS52ID0gXCJQYXltZW50X01ldGhvZFwiO1xuICB3b3Jrc2hlZXQuTjEudiA9IFwiQW1vdW50XCI7XG4gIHJldHVybiB3b3Jrc2hlZXQ7XG59XG5cbnByaXZhdGUgc2V0UGF5bWVudEZhaWx1cmVSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0KTogWExTWC5Xb3JrU2hlZXQge1xuICB3b3Jrc2hlZXQuQTEudiA9IFwiUGF5bWVudCByZWZlcmVuY2VcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIkNDRCByZWZlcmVuY2VcIjtcbiAgd29ya3NoZWV0LkMxLnYgPSBcIk9yZ0lEXCI7XG4gIHdvcmtzaGVldC5EMS52ID0gXCJTZXJ2aWNlIG5hbWVcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIkZhaWx1cmUgcmVmZXJlbmNlXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJGYWlsdXJlIHJlYXNvblwiO1xuICB3b3Jrc2hlZXQuRzEudiA9IFwiRGlzcHV0ZWQgYW1vdW50XCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJFdmVudCBuYW1lXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJFdmVudCBkYXRlXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJSZXByZXNlbnRtZW50IHN0YXR1c1wiO1xuICB3b3Jrc2hlZXQuSzEudiA9IFwiUmVwcmVzZW50bWVudCBkYXRlXCI7XG4gIHdvcmtzaGVldC5MMS52ID0gXCJSZWZ1bmQgcmVmZXJlbmNlXCI7XG4gIHdvcmtzaGVldC5NMS52ID0gXCJSZWZ1bmQgYW1vdW50XCI7XG4gIHdvcmtzaGVldC5OMS52ID0gXCJSZWZ1bmQgZGF0ZVwiO1xuICByZXR1cm4gd29ya3NoZWV0O1xufVxucHJpdmF0ZSBzZXRTaG9ydEZhbGxSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0KTogWExTWC5Xb3JrU2hlZXQge1xuICB3b3Jrc2hlZXQuQTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5CMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuQzEudiA9IFwiT3ZlciBQYXltZW50X1VuZGVyIFBheW1lbnRcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkJhbGFuY2VcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIlBheW1lbnRfQW1vdW50XCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJDQ0RfQ2FzZV9SZWZcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIlByb2Nlc3NlZF9EYXRlXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJSZWFzb25cIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkV4cGxhbmF0aW9uXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJVcGRhdGVkIE5hbWVcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcbiAgfVxufVxuIl19
|