ng-easycommerce 0.0.644 → 0.0.645
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/README.md +2 -0
- package/bundles/ng-easycommerce.umd.js +15 -1
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +16 -2
- package/esm5/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +16 -2
- package/fesm2015/ng-easycommerce.js +15 -1
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +15 -1
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/package.json +1 -1
|
@@ -102,7 +102,21 @@ let RegisterFormEcComponent = class RegisterFormEcComponent extends ComponentHel
|
|
|
102
102
|
}, error => {
|
|
103
103
|
this.register_loading = false;
|
|
104
104
|
if (error.status == 400) {
|
|
105
|
-
|
|
105
|
+
const backendError = error.error;
|
|
106
|
+
if (backendError &&
|
|
107
|
+
backendError.errors &&
|
|
108
|
+
backendError.errors.email &&
|
|
109
|
+
backendError.errors.email.length > 0) {
|
|
110
|
+
// Mostrar el primer mensaje de error de email
|
|
111
|
+
this.toastr.showPersistent(backendError.errors.email[0]);
|
|
112
|
+
}
|
|
113
|
+
else if (backendError && backendError.message) {
|
|
114
|
+
// Si no hay mensaje específico, pero hay mensaje general del backend
|
|
115
|
+
this.toastr.showPersistent(backendError.message);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.toastr.showPersistent('El email ingresado ya se encuentra registrado.');
|
|
119
|
+
}
|
|
106
120
|
}
|
|
107
121
|
else {
|
|
108
122
|
this.toastr.show('Error en el registro. Vuelva a intentarlo más tarde.');
|
|
@@ -251,4 +265,4 @@ RegisterFormEcComponent = __decorate([
|
|
|
251
265
|
})
|
|
252
266
|
], RegisterFormEcComponent);
|
|
253
267
|
export { RegisterFormEcComponent };
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUWpELElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXdCLFNBQVEsZUFBZTtJQStCeEQsWUFDVyxXQUF3QixFQUNyQixNQUFvQixFQUN2QixNQUFjLEVBQ2QsZ0JBQWtDLEVBQy9CLFdBQXdCLEVBQzFCLG9CQUEwQyxFQUMzQyxNQUFpQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQVJELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FB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aW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJlZ2lzdGVyLWZvcm0tZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAncmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwcm90ZWN0ZWQgcHJvdmluY2VzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgY291bnRyaWVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgZG9jdW1lbnRUeXBlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG5cbiAgICBwdWJsaWMgcHJvdmluY2VzJCA9IHRoaXMucHJvdmluY2VzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgY291bnRyaWVzJCA9IHRoaXMuY291bnRyaWVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgZG9jdW1lbnRUeXBlcyQgPSB0aGlzLmRvY3VtZW50VHlwZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBpc0xvZ2dlZDogQm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgZGFya01vZGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWRpcmVjdCA9IHRydWU7XG4gICAgQElucHV0KCkgY29tcGxldGUgPSB0cnVlO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwdWJsaWMgc3VjY2VzczogQm9vbGVhbiA9IGZhbHNlXG4gICAgcHVibGljIGNhbXBvc3BlcnNvbmFqdXJpZGljYTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyByZWdpc3Rlcl9sb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWdpc3RlckZvcm06IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgcmVnaXN0cm9Vc3VhcmlvOiBhbnkgPSB7XG4gICAgICAgIGZpcnN0TmFtZTogJycsXG4gICAgICAgIGxhc3ROYW1lOiAnJyxcbiAgICAgICAgZW1haWw6ICcnLFxuICAgICAgICBwbGFpblBhc3N3b3JkOiAnJyxcbiAgICAgICAgcGxhaW5QYXNzd29yZDI6ICcnLFxuICAgICAgICBuZXdzbGV0dGVyOiBmYWxzZSxcbiAgICAgICAgdGVybXM6IGZhbHNlLFxuICAgICAgICBiaXJ0aGRheTogJycsIC8vIE51ZXZvIGNhbXBvIHBhcmEgZWwgY3VtcGxlYcOxb3NcbiAgICB9O1xuICAgIHB1YmxpYyBpc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NlbmRXZWxjb21lRW1haWwgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHVibGljIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgY2hhbm5lbENvbmZpZ1NlcnZpY2U6IENoYW5uZWxDb25maWdTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHNcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgZmlyc3ROYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bQS1aYS16w4HDicONw5PDmsOhw6nDrcOzw7rDkcOxXFxzXSskLyldXSxcbiAgICAgICAgICAgIGxhc3ROYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bQS1aYS16w4HDicONw5PDmsOhw6nDrcOzw7rDkcOxXFxzXSskLyldXSxcbiAgICAgICAgICAgIGVtYWlsOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgcGxhaW5QYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIHBsYWluUGFzc3dvcmQyOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgbmV3c2xldHRlcjogW2ZhbHNlXSxcbiAgICAgICAgICAgIHRlcm1zOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgYmlydGhkYXk6IFtudWxsLCBbdGhpcy5vcHRpb25hbE1heExlbmd0aFZhbGlkYXRvcigxMSldXSxcbiAgICAgICAgICAgIC8vIERpcmVjY2nDs24gKG9wY2lvbmFsLCBwZXJvIHNpIHNlIGVudsOtYSwgc2UgcmVjb21pZW5kYSBlbnZpYXIgdG9kb3MgbG9zIGNhbXBvcyBpbnRlcm5vcylcbiAgICAgICAgICAgIGNvdW50cnlDb2RlOiBbJyddLFxuICAgICAgICAgICAgcHJvdmluY2VDb2RlOiBbbnVsbF0sXG4gICAgICAgICAgICBzdHJlZXQ6IFtudWxsXSxcbiAgICAgICAgICAgIGNpdHk6IFsnJ10sXG4gICAgICAgICAgICBwb3N0Y29kZTogWycnXSxcbiAgICAgICAgICAgIC8vIERhdG9zIGVtcHJlc2EgKG9wY2lvbmFsZXMpXG4gICAgICAgICAgICBjb21wYW55TmFtZTogWycnXSxcbiAgICAgICAgICAgIGxlZ2FsRGVub21pbmF0aW9uOiBbJyddLFxuICAgICAgICAgICAgLy8gRGF0b3MgcGVyc29uYWxlcyBhZGljaW9uYWxlcyAob3BjaW9uYWxlcylcbiAgICAgICAgICAgIGdlbmRlcjogW251bGxdLFxuICAgICAgICAgICAgcGhvbmVOdW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucGF0dGVybignWzAtOV0rJyldXSxcbiAgICAgICAgICAgIHN1YnNjcmliZWRUb05ld3NsZXR0ZXI6IFtmYWxzZV0sXG4gICAgICAgICAgICBkb2N1bWVudFR5cGU6IFtudWxsXSxcbiAgICAgICAgICAgIGRvY3VtZW50TnVtYmVyOiBbJyddLFxuICAgICAgICAgICAgLy8gQ29tZW50YXJpb3MgeSBjb250YWN0byAob3BjaW9uYWxlcykgXG4gICAgICAgICAgICBjb21tZW50czogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0Rmlyc3ROYW1lOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3RMYXN0TmFtZTogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0Q29tcGFueVBvc2l0aW9uOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3RFbWFpbDogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0RG9jdW1lbnRUeXBlOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3REb2N1bWVudE51bWJlcjogWycnLCBbXV0sXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IFt0aGlzLmRpcmVjY2lvbkNvbXBsZXRhVmFsaWRhdG9yKCldXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldENvdW50cmllc0RhdGEoKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvdW50cmllc1N1YmplY3QubmV4dChyZXMpO1xuICAgICAgICAgICAgbGV0IGRvY3VtZW50VHlwZXMgPSBbXVxuICAgICAgICAgICAgcmVzLm1hcChwYWlzZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uc3RzLmdldExvY2FsZSgpLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMocGFpc2VzLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSkgJiYgKGRvY3VtZW50VHlwZXMgPSBwYWlzZXMuZG9jdW1lbnRUeXBlcyB8fCBbXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5uZXh0KGRvY3VtZW50VHlwZXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkID0gY29uZmlnLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuaXNTZW5kV2VsY29tZUVtYWlsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbmRXZWxjb21lRW1haWwgPSBjb25maWcuaXNTZW5kV2VsY29tZUVtYWlsO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICB9XG5cbiAgICBzZXRQcm9wID0gKHByb3AsIGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMucmVnaXN0cm9Vc3VhcmlvW3Byb3BdID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZWRpcmVjdEhvbWUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nKVxuICAgIH1cblxuICAgIHJlZ2lzdGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IHRydWU7XG4gICAgICAgIGlmICghdGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtZm9ybScpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLnBsYWluUGFzc3dvcmQgIT0gdGhpcy5yZWdpc3RlckZvcm0udmFsdWUucGxhaW5QYXNzd29yZDIpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ0xhcyBjb250cmFzZcOxYXMgbm8gY29pbmNpZGVuJyk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZERhdGEgPSB0aGlzLm5vcm1hbGl6ZVJlZ2lzdGVyRGF0YSh0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25VcChub3JtYWxpemVkRGF0YSkudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2VLZXk6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUtleSA9ICdyZWdpc3Rlci1vayc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItd2VsY29tZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItc3VjY2Vzcyc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvd1BlcnNpc3RlbnQobWVzc2FnZUtleSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3NpZ25fdXAnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWU6IHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLmZpcnN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5lbWFpbFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlS2V5ICE9PSAncmVnaXN0ZXItb2snICYmIHRoaXMucmVkaXJlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJGb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3QgJiYgbWVzc2FnZUtleSA9PT0gJ3JlZ2lzdGVyLW9rJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnaG9tZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvd1BlcnNpc3RlbnQoJ0VsIGVtYWlsIGluZ3Jlc2FkbyB5YSBzZSBlbmN1ZW50cmEgcmVnaXN0cmFkby4nKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ0Vycm9yIGVuIGVsIHJlZ2lzdHJvLiBWdWVsdmEgYSBpbnRlbnRhcmxvIG3DoXMgdGFyZGUuJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdpbnZhbGlkLWZvcm0nKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlyZWNjaW9uQ29tcGxldGFWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmVldCA9IGNvbnRyb2wuZ2V0KCdzdHJlZXQnKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBjaXR5ID0gY29udHJvbC5nZXQoJ2NpdHknKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBwcm92aW5jZUNvZGUgPSBjb250cm9sLmdldCgncHJvdmluY2VDb2RlJyk/LnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgY291bnRyeUNvZGUgPSBjb250cm9sLmdldCgnY291bnRyeUNvZGUnKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBwb3N0Y29kZSA9IGNvbnRyb2wuZ2V0KCdwb3N0Y29kZScpPy52YWx1ZTtcblxuICAgICAgICAgICAgY29uc3QgaGFzVmFsdWUgPSAodmFsOiBhbnkpOiBib29sZWFuID0+IHZhbCAhPT0gbnVsbCAmJiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwudG9TdHJpbmcoKS50cmltKCkgIT09ICcnO1xuXG4gICAgICAgICAgICBjb25zdCBhbnlGaWVsZFNldCA9IFtzdHJlZXQsIGNpdHksIHByb3ZpbmNlQ29kZSwgY291bnRyeUNvZGUsIHBvc3Rjb2RlXS5zb21lKGhhc1ZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IGFsbEZpZWxkc1NldCA9IFtzdHJlZXQsIGNpdHksIHByb3ZpbmNlQ29kZSwgY291bnRyeUNvZGUsIHBvc3Rjb2RlXS5ldmVyeShoYXNWYWx1ZSk7XG4gICAgICAgICAgICAvLyBTaSBhbCBtZW5vcyB1biBjYW1wbyBkZSBkaXJlY2Npw7NuIGVzdMOhIGVzdGFibGVjaWRvLCB0b2RvcyBkZWJlbiBlc3RhcmxvXG4gICAgICAgICAgICAvLyBTaSBubyBoYXkgbmluZ8O6biBjYW1wbyBkZSBkaXJlY2Npw7NuIGVzdGFibGVjaWRvLCBubyBzZSBhcGxpY2EgbGEgdmFsaWRhY2nDs25cbiAgICAgICAgICAgIGlmIChhbnlGaWVsZFNldCAmJiAhYWxsRmllbGRzU2V0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGlyZWNjaW9uSW5jb21wbGV0YTogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvcHRpb25hbE1heExlbmd0aFZhbGlkYXRvcihtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUubGVuZ3RoID4gbWF4ID8geyBtYXhMZW5ndGg6IHRydWUgfSA6IG51bGw7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25Db3VudHJ5U2VsZWN0ZWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgJCgnI3NlbGVjdE9wUGFpcycpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5Q29kZSddLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbJ3Byb3ZpbmNlQ29kZSddLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdmFsdWUgIT0gJycgJiYgdGhpcy5wcm92aW5jZXNTdWJqZWN0Lm5leHQodGhpcy5jb3VudHJpZXNTdWJqZWN0LnZhbHVlLmZpbmQoY291bnRyeSA9PiBjb3VudHJ5LmNvZGUgPT0gdmFsdWUpLnByb3ZpbmNlcyk7XG4gICAgfVxuXG4gICAgb25HZW5kZXJTZWxlY3RlZCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAkKCcjc2VsZWN0T3BTZXhvJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvblByb3ZpbmNlc1NlbGVjdGVkID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICQoJyNzZWxlY3RPcFByb3ZpbmNpYScpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3JtYWxpemVSZWdpc3RlckRhdGEoZGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplU3RyaW5nID0gKHZhbDogYW55KTogc3RyaW5nIHwgbnVsbCA9PlxuICAgICAgICAgICAgdmFsID09PSB1bmRlZmluZWQgfHwgdmFsID09PSBudWxsIHx8IHZhbC50b1N0cmluZygpLnRyaW0oKSA9PT0gJycgPyBudWxsIDogdmFsLnRvU3RyaW5nKCkudHJpbSgpO1xuXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZUJvb2wgPSAodmFsOiBhbnkpOiBib29sZWFuIHwgbnVsbCA9PlxuICAgICAgICAgICAgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nID8gdmFsIDogdmFsID09PSAndHJ1ZScgPyB0cnVlIDogdmFsID09PSAnZmFsc2UnID8gZmFsc2UgOiBudWxsO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgYmlydGhkYXk6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmJpcnRoZGF5KSB8fCAnJyxcbiAgICAgICAgICAgIGNvbXBhbnlOYW1lOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb21wYW55TmFtZSksXG4gICAgICAgICAgICBsZWdhbERlbm9taW5hdGlvbjogbm9ybWFsaXplU3RyaW5nKGRhdGEubGVnYWxEZW5vbWluYXRpb24pLFxuICAgICAgICAgICAgZ2VuZGVyOiBub3JtYWxpemVTdHJpbmcoZGF0YS5nZW5kZXIpLFxuICAgICAgICAgICAgcGhvbmVOdW1iZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLnBob25lTnVtYmVyKSxcbiAgICAgICAgICAgIHN1YnNjcmliZWRUb05ld3NsZXR0ZXI6IG5vcm1hbGl6ZUJvb2woZGF0YS5zdWJzY3JpYmVkVG9OZXdzbGV0dGVyKSxcbiAgICAgICAgICAgIGRvY3VtZW50VHlwZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuZG9jdW1lbnRUeXBlKSxcbiAgICAgICAgICAgIGRvY3VtZW50TnVtYmVyOiBub3JtYWxpemVTdHJpbmcoZGF0YS5kb2N1bWVudE51bWJlciksXG4gICAgICAgICAgICBjb21tZW50czogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29tbWVudHMpLFxuICAgICAgICAgICAgY29udGFjdEZpcnN0TmFtZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdEZpcnN0TmFtZSksXG4gICAgICAgICAgICBjb250YWN0TGFzdE5hbWU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3RMYXN0TmFtZSksXG4gICAgICAgICAgICBjb250YWN0Q29tcGFueVBvc2l0aW9uOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0Q29tcGFueVBvc2l0aW9uKSxcbiAgICAgICAgICAgIGNvbnRhY3RFbWFpbDogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdEVtYWlsKSxcbiAgICAgICAgICAgIGNvbnRhY3REb2N1bWVudFR5cGU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3REb2N1bWVudFR5cGUpLFxuICAgICAgICAgICAgY29udGFjdERvY3VtZW50TnVtYmVyOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0RG9jdW1lbnROdW1iZXIpLFxuICAgICAgICAgICAgLy8gRGlyZWNjacOzblxuICAgICAgICAgICAgY291bnRyeUNvZGU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvdW50cnlDb2RlKSxcbiAgICAgICAgICAgIHByb3ZpbmNlQ29kZTogbm9ybWFsaXplU3RyaW5nKGRhdGEucHJvdmluY2VDb2RlKSxcbiAgICAgICAgICAgIHN0cmVldDogbm9ybWFsaXplU3RyaW5nKGRhdGEuc3RyZWV0KSxcbiAgICAgICAgICAgIGNpdHk6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNpdHkpLFxuICAgICAgICAgICAgcG9zdGNvZGU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLnBvc3Rjb2RlKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbn0iXX0=
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUWpELElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXdCLFNBQVEsZUFBZTtJQStCeEQsWUFDVyxXQUF3QixFQUNyQixNQUFvQixFQUN2QixNQUFjLEVBQ2QsZ0JBQWtDLEVBQy9CLFdBQXdCLEVBQzFCLG9CQUEwQyxFQUMzQyxNQUFpQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQVJELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FB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QUFJLENBQUMsSUFBSSxDQUFDLEVBQ2hDLFFBQVEsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUMxQztJQUNOLENBQUM7Q0FFSixDQUFBOztZQTNPMkIsV0FBVztZQUNiLFlBQVk7WUFDZixNQUFNO1lBQ0ksZ0JBQWdCO1lBQ2xCLFdBQVc7WUFDSixvQkFBb0I7WUFDbkMsU0FBUzs7QUE1Qm5CO0lBQVIsS0FBSyxFQUFFO3lEQUFrQjtBQUNqQjtJQUFSLEtBQUssRUFBRTt5REFBaUI7QUFDaEI7SUFBUixLQUFLLEVBQUU7eURBQWlCO0FBQ2Y7SUFBVCxNQUFNLEVBQUU7c0RBQTRCO0FBYjVCLHVCQUF1QjtJQUxuQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLHMzRkFBOEM7O0tBRWpELENBQUM7R0FDVyx1QkFBdUIsQ0EyUW5DO1NBM1FZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1mb3JtLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydyZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJGb3JtRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgcHJvdGVjdGVkIHByb3ZpbmNlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gICAgcHJvdGVjdGVkIGNvdW50cmllc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gICAgcHJvdGVjdGVkIGRvY3VtZW50VHlwZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuXG4gICAgcHVibGljIHByb3ZpbmNlcyQgPSB0aGlzLnByb3ZpbmNlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGNvdW50cmllcyQgPSB0aGlzLmNvdW50cmllc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGRvY3VtZW50VHlwZXMkID0gdGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgaXNMb2dnZWQ6IEJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGRhcmtNb2RlID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVkaXJlY3QgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGNvbXBsZXRlID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgcHVibGljIHN1Y2Nlc3M6IEJvb2xlYW4gPSBmYWxzZVxuICAgIHB1YmxpYyBjYW1wb3NwZXJzb25hanVyaWRpY2E6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgcmVnaXN0ZXJfbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVnaXN0ZXJGb3JtOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIHJlZ2lzdHJvVXN1YXJpbzogYW55ID0ge1xuICAgICAgICBmaXJzdE5hbWU6ICcnLFxuICAgICAgICBsYXN0TmFtZTogJycsXG4gICAgICAgIGVtYWlsOiAnJyxcbiAgICAgICAgcGxhaW5QYXNzd29yZDogJycsXG4gICAgICAgIHBsYWluUGFzc3dvcmQyOiAnJyxcbiAgICAgICAgbmV3c2xldHRlcjogZmFsc2UsXG4gICAgICAgIHRlcm1zOiBmYWxzZSxcbiAgICAgICAgYmlydGhkYXk6ICcnLCAvLyBOdWV2byBjYW1wbyBwYXJhIGVsIGN1bXBsZWHDsW9zXG4gICAgfTtcbiAgICBwdWJsaWMgaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNTZW5kV2VsY29tZUVtYWlsID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRvYXN0cjogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHB1YmxpYyBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGNoYW5uZWxDb25maWdTZXJ2aWNlOiBDaGFubmVsQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlckZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGZpcnN0TmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW0EtWmEtesOBw4nDjcOTw5rDocOpw63Ds8O6w5HDsVxcc10rJC8pXV0sXG4gICAgICAgICAgICBsYXN0TmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW0EtWmEtesOBw4nDjcOTw5rDocOpw63Ds8O6w5HDsVxcc10rJC8pXV0sXG4gICAgICAgICAgICBlbWFpbDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIHBsYWluUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICBwbGFpblBhc3N3b3JkMjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIG5ld3NsZXR0ZXI6IFtmYWxzZV0sXG4gICAgICAgICAgICB0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIGJpcnRoZGF5OiBbbnVsbCwgW3RoaXMub3B0aW9uYWxNYXhMZW5ndGhWYWxpZGF0b3IoMTEpXV0sXG4gICAgICAgICAgICAvLyBEaXJlY2Npw7NuIChvcGNpb25hbCwgcGVybyBzaSBzZSBlbnbDrWEsIHNlIHJlY29taWVuZGEgZW52aWFyIHRvZG9zIGxvcyBjYW1wb3MgaW50ZXJub3MpXG4gICAgICAgICAgICBjb3VudHJ5Q29kZTogWycnXSxcbiAgICAgICAgICAgIHByb3ZpbmNlQ29kZTogW251bGxdLFxuICAgICAgICAgICAgc3RyZWV0OiBbbnVsbF0sXG4gICAgICAgICAgICBjaXR5OiBbJyddLFxuICAgICAgICAgICAgcG9zdGNvZGU6IFsnJ10sXG4gICAgICAgICAgICAvLyBEYXRvcyBlbXByZXNhIChvcGNpb25hbGVzKVxuICAgICAgICAgICAgY29tcGFueU5hbWU6IFsnJ10sXG4gICAgICAgICAgICBsZWdhbERlbm9taW5hdGlvbjogWycnXSxcbiAgICAgICAgICAgIC8vIERhdG9zIHBlcnNvbmFsZXMgYWRpY2lvbmFsZXMgKG9wY2lvbmFsZXMpXG4gICAgICAgICAgICBnZW5kZXI6IFtudWxsXSxcbiAgICAgICAgICAgIHBob25lTnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnBhdHRlcm4oJ1swLTldKycpXV0sXG4gICAgICAgICAgICBzdWJzY3JpYmVkVG9OZXdzbGV0dGVyOiBbZmFsc2VdLFxuICAgICAgICAgICAgZG9jdW1lbnRUeXBlOiBbbnVsbF0sXG4gICAgICAgICAgICBkb2N1bWVudE51bWJlcjogWycnXSxcbiAgICAgICAgICAgIC8vIENvbWVudGFyaW9zIHkgY29udGFjdG8gKG9wY2lvbmFsZXMpIFxuICAgICAgICAgICAgY29tbWVudHM6IFsnJywgW11dLFxuICAgICAgICAgICAgY29udGFjdEZpcnN0TmFtZTogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0TGFzdE5hbWU6IFsnJywgW11dLFxuICAgICAgICAgICAgY29udGFjdENvbXBhbnlQb3NpdGlvbjogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0RW1haWw6IFsnJywgW11dLFxuICAgICAgICAgICAgY29udGFjdERvY3VtZW50VHlwZTogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0RG9jdW1lbnROdW1iZXI6IFsnJywgW11dLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzOiBbdGhpcy5kaXJlY2Npb25Db21wbGV0YVZhbGlkYXRvcigpXVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRDb3VudHJpZXNEYXRhKCkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb3VudHJpZXNTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgICAgICAgIGxldCBkb2N1bWVudFR5cGVzID0gW11cbiAgICAgICAgICAgIHJlcy5tYXAocGFpc2VzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnN0cy5nZXRMb2NhbGUoKS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHBhaXNlcy5jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCkpICYmIChkb2N1bWVudFR5cGVzID0gcGFpc2VzLmRvY3VtZW50VHlwZXMgfHwgW10pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRUeXBlc1N1YmplY3QubmV4dChkb2N1bWVudFR5cGVzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2hhbm5lbENvbmZpZ1NlcnZpY2UuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZCA9IGNvbmZpZy5pc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmlzU2VuZFdlbGNvbWVFbWFpbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsID0gY29uZmlnLmlzU2VuZFdlbGNvbWVFbWFpbDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2VuZFdlbGNvbWVFbWFpbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuXG4gICAgfVxuXG4gICAgc2V0UHJvcCA9IChwcm9wLCBldmVudCkgPT4ge1xuICAgICAgICB0aGlzLnJlZ2lzdHJvVXN1YXJpb1twcm9wXSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgcmVkaXJlY3RIb21lID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJylcbiAgICB9XG5cbiAgICByZWdpc3RlciA9IChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAoIXRoaXMucmVnaXN0ZXJGb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdpbnZhbGlkLWZvcm0nKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkICE9IHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLnBsYWluUGFzc3dvcmQyKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdMYXMgY29udHJhc2XDsWFzIG5vIGNvaW5jaWRlbicpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWREYXRhID0gdGhpcy5ub3JtYWxpemVSZWdpc3RlckRhdGEodGhpcy5yZWdpc3RlckZvcm0udmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5zaWduVXAobm9ybWFsaXplZERhdGEpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlS2V5OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItb2snO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSB0aGlzLmlzU2VuZFdlbGNvbWVFbWFpbDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlS2V5ID0gJ3JlZ2lzdGVyLXdlbGNvbWUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlS2V5ID0gJ3JlZ2lzdGVyLXN1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3dQZXJzaXN0ZW50KG1lc3NhZ2VLZXkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdzaWduX3VwJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5maXJzdE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0TmFtZTogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUubGFzdE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbWFpbDogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUuZW1haWxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWR5LmVtaXQodHJ1ZSlcblxuICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZUtleSAhPT0gJ3JlZ2lzdGVyLW9rJyAmJiB0aGlzLnJlZGlyZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyRm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlZGlyZWN0ICYmIG1lc3NhZ2VLZXkgPT09ICdyZWdpc3Rlci1vaycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJ2hvbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2tlbmRFcnJvciA9IGVycm9yLmVycm9yO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2VuZEVycm9yICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2VuZEVycm9yLmVycm9ycyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tlbmRFcnJvci5lcnJvcnMuZW1haWwgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZW5kRXJyb3IuZXJyb3JzLmVtYWlsLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vc3RyYXIgZWwgcHJpbWVyIG1lbnNhamUgZGUgZXJyb3IgZGUgZW1haWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93UGVyc2lzdGVudChiYWNrZW5kRXJyb3IuZXJyb3JzLmVtYWlsWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYmFja2VuZEVycm9yICYmIGJhY2tlbmRFcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2kgbm8gaGF5IG1lbnNhamUgZXNwZWPDrWZpY28sIHBlcm8gaGF5IG1lbnNhamUgZ2VuZXJhbCBkZWwgYmFja2VuZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3dQZXJzaXN0ZW50KGJhY2tlbmRFcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvd1BlcnNpc3RlbnQoJ0VsIGVtYWlsIGluZ3Jlc2FkbyB5YSBzZSBlbmN1ZW50cmEgcmVnaXN0cmFkby4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ0Vycm9yIGVuIGVsIHJlZ2lzdHJvLiBWdWVsdmEgYSBpbnRlbnRhcmxvIG3DoXMgdGFyZGUuJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdpbnZhbGlkLWZvcm0nKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlyZWNjaW9uQ29tcGxldGFWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmVldCA9IGNvbnRyb2wuZ2V0KCdzdHJlZXQnKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBjaXR5ID0gY29udHJvbC5nZXQoJ2NpdHknKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBwcm92aW5jZUNvZGUgPSBjb250cm9sLmdldCgncHJvdmluY2VDb2RlJyk/LnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgY291bnRyeUNvZGUgPSBjb250cm9sLmdldCgnY291bnRyeUNvZGUnKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBwb3N0Y29kZSA9IGNvbnRyb2wuZ2V0KCdwb3N0Y29kZScpPy52YWx1ZTtcblxuICAgICAgICAgICAgY29uc3QgaGFzVmFsdWUgPSAodmFsOiBhbnkpOiBib29sZWFuID0+IHZhbCAhPT0gbnVsbCAmJiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwudG9TdHJpbmcoKS50cmltKCkgIT09ICcnO1xuXG4gICAgICAgICAgICBjb25zdCBhbnlGaWVsZFNldCA9IFtzdHJlZXQsIGNpdHksIHByb3ZpbmNlQ29kZSwgY291bnRyeUNvZGUsIHBvc3Rjb2RlXS5zb21lKGhhc1ZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IGFsbEZpZWxkc1NldCA9IFtzdHJlZXQsIGNpdHksIHByb3ZpbmNlQ29kZSwgY291bnRyeUNvZGUsIHBvc3Rjb2RlXS5ldmVyeShoYXNWYWx1ZSk7XG4gICAgICAgICAgICAvLyBTaSBhbCBtZW5vcyB1biBjYW1wbyBkZSBkaXJlY2Npw7NuIGVzdMOhIGVzdGFibGVjaWRvLCB0b2RvcyBkZWJlbiBlc3RhcmxvXG4gICAgICAgICAgICAvLyBTaSBubyBoYXkgbmluZ8O6biBjYW1wbyBkZSBkaXJlY2Npw7NuIGVzdGFibGVjaWRvLCBubyBzZSBhcGxpY2EgbGEgdmFsaWRhY2nDs25cbiAgICAgICAgICAgIGlmIChhbnlGaWVsZFNldCAmJiAhYWxsRmllbGRzU2V0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGlyZWNjaW9uSW5jb21wbGV0YTogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvcHRpb25hbE1heExlbmd0aFZhbGlkYXRvcihtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2wudmFsdWUubGVuZ3RoID4gbWF4ID8geyBtYXhMZW5ndGg6IHRydWUgfSA6IG51bGw7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25Db3VudHJ5U2VsZWN0ZWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgJCgnI3NlbGVjdE9wUGFpcycpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5Q29kZSddLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbJ3Byb3ZpbmNlQ29kZSddLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdmFsdWUgIT0gJycgJiYgdGhpcy5wcm92aW5jZXNTdWJqZWN0Lm5leHQodGhpcy5jb3VudHJpZXNTdWJqZWN0LnZhbHVlLmZpbmQoY291bnRyeSA9PiBjb3VudHJ5LmNvZGUgPT0gdmFsdWUpLnByb3ZpbmNlcyk7XG4gICAgfVxuXG4gICAgb25HZW5kZXJTZWxlY3RlZCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAkKCcjc2VsZWN0T3BTZXhvJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvblByb3ZpbmNlc1NlbGVjdGVkID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICQoJyNzZWxlY3RPcFByb3ZpbmNpYScpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3JtYWxpemVSZWdpc3RlckRhdGEoZGF0YTogYW55KTogYW55IHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplU3RyaW5nID0gKHZhbDogYW55KTogc3RyaW5nIHwgbnVsbCA9PlxuICAgICAgICAgICAgdmFsID09PSB1bmRlZmluZWQgfHwgdmFsID09PSBudWxsIHx8IHZhbC50b1N0cmluZygpLnRyaW0oKSA9PT0gJycgPyBudWxsIDogdmFsLnRvU3RyaW5nKCkudHJpbSgpO1xuXG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZUJvb2wgPSAodmFsOiBhbnkpOiBib29sZWFuIHwgbnVsbCA9PlxuICAgICAgICAgICAgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nID8gdmFsIDogdmFsID09PSAndHJ1ZScgPyB0cnVlIDogdmFsID09PSAnZmFsc2UnID8gZmFsc2UgOiBudWxsO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgYmlydGhkYXk6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmJpcnRoZGF5KSB8fCAnJyxcbiAgICAgICAgICAgIGNvbXBhbnlOYW1lOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb21wYW55TmFtZSksXG4gICAgICAgICAgICBsZWdhbERlbm9taW5hdGlvbjogbm9ybWFsaXplU3RyaW5nKGRhdGEubGVnYWxEZW5vbWluYXRpb24pLFxuICAgICAgICAgICAgZ2VuZGVyOiBub3JtYWxpemVTdHJpbmcoZGF0YS5nZW5kZXIpLFxuICAgICAgICAgICAgcGhvbmVOdW1iZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLnBob25lTnVtYmVyKSxcbiAgICAgICAgICAgIHN1YnNjcmliZWRUb05ld3NsZXR0ZXI6IG5vcm1hbGl6ZUJvb2woZGF0YS5zdWJzY3JpYmVkVG9OZXdzbGV0dGVyKSxcbiAgICAgICAgICAgIGRvY3VtZW50VHlwZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuZG9jdW1lbnRUeXBlKSxcbiAgICAgICAgICAgIGRvY3VtZW50TnVtYmVyOiBub3JtYWxpemVTdHJpbmcoZGF0YS5kb2N1bWVudE51bWJlciksXG4gICAgICAgICAgICBjb21tZW50czogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29tbWVudHMpLFxuICAgICAgICAgICAgY29udGFjdEZpcnN0TmFtZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdEZpcnN0TmFtZSksXG4gICAgICAgICAgICBjb250YWN0TGFzdE5hbWU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3RMYXN0TmFtZSksXG4gICAgICAgICAgICBjb250YWN0Q29tcGFueVBvc2l0aW9uOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0Q29tcGFueVBvc2l0aW9uKSxcbiAgICAgICAgICAgIGNvbnRhY3RFbWFpbDogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdEVtYWlsKSxcbiAgICAgICAgICAgIGNvbnRhY3REb2N1bWVudFR5cGU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3REb2N1bWVudFR5cGUpLFxuICAgICAgICAgICAgY29udGFjdERvY3VtZW50TnVtYmVyOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0RG9jdW1lbnROdW1iZXIpLFxuICAgICAgICAgICAgLy8gRGlyZWNjacOzblxuICAgICAgICAgICAgY291bnRyeUNvZGU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvdW50cnlDb2RlKSxcbiAgICAgICAgICAgIHByb3ZpbmNlQ29kZTogbm9ybWFsaXplU3RyaW5nKGRhdGEucHJvdmluY2VDb2RlKSxcbiAgICAgICAgICAgIHN0cmVldDogbm9ybWFsaXplU3RyaW5nKGRhdGEuc3RyZWV0KSxcbiAgICAgICAgICAgIGNpdHk6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNpdHkpLFxuICAgICAgICAgICAgcG9zdGNvZGU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLnBvc3Rjb2RlKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbn0iXX0=
|
|
@@ -127,7 +127,21 @@ var RegisterFormEcComponent = /** @class */ (function (_super) {
|
|
|
127
127
|
}, function (error) {
|
|
128
128
|
_this.register_loading = false;
|
|
129
129
|
if (error.status == 400) {
|
|
130
|
-
|
|
130
|
+
var backendError = error.error;
|
|
131
|
+
if (backendError &&
|
|
132
|
+
backendError.errors &&
|
|
133
|
+
backendError.errors.email &&
|
|
134
|
+
backendError.errors.email.length > 0) {
|
|
135
|
+
// Mostrar el primer mensaje de error de email
|
|
136
|
+
_this.toastr.showPersistent(backendError.errors.email[0]);
|
|
137
|
+
}
|
|
138
|
+
else if (backendError && backendError.message) {
|
|
139
|
+
// Si no hay mensaje específico, pero hay mensaje general del backend
|
|
140
|
+
_this.toastr.showPersistent(backendError.message);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
_this.toastr.showPersistent('El email ingresado ya se encuentra registrado.');
|
|
144
|
+
}
|
|
131
145
|
}
|
|
132
146
|
else {
|
|
133
147
|
_this.toastr.show('Error en el registro. Vuelva a intentarlo más tarde.');
|
|
@@ -283,4 +297,4 @@ var RegisterFormEcComponent = /** @class */ (function (_super) {
|
|
|
283
297
|
return RegisterFormEcComponent;
|
|
284
298
|
}(ComponentHelper));
|
|
285
299
|
export { RegisterFormEcComponent };
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUWpEO0lBQTZDLDJDQUFlO0lBK0J4RCxpQ0FDVyxXQUF3QixFQUNyQixNQUFvQixFQUN2QixNQUFjLEVBQ2QsZ0JBQWtDLEVBQy9CLFdBQXdCLEVBQzFCLG9CQUEwQyxFQUMzQyxNQUFpQjtRQVA1QixZQVNJLGlCQUFPLFNBRVY7UUFWVSxpQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNy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eyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVnaXN0ZXItZm9ybS1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICdyZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsncmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyRm9ybUVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHByb3RlY3RlZCBwcm92aW5jZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICAgIHByb3RlY3RlZCBjb3VudHJpZXNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICAgIHByb3RlY3RlZCBkb2N1bWVudFR5cGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcblxuICAgIHB1YmxpYyBwcm92aW5jZXMkID0gdGhpcy5wcm92aW5jZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBjb3VudHJpZXMkID0gdGhpcy5jb3VudHJpZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBkb2N1bWVudFR5cGVzJCA9IHRoaXMuZG9jdW1lbnRUeXBlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGlzTG9nZ2VkOiBCb29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBkYXJrTW9kZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlZGlyZWN0ID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBjb21wbGV0ZSA9IHRydWU7XG4gICAgQE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHB1YmxpYyBzdWNjZXNzOiBCb29sZWFuID0gZmFsc2VcbiAgICBwdWJsaWMgY2FtcG9zcGVyc29uYWp1cmlkaWNhOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHJlZ2lzdGVyX2xvYWRpbmc6IGJvb2xlYW47XG4gICAgcHVibGljIHJlZ2lzdGVyRm9ybTogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyByZWdpc3Ryb1VzdWFyaW86IGFueSA9IHtcbiAgICAgICAgZmlyc3ROYW1lOiAnJyxcbiAgICAgICAgbGFzdE5hbWU6ICcnLFxuICAgICAgICBlbWFpbDogJycsXG4gICAgICAgIHBsYWluUGFzc3dvcmQ6ICcnLFxuICAgICAgICBwbGFpblBhc3N3b3JkMjogJycsXG4gICAgICAgIG5ld3NsZXR0ZXI6IGZhbHNlLFxuICAgICAgICB0ZXJtczogZmFsc2UsXG4gICAgICAgIGJpcnRoZGF5OiAnJywgLy8gTnVldm8gY2FtcG8gcGFyYSBlbCBjdW1wbGVhw7Fvc1xuICAgIH07XG4gICAgcHVibGljIGlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgcHVibGljIGlzU2VuZFdlbGNvbWVFbWFpbCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCB0b2FzdHI6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjb25zdHM6IENvbnN0YW50c1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBmaXJzdE5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXltBLVphLXrDgcOJw43Dk8Oaw6HDqcOtw7PDusORw7FcXHNdKyQvKV1dLFxuICAgICAgICAgICAgbGFzdE5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXltBLVphLXrDgcOJw43Dk8Oaw6HDqcOtw7PDusORw7FcXHNdKyQvKV1dLFxuICAgICAgICAgICAgZW1haWw6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICBwbGFpblBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgcGxhaW5QYXNzd29yZDI6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICBuZXdzbGV0dGVyOiBbZmFsc2VdLFxuICAgICAgICAgICAgdGVybXM6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICBiaXJ0aGRheTogW251bGwsIFt0aGlzLm9wdGlvbmFsTWF4TGVuZ3RoVmFsaWRhdG9yKDExKV1dLFxuICAgICAgICAgICAgLy8gRGlyZWNjacOzbiAob3BjaW9uYWwsIHBlcm8gc2kgc2UgZW52w61hLCBzZSByZWNvbWllbmRhIGVudmlhciB0b2RvcyBsb3MgY2FtcG9zIGludGVybm9zKVxuICAgICAgICAgICAgY291bnRyeUNvZGU6IFsnJ10sXG4gICAgICAgICAgICBwcm92aW5jZUNvZGU6IFtudWxsXSxcbiAgICAgICAgICAgIHN0cmVldDogW251bGxdLFxuICAgICAgICAgICAgY2l0eTogWycnXSxcbiAgICAgICAgICAgIHBvc3Rjb2RlOiBbJyddLFxuICAgICAgICAgICAgLy8gRGF0b3MgZW1wcmVzYSAob3BjaW9uYWxlcylcbiAgICAgICAgICAgIGNvbXBhbnlOYW1lOiBbJyddLFxuICAgICAgICAgICAgbGVnYWxEZW5vbWluYXRpb246IFsnJ10sXG4gICAgICAgICAgICAvLyBEYXRvcyBwZXJzb25hbGVzIGFkaWNpb25hbGVzIChvcGNpb25hbGVzKVxuICAgICAgICAgICAgZ2VuZGVyOiBbbnVsbF0sXG4gICAgICAgICAgICBwaG9uZU51bWJlcjogWycnLCBbVmFsaWRhdG9ycy5wYXR0ZXJuKCdbMC05XSsnKV1dLFxuICAgICAgICAgICAgc3Vic2NyaWJlZFRvTmV3c2xldHRlcjogW2ZhbHNlXSxcbiAgICAgICAgICAgIGRvY3VtZW50VHlwZTogW251bGxdLFxuICAgICAgICAgICAgZG9jdW1lbnROdW1iZXI6IFsnJ10sXG4gICAgICAgICAgICAvLyBDb21lbnRhcmlvcyB5IGNvbnRhY3RvIChvcGNpb25hbGVzKSBcbiAgICAgICAgICAgIGNvbW1lbnRzOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3RGaXJzdE5hbWU6IFsnJywgW11dLFxuICAgICAgICAgICAgY29udGFjdExhc3ROYW1lOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3RDb21wYW55UG9zaXRpb246IFsnJywgW11dLFxuICAgICAgICAgICAgY29udGFjdEVtYWlsOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3REb2N1bWVudFR5cGU6IFsnJywgW11dLFxuICAgICAgICAgICAgY29udGFjdERvY3VtZW50TnVtYmVyOiBbJycsIFtdXSxcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgdmFsaWRhdG9yczogW3RoaXMuZGlyZWNjaW9uQ29tcGxldGFWYWxpZGF0b3IoKV1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0Q291bnRyaWVzRGF0YSgpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuY291bnRyaWVzU3ViamVjdC5uZXh0KHJlcyk7XG4gICAgICAgICAgICBsZXQgZG9jdW1lbnRUeXBlcyA9IFtdXG4gICAgICAgICAgICByZXMubWFwKHBhaXNlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25zdHMuZ2V0TG9jYWxlKCkudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhwYWlzZXMuY29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpKSAmJiAoZG9jdW1lbnRUeXBlcyA9IHBhaXNlcy5kb2N1bWVudFR5cGVzIHx8IFtdKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50VHlwZXNTdWJqZWN0Lm5leHQoZG9jdW1lbnRUeXBlcyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWdTZXJ2aWNlLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjb25maWcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5pc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBjb25maWcuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5pc1NlbmRXZWxjb21lRW1haWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2VuZFdlbGNvbWVFbWFpbCA9IGNvbmZpZy5pc1NlbmRXZWxjb21lRW1haWw7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbmRXZWxjb21lRW1haWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcblxuICAgIH1cblxuICAgIHNldFByb3AgPSAocHJvcCwgZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5yZWdpc3Ryb1VzdWFyaW9bcHJvcF0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgfVxuICAgIHJlZGlyZWN0SG9tZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnLycpXG4gICAgfVxuXG4gICAgcmVnaXN0ZXIgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKCF0aGlzLnJlZ2lzdGVyRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnaW52YWxpZC1mb3JtJyk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0udmFsdWUucGxhaW5QYXNzd29yZCAhPSB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkMikge1xuICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnTGFzIGNvbnRyYXNlw7FhcyBubyBjb2luY2lkZW4nKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkRGF0YSA9IHRoaXMubm9ybWFsaXplUmVnaXN0ZXJEYXRhKHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2lnblVwKG5vcm1hbGl6ZWREYXRhKS50b1Byb21pc2UoKS50aGVuKFxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZUtleTogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdGhpcy5pc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlS2V5ID0gJ3JlZ2lzdGVyLW9rJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdGhpcy5pc1NlbmRXZWxjb21lRW1haWw6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUtleSA9ICdyZWdpc3Rlci13ZWxjb21lJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUtleSA9ICdyZWdpc3Rlci1zdWNjZXNzJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93UGVyc2lzdGVudChtZXNzYWdlS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgnc2lnbl91cCcsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUuZmlyc3ROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE5hbWU6IHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLmxhc3ROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1haWw6IHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLmVtYWlsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2VzcyA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VLZXkgIT09ICdyZWdpc3Rlci1vaycgJiYgdGhpcy5yZWRpcmVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlckZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5yZWRpcmVjdCAmJiBtZXNzYWdlS2V5ID09PSAncmVnaXN0ZXItb2snKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdob21lJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93UGVyc2lzdGVudCgnRWwgZW1haWwgaW5ncmVzYWRvIHlhIHNlIGVuY3VlbnRyYSByZWdpc3RyYWRvLicpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnRXJyb3IgZW4gZWwgcmVnaXN0cm8uIFZ1ZWx2YSBhIGludGVudGFybG8gbcOhcyB0YXJkZS4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtZm9ybScpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXJlY2Npb25Db21wbGV0YVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RyZWV0ID0gY29udHJvbC5nZXQoJ3N0cmVldCcpPy52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGNpdHkgPSBjb250cm9sLmdldCgnY2l0eScpPy52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHByb3ZpbmNlQ29kZSA9IGNvbnRyb2wuZ2V0KCdwcm92aW5jZUNvZGUnKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBjb3VudHJ5Q29kZSA9IGNvbnRyb2wuZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHBvc3Rjb2RlID0gY29udHJvbC5nZXQoJ3Bvc3Rjb2RlJyk/LnZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZSA9ICh2YWw6IGFueSk6IGJvb2xlYW4gPT4gdmFsICE9PSBudWxsICYmIHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbC50b1N0cmluZygpLnRyaW0oKSAhPT0gJyc7XG5cbiAgICAgICAgICAgIGNvbnN0IGFueUZpZWxkU2V0ID0gW3N0cmVldCwgY2l0eSwgcHJvdmluY2VDb2RlLCBjb3VudHJ5Q29kZSwgcG9zdGNvZGVdLnNvbWUoaGFzVmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgYWxsRmllbGRzU2V0ID0gW3N0cmVldCwgY2l0eSwgcHJvdmluY2VDb2RlLCBjb3VudHJ5Q29kZSwgcG9zdGNvZGVdLmV2ZXJ5KGhhc1ZhbHVlKTtcbiAgICAgICAgICAgIC8vIFNpIGFsIG1lbm9zIHVuIGNhbXBvIGRlIGRpcmVjY2nDs24gZXN0w6EgZXN0YWJsZWNpZG8sIHRvZG9zIGRlYmVuIGVzdGFybG9cbiAgICAgICAgICAgIC8vIFNpIG5vIGhheSBuaW5nw7puIGNhbXBvIGRlIGRpcmVjY2nDs24gZXN0YWJsZWNpZG8sIG5vIHNlIGFwbGljYSBsYSB2YWxpZGFjacOzblxuICAgICAgICAgICAgaWYgKGFueUZpZWxkU2V0ICYmICFhbGxGaWVsZHNTZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBkaXJlY2Npb25JbmNvbXBsZXRhOiB0cnVlIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9wdGlvbmFsTWF4TGVuZ3RoVmFsaWRhdG9yKG1heDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICghY29udHJvbC52YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbC52YWx1ZS5sZW5ndGggPiBtYXggPyB7IG1heExlbmd0aDogdHJ1ZSB9IDogbnVsbDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbkNvdW50cnlTZWxlY3RlZCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAkKCcjc2VsZWN0T3BQYWlzJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbJ2NvdW50cnlDb2RlJ10uc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1sncHJvdmluY2VDb2RlJ10uc2V0VmFsdWUoJycpO1xuICAgICAgICB2YWx1ZSAhPSAnJyAmJiB0aGlzLnByb3ZpbmNlc1N1YmplY3QubmV4dCh0aGlzLmNvdW50cmllc1N1YmplY3QudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuY29kZSA9PSB2YWx1ZSkucHJvdmluY2VzKTtcbiAgICB9XG5cbiAgICBvbkdlbmRlclNlbGVjdGVkID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICQoJyNzZWxlY3RPcFNleG8nKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvdmluY2VzU2VsZWN0ZWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgJCgnI3NlbGVjdE9wUHJvdmluY2lhJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vcm1hbGl6ZVJlZ2lzdGVyRGF0YShkYXRhOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVTdHJpbmcgPSAodmFsOiBhbnkpOiBzdHJpbmcgfCBudWxsID0+XG4gICAgICAgICAgICB2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09IG51bGwgfHwgdmFsLnRvU3RyaW5nKCkudHJpbSgpID09PSAnJyA/IG51bGwgOiB2YWwudG9TdHJpbmcoKS50cmltKCk7XG5cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplQm9vbCA9ICh2YWw6IGFueSk6IGJvb2xlYW4gfCBudWxsID0+XG4gICAgICAgICAgICB0eXBlb2YgdmFsID09PSAnYm9vbGVhbicgPyB2YWwgOiB2YWwgPT09ICd0cnVlJyA/IHRydWUgOiB2YWwgPT09ICdmYWxzZScgPyBmYWxzZSA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICBiaXJ0aGRheTogbm9ybWFsaXplU3RyaW5nKGRhdGEuYmlydGhkYXkpIHx8ICcnLFxuICAgICAgICAgICAgY29tcGFueU5hbWU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbXBhbnlOYW1lKSxcbiAgICAgICAgICAgIGxlZ2FsRGVub21pbmF0aW9uOiBub3JtYWxpemVTdHJpbmcoZGF0YS5sZWdhbERlbm9taW5hdGlvbiksXG4gICAgICAgICAgICBnZW5kZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmdlbmRlciksXG4gICAgICAgICAgICBwaG9uZU51bWJlcjogbm9ybWFsaXplU3RyaW5nKGRhdGEucGhvbmVOdW1iZXIpLFxuICAgICAgICAgICAgc3Vic2NyaWJlZFRvTmV3c2xldHRlcjogbm9ybWFsaXplQm9vbChkYXRhLnN1YnNjcmliZWRUb05ld3NsZXR0ZXIpLFxuICAgICAgICAgICAgZG9jdW1lbnRUeXBlOiBub3JtYWxpemVTdHJpbmcoZGF0YS5kb2N1bWVudFR5cGUpLFxuICAgICAgICAgICAgZG9jdW1lbnROdW1iZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmRvY3VtZW50TnVtYmVyKSxcbiAgICAgICAgICAgIGNvbW1lbnRzOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb21tZW50cyksXG4gICAgICAgICAgICBjb250YWN0Rmlyc3ROYW1lOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0Rmlyc3ROYW1lKSxcbiAgICAgICAgICAgIGNvbnRhY3RMYXN0TmFtZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdExhc3ROYW1lKSxcbiAgICAgICAgICAgIGNvbnRhY3RDb21wYW55UG9zaXRpb246IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3RDb21wYW55UG9zaXRpb24pLFxuICAgICAgICAgICAgY29udGFjdEVtYWlsOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0RW1haWwpLFxuICAgICAgICAgICAgY29udGFjdERvY3VtZW50VHlwZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdERvY3VtZW50VHlwZSksXG4gICAgICAgICAgICBjb250YWN0RG9jdW1lbnROdW1iZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3REb2N1bWVudE51bWJlciksXG4gICAgICAgICAgICAvLyBEaXJlY2Npw7NuXG4gICAgICAgICAgICBjb3VudHJ5Q29kZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY291bnRyeUNvZGUpLFxuICAgICAgICAgICAgcHJvdmluY2VDb2RlOiBub3JtYWxpemVTdHJpbmcoZGF0YS5wcm92aW5jZUNvZGUpLFxuICAgICAgICAgICAgc3RyZWV0OiBub3JtYWxpemVTdHJpbmcoZGF0YS5zdHJlZXQpLFxuICAgICAgICAgICAgY2l0eTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY2l0eSksXG4gICAgICAgICAgICBwb3N0Y29kZTogbm9ybWFsaXplU3RyaW5nKGRhdGEucG9zdGNvZGUpLFxuICAgICAgICB9O1xuICAgIH1cblxufSJdfQ==
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUWpEO0lBQTZDLDJDQUFlO0lBK0J4RCxpQ0FDVyxXQUF3QixFQUNyQixNQUFvQixFQUN2QixNQUFjLEVBQ2QsZ0JBQWtDLEVBQy9CLFdBQXdCLEVBQzFCLG9CQUEwQyxFQUMzQyxNQUFpQjtRQVA1QixZQVNJLGlCQUFPLFNBRVY7UUFWVSxpQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNy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LElBQUksQ0FBQyxRQUFRLENBQUMsSUFDMUM7SUFDTixDQUFDOztnQkF6T3VCLFdBQVc7Z0JBQ2IsWUFBWTtnQkFDZixNQUFNO2dCQUNJLGdCQUFnQjtnQkFDbEIsV0FBVztnQkFDSixvQkFBb0I7Z0JBQ25DLFNBQVM7O0lBNUJuQjtRQUFSLEtBQUssRUFBRTs2REFBa0I7SUFDakI7UUFBUixLQUFLLEVBQUU7NkRBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFOzZEQUFpQjtJQUNmO1FBQVQsTUFBTSxFQUFFOzBEQUE0QjtJQWI1Qix1QkFBdUI7UUFMbkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxzM0ZBQThDOztTQUVqRCxDQUFDO09BQ1csdUJBQXVCLENBMlFuQztJQUFELDhCQUFDO0NBQUEsQUEzUUQsQ0FBNkMsZUFBZSxHQTJRM0Q7U0EzUVksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJlZ2lzdGVyLWZvcm0tZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAncmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwcm90ZWN0ZWQgcHJvdmluY2VzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgY291bnRyaWVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgZG9jdW1lbnRUeXBlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG5cbiAgICBwdWJsaWMgcHJvdmluY2VzJCA9IHRoaXMucHJvdmluY2VzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgY291bnRyaWVzJCA9IHRoaXMuY291bnRyaWVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwdWJsaWMgZG9jdW1lbnRUeXBlcyQgPSB0aGlzLmRvY3VtZW50VHlwZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBpc0xvZ2dlZDogQm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgZGFya01vZGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWRpcmVjdCA9IHRydWU7XG4gICAgQElucHV0KCkgY29tcGxldGUgPSB0cnVlO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwdWJsaWMgc3VjY2VzczogQm9vbGVhbiA9IGZhbHNlXG4gICAgcHVibGljIGNhbXBvc3BlcnNvbmFqdXJpZGljYTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyByZWdpc3Rlcl9sb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWdpc3RlckZvcm06IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgcmVnaXN0cm9Vc3VhcmlvOiBhbnkgPSB7XG4gICAgICAgIGZpcnN0TmFtZTogJycsXG4gICAgICAgIGxhc3ROYW1lOiAnJyxcbiAgICAgICAgZW1haWw6ICcnLFxuICAgICAgICBwbGFpblBhc3N3b3JkOiAnJyxcbiAgICAgICAgcGxhaW5QYXNzd29yZDI6ICcnLFxuICAgICAgICBuZXdzbGV0dGVyOiBmYWxzZSxcbiAgICAgICAgdGVybXM6IGZhbHNlLFxuICAgICAgICBiaXJ0aGRheTogJycsIC8vIE51ZXZvIGNhbXBvIHBhcmEgZWwgY3VtcGxlYcOxb3NcbiAgICB9O1xuICAgIHB1YmxpYyBpc0FjY291bnRWZXJpZmljYXRpb25SZXF1aXJlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NlbmRXZWxjb21lRW1haWwgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgdG9hc3RyOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHVibGljIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgY2hhbm5lbENvbmZpZ1NlcnZpY2U6IENoYW5uZWxDb25maWdTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHNcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgZmlyc3ROYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bQS1aYS16w4HDicONw5PDmsOhw6nDrcOzw7rDkcOxXFxzXSskLyldXSxcbiAgICAgICAgICAgIGxhc3ROYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bQS1aYS16w4HDicONw5PDmsOhw6nDrcOzw7rDkcOxXFxzXSskLyldXSxcbiAgICAgICAgICAgIGVtYWlsOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgcGxhaW5QYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIHBsYWluUGFzc3dvcmQyOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgbmV3c2xldHRlcjogW2ZhbHNlXSxcbiAgICAgICAgICAgIHRlcm1zOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgYmlydGhkYXk6IFtudWxsLCBbdGhpcy5vcHRpb25hbE1heExlbmd0aFZhbGlkYXRvcigxMSldXSxcbiAgICAgICAgICAgIC8vIERpcmVjY2nDs24gKG9wY2lvbmFsLCBwZXJvIHNpIHNlIGVudsOtYSwgc2UgcmVjb21pZW5kYSBlbnZpYXIgdG9kb3MgbG9zIGNhbXBvcyBpbnRlcm5vcylcbiAgICAgICAgICAgIGNvdW50cnlDb2RlOiBbJyddLFxuICAgICAgICAgICAgcHJvdmluY2VDb2RlOiBbbnVsbF0sXG4gICAgICAgICAgICBzdHJlZXQ6IFtudWxsXSxcbiAgICAgICAgICAgIGNpdHk6IFsnJ10sXG4gICAgICAgICAgICBwb3N0Y29kZTogWycnXSxcbiAgICAgICAgICAgIC8vIERhdG9zIGVtcHJlc2EgKG9wY2lvbmFsZXMpXG4gICAgICAgICAgICBjb21wYW55TmFtZTogWycnXSxcbiAgICAgICAgICAgIGxlZ2FsRGVub21pbmF0aW9uOiBbJyddLFxuICAgICAgICAgICAgLy8gRGF0b3MgcGVyc29uYWxlcyBhZGljaW9uYWxlcyAob3BjaW9uYWxlcylcbiAgICAgICAgICAgIGdlbmRlcjogW251bGxdLFxuICAgICAgICAgICAgcGhvbmVOdW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucGF0dGVybignWzAtOV0rJyldXSxcbiAgICAgICAgICAgIHN1YnNjcmliZWRUb05ld3NsZXR0ZXI6IFtmYWxzZV0sXG4gICAgICAgICAgICBkb2N1bWVudFR5cGU6IFtudWxsXSxcbiAgICAgICAgICAgIGRvY3VtZW50TnVtYmVyOiBbJyddLFxuICAgICAgICAgICAgLy8gQ29tZW50YXJpb3MgeSBjb250YWN0byAob3BjaW9uYWxlcykgXG4gICAgICAgICAgICBjb21tZW50czogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0Rmlyc3ROYW1lOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3RMYXN0TmFtZTogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0Q29tcGFueVBvc2l0aW9uOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3RFbWFpbDogWycnLCBbXV0sXG4gICAgICAgICAgICBjb250YWN0RG9jdW1lbnRUeXBlOiBbJycsIFtdXSxcbiAgICAgICAgICAgIGNvbnRhY3REb2N1bWVudE51bWJlcjogWycnLCBbXV0sXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IFt0aGlzLmRpcmVjY2lvbkNvbXBsZXRhVmFsaWRhdG9yKCldXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldENvdW50cmllc0RhdGEoKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvdW50cmllc1N1YmplY3QubmV4dChyZXMpO1xuICAgICAgICAgICAgbGV0IGRvY3VtZW50VHlwZXMgPSBbXVxuICAgICAgICAgICAgcmVzLm1hcChwYWlzZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uc3RzLmdldExvY2FsZSgpLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMocGFpc2VzLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSkgJiYgKGRvY3VtZW50VHlwZXMgPSBwYWlzZXMuZG9jdW1lbnRUeXBlcyB8fCBbXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFR5cGVzU3ViamVjdC5uZXh0KGRvY3VtZW50VHlwZXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkID0gY29uZmlnLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuaXNTZW5kV2VsY29tZUVtYWlsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbmRXZWxjb21lRW1haWwgPSBjb25maWcuaXNTZW5kV2VsY29tZUVtYWlsO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICB9XG5cbiAgICBzZXRQcm9wID0gKHByb3AsIGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMucmVnaXN0cm9Vc3VhcmlvW3Byb3BdID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZWRpcmVjdEhvbWUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nKVxuICAgIH1cblxuICAgIHJlZ2lzdGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IHRydWU7XG4gICAgICAgIGlmICghdGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtZm9ybScpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLnBsYWluUGFzc3dvcmQgIT0gdGhpcy5yZWdpc3RlckZvcm0udmFsdWUucGxhaW5QYXNzd29yZDIpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ0xhcyBjb250cmFzZcOxYXMgbm8gY29pbmNpZGVuJyk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlZ2lzdGVyRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZERhdGEgPSB0aGlzLm5vcm1hbGl6ZVJlZ2lzdGVyRGF0YSh0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25VcChub3JtYWxpemVkRGF0YSkudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2VLZXk6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUtleSA9ICdyZWdpc3Rlci1vayc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItd2VsY29tZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItc3VjY2Vzcyc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvd1BlcnNpc3RlbnQobWVzc2FnZUtleSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3NpZ25fdXAnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWU6IHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlLmZpcnN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5sYXN0TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtYWlsOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5lbWFpbFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlS2V5ICE9PSAncmVnaXN0ZXItb2snICYmIHRoaXMucmVkaXJlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJGb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3QgJiYgbWVzc2FnZUtleSA9PT0gJ3JlZ2lzdGVyLW9rJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnaG9tZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFja2VuZEVycm9yID0gZXJyb3IuZXJyb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZW5kRXJyb3IgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZW5kRXJyb3IuZXJyb3JzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2VuZEVycm9yLmVycm9ycy5lbWFpbCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tlbmRFcnJvci5lcnJvcnMuZW1haWwubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9zdHJhciBlbCBwcmltZXIgbWVuc2FqZSBkZSBlcnJvciBkZSBlbWFpbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3dQZXJzaXN0ZW50KGJhY2tlbmRFcnJvci5lcnJvcnMuZW1haWxbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChiYWNrZW5kRXJyb3IgJiYgYmFja2VuZEVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaSBubyBoYXkgbWVuc2FqZSBlc3BlY8OtZmljbywgcGVybyBoYXkgbWVuc2FqZSBnZW5lcmFsIGRlbCBiYWNrZW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvd1BlcnNpc3RlbnQoYmFja2VuZEVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93UGVyc2lzdGVudCgnRWwgZW1haWwgaW5ncmVzYWRvIHlhIHNlIGVuY3VlbnRyYSByZWdpc3RyYWRvLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnRXJyb3IgZW4gZWwgcmVnaXN0cm8uIFZ1ZWx2YSBhIGludGVudGFybG8gbcOhcyB0YXJkZS4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2ludmFsaWQtZm9ybScpO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlcl9sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXJlY2Npb25Db21wbGV0YVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RyZWV0ID0gY29udHJvbC5nZXQoJ3N0cmVldCcpPy52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGNpdHkgPSBjb250cm9sLmdldCgnY2l0eScpPy52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHByb3ZpbmNlQ29kZSA9IGNvbnRyb2wuZ2V0KCdwcm92aW5jZUNvZGUnKT8udmFsdWU7XG4gICAgICAgICAgICBjb25zdCBjb3VudHJ5Q29kZSA9IGNvbnRyb2wuZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHBvc3Rjb2RlID0gY29udHJvbC5nZXQoJ3Bvc3Rjb2RlJyk/LnZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZSA9ICh2YWw6IGFueSk6IGJvb2xlYW4gPT4gdmFsICE9PSBudWxsICYmIHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbC50b1N0cmluZygpLnRyaW0oKSAhPT0gJyc7XG5cbiAgICAgICAgICAgIGNvbnN0IGFueUZpZWxkU2V0ID0gW3N0cmVldCwgY2l0eSwgcHJvdmluY2VDb2RlLCBjb3VudHJ5Q29kZSwgcG9zdGNvZGVdLnNvbWUoaGFzVmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgYWxsRmllbGRzU2V0ID0gW3N0cmVldCwgY2l0eSwgcHJvdmluY2VDb2RlLCBjb3VudHJ5Q29kZSwgcG9zdGNvZGVdLmV2ZXJ5KGhhc1ZhbHVlKTtcbiAgICAgICAgICAgIC8vIFNpIGFsIG1lbm9zIHVuIGNhbXBvIGRlIGRpcmVjY2nDs24gZXN0w6EgZXN0YWJsZWNpZG8sIHRvZG9zIGRlYmVuIGVzdGFybG9cbiAgICAgICAgICAgIC8vIFNpIG5vIGhheSBuaW5nw7puIGNhbXBvIGRlIGRpcmVjY2nDs24gZXN0YWJsZWNpZG8sIG5vIHNlIGFwbGljYSBsYSB2YWxpZGFjacOzblxuICAgICAgICAgICAgaWYgKGFueUZpZWxkU2V0ICYmICFhbGxGaWVsZHNTZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBkaXJlY2Npb25JbmNvbXBsZXRhOiB0cnVlIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9wdGlvbmFsTWF4TGVuZ3RoVmFsaWRhdG9yKG1heDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICghY29udHJvbC52YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbC52YWx1ZS5sZW5ndGggPiBtYXggPyB7IG1heExlbmd0aDogdHJ1ZSB9IDogbnVsbDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbkNvdW50cnlTZWxlY3RlZCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAkKCcjc2VsZWN0T3BQYWlzJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckZvcm0uY29udHJvbHNbJ2NvdW50cnlDb2RlJ10uc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRm9ybS5jb250cm9sc1sncHJvdmluY2VDb2RlJ10uc2V0VmFsdWUoJycpO1xuICAgICAgICB2YWx1ZSAhPSAnJyAmJiB0aGlzLnByb3ZpbmNlc1N1YmplY3QubmV4dCh0aGlzLmNvdW50cmllc1N1YmplY3QudmFsdWUuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuY29kZSA9PSB2YWx1ZSkucHJvdmluY2VzKTtcbiAgICB9XG5cbiAgICBvbkdlbmRlclNlbGVjdGVkID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICQoJyNzZWxlY3RPcFNleG8nKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvdmluY2VzU2VsZWN0ZWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgJCgnI3NlbGVjdE9wUHJvdmluY2lhJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vcm1hbGl6ZVJlZ2lzdGVyRGF0YShkYXRhOiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVTdHJpbmcgPSAodmFsOiBhbnkpOiBzdHJpbmcgfCBudWxsID0+XG4gICAgICAgICAgICB2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09IG51bGwgfHwgdmFsLnRvU3RyaW5nKCkudHJpbSgpID09PSAnJyA/IG51bGwgOiB2YWwudG9TdHJpbmcoKS50cmltKCk7XG5cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplQm9vbCA9ICh2YWw6IGFueSk6IGJvb2xlYW4gfCBudWxsID0+XG4gICAgICAgICAgICB0eXBlb2YgdmFsID09PSAnYm9vbGVhbicgPyB2YWwgOiB2YWwgPT09ICd0cnVlJyA/IHRydWUgOiB2YWwgPT09ICdmYWxzZScgPyBmYWxzZSA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICBiaXJ0aGRheTogbm9ybWFsaXplU3RyaW5nKGRhdGEuYmlydGhkYXkpIHx8ICcnLFxuICAgICAgICAgICAgY29tcGFueU5hbWU6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbXBhbnlOYW1lKSxcbiAgICAgICAgICAgIGxlZ2FsRGVub21pbmF0aW9uOiBub3JtYWxpemVTdHJpbmcoZGF0YS5sZWdhbERlbm9taW5hdGlvbiksXG4gICAgICAgICAgICBnZW5kZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmdlbmRlciksXG4gICAgICAgICAgICBwaG9uZU51bWJlcjogbm9ybWFsaXplU3RyaW5nKGRhdGEucGhvbmVOdW1iZXIpLFxuICAgICAgICAgICAgc3Vic2NyaWJlZFRvTmV3c2xldHRlcjogbm9ybWFsaXplQm9vbChkYXRhLnN1YnNjcmliZWRUb05ld3NsZXR0ZXIpLFxuICAgICAgICAgICAgZG9jdW1lbnRUeXBlOiBub3JtYWxpemVTdHJpbmcoZGF0YS5kb2N1bWVudFR5cGUpLFxuICAgICAgICAgICAgZG9jdW1lbnROdW1iZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmRvY3VtZW50TnVtYmVyKSxcbiAgICAgICAgICAgIGNvbW1lbnRzOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb21tZW50cyksXG4gICAgICAgICAgICBjb250YWN0Rmlyc3ROYW1lOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0Rmlyc3ROYW1lKSxcbiAgICAgICAgICAgIGNvbnRhY3RMYXN0TmFtZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdExhc3ROYW1lKSxcbiAgICAgICAgICAgIGNvbnRhY3RDb21wYW55UG9zaXRpb246IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3RDb21wYW55UG9zaXRpb24pLFxuICAgICAgICAgICAgY29udGFjdEVtYWlsOiBub3JtYWxpemVTdHJpbmcoZGF0YS5jb250YWN0RW1haWwpLFxuICAgICAgICAgICAgY29udGFjdERvY3VtZW50VHlwZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY29udGFjdERvY3VtZW50VHlwZSksXG4gICAgICAgICAgICBjb250YWN0RG9jdW1lbnROdW1iZXI6IG5vcm1hbGl6ZVN0cmluZyhkYXRhLmNvbnRhY3REb2N1bWVudE51bWJlciksXG4gICAgICAgICAgICAvLyBEaXJlY2Npw7NuXG4gICAgICAgICAgICBjb3VudHJ5Q29kZTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY291bnRyeUNvZGUpLFxuICAgICAgICAgICAgcHJvdmluY2VDb2RlOiBub3JtYWxpemVTdHJpbmcoZGF0YS5wcm92aW5jZUNvZGUpLFxuICAgICAgICAgICAgc3RyZWV0OiBub3JtYWxpemVTdHJpbmcoZGF0YS5zdHJlZXQpLFxuICAgICAgICAgICAgY2l0eTogbm9ybWFsaXplU3RyaW5nKGRhdGEuY2l0eSksXG4gICAgICAgICAgICBwb3N0Y29kZTogbm9ybWFsaXplU3RyaW5nKGRhdGEucG9zdGNvZGUpLFxuICAgICAgICB9O1xuICAgIH1cblxufSJdfQ==
|
|
@@ -11553,7 +11553,21 @@ let RegisterFormEcComponent = class RegisterFormEcComponent extends ComponentHel
|
|
|
11553
11553
|
}, error => {
|
|
11554
11554
|
this.register_loading = false;
|
|
11555
11555
|
if (error.status == 400) {
|
|
11556
|
-
|
|
11556
|
+
const backendError = error.error;
|
|
11557
|
+
if (backendError &&
|
|
11558
|
+
backendError.errors &&
|
|
11559
|
+
backendError.errors.email &&
|
|
11560
|
+
backendError.errors.email.length > 0) {
|
|
11561
|
+
// Mostrar el primer mensaje de error de email
|
|
11562
|
+
this.toastr.showPersistent(backendError.errors.email[0]);
|
|
11563
|
+
}
|
|
11564
|
+
else if (backendError && backendError.message) {
|
|
11565
|
+
// Si no hay mensaje específico, pero hay mensaje general del backend
|
|
11566
|
+
this.toastr.showPersistent(backendError.message);
|
|
11567
|
+
}
|
|
11568
|
+
else {
|
|
11569
|
+
this.toastr.showPersistent('El email ingresado ya se encuentra registrado.');
|
|
11570
|
+
}
|
|
11557
11571
|
}
|
|
11558
11572
|
else {
|
|
11559
11573
|
this.toastr.show('Error en el registro. Vuelva a intentarlo más tarde.');
|