ng-easycommerce 0.0.644 → 0.0.646

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.
@@ -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
- this.toastr.showPersistent('El email ingresado ya se encuentra registrado.');
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=
@@ -103,6 +103,12 @@ let PlaceToPayEcComponent = class PlaceToPayEcComponent extends ComponentHelper
103
103
  }, err => this.processError('Ocurrió un error al procesar el pago. Inténtelo más tarde.'));
104
104
  };
105
105
  this.ecOnConstruct();
106
+ console.log("method", this.method);
107
+ console.log("previousFailureAmount", this.previousFailureAmount);
108
+ this.cartService.cart.subscribe(cart => {
109
+ this.cart = cart;
110
+ });
111
+ console.log("cart", this.cart);
106
112
  }
107
113
  ngOnInit() {
108
114
  this.getPreference();
@@ -138,9 +144,9 @@ __decorate([
138
144
  PlaceToPayEcComponent = __decorate([
139
145
  Component({
140
146
  selector: 'app-place-to-pay-ec',
141
- template: "<div class=\"text-center\">\n <ng-container *ngIf=\"url; else loadingUrl\">\n <ng-container *ngIf=\"!loading; else loadingTemp\">\n <button (click)=\"iniciar()\" class=\"btn btn-outline-secondary rounded-0 comprar mt-3\">\n {{ buttonText }}\n </button>\n\n <!-- Mensaje de intento previo fallido -->\n <div *ngIf=\"hasPreviousFailure\" class=\"alert alert-danger mt-3\">\n El pago no se pudo realizar el {{ previousFailureDate }}\n por un monto de {{ previousFailureAmount | ecCurrencySymbol }}.\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingUrl>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n</ng-template>\n\n<ng-template #loadingTemp>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <h3>Procesando el pago por Place to Pay</h3>\n <h5>Recuerde hacer click en \"Volver al sitio\" desde Place to Pay para finalizar la compra.</h5>\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-5\">\n <hr>\n </div>\n <div class=\"col-2 text-center\">\n <label>o</label>\n </div>\n <div class=\"col-5\">\n <hr>\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <button (click)=\"clickClose()\" class=\"btn btn-outline-secondary rounded-0 comprar\">Cancelar pago</button>\n </div>\n</ng-template>",
147
+ template: "<div class=\"text-center\">\n <ng-container *ngIf=\"url; else loadingUrl\">\n <ng-container *ngIf=\"!loading; else loadingTemp\">\n <button (click)=\"iniciar()\" class=\"btn btn-outline-secondary rounded-0 comprar mt-3\">\n {{ buttonText }}\n </button>\n\n <!-- Mensaje de intento previo fallido -->\n <div *ngIf=\"hasPreviousFailure\" class=\"alert alert-danger mt-3\">\n El pago del pedido con n\u00FAmero de orden {{ cart.number }} no se pudo realizar el {{ previousFailureDate }}\n por un monto de {{ previousFailureAmount | ecCurrencySymbol }}.\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingUrl>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n</ng-template>\n\n<ng-template #loadingTemp>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <h3>Procesando el pago por Place to Pay</h3>\n <h5>Recuerde hacer click en \"Volver al sitio\" desde Place to Pay para finalizar la compra.</h5>\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-5\">\n <hr>\n </div>\n <div class=\"col-2 text-center\">\n <label>o</label>\n </div>\n <div class=\"col-5\">\n <hr>\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <button (click)=\"clickClose()\" class=\"btn btn-outline-secondary rounded-0 comprar\">Cancelar pago</button>\n </div>\n</ng-template>",
142
148
  styles: [""]
143
149
  })
144
150
  ], PlaceToPayEcComponent);
145
151
  export { PlaceToPayEcComponent };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9wbGFjZS10by1wYXktZWMvcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPakQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBc0IsU0FBUSxlQUFlO0lBcUJ0RCxZQUNXLFFBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLFlBQTRCO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBUEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQXpCOUIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNk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LEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztpQkFDN0I7cUJBQU07b0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFBLEdBQUcsQ0FBQyxNQUFNLDBDQUFFLE9BQU8sS0FBSSx3Q0FBd0MsQ0FBQyxDQUFDO2lCQUN0RjtZQUNMLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsNERBQTRELENBQUMsQ0FDekYsQ0FBQztRQUNOLENBQUMsQ0FBQTtRQWhHRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1AsNkNBQTZDO0lBQ2pELENBQUM7Q0F3RkosQ0FBQTs7WUExR3dCLFNBQVM7WUFDUCxpQkFBaUI7WUFDZCxZQUFZO1lBQ25CLFNBQVM7WUFDSixXQUFXO1lBQ1YsY0FBYzs7QUF6QjlCO0lBQVIsS0FBSyxFQUFFO3FEQUFlO0FBQ2Q7SUFBUixLQUFLLEVBQUU7MkRBQWtCO0FBQ2pCO0lBQVIsS0FBSyxFQUFFO2lFQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTtzREFBUztBQUNQO0lBQVQsTUFBTSxFQUFFO29EQUE0QjtBQU41QixxQkFBcUI7SUFMakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQiwyd0RBQStDOztLQUVsRCxDQUFDO0dBQ1cscUJBQXFCLENBZ0lqQztTQWhJWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgT25Jbml0LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlclwiO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1wbGFjZS10by1wYXktZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS10by1wYXktZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BsYWNlLXRvLXBheS1lYy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVRvUGF5RWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBtZXRob2QgPSBudWxsO1xuICAgIEBJbnB1dCgpIHRvdGFsX2Ftb3VudCA9IDA7XG4gICAgQElucHV0KCkgcGF5bWVudFNlcnZpY2VJbnN0O1xuICAgIEBJbnB1dCgpIGFsbERhdGE7XG4gICAgQE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgdXJsOiBzdHJpbmc7XG4gICAgcHVibGljIGNsb3NlTW9kYWwgPSAnJztcbiAgICBwdWJsaWMgdmVudGFuYTtcblxuICAgIHB1YmxpYyBoYXNQcmV2aW91c0ZhaWx1cmUgPSBmYWxzZTtcbiAgICBwdWJsaWMgcHJldmlvdXNGYWlsdXJlQW1vdW50OiBudW1iZXIgPSBudWxsO1xuICAgIHB1YmxpYyBwcmV2aW91c0ZhaWx1cmVEYXRlOiBzdHJpbmcgPSBudWxsO1xuICAgIHB1YmxpYyBidXR0b25UZXh0ID0gJ1BhZ2FyJztcblxuICAgIHByb3RlY3RlZCBkYXRhUmVkaXJlY3QgPSAoKSA9PlxuICAgICAgICB0aGlzLmNvbnN0cy5nZXRVcmxCYXNlKCkgKyAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvcGxhY2UtdG8tcGF5LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRfdG9rZW4gKyAnL3Byb2Nlc3MtcGF5bWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHB1YmxpYyBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSxcbiAgICAgICAgcHVibGljIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRQcmVmZXJlbmNlKCk7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ8OzZGlnbyBuZWNlc2FyaW8gYWwgZGVzdHJ1aXIgZWwgY29tcG9uZW50ZVxuICAgIH1cblxuICAgIGluaWNpYXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICcnO1xuICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKCk7XG4gICAgICAgIHRoaXMudmVudGFuYSA9IHdpbmRvdy5vcGVuKHRoaXMudXJsKTtcbiAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgfVxuXG4gICAgY2xpY2tDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsID0gJ2NhbmNlbCc7XG4gICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjYWxsU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuY2xvc2VNb2RhbCAhPT0gJycgPyB0aGlzLmNsb3NlTW9kYWwgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3RhdGUnKTtcbiAgICAgICAgIXN0YXRlICYmIHRoaXMudmVudGFuYT8uY2xvc2VkICYmIChzdGF0ZSA9ICdjYW5jZWwnKTtcblxuICAgICAgICB0aGlzLmhhc1ByZXZpb3VzRmFpbHVyZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoc3RhdGUgPT09ICdzdWNjZXNzJyB8fCBzdGF0ZSA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnZmFpbHVyZScgfHwgc3RhdGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnZmFpbHVyZScpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYW10ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvdGFsX2Ftb3VudCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYW10KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1ByZXZpb3VzRmFpbHVyZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzRmFpbHVyZUFtb3VudCA9IHBhcnNlRmxvYXQoYW10KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c0ZhaWx1cmVEYXRlID0gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLUFSJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSAnUmVpbnRlbnRhciBwYWdvJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3RvdGFsX2Ftb3VudCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3BheW1lbnRfZGF0ZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQcmVmZXJlbmNlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3Ioc3RhdGUgPT09ICdjYW5jZWwnID8gJ1NlIGNhbmNlbMOzIGVsIHBhZ28gY29uIFBsYWNlIHRvIFBheScgOiAnJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXRlKCk7XG4gICAgICAgIH0sIDUwMDApO1xuICAgIH1cblxuICAgIHByb2Nlc3NFcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coZXJyICE9PSAnJyA/IGVyciA6ICdwYXltZW50LWVycm9yJyk7XG4gICAgfVxuXG4gICAgZ2V0UHJlZmVyZW5jZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50U2VydmljZUluc3QuZ2V0Q2hlY2tvdXRQbGFjZVRvUGF5KHRoaXMuYWxsRGF0YSkudGhlbihcbiAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXM/LnN0YXR1cyA9PT0gJ09LJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVybCA9IHJlcy5wcm9jZXNzVXJsO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKHJlcy5zdGF0dXM/Lm1lc3NhZ2UgfHwgJ09jdXJyacOzIHVuIGVycm9yLiBJbnTDqW50ZWxvIG3DoXMgdGFyZGUuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVyciA9PiB0aGlzLnByb2Nlc3NFcnJvcignT2N1cnJpw7MgdW4gZXJyb3IgYWwgcHJvY2VzYXIgZWwgcGFnby4gSW50w6ludGVsbyBtw6FzIHRhcmRlLicpXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9wbGFjZS10by1wYXktZWMvcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPakQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBc0IsU0FBUSxlQUFlO0lBc0J0RCxZQUNXLFFBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLFlBQTRCO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBUEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQTFCOUIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNk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cUJBQXFCO0lBTGpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsaTBEQUErQzs7S0FFbEQsQ0FBQztHQUNXLHFCQUFxQixDQXdJakM7U0F4SVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gXCIuLi8uLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXJcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcGxhY2UtdG8tcGF5LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wbGFjZS10by1wYXktZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VUb1BheUVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgbWV0aG9kID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbF9hbW91bnQgPSAwO1xuICAgIEBJbnB1dCgpIHBheW1lbnRTZXJ2aWNlSW5zdDtcbiAgICBASW5wdXQoKSBhbGxEYXRhO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIHVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBjbG9zZU1vZGFsID0gJyc7XG4gICAgcHVibGljIHZlbnRhbmE7XG4gICAgcHJpdmF0ZSBjYXJ0OiBhbnk7XG5cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNGYWlsdXJlID0gZmFsc2U7XG4gICAgcHVibGljIHByZXZpb3VzRmFpbHVyZUFtb3VudDogbnVtYmVyID0gbnVsbDtcbiAgICBwdWJsaWMgcHJldmlvdXNGYWlsdXJlRGF0ZTogc3RyaW5nID0gbnVsbDtcbiAgICBwdWJsaWMgYnV0dG9uVGV4dCA9ICdQYWdhcic7XG5cbiAgICBwcm90ZWN0ZWQgZGF0YVJlZGlyZWN0ID0gKCkgPT5cbiAgICAgICAgdGhpcy5jb25zdHMuZ2V0VXJsQmFzZSgpICsgJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL3BsYWNlLXRvLXBheS8nICsgdGhpcy5jYXJ0U2VydmljZS5jYXJ0X3Rva2VuICsgJy9wcm9jZXNzLXBheW1lbnQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwdWJsaWMgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjb25zdHM6IENvbnN0YW50cyxcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcbiAgICAgICAgcHVibGljIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KCk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwibWV0aG9kXCIsIHRoaXMubWV0aG9kKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJwcmV2aW91c0ZhaWx1cmVBbW91bnRcIiwgdGhpcy5wcmV2aW91c0ZhaWx1cmVBbW91bnQpO1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNhcnQuc3Vic2NyaWJlKGNhcnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYXJ0ID0gY2FydDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiY2FydFwiLCB0aGlzLmNhcnQpO1xuICAgICAgICBcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRQcmVmZXJlbmNlKCk7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ8OzZGlnbyBuZWNlc2FyaW8gYWwgZGVzdHJ1aXIgZWwgY29tcG9uZW50ZVxuICAgIH1cblxuICAgIGluaWNpYXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICcnO1xuICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKCk7XG4gICAgICAgIHRoaXMudmVudGFuYSA9IHdpbmRvdy5vcGVuKHRoaXMudXJsKTtcbiAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgfVxuXG4gICAgY2xpY2tDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsID0gJ2NhbmNlbCc7XG4gICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjYWxsU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuY2xvc2VNb2RhbCAhPT0gJycgPyB0aGlzLmNsb3NlTW9kYWwgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3RhdGUnKTtcbiAgICAgICAgIXN0YXRlICYmIHRoaXMudmVudGFuYT8uY2xvc2VkICYmIChzdGF0ZSA9ICdjYW5jZWwnKTtcblxuICAgICAgICB0aGlzLmhhc1ByZXZpb3VzRmFpbHVyZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoc3RhdGUgPT09ICdzdWNjZXNzJyB8fCBzdGF0ZSA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnZmFpbHVyZScgfHwgc3RhdGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnZmFpbHVyZScpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYW10ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvdGFsX2Ftb3VudCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYW10KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1ByZXZpb3VzRmFpbHVyZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzRmFpbHVyZUFtb3VudCA9IHBhcnNlRmxvYXQoYW10KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c0ZhaWx1cmVEYXRlID0gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLUFSJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSAnUmVpbnRlbnRhciBwYWdvJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3RvdGFsX2Ftb3VudCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3BheW1lbnRfZGF0ZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQcmVmZXJlbmNlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3Ioc3RhdGUgPT09ICdjYW5jZWwnID8gJ1NlIGNhbmNlbMOzIGVsIHBhZ28gY29uIFBsYWNlIHRvIFBheScgOiAnJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXRlKCk7XG4gICAgICAgIH0sIDUwMDApO1xuICAgIH1cblxuICAgIHByb2Nlc3NFcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coZXJyICE9PSAnJyA/IGVyciA6ICdwYXltZW50LWVycm9yJyk7XG4gICAgfVxuXG4gICAgZ2V0UHJlZmVyZW5jZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50U2VydmljZUluc3QuZ2V0Q2hlY2tvdXRQbGFjZVRvUGF5KHRoaXMuYWxsRGF0YSkudGhlbihcbiAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXM/LnN0YXR1cyA9PT0gJ09LJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVybCA9IHJlcy5wcm9jZXNzVXJsO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKHJlcy5zdGF0dXM/Lm1lc3NhZ2UgfHwgJ09jdXJyacOzIHVuIGVycm9yLiBJbnTDqW50ZWxvIG3DoXMgdGFyZGUuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVyciA9PiB0aGlzLnByb2Nlc3NFcnJvcignT2N1cnJpw7MgdW4gZXJyb3IgYWwgcHJvY2VzYXIgZWwgcGFnby4gSW50w6ludGVsbyBtw6FzIHRhcmRlLicpXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -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
- _this.toastr.showPersistent('El email ingresado ya se encuentra registrado.');
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==
@@ -119,6 +119,12 @@ var PlaceToPayEcComponent = /** @class */ (function (_super) {
119
119
  }, function (err) { return _this.processError('Ocurrió un error al procesar el pago. Inténtelo más tarde.'); });
120
120
  };
121
121
  _this.ecOnConstruct();
122
+ console.log("method", _this.method);
123
+ console.log("previousFailureAmount", _this.previousFailureAmount);
124
+ _this.cartService.cart.subscribe(function (cart) {
125
+ _this.cart = cart;
126
+ });
127
+ console.log("cart", _this.cart);
122
128
  return _this;
123
129
  }
124
130
  PlaceToPayEcComponent.prototype.ngOnInit = function () {
@@ -154,11 +160,11 @@ var PlaceToPayEcComponent = /** @class */ (function (_super) {
154
160
  PlaceToPayEcComponent = __decorate([
155
161
  Component({
156
162
  selector: 'app-place-to-pay-ec',
157
- template: "<div class=\"text-center\">\n <ng-container *ngIf=\"url; else loadingUrl\">\n <ng-container *ngIf=\"!loading; else loadingTemp\">\n <button (click)=\"iniciar()\" class=\"btn btn-outline-secondary rounded-0 comprar mt-3\">\n {{ buttonText }}\n </button>\n\n <!-- Mensaje de intento previo fallido -->\n <div *ngIf=\"hasPreviousFailure\" class=\"alert alert-danger mt-3\">\n El pago no se pudo realizar el {{ previousFailureDate }}\n por un monto de {{ previousFailureAmount | ecCurrencySymbol }}.\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingUrl>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n</ng-template>\n\n<ng-template #loadingTemp>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <h3>Procesando el pago por Place to Pay</h3>\n <h5>Recuerde hacer click en \"Volver al sitio\" desde Place to Pay para finalizar la compra.</h5>\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-5\">\n <hr>\n </div>\n <div class=\"col-2 text-center\">\n <label>o</label>\n </div>\n <div class=\"col-5\">\n <hr>\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <button (click)=\"clickClose()\" class=\"btn btn-outline-secondary rounded-0 comprar\">Cancelar pago</button>\n </div>\n</ng-template>",
163
+ template: "<div class=\"text-center\">\n <ng-container *ngIf=\"url; else loadingUrl\">\n <ng-container *ngIf=\"!loading; else loadingTemp\">\n <button (click)=\"iniciar()\" class=\"btn btn-outline-secondary rounded-0 comprar mt-3\">\n {{ buttonText }}\n </button>\n\n <!-- Mensaje de intento previo fallido -->\n <div *ngIf=\"hasPreviousFailure\" class=\"alert alert-danger mt-3\">\n El pago del pedido con n\u00FAmero de orden {{ cart.number }} no se pudo realizar el {{ previousFailureDate }}\n por un monto de {{ previousFailureAmount | ecCurrencySymbol }}.\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingUrl>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n</ng-template>\n\n<ng-template #loadingTemp>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <h3>Procesando el pago por Place to Pay</h3>\n <h5>Recuerde hacer click en \"Volver al sitio\" desde Place to Pay para finalizar la compra.</h5>\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-5\">\n <hr>\n </div>\n <div class=\"col-2 text-center\">\n <label>o</label>\n </div>\n <div class=\"col-5\">\n <hr>\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <button (click)=\"clickClose()\" class=\"btn btn-outline-secondary rounded-0 comprar\">Cancelar pago</button>\n </div>\n</ng-template>",
158
164
  styles: [""]
159
165
  })
160
166
  ], PlaceToPayEcComponent);
161
167
  return PlaceToPayEcComponent;
162
168
  }(ComponentHelper));
163
169
  export { PlaceToPayEcComponent };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9wbGFjZS10by1wYXktZWMvcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBT2pEO0lBQTJDLHlDQUFlO0lBcUJ0RCwrQkFDVyxRQUFtQixFQUNuQixVQUE2QixFQUM3QixhQUEyQixFQUMzQixNQUFpQixFQUNqQixXQUF3QixFQUN4QixZQUE0QjtRQU52QyxZQVFJLGlCQUFPLFNBRVY7UUFUVSxjQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixZQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFZLEdBQVosWUFBWSxDQUFnQjtRQXpCOUIsWUFBTSxHQUFHLElBQUksQ0FBQztRQUNkLGtCQUFZLEdBQUcs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LE1BQU0sMENBQUUsT0FBTyxLQUFJLHdDQUF3QyxDQUFDLENBQUM7aUJBQ3RGO1lBQ0wsQ0FBQyxFQUNELFVBQUEsR0FBRyxJQUFJLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyw0REFBNEQsQ0FBQyxFQUEvRSxDQUErRSxDQUN6RixDQUFDO1FBQ04sQ0FBQyxDQUFBO1FBaEdHLEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7SUFDekIsQ0FBQztJQUVELHdDQUFRLEdBQVI7UUFDSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCwyQ0FBVyxHQUFYO1FBQ0ksNkNBQTZDO0lBQ2pELENBQUM7O2dCQWxCb0IsU0FBUztnQkFDUCxpQkFBaUI7Z0JBQ2QsWUFBWTtnQkFDbkIsU0FBUztnQkFDSixXQUFXO2dCQUNWLGNBQWM7O0lBekI5QjtRQUFSLEtBQUssRUFBRTt5REFBZTtJQUNkO1FBQVIsS0FBSyxFQUFFOytEQUFrQjtJQUNqQjtRQUFSLEtBQUssRUFBRTtxRUFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7MERBQVM7SUFDUDtRQUFULE1BQU0sRUFBRTt3REFBNEI7SUFONUIscUJBQXFCO1FBTGpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsMndEQUErQzs7U0FFbEQsQ0FBQztPQUNXLHFCQUFxQixDQWdJakM7SUFBRCw0QkFBQztDQUFBLEFBaElELENBQTJDLGVBQWUsR0FnSXpEO1NBaElZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXBsYWNlLXRvLXBheS1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLXRvLXBheS1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlVG9QYXlFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG1ldGhvZCA9IG51bGw7XG4gICAgQElucHV0KCkgdG90YWxfYW1vdW50ID0gMDtcbiAgICBASW5wdXQoKSBwYXltZW50U2VydmljZUluc3Q7XG4gICAgQElucHV0KCkgYWxsRGF0YTtcbiAgICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyB1cmw6IHN0cmluZztcbiAgICBwdWJsaWMgY2xvc2VNb2RhbCA9ICcnO1xuICAgIHB1YmxpYyB2ZW50YW5hO1xuXG4gICAgcHVibGljIGhhc1ByZXZpb3VzRmFpbHVyZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBwcmV2aW91c0ZhaWx1cmVBbW91bnQ6IG51bWJlciA9IG51bGw7XG4gICAgcHVibGljIHByZXZpb3VzRmFpbHVyZURhdGU6IHN0cmluZyA9IG51bGw7XG4gICAgcHVibGljIGJ1dHRvblRleHQgPSAnUGFnYXInO1xuXG4gICAgcHJvdGVjdGVkIGRhdGFSZWRpcmVjdCA9ICgpID0+XG4gICAgICAgIHRoaXMuY29uc3RzLmdldFVybEJhc2UoKSArICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9wbGFjZS10by1wYXkvJyArIHRoaXMuY2FydFNlcnZpY2UuY2FydF90b2tlbiArICcvcHJvY2Vzcy1wYXltZW50JztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHVibGljIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmdldFByZWZlcmVuY2UoKTtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBDw7NkaWdvIG5lY2VzYXJpbyBhbCBkZXN0cnVpciBlbCBjb21wb25lbnRlXG4gICAgfVxuXG4gICAgaW5pY2lhciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsID0gJyc7XG4gICAgICAgIHRoaXMuY2xlYXJTdG9yYWdlU3RhdGUoKTtcbiAgICAgICAgdGhpcy52ZW50YW5hID0gd2luZG93Lm9wZW4odGhpcy51cmwpO1xuICAgICAgICB0aGlzLmNhbGxTdGF0ZSgpO1xuICAgIH1cblxuICAgIGNsZWFyU3RvcmFnZVN0YXRlID0gKCkgPT4ge1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICB9XG5cbiAgICBjbGlja0Nsb3NlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwgPSAnY2FuY2VsJztcbiAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIGNhbGxTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5jbG9zZU1vZGFsICE9PSAnJyA/IHRoaXMuY2xvc2VNb2RhbCA6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdGF0ZScpO1xuICAgICAgICAhc3RhdGUgJiYgdGhpcy52ZW50YW5hPy5jbG9zZWQgJiYgKHN0YXRlID0gJ2NhbmNlbCcpO1xuXG4gICAgICAgIHRoaXMuaGFzUHJldmlvdXNGYWlsdXJlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gJ3N1Y2Nlc3MnIHx8IHN0YXRlID09PSAncGVuZGluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoc3RhdGUgPT09ICdmYWlsdXJlJyB8fCBzdGF0ZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT09ICdmYWlsdXJlJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhbXQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG90YWxfYW1vdW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhbXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzUHJldmlvdXNGYWlsdXJlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlvdXNGYWlsdXJlQW1vdW50ID0gcGFyc2VGbG9hdChhbXQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzRmFpbHVyZURhdGUgPSBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZXMtQVInLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9ICdSZWludGVudGFyIHBhZ28nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG90YWxfYW1vdW50Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgncGF5bWVudF9kYXRlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmdldFByZWZlcmVuY2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcihzdGF0ZSA9PT0gJ2NhbmNlbCcgPyAnU2UgY2FuY2Vsw7MgZWwgcGFnbyBjb24gUGxhY2UgdG8gUGF5JyA6ICcnKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCcnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICAgICAgfSwgNTAwMCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0Vycm9yID0gKGVycikgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdyhlcnIgIT09ICcnID8gZXJyIDogJ3BheW1lbnQtZXJyb3InKTtcbiAgICB9XG5cbiAgICBnZXRQcmVmZXJlbmNlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlSW5zdC5nZXRDaGVja291dFBsYWNlVG9QYXkodGhpcy5hbGxEYXRhKS50aGVuKFxuICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLnN0YXR1cz8uc3RhdHVzID09PSAnT0snKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXJsID0gcmVzLnByb2Nlc3NVcmw7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IocmVzLnN0YXR1cz8ubWVzc2FnZSB8fCAnT2N1cnJpw7MgdW4gZXJyb3IuIEludMOpbnRlbG8gbcOhcyB0YXJkZS4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyID0+IHRoaXMucHJvY2Vzc0Vycm9yKCdPY3VycmnDsyB1biBlcnJvciBhbCBwcm9jZXNhciBlbCBwYWdvLiBJbnTDqW50ZWxvIG3DoXMgdGFyZGUuJylcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9wbGFjZS10by1wYXktZWMvcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBT2pEO0lBQTJDLHlDQUFlO0lBc0J0RCwrQkFDVyxRQUFtQixFQUNuQixVQUE2QixFQUM3QixhQUEyQixFQUMzQixNQUFpQixFQUNqQixXQUF3QixFQUN4QixZQUE0QjtRQU52QyxZQVFJLGlCQUFPLFNBU1Y7UUFoQlUsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixpQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUExQjlCLFlBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxrQkFBWSxHQUFH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bEQsQ0FBQztPQUNXLHFCQUFxQixDQXdJakM7SUFBRCw0QkFBQztDQUFBLEFBeElELENBQTJDLGVBQWUsR0F3SXpEO1NBeElZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXBsYWNlLXRvLXBheS1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BsYWNlLXRvLXBheS1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGxhY2UtdG8tcGF5LWVjLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlVG9QYXlFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG1ldGhvZCA9IG51bGw7XG4gICAgQElucHV0KCkgdG90YWxfYW1vdW50ID0gMDtcbiAgICBASW5wdXQoKSBwYXltZW50U2VydmljZUluc3Q7XG4gICAgQElucHV0KCkgYWxsRGF0YTtcbiAgICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyB1cmw6IHN0cmluZztcbiAgICBwdWJsaWMgY2xvc2VNb2RhbCA9ICcnO1xuICAgIHB1YmxpYyB2ZW50YW5hO1xuICAgIHByaXZhdGUgY2FydDogYW55O1xuXG4gICAgcHVibGljIGhhc1ByZXZpb3VzRmFpbHVyZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBwcmV2aW91c0ZhaWx1cmVBbW91bnQ6IG51bWJlciA9IG51bGw7XG4gICAgcHVibGljIHByZXZpb3VzRmFpbHVyZURhdGU6IHN0cmluZyA9IG51bGw7XG4gICAgcHVibGljIGJ1dHRvblRleHQgPSAnUGFnYXInO1xuXG4gICAgcHJvdGVjdGVkIGRhdGFSZWRpcmVjdCA9ICgpID0+XG4gICAgICAgIHRoaXMuY29uc3RzLmdldFVybEJhc2UoKSArICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9wbGFjZS10by1wYXkvJyArIHRoaXMuY2FydFNlcnZpY2UuY2FydF90b2tlbiArICcvcHJvY2Vzcy1wYXltZW50JztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHVibGljIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpO1xuICAgICAgICBjb25zb2xlLmxvZyhcIm1ldGhvZFwiLCB0aGlzLm1ldGhvZCk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwicHJldmlvdXNGYWlsdXJlQW1vdW50XCIsIHRoaXMucHJldmlvdXNGYWlsdXJlQW1vdW50KTtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jYXJ0LnN1YnNjcmliZShjYXJ0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FydCA9IGNhcnQ7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLmxvZyhcImNhcnRcIiwgdGhpcy5jYXJ0KTtcbiAgICAgICAgXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZ2V0UHJlZmVyZW5jZSgpO1xuICAgICAgICB0aGlzLmVjT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIEPDs2RpZ28gbmVjZXNhcmlvIGFsIGRlc3RydWlyIGVsIGNvbXBvbmVudGVcbiAgICB9XG5cbiAgICBpbmljaWFyID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwgPSAnJztcbiAgICAgICAgdGhpcy5jbGVhclN0b3JhZ2VTdGF0ZSgpO1xuICAgICAgICB0aGlzLnZlbnRhbmEgPSB3aW5kb3cub3Blbih0aGlzLnVybCk7XG4gICAgICAgIHRoaXMuY2FsbFN0YXRlKCk7XG4gICAgfVxuXG4gICAgY2xlYXJTdG9yYWdlU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpO1xuICAgIH1cblxuICAgIGNsaWNrQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICdjYW5jZWwnO1xuICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgY2FsbFN0YXRlID0gKCkgPT4ge1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmNsb3NlTW9kYWwgIT09ICcnID8gdGhpcy5jbG9zZU1vZGFsIDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgICFzdGF0ZSAmJiB0aGlzLnZlbnRhbmE/LmNsb3NlZCAmJiAoc3RhdGUgPSAnY2FuY2VsJyk7XG5cbiAgICAgICAgdGhpcy5oYXNQcmV2aW91c0ZhaWx1cmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnc3VjY2VzcycgfHwgc3RhdGUgPT09ICdwZW5kaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWR5LmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gJ2ZhaWx1cmUnIHx8IHN0YXRlID09PSAnY2FuY2VsJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKTtcblxuICAgICAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gJ2ZhaWx1cmUnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFtdCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b3RhbF9hbW91bnQnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFtdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNQcmV2aW91c0ZhaWx1cmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c0ZhaWx1cmVBbW91bnQgPSBwYXJzZUZsb2F0KGFtdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlvdXNGYWlsdXJlRGF0ZSA9IG5ldyBEYXRlKCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlcy1BUicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gJ1JlaW50ZW50YXIgcGFnbyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0b3RhbF9hbW91bnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdwYXltZW50X2RhdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UHJlZmVyZW5jZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKHN0YXRlID09PSAnY2FuY2VsJyA/ICdTZSBjYW5jZWzDsyBlbCBwYWdvIGNvbiBQbGFjZSB0byBQYXknIDogJycpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJycpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhbGxTdGF0ZSgpO1xuICAgICAgICB9LCA1MDAwKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzRXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KGVyciAhPT0gJycgPyBlcnIgOiAncGF5bWVudC1lcnJvcicpO1xuICAgIH1cblxuICAgIGdldFByZWZlcmVuY2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2VJbnN0LmdldENoZWNrb3V0UGxhY2VUb1BheSh0aGlzLmFsbERhdGEpLnRoZW4oXG4gICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMuc3RhdHVzPy5zdGF0dXMgPT09ICdPSycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cmwgPSByZXMucHJvY2Vzc1VybDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcihyZXMuc3RhdHVzPy5tZXNzYWdlIHx8ICdPY3VycmnDsyB1biBlcnJvci4gSW50w6ludGVsbyBtw6FzIHRhcmRlLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4gdGhpcy5wcm9jZXNzRXJyb3IoJ09jdXJyacOzIHVuIGVycm9yIGFsIHByb2Nlc2FyIGVsIHBhZ28uIEludMOpbnRlbG8gbcOhcyB0YXJkZS4nKVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
@@ -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
- this.toastr.showPersistent('El email ingresado ya se encuentra registrado.');
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.');
@@ -16419,6 +16433,12 @@ let PlaceToPayEcComponent = class PlaceToPayEcComponent extends ComponentHelper
16419
16433
  }, err => this.processError('Ocurrió un error al procesar el pago. Inténtelo más tarde.'));
16420
16434
  };
16421
16435
  this.ecOnConstruct();
16436
+ console.log("method", this.method);
16437
+ console.log("previousFailureAmount", this.previousFailureAmount);
16438
+ this.cartService.cart.subscribe(cart => {
16439
+ this.cart = cart;
16440
+ });
16441
+ console.log("cart", this.cart);
16422
16442
  }
16423
16443
  ngOnInit() {
16424
16444
  this.getPreference();
@@ -16454,7 +16474,7 @@ __decorate$20([
16454
16474
  PlaceToPayEcComponent = __decorate$20([
16455
16475
  Component({
16456
16476
  selector: 'app-place-to-pay-ec',
16457
- template: "<div class=\"text-center\">\n <ng-container *ngIf=\"url; else loadingUrl\">\n <ng-container *ngIf=\"!loading; else loadingTemp\">\n <button (click)=\"iniciar()\" class=\"btn btn-outline-secondary rounded-0 comprar mt-3\">\n {{ buttonText }}\n </button>\n\n <!-- Mensaje de intento previo fallido -->\n <div *ngIf=\"hasPreviousFailure\" class=\"alert alert-danger mt-3\">\n El pago no se pudo realizar el {{ previousFailureDate }}\n por un monto de {{ previousFailureAmount | ecCurrencySymbol }}.\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingUrl>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n</ng-template>\n\n<ng-template #loadingTemp>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <h3>Procesando el pago por Place to Pay</h3>\n <h5>Recuerde hacer click en \"Volver al sitio\" desde Place to Pay para finalizar la compra.</h5>\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-5\">\n <hr>\n </div>\n <div class=\"col-2 text-center\">\n <label>o</label>\n </div>\n <div class=\"col-5\">\n <hr>\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <button (click)=\"clickClose()\" class=\"btn btn-outline-secondary rounded-0 comprar\">Cancelar pago</button>\n </div>\n</ng-template>",
16477
+ template: "<div class=\"text-center\">\n <ng-container *ngIf=\"url; else loadingUrl\">\n <ng-container *ngIf=\"!loading; else loadingTemp\">\n <button (click)=\"iniciar()\" class=\"btn btn-outline-secondary rounded-0 comprar mt-3\">\n {{ buttonText }}\n </button>\n\n <!-- Mensaje de intento previo fallido -->\n <div *ngIf=\"hasPreviousFailure\" class=\"alert alert-danger mt-3\">\n El pago del pedido con n\u00FAmero de orden {{ cart.number }} no se pudo realizar el {{ previousFailureDate }}\n por un monto de {{ previousFailureAmount | ecCurrencySymbol }}.\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingUrl>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n</ng-template>\n\n<ng-template #loadingTemp>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <h3>Procesando el pago por Place to Pay</h3>\n <h5>Recuerde hacer click en \"Volver al sitio\" desde Place to Pay para finalizar la compra.</h5>\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-5\">\n <hr>\n </div>\n <div class=\"col-2 text-center\">\n <label>o</label>\n </div>\n <div class=\"col-5\">\n <hr>\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-column justify-content-center align-items-center mt-2\">\n <button (click)=\"clickClose()\" class=\"btn btn-outline-secondary rounded-0 comprar\">Cancelar pago</button>\n </div>\n</ng-template>",
16458
16478
  styles: [""]
16459
16479
  })
16460
16480
  ], PlaceToPayEcComponent);