ng-easycommerce-v18 0.1.4 → 0.1.5

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.
@@ -406,5 +406,6 @@
406
406
  "login-error": "Error al iniciar sesión. Por favor, intente nuevamente más tarde.",
407
407
  "login-success": "Inicio de sesión exitoso",
408
408
  "logout-success": "Sesión cerrada exitosamente",
409
+ "quantity-not-exceeded": "La cantidad mínima de compra es {{amount}}",
409
410
  "login-form-incomplete": "El formulario de inicio de sesión está incompleto o contiene datos inválidos."
410
411
  }
@@ -84,6 +84,7 @@ export class MenuEcComponent {
84
84
  logout() {
85
85
  this._authService.logout();
86
86
  this._toastService.show('logout-success');
87
+ window.location.href = '/home'; // Redirige a la página de inicio después del logout
87
88
  }
88
89
  /**
89
90
  * Añade varios hijos a una sección por code.
@@ -120,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
120
121
  template: '<p>Menu and Footer Helper Component</p>'
121
122
  }]
122
123
  }], ctorParameters: () => [] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hYnN0cmFjdGlvbnMtY29tcG9uZW50cy9tZW51LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLL0Q7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxlQUFlO0lBQ25CLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0MsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDL0MsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQ7O09BRUc7SUFDSyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFN0M7O09BRUc7SUFDSSxXQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEY7O09BRUc7SUFDSSxTQUFTLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0U7O09BRUc7SUFDSSxXQUFXLEdBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENB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Qix5Q0FBeUM7OzRGQUV2QyxlQUFlO2tCQU4zQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFLHlDQUF5QztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIGFmdGVyUmVuZGVyLCBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgT3B0aW9uc1NlcnZpY2UsIFBhcmFtZXRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBBdHRyaWJ1dGUsIENhdGVnb3J5LCBQYXJhbWV0ZXIsIFNlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMvdG9hc3Quc2VydmljZSc7XHJcbi8qKlxyXG4gKiBQYXJhIGRpZmVyZW5jaWFyIGxvcyB0aXBvcyBkZSBNZW51XHJcbiAqL1xyXG50eXBlIE1lbnVUeXBlID0gXCJjYXRlZ29yeVwiIHwgXCJhdHRyaWJ1dGVcIiB8IFwic2VjdGlvblwiXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHF1ZSBzaXJ2ZSBwYXJhIGFic3RyYWVyIGxhIGZ1bmNpb25hbGlkYWQgcXVlIGNvbXBhcnRlbiBcclxuICogZWwgbWVuw7ogeSBlbCBmb290ZXIuXHJcbiAqIEBjbGFzcyBNZW51RWNDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLWZvb3Rlci1lYycsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbXSxcclxuXHR0ZW1wbGF0ZTogJzxwPk1lbnUgYW5kIEZvb3RlciBIZWxwZXIgQ29tcG9uZW50PC9wPidcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVFY0NvbXBvbmVudCB7XHJcblx0cHJpdmF0ZSBvcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSlcclxuXHRwcml2YXRlIHBhcmFtZXRlcnNTZXJ2aWNlID0gaW5qZWN0KFBhcmFtZXRlcnNTZXJ2aWNlKVxyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSlcclxuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpXHJcblx0LyoqXHJcblx0ICogQ29uc3RhbnRlcyBkZWwgY29yZS5cclxuXHQgKi9cclxuXHRwcml2YXRlIGNvbnN0cyA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSlcclxuXHJcblx0LyoqXHJcblx0ICogT2JzZXJ2YWJsZSBkZSBjYXRlZ29yaWFzXHJcblx0ICovXHJcblx0cHVibGljIGNhdGVnb3JpZXMkOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+ID0gdGhpcy5vcHRpb25zU2VydmljZS5nZXRDYXRlZ29yaWVzKClcclxuXHQvKipcclxuXHQgKiBPYnNlcnZhYmxlIGRlIHNlY2Npb25lc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZWN0aW9ucyQ6IE9ic2VydmFibGU8U2VjdGlvbltdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0U2VjdGlvbnMoKVxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgYXRyaWJ1dG9zXHJcblx0ICovXHJcblx0cHVibGljIGF0dHJpYnV0ZXMkOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVtdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpXHJcblx0LyoqXHJcblx0ICogT2JzZXJ2YWJsZSBkZSBwYXJhbWV0cm9zXHJcblx0ICovXHJcblx0cHVibGljIHBhcmFtZXRlcnMkOiBPYnNlcnZhYmxlPFBhcmFtZXRlcltdIHwgbnVsbD4gPSB0aGlzLnBhcmFtZXRlcnNTZXJ2aWNlLmdldFBhcmFtZXRlcnMoKVxyXG5cdC8qKlxyXG5cdCAqIFVybCBwYXJhIGxhcyBpbWFnZW5lcyBndWFyZGFkZXMgZW4gZWwgYmFja2VuZC5cclxuXHQgKi9cclxuXHRwdWJsaWMgbWVkaWFVcmwgPSB0aGlzLmNvbnN0cy5tZWRpYVVybCgpXHJcblx0LyoqXHJcblx0ICogRnVuY2lvbiBwYXJhIHNhYmVyIHNpIGV4aXN0ZW4gdW4gcGFyYW1ldHJvLiBcclxuXHQgKi9cclxuXHRwdWJsaWMgaGFzUGFyYW1zID0gdGhpcy5wYXJhbWV0ZXJzU2VydmljZS5oYXNQYXJhbXNcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7fVxyXG5cclxuXHRwcm90ZWN0ZWQgYWRkQ2hpbGRyZW4gPSAobWVudVR5cGU6IE1lbnVUeXBlLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKTogdm9pZCA9PiB7XHJcblxyXG5cdH1cclxuXHJcblx0LyogcHJvdGVjdGVkIGFkZENoaWxkcmVuID0gKG1lbnVJdGVtczogYW55W10sIGNvZGU6IHN0cmluZywgaXRlbTogYW55LCBzdGFja1BsYWNlID0gJ2VuZCcpID0+IHtcclxuXHQgIChzdGFja1BsYWNlID09PSAnc3RhcnQnKVxyXG5cdFx0PyBtZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjb2RlKSk/LmNoaWxkcmVuLnVuc2hpZnQoaXRlbSlcclxuXHRcdDogbWVudUl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY29kZSkpPy5jaGlsZHJlbi5wdXNoKGl0ZW0pXHJcbiAgICBcclxuXHR9ICovXHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxhcyBjYXRlZ29yaWFzIGFncmVnYW5kbyBudWV2YXMuXHJcblx0ICogQHBhcmFtIGNhdGVnb3JpZXMgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHVwZGF0ZUNhdGVnb3JpZXMoY2F0ZWdvcmllczogQ2F0ZWdvcnlbXSkge1xyXG5cdFx0dGhpcy5jYXRlZ29yaWVzJCA9IHRoaXMuY2F0ZWdvcmllcyQucGlwZShtYXAoKGRhdGE6IENhdGVnb3J5W10pID0+IHtcclxuXHRcdFx0cmV0dXJuIFsuLi5kYXRhLCAuLi5jYXRlZ29yaWVzXVxyXG5cdFx0fSkpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFjdHVhbGl6YSBsYXMgc2VjY2lvbmVzIGFncmVnYW5kbyBudWV2YXMuXHJcblx0ICogQHBhcmFtIHNlY3Rpb25zIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB1cGRhdGVTZWN0aW9ucyhzZWN0aW9uczogU2VjdGlvbltdKSB7XHJcblx0XHR0aGlzLnNlY3Rpb25zJCA9IHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChkYXRhOiBTZWN0aW9uW10pID0+IHtcclxuXHRcdFx0cmV0dXJuIFsuLi5kYXRhLCAuLi5zZWN0aW9uc11cclxuXHRcdH0pKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgZWwgbWVuw7ogZGUgYXRyaWJ1dG9zIGFncmVkYW5kbyBudWV2b3MuXHJcblx0ICogQHBhcmFtIGF0dHJpYnV0ZXMgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHVwZGF0ZUF0dHJpYnV0ZXMoYXR0cmlidXRlczogQXR0cmlidXRlW10pIHtcclxuXHRcdHRoaXMuYXR0cmlidXRlcyQgPSB0aGlzLmF0dHJpYnV0ZXMkLnBpcGUobWFwKChkYXRhOiBBdHRyaWJ1dGVbXSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gWy4uLmRhdGEsIC4uLmF0dHJpYnV0ZXNdXHJcblx0XHR9KSlcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBpc0F1dGhlbnRpY2F0ZWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgbG9nb3V0KCkge1xyXG5cdFx0dGhpcy5fYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcblx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbG9nb3V0LXN1Y2Nlc3MnKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEHDsWFkZSB2YXJpb3MgaGlqb3MgYSB1bmEgc2VjY2nDs24gcG9yIGNvZGUuXHJcblx0ICogQHBhcmFtIHNlY3Rpb25Db2RlIEPDs2RpZ28gZGUgbGEgc2VjY2nDs25cclxuXHQgKiBAcGFyYW0gY2hpbGRyZW4gQXJyYXkgZGUgaGlqb3MgYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHN0YWNrUGxhY2UgJ3N0YXJ0JyB8ICdlbmQnIChwb3IgZGVmZWN0byAnZW5kJylcclxuXHQgKi9cclxuXHRwdWJsaWMgYWRkU2VjdGlvbkNoaWxkcmVuKHNlY3Rpb25Db2RlOiBzdHJpbmcsIGNoaWxkcmVuOiBhbnlbXSwgc3RhY2tQbGFjZTogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCcpIHtcclxuXHRcdHRoaXMuc2VjdGlvbnMkID0gdGhpcy5zZWN0aW9ucyQucGlwZShcclxuXHRcdFx0bWFwKChzZWN0aW9uczogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHtcclxuXHRcdFx0XHRcdGlmIChzZWN0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb25Db2RlLnRvTG93ZXJDYXNlKCkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCFzZWN0aW9uLmNoaWxkcmVuKSBzZWN0aW9uLmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0XHRcdGlmIChzdGFja1BsYWNlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5jaGlsZHJlbiwgLi4uc2VjdGlvbi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5zZWN0aW9uLmNoaWxkcmVuLCAuLi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBzZWN0aW9uO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcbn0iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hYnN0cmFjdGlvbnMtY29tcG9uZW50cy9tZW51LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLL0Q7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxlQUFlO0lBQ25CLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0MsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDL0MsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQ7O09BRUc7SUFDSyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFN0M7O09BRUc7SUFDSSxXQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEY7O09BRUc7SUFDSSxTQUFTLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0U7O09BRUc7SUFDSSxXQUFXLEdBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENB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Q0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7d0dBM0dXLGVBQWU7NEZBQWYsZUFBZSx5RUFGakIseUNBQXlDOzs0RkFFdkMsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRSx5Q0FBeUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBhZnRlclJlbmRlciwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIE9wdGlvbnNTZXJ2aWNlLCBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQXR0cmlidXRlLCBDYXRlZ29yeSwgUGFyYW1ldGVyLCBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG4vKipcclxuICogUGFyYSBkaWZlcmVuY2lhciBsb3MgdGlwb3MgZGUgTWVudVxyXG4gKi9cclxudHlwZSBNZW51VHlwZSA9IFwiY2F0ZWdvcnlcIiB8IFwiYXR0cmlidXRlXCIgfCBcInNlY3Rpb25cIlxyXG4vKipcclxuICogQ29tcG9uZW50ZSBxdWUgc2lydmUgcGFyYSBhYnN0cmFlciBsYSBmdW5jaW9uYWxpZGFkIHF1ZSBjb21wYXJ0ZW4gXHJcbiAqIGVsIG1lbsO6IHkgZWwgZm9vdGVyLlxyXG4gKiBAY2xhc3MgTWVudUVjQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1mb290ZXItZWMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGU6ICc8cD5NZW51IGFuZCBGb290ZXIgSGVscGVyIENvbXBvbmVudDwvcD4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51RWNDb21wb25lbnQge1xyXG5cdHByaXZhdGUgb3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpXHJcblx0cHJpdmF0ZSBwYXJhbWV0ZXJzU2VydmljZSA9IGluamVjdChQYXJhbWV0ZXJzU2VydmljZSlcclxuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKVxyXG5cdC8qKlxyXG5cdCAqIENvbnN0YW50ZXMgZGVsIGNvcmUuXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25zdHMgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXHJcblxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgY2F0ZWdvcmlhc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpXHJcblx0LyoqXHJcblx0ICogT2JzZXJ2YWJsZSBkZSBzZWNjaW9uZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgc2VjdGlvbnMkOiBPYnNlcnZhYmxlPFNlY3Rpb25bXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldFNlY3Rpb25zKClcclxuXHQvKipcclxuXHQgKiBPYnNlcnZhYmxlIGRlIGF0cmlidXRvc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEF0dHJpYnV0ZXMoKVxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgcGFyYW1ldHJvc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBwYXJhbWV0ZXJzJDogT2JzZXJ2YWJsZTxQYXJhbWV0ZXJbXSB8IG51bGw+ID0gdGhpcy5wYXJhbWV0ZXJzU2VydmljZS5nZXRQYXJhbWV0ZXJzKClcclxuXHQvKipcclxuXHQgKiBVcmwgcGFyYSBsYXMgaW1hZ2VuZXMgZ3VhcmRhZGVzIGVuIGVsIGJhY2tlbmQuXHJcblx0ICovXHJcblx0cHVibGljIG1lZGlhVXJsID0gdGhpcy5jb25zdHMubWVkaWFVcmwoKVxyXG5cdC8qKlxyXG5cdCAqIEZ1bmNpb24gcGFyYSBzYWJlciBzaSBleGlzdGVuIHVuIHBhcmFtZXRyby4gXHJcblx0ICovXHJcblx0cHVibGljIGhhc1BhcmFtcyA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuaGFzUGFyYW1zXHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge31cclxuXHJcblx0cHJvdGVjdGVkIGFkZENoaWxkcmVuID0gKG1lbnVUeXBlOiBNZW51VHlwZSwgY29kZTogc3RyaW5nLCBpdGVtOiBhbnksIHN0YWNrUGxhY2UgPSAnZW5kJyk6IHZvaWQgPT4ge1xyXG5cclxuXHR9XHJcblxyXG5cdC8qIHByb3RlY3RlZCBhZGRDaGlsZHJlbiA9IChtZW51SXRlbXM6IGFueVtdLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKSA9PiB7XHJcblx0ICAoc3RhY2tQbGFjZSA9PT0gJ3N0YXJ0JylcclxuXHRcdD8gbWVudUl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY29kZSkpPy5jaGlsZHJlbi51bnNoaWZ0KGl0ZW0pXHJcblx0XHQ6IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4ucHVzaChpdGVtKVxyXG4gICAgXHJcblx0fSAqL1xyXG5cdC8qKlxyXG5cdCAqIEFjdHVhbGl6YSBsYXMgY2F0ZWdvcmlhcyBhZ3JlZ2FuZG8gbnVldmFzLlxyXG5cdCAqIEBwYXJhbSBjYXRlZ29yaWVzIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB1cGRhdGVDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IENhdGVnb3J5W10pIHtcclxuXHRcdHRoaXMuY2F0ZWdvcmllcyQgPSB0aGlzLmNhdGVnb3JpZXMkLnBpcGUobWFwKChkYXRhOiBDYXRlZ29yeVtdKSA9PiB7XHJcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uY2F0ZWdvcmllc11cclxuXHRcdH0pKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIHNlY2Npb25lcyBhZ3JlZ2FuZG8gbnVldmFzLlxyXG5cdCAqIEBwYXJhbSBzZWN0aW9ucyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgdXBkYXRlU2VjdGlvbnMoc2VjdGlvbnM6IFNlY3Rpb25bXSkge1xyXG5cdFx0dGhpcy5zZWN0aW9ucyQgPSB0aGlzLnNlY3Rpb25zJC5waXBlKG1hcCgoZGF0YTogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uc2VjdGlvbnNdXHJcblx0XHR9KSlcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGVsIG1lbsO6IGRlIGF0cmlidXRvcyBhZ3JlZGFuZG8gbnVldm9zLlxyXG5cdCAqIEBwYXJhbSBhdHRyaWJ1dGVzIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB1cGRhdGVBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdKSB7XHJcblx0XHR0aGlzLmF0dHJpYnV0ZXMkID0gdGhpcy5hdHRyaWJ1dGVzJC5waXBlKG1hcCgoZGF0YTogQXR0cmlidXRlW10pID0+IHtcclxuXHRcdFx0cmV0dXJuIFsuLi5kYXRhLCAuLi5hdHRyaWJ1dGVzXVxyXG5cdFx0fSkpXHJcblx0fVxyXG5cclxuXHRwdWJsaWMgaXNBdXRoZW50aWNhdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGxvZ291dCgpIHtcclxuXHRcdHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG5cdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2xvZ291dC1zdWNjZXNzJyk7XHJcblx0XHQgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL2hvbWUnOyAvLyBSZWRpcmlnZSBhIGxhIHDDoWdpbmEgZGUgaW5pY2lvIGRlc3B1w6lzIGRlbCBsb2dvdXRcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEHDsWFkZSB2YXJpb3MgaGlqb3MgYSB1bmEgc2VjY2nDs24gcG9yIGNvZGUuXHJcblx0ICogQHBhcmFtIHNlY3Rpb25Db2RlIEPDs2RpZ28gZGUgbGEgc2VjY2nDs25cclxuXHQgKiBAcGFyYW0gY2hpbGRyZW4gQXJyYXkgZGUgaGlqb3MgYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHN0YWNrUGxhY2UgJ3N0YXJ0JyB8ICdlbmQnIChwb3IgZGVmZWN0byAnZW5kJylcclxuXHQgKi9cclxuXHRwdWJsaWMgYWRkU2VjdGlvbkNoaWxkcmVuKHNlY3Rpb25Db2RlOiBzdHJpbmcsIGNoaWxkcmVuOiBhbnlbXSwgc3RhY2tQbGFjZTogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCcpIHtcclxuXHRcdHRoaXMuc2VjdGlvbnMkID0gdGhpcy5zZWN0aW9ucyQucGlwZShcclxuXHRcdFx0bWFwKChzZWN0aW9uczogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHtcclxuXHRcdFx0XHRcdGlmIChzZWN0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb25Db2RlLnRvTG93ZXJDYXNlKCkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCFzZWN0aW9uLmNoaWxkcmVuKSBzZWN0aW9uLmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0XHRcdGlmIChzdGFja1BsYWNlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5jaGlsZHJlbiwgLi4uc2VjdGlvbi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5zZWN0aW9uLmNoaWxkcmVuLCAuLi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBzZWN0aW9uO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcbn0iXX0=
@@ -1,7 +1,7 @@
1
- import { afterNextRender, Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, PLATFORM_ID, signal } from '@angular/core';
1
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, PLATFORM_ID, signal } from '@angular/core';
2
2
  import { BlockEcComponent } from '../../abstractions-components';
3
3
  import { AnalyticsService } from '../../../ec-services';
4
- import { CommonModule, isPlatformBrowser } from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
5
  // import function to register Swiper custom elements
6
6
  import { register } from 'swiper/element/bundle';
7
7
  import { ProductEcComponent } from "../../product-ec/product-ec.component";
@@ -14,6 +14,12 @@ register();
14
14
  * @class BlockProductsEcComponent
15
15
  */
16
16
  export class BlockProductsEcComponent extends BlockEcComponent {
17
+ // Personalización de las flechas de navegación
18
+ // Por defecto usa símbolos de texto, pero se pueden especificar imágenes
19
+ prevArrowImage; // undefined = usa símbolo de texto
20
+ nextArrowImage; // undefined = usa símbolo de texto
21
+ prevArrowText = '<';
22
+ nextArrowText = '>';
17
23
  /**
18
24
  * Servicio de Analytics
19
25
  */
@@ -34,66 +40,169 @@ export class BlockProductsEcComponent extends BlockEcComponent {
34
40
  * Bloque principal que contiene los productos
35
41
  */
36
42
  meta;
43
+ ngAfterViewInit() {
44
+ this.setupSwiperNavigation();
45
+ }
46
+ document;
47
+ platformId = inject(PLATFORM_ID);
48
+ /**
49
+ * Ejecuta el método `afterNextRender`para cargar las configuraciones necesarias
50
+ * para el carrusel del banners. Esto debe ser asi debido a que ya debe estar presente
51
+ * en el Dom el element `<swiper-container>` para poder configurarlo.
52
+ */
53
+ constructor() {
54
+ super();
55
+ }
56
+ /**
57
+ * Aplica el evento `select_promotion` junto con el banner que interactua.
58
+ * @param banner
59
+ */
60
+ selectPromotion(item) {
61
+ this.analyticsService.callEvent('select_promotion', item);
62
+ }
63
+ /**
64
+ * Configura la navegación personalizada del Swiper.
65
+ * Esta función está diseñada para ser movida al componente base BlockProductsEcComponent.
66
+ * Permite personalización de las imágenes de las flechas mediante @Input.
67
+ */
68
+ setupSwiperNavigation() {
69
+ if (this.meta?.styles?.carrousel !== false) {
70
+ // Usar setTimeout para asegurar que el swiper esté inicializado
71
+ setTimeout(() => {
72
+ this.initializeSwiperWithCustomNavigation();
73
+ }, 200);
74
+ }
75
+ }
76
+ /**
77
+ * Inicializa el Swiper con navegación personalizada.
78
+ * Esta función puede ser movida al componente base para reutilización.
79
+ */
80
+ initializeSwiperWithCustomNavigation() {
81
+ const prevButton = document.getElementById(`${this.meta?.code}-prev`);
82
+ const nextButton = document.getElementById(`${this.meta?.code}-next`);
83
+ const swiperElement = document.getElementById(this.meta?.code);
84
+ if (prevButton && nextButton && swiperElement) {
85
+ console.log('Configurando navegación personalizada para:', this.meta?.code);
86
+ const swiperConfig = this.getSwiperConfiguration();
87
+ // Verificar si el Swiper ya está inicializado
88
+ if (!swiperElement.swiper) {
89
+ this.initializeNewSwiper(swiperElement, swiperConfig);
90
+ }
91
+ else {
92
+ this.updateExistingSwiper(swiperElement);
93
+ }
94
+ // Configurar los event listeners para los botones
95
+ this.setupNavigationEventListeners(prevButton, nextButton, swiperElement);
96
+ console.log('Event listeners configurados para los botones de navegación');
97
+ }
98
+ else {
99
+ console.log('No se pudieron encontrar los elementos:', {
100
+ prevButton: !!prevButton,
101
+ nextButton: !!nextButton,
102
+ swiperElement: !!swiperElement
103
+ });
104
+ }
105
+ }
37
106
  /**
38
- * Método original en: {@link BlockEcComponent}
107
+ * Obtiene la configuración base del Swiper.
108
+ * Esta configuración puede ser personalizada en el futuro mediante @Input.
39
109
  */
40
- swiperOptions = () => {
110
+ getSwiperConfiguration() {
41
111
  return {
42
- navigation: true,
112
+ slidesPerView: 'auto',
113
+ spaceBetween: 16,
114
+ slidesPerGroup: 1, // Importante: moverse de uno en uno
115
+ navigation: false, // Deshabilitamos la navegación por defecto
116
+ pagination: false,
117
+ loop: false,
118
+ grabCursor: true,
43
119
  breakpoints: {
44
- 0: {
45
- slidesPerView: 1
120
+ 320: {
121
+ slidesPerView: 1,
122
+ spaceBetween: 8,
123
+ slidesPerGroup: 1
46
124
  },
47
125
  576: {
48
- slidesPerView: 2
126
+ slidesPerView: 2,
127
+ spaceBetween: 12,
128
+ slidesPerGroup: 1
49
129
  },
50
130
  768: {
51
131
  slidesPerView: 3,
132
+ spaceBetween: 16,
133
+ slidesPerGroup: 1
52
134
  },
53
- 992: {
54
- slidesPerView: 4,
55
- },
56
- 1200: {
135
+ 1024: {
57
136
  slidesPerView: 4,
137
+ spaceBetween: 16,
138
+ slidesPerGroup: 1
58
139
  }
59
140
  }
60
141
  };
61
- };
62
- document;
63
- platformId = inject(PLATFORM_ID);
142
+ }
64
143
  /**
65
- * Ejecuta el método `afterNextRender`para cargar las configuraciones necesarias
66
- * para el carrusel del banners. Esto debe ser asi debido a que ya debe estar presente
67
- * en el Dom el element `<swiper-container>` para poder configurarlo.
144
+ * Inicializa un nuevo Swiper con la configuración proporcionada.
68
145
  */
69
- constructor() {
70
- super();
71
- if (isPlatformBrowser(this.platformId)) {
72
- this.document = document;
146
+ initializeNewSwiper(swiperElement, config) {
147
+ // Asignar configuración al elemento
148
+ Object.assign(swiperElement, config);
149
+ // Inicializar el Swiper
150
+ swiperElement.initialize();
151
+ console.log('Swiper inicializado con configuración personalizada');
152
+ }
153
+ /**
154
+ * Actualiza un Swiper existente para asegurar la configuración correcta.
155
+ */
156
+ updateExistingSwiper(swiperElement) {
157
+ console.log('Actualizando configuración de Swiper existente');
158
+ // Forzar slidesPerGroup a 1
159
+ swiperElement.swiper.params.slidesPerGroup = 1;
160
+ swiperElement.swiper.allowSlideNext = true;
161
+ swiperElement.swiper.allowSlidePrev = true;
162
+ // Actualizar también los breakpoints si existen
163
+ if (swiperElement.swiper.params.breakpoints) {
164
+ Object.keys(swiperElement.swiper.params.breakpoints).forEach(key => {
165
+ swiperElement.swiper.params.breakpoints[key].slidesPerGroup = 1;
166
+ });
73
167
  }
74
- afterNextRender(() => {
75
- const swiperElemConstructor = this.document?.querySelector('#' + this.meta?.code);
76
- if (swiperElemConstructor) {
77
- Object.assign(swiperElemConstructor, this.swiperOptions());
78
- this.swiperElement.set(swiperElemConstructor);
79
- this.swiperElement()?.initialize();
80
- }
81
- });
168
+ swiperElement.swiper.update();
82
169
  }
83
170
  /**
84
- * Aplica el evento `select_promotion` junto con el banner que interactua.
85
- * @param banner
171
+ * Configura los event listeners para los botones de navegación.
86
172
  */
87
- selectPromotion(item) {
88
- this.analyticsService.callEvent('select_promotion', item);
173
+ setupNavigationEventListeners(prevButton, nextButton, swiperElement) {
174
+ prevButton.addEventListener('click', (e) => {
175
+ e.preventDefault();
176
+ e.stopPropagation();
177
+ console.log('Click en botón anterior');
178
+ if (swiperElement.swiper) {
179
+ swiperElement.swiper.slidePrev();
180
+ }
181
+ });
182
+ nextButton.addEventListener('click', (e) => {
183
+ e.preventDefault();
184
+ e.stopPropagation();
185
+ console.log('Click en botón siguiente');
186
+ if (swiperElement.swiper) {
187
+ swiperElement.swiper.slideNext();
188
+ }
189
+ });
89
190
  }
90
191
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockProductsEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockProductsEcComponent, isStandalone: true, selector: "app-block-products-ec", inputs: { appProduct: "appProduct", products: "products", meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\r\n\r\n <div class=\"blockProduct block-product\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <div class=\"row \">\r\n @for (product of products; track $index) {\r\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\r\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\r\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"container\">\r\n <swiper-container init=\"false\" [id]=\"meta?.code\">\r\n @for (product of products; track $index) {\r\n <swiper-slide id=\"swiper-slide\">\r\n <ng-container\r\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n\r\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\r\n<ng-template #defaultAppProduct let-product=\"product\">\r\n <app-product-ec [product]=\"product\"></app-product-ec>\r\n</ng-template>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ProductEcComponent, selector: "app-product-ec", inputs: ["product", "isProductBox", "isCollection"], outputs: ["loaded"] }] });
192
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlockProductsEcComponent, isStandalone: true, selector: "app-block-products-ec", inputs: { prevArrowImage: "prevArrowImage", nextArrowImage: "nextArrowImage", prevArrowText: "prevArrowText", nextArrowText: "nextArrowText", appProduct: "appProduct", products: "products", meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\r\n\r\n <div class=\"blockProduct block-product\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <div class=\"row \">\r\n @for (product of products; track $index) {\r\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\r\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\r\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"container position-relative\">\r\n <swiper-container \r\n init=\"false\" \r\n [id]=\"meta?.code\"\r\n slides-per-view=\"auto\"\r\n space-between=\"16\"\r\n slides-per-group=\"1\"\r\n navigation=\"false\"\r\n pagination=\"false\"\r\n loop=\"false\">\r\n @for (product of products; track $index) {\r\n <swiper-slide id=\"swiper-slide\">\r\n <ng-container\r\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n \r\n <!-- Botones de navegaci\u00F3n personalizados -->\r\n <div class=\"swiper-navigation\">\r\n <div class=\"swiper-button-prev\" [id]=\"meta?.code + '-prev'\">\r\n @if(prevArrowImage) {\r\n <img [src]=\"prevArrowImage\" alt=\"Anterior\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{prevArrowText}}</span>\r\n }\r\n </div>\r\n <div class=\"swiper-button-next\" [id]=\"meta?.code + '-next'\">\r\n @if(nextArrowImage) {\r\n <img [src]=\"nextArrowImage\" alt=\"Siguiente\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{nextArrowText}}</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n\r\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\r\n<ng-template #defaultAppProduct let-product=\"product\">\r\n <app-product-ec [product]=\"product\"></app-product-ec>\r\n</ng-template>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ProductEcComponent, selector: "app-product-ec", inputs: ["product", "isProductBox", "isCollection"], outputs: ["loaded"] }] });
92
193
  }
93
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlockProductsEcComponent, decorators: [{
94
195
  type: Component,
95
- args: [{ selector: 'app-block-products-ec', standalone: true, imports: [CommonModule, ProductEcComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\r\n\r\n <div class=\"blockProduct block-product\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <div class=\"row \">\r\n @for (product of products; track $index) {\r\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\r\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\r\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"container\">\r\n <swiper-container init=\"false\" [id]=\"meta?.code\">\r\n @for (product of products; track $index) {\r\n <swiper-slide id=\"swiper-slide\">\r\n <ng-container\r\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n\r\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\r\n<ng-template #defaultAppProduct let-product=\"product\">\r\n <app-product-ec [product]=\"product\"></app-product-ec>\r\n</ng-template>" }]
96
- }], ctorParameters: () => [], propDecorators: { appProduct: [{
196
+ args: [{ selector: 'app-block-products-ec', standalone: true, imports: [CommonModule, ProductEcComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section [ngClass]=\"trimClassBlock(meta.code) + ' container-fluid'\">\r\n\r\n <div class=\"blockProduct block-product\">\r\n @if(meta.name){\r\n <div class=\"row\">\r\n <div class=\"col-12 mt-4\">\r\n <h2 class=\"font-weight-normal font-gd\">\r\n <span>{{meta.name}}</span>\r\n </h2>\r\n </div>\r\n </div>\r\n }\r\n\r\n\r\n @if(meta.styles && meta.styles.carrousel == false){\r\n <div class=\"row \">\r\n @for (product of products; track $index) {\r\n <div [class]=\"'item '+ ' col-'+ (meta.styles.items?.sm) + ' col-md-' + (meta.styles.items?.md) + ' col-lg-' + (meta.styles.items?.lg) + ' px-2'\" [id]=\"$index\">\r\n <!-- verifica que si vienen un template para un custom appProduct llamado \"appProduct\" con un objeto \"product\"- sino usa por defecto el del core -->\r\n <ng-container *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"container position-relative\">\r\n <swiper-container \r\n init=\"false\" \r\n [id]=\"meta?.code\"\r\n slides-per-view=\"auto\"\r\n space-between=\"16\"\r\n slides-per-group=\"1\"\r\n navigation=\"false\"\r\n pagination=\"false\"\r\n loop=\"false\">\r\n @for (product of products; track $index) {\r\n <swiper-slide id=\"swiper-slide\">\r\n <ng-container\r\n *ngTemplateOutlet=\"appProduct ? appProduct : defaultAppProduct; context: {product:product}\"></ng-container>\r\n </swiper-slide>\r\n }\r\n </swiper-container>\r\n \r\n <!-- Botones de navegaci\u00F3n personalizados -->\r\n <div class=\"swiper-navigation\">\r\n <div class=\"swiper-button-prev\" [id]=\"meta?.code + '-prev'\">\r\n @if(prevArrowImage) {\r\n <img [src]=\"prevArrowImage\" alt=\"Anterior\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{prevArrowText}}</span>\r\n }\r\n </div>\r\n <div class=\"swiper-button-next\" [id]=\"meta?.code + '-next'\">\r\n @if(nextArrowImage) {\r\n <img [src]=\"nextArrowImage\" alt=\"Siguiente\" />\r\n } @else {\r\n <span class=\"arrow-text\">{{nextArrowText}}</span>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n\r\n<!-- componente por defecto (tomara como producto el contexto pasado como \"product\") -->\r\n<ng-template #defaultAppProduct let-product=\"product\">\r\n <app-product-ec [product]=\"product\"></app-product-ec>\r\n</ng-template>" }]
197
+ }], ctorParameters: () => [], propDecorators: { prevArrowImage: [{
198
+ type: Input
199
+ }], nextArrowImage: [{
200
+ type: Input
201
+ }], prevArrowText: [{
202
+ type: Input
203
+ }], nextArrowText: [{
204
+ type: Input
205
+ }], appProduct: [{
97
206
  type: Input
98
207
  }], products: [{
99
208
  type: Input,
@@ -106,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106
215
  required: true
107
216
  }]
108
217
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9jay1wcm9kdWN0cy1lYy9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLHFEQUFxRDtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFtQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFFM0UsUUFBUSxFQUFFLENBQUE7QUFDVjs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUM3RDs7T0FFRztJQUNLLGdCQUFnQixHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNyRTs7T0FFRztJQUNILGFBQWEsR0FBRyxNQUFNLENBQXlCLElBQUksQ0FBQyxDQUFBO0lBQ3BEOztPQUVHO0lBQ00sVUFBVSxDQUErQjtJQUNsRDs7T0FFRztJQUdBLFFBQVEsQ0FBTSxDQUFDLGFBQWE7SUFDL0I7O09BRUc7SUFHQSxJQUFJLENBQU07SUFDYjs7T0FFRztJQUNNLGFBQWEsR0FBRyxHQUFrQixFQUFFO1FBQzVDLE9BQU87WUFDTixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUU7Z0JBQ1osQ0FBQyxFQUFFO29CQUNGLGFBQWEsRUFBRSxDQUFDO2lCQUNoQjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0osYUFBYSxFQUFFLENBQUM7aUJBQ2hCO2dCQUNELEdBQUcsRUFBRTtvQkFDSixhQUFhLEVBQUUsQ0FBQztpQkFDaEI7Z0JBQ0QsR0FBRyxFQUFFO29CQUNKLGFBQWEsRUFBRSxDQUFDO2lCQUNoQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0wsYUFBYSxFQUFFLENBQUM7aUJBQ2hCO2FBQ0Q7U0FDRCxDQUFBO0lBQ0YsQ0FBQyxDQUFBO0lBQ08sUUFBUSxDQUFZO0lBQ3BCLFVBQVUsR0FBUSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFN0M7Ozs7T0FJRztJQUNIO1FBQ0MsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3pCLENBQUM7UUFDRCxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDakYsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO2dCQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFzQixFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFBO2dCQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxxQkFBd0MsQ0FBQyxDQUFBO2dCQUNoRSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDcEMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUNEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxJQUFTO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUQsQ0FBQzt3R0E5RVcsd0JBQXdCOzRGQUF4Qix3QkFBd0Isa0xDdkJyQyxxNURBMENjLHlERHhCSCxZQUFZLG9TQUFFLGtCQUFrQjs7NEZBSzlCLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDQyx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFdBR2xDLENBQUMsc0JBQXNCLENBQUM7d0RBY3hCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUgsUUFBUTtzQkFGVixLQUFLO3VCQUFDO3dCQUNOLFFBQVEsRUFBRSxJQUFJO3FCQUNkO2dCQU1FLElBQUk7c0JBRk4sS0FBSzt1QkFBQzt3QkFDTixRQUFRLEVBQUUsSUFBSTtxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIElucHV0LCBQTEFURk9STV9JRCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCbG9ja0VjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyL3R5cGVzJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbi8vIGltcG9ydCBmdW5jdGlvbiB0byByZWdpc3RlciBTd2lwZXIgY3VzdG9tIGVsZW1lbnRzXHJcbmltcG9ydCB7IHJlZ2lzdGVyLCBTd2lwZXJDb250YWluZXIgfSBmcm9tICdzd2lwZXIvZWxlbWVudC9idW5kbGUnO1xyXG5pbXBvcnQgeyBQcm9kdWN0RWNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vcHJvZHVjdC1lYy9wcm9kdWN0LWVjLmNvbXBvbmVudFwiO1xyXG5cclxucmVnaXN0ZXIoKVxyXG4vKipcclxuICogQ29tcG9uZW4gcGFyYSBtYW5lamFyIGxvcyBibG9xdWVzIGRlIHByb2R1Y3Rvcy5cclxuICogQGV4dGVuZHMge0Jsb2NrRWNDb21wb25lbnR9XHJcbiAqIEBjbGFzcyBCbG9ja1Byb2R1Y3RzRWNDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWJsb2NrLXByb2R1Y3RzLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFByb2R1Y3RFY0NvbXBvbmVudF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50LnNjc3MnLFxyXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmxvY2tQcm9kdWN0c0VjQ29tcG9uZW50IGV4dGVuZHMgQmxvY2tFY0NvbXBvbmVudCB7XHJcblx0LyoqXHJcblx0ICogU2VydmljaW8gZGUgQW5hbHl0aWNzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpXHJcblx0LyoqXHJcblx0ICogU2lnbmFsIHV0bGl6YWRvIHBhcmEgZ3VhcmRhIGVsIGNvbnRlbmVkb3IgZGVsIGNhcnJ1c2VsXHJcblx0ICovXHJcblx0c3dpcGVyRWxlbWVudCA9IHNpZ25hbDxTd2lwZXJDb250YWluZXIgfCBudWxsPihudWxsKVxyXG5cdC8qKlxyXG5cdCAqIElucHV0IHF1ZSByZWNpYmUgdW4gdGVtcGxhdGUgcGFyYSBlbCBwcm9kdWN0by5cclxuXHQgKi9cclxuXHRASW5wdXQoKSBhcHBQcm9kdWN0OiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xyXG5cdC8qKlxyXG5cdCAqIENvbGVjY2nDs24gZGUgcHJvZHVjdG9zLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCh7XHJcblx0XHRyZXF1aXJlZDogdHJ1ZVxyXG5cdH0pIHByb2R1Y3RzOiBhbnk7IC8vIFByb2R1Y3RbXTtcclxuXHQvKipcclxuXHQgKiBCbG9xdWUgcHJpbmNpcGFsIHF1ZSBjb250aWVuZSBsb3MgcHJvZHVjdG9zXHJcblx0ICovXHJcblx0QElucHV0KHtcclxuXHRcdHJlcXVpcmVkOiB0cnVlXHJcblx0fSkgbWV0YTogYW55O1xyXG5cdC8qKlxyXG5cdCAqIE3DqXRvZG8gb3JpZ2luYWwgZW46IHtAbGluayBCbG9ja0VjQ29tcG9uZW50fVxyXG5cdCAqL1xyXG5cdG92ZXJyaWRlIHN3aXBlck9wdGlvbnMgPSAoKTogU3dpcGVyT3B0aW9ucyA9PiB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRuYXZpZ2F0aW9uOiB0cnVlLFxyXG5cdFx0XHRicmVha3BvaW50czoge1xyXG5cdFx0XHRcdDA6IHtcclxuXHRcdFx0XHRcdHNsaWRlc1BlclZpZXc6IDFcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdDU3Njoge1xyXG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMlxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0NzY4OiB7XHJcblx0XHRcdFx0XHRzbGlkZXNQZXJWaWV3OiAzLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0OTkyOiB7XHJcblx0XHRcdFx0XHRzbGlkZXNQZXJWaWV3OiA0LFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0MTIwMDoge1xyXG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogNCxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0cHJpdmF0ZSBkb2N1bWVudD86IERvY3VtZW50O1xyXG5cdHByaXZhdGUgcGxhdGZvcm1JZDogYW55ID0gaW5qZWN0KFBMQVRGT1JNX0lEKVxyXG5cclxuXHQvKipcclxuXHQgKiBFamVjdXRhIGVsIG3DqXRvZG8gYGFmdGVyTmV4dFJlbmRlcmBwYXJhIGNhcmdhciBsYXMgY29uZmlndXJhY2lvbmVzIG5lY2VzYXJpYXMgXHJcblx0ICogcGFyYSBlbCBjYXJydXNlbCBkZWwgYmFubmVycy4gRXN0byBkZWJlIHNlciBhc2kgZGViaWRvIGEgcXVlIHlhIGRlYmUgZXN0YXIgcHJlc2VudGVcclxuXHQgKiBlbiBlbCBEb20gZWwgZWxlbWVudCBgPHN3aXBlci1jb250YWluZXI+YCBwYXJhIHBvZGVyIGNvbmZpZ3VyYXJsby5cclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHN1cGVyKClcclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudFxyXG5cdFx0fVxyXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcclxuXHRcdFx0Y29uc3Qgc3dpcGVyRWxlbUNvbnN0cnVjdG9yID0gdGhpcy5kb2N1bWVudD8ucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLm1ldGE/LmNvZGUpXHJcblx0XHRcdGlmIChzd2lwZXJFbGVtQ29uc3RydWN0b3IpIHtcclxuXHRcdFx0XHRPYmplY3QuYXNzaWduKHN3aXBlckVsZW1Db25zdHJ1Y3RvciEsIHRoaXMuc3dpcGVyT3B0aW9ucygpKVxyXG5cdFx0XHRcdHRoaXMuc3dpcGVyRWxlbWVudC5zZXQoc3dpcGVyRWxlbUNvbnN0cnVjdG9yIGFzIFN3aXBlckNvbnRhaW5lcilcclxuXHRcdFx0XHR0aGlzLnN3aXBlckVsZW1lbnQoKT8uaW5pdGlhbGl6ZSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBcGxpY2EgZWwgZXZlbnRvIGBzZWxlY3RfcHJvbW90aW9uYCBqdW50byBjb24gZWwgYmFubmVyIHF1ZSBpbnRlcmFjdHVhLlxyXG5cdCAqIEBwYXJhbSBiYW5uZXIgXHJcblx0ICovXHJcblx0c2VsZWN0UHJvbW90aW9uKGl0ZW06IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgnc2VsZWN0X3Byb21vdGlvbicsIGl0ZW0pXHJcblx0fVxyXG59XHJcbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cInRyaW1DbGFzc0Jsb2NrKG1ldGEuY29kZSkgKyAnIGNvbnRhaW5lci1mbHVpZCdcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYmxvY2tQcm9kdWN0IGJsb2NrLXByb2R1Y3RcIj5cclxuICAgICAgICBAaWYobWV0YS5uYW1lKXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGgyICBjbGFzcz1cImZvbnQtd2VpZ2h0LW5vcm1hbCBmb250LWdkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3ttZXRhLm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIEBpZihtZXRhLnN0eWxlcyAmJiBtZXRhLnN0eWxlcy5jYXJyb3VzZWwgPT0gZmFsc2Upe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKHByb2R1Y3Qgb2YgcHJvZHVjdHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInaXRlbSAnKyAnIGNvbC0nKyAobWV0YS5zdHlsZXMuaXRlbXM/LnNtKSArICcgY29sLW1kLScgKyAobWV0YS5zdHlsZXMuaXRlbXM/Lm1kKSAgKyAnIGNvbC1sZy0nICsgKG1ldGEuc3R5bGVzLml0ZW1zPy5sZykgICsgJyBweC0yJ1wiIFtpZF09XCIkaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gdmVyaWZpY2EgcXVlIHNpIHZpZW5lbiB1biB0ZW1wbGF0ZSBwYXJhIHVuIGN1c3RvbSBhcHBQcm9kdWN0IGxsYW1hZG8gXCJhcHBQcm9kdWN0XCIgY29uIHVuIG9iamV0byBcInByb2R1Y3RcIi0gc2lubyB1c2EgcG9yIGRlZmVjdG8gZWwgZGVsIGNvcmUgLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwUHJvZHVjdCA/IGFwcFByb2R1Y3QgOiBkZWZhdWx0QXBwUHJvZHVjdDsgY29udGV4dDoge3Byb2R1Y3Q6cHJvZHVjdH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzd2lwZXItY29udGFpbmVyIGluaXQ9XCJmYWxzZVwiIFtpZF09XCJtZXRhPy5jb2RlXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChwcm9kdWN0IG9mIHByb2R1Y3RzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIDxzd2lwZXItc2xpZGUgaWQ9XCJzd2lwZXItc2xpZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwUHJvZHVjdCA/IGFwcFByb2R1Y3QgOiBkZWZhdWx0QXBwUHJvZHVjdDsgY29udGV4dDoge3Byb2R1Y3Q6cHJvZHVjdH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvc3dpcGVyLXNsaWRlPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3N3aXBlci1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48IS0tIGNvbXBvbmVudGUgcG9yIGRlZmVjdG8gKHRvbWFyYSBjb21vIHByb2R1Y3RvIGVsIGNvbnRleHRvIHBhc2FkbyBjb21vIFwicHJvZHVjdFwiKSAtLT5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QXBwUHJvZHVjdCBsZXQtcHJvZHVjdD1cInByb2R1Y3RcIj5cclxuICAgIDxhcHAtcHJvZHVjdC1lYyBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9hcHAtcHJvZHVjdC1lYz5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9jay1wcm9kdWN0cy1lYy9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxxREFBcUQ7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRTNFLFFBQVEsRUFBRSxDQUFBO0FBQ1Y7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDNUQsK0NBQStDO0lBQ2hELHlFQUF5RTtJQUNoRSxjQUFjLENBQVUsQ0FBQyxtQ0FBbUM7SUFDNUQsY0FBYyxDQUFVLENBQUMsbUNBQW1DO0lBQzVELGFBQWEsR0FBVyxHQUFHLENBQUM7SUFDNUIsYUFBYSxHQUFXLEdBQUcs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TVcsd0JBQXdCOzRGQUF4Qix3QkFBd0Isc1RDdkJyQywyakdBb0VjLHlERGxESCxZQUFZLG9TQUFFLGtCQUFrQjs7NEZBSzlCLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDQyx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFdBR2xDLENBQUMsc0JBQXNCLENBQUM7d0RBS3hCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBWUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNSCxRQUFRO3NCQUZWLEtBQUs7dUJBQUM7d0JBQ04sUUFBUSxFQUFFLElBQUk7cUJBQ2Q7Z0JBTUUsSUFBSTtzQkFGTixLQUFLO3VCQUFDO3dCQUNOLFFBQVEsRUFBRSxJQUFJO3FCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGluamVjdCwgSW5wdXQsIFBMQVRGT1JNX0lELCBzaWduYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJsb2NrRWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFN3aXBlck9wdGlvbnMgfSBmcm9tICdzd2lwZXIvdHlwZXMnO1xyXG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuLy8gaW1wb3J0IGZ1bmN0aW9uIHRvIHJlZ2lzdGVyIFN3aXBlciBjdXN0b20gZWxlbWVudHNcclxuaW1wb3J0IHsgcmVnaXN0ZXIsIFN3aXBlckNvbnRhaW5lciB9IGZyb20gJ3N3aXBlci9lbGVtZW50L2J1bmRsZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RFY0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9wcm9kdWN0LWVjL3Byb2R1Y3QtZWMuY29tcG9uZW50XCI7XHJcblxyXG5yZWdpc3RlcigpXHJcbi8qKlxyXG4gKiBDb21wb25lbiBwYXJhIG1hbmVqYXIgbG9zIGJsb3F1ZXMgZGUgcHJvZHVjdG9zLlxyXG4gKiBAZXh0ZW5kcyB7QmxvY2tFY0NvbXBvbmVudH1cclxuICogQGNsYXNzIEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYmxvY2stcHJvZHVjdHMtZWMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHJvZHVjdEVjQ29tcG9uZW50XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuc2NzcycsXHJcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCbG9ja1Byb2R1Y3RzRWNDb21wb25lbnQgZXh0ZW5kcyBCbG9ja0VjQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblx0XHQvLyBQZXJzb25hbGl6YWNpw7NuIGRlIGxhcyBmbGVjaGFzIGRlIG5hdmVnYWNpw7NuXHJcblx0Ly8gUG9yIGRlZmVjdG8gdXNhIHPDrW1ib2xvcyBkZSB0ZXh0bywgcGVybyBzZSBwdWVkZW4gZXNwZWNpZmljYXIgaW3DoWdlbmVzXHJcblx0QElucHV0KCkgcHJldkFycm93SW1hZ2U/OiBzdHJpbmc7IC8vIHVuZGVmaW5lZCA9IHVzYSBzw61tYm9sbyBkZSB0ZXh0b1xyXG5cdEBJbnB1dCgpIG5leHRBcnJvd0ltYWdlPzogc3RyaW5nOyAvLyB1bmRlZmluZWQgPSB1c2Egc8OtbWJvbG8gZGUgdGV4dG9cclxuXHRASW5wdXQoKSBwcmV2QXJyb3dUZXh0OiBzdHJpbmcgPSAnPCc7XHJcblx0QElucHV0KCkgbmV4dEFycm93VGV4dDogc3RyaW5nID0gJz4nO1xyXG5cdC8qKlxyXG5cdCAqIFNlcnZpY2lvIGRlIEFuYWx5dGljc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSA9IGluamVjdChBbmFseXRpY3NTZXJ2aWNlKVxyXG5cdC8qKlxyXG5cdCAqIFNpZ25hbCB1dGxpemFkbyBwYXJhIGd1YXJkYSBlbCBjb250ZW5lZG9yIGRlbCBjYXJydXNlbFxyXG5cdCAqL1xyXG5cdHN3aXBlckVsZW1lbnQgPSBzaWduYWw8U3dpcGVyQ29udGFpbmVyIHwgbnVsbD4obnVsbClcclxuXHQvKipcclxuXHQgKiBJbnB1dCBxdWUgcmVjaWJlIHVuIHRlbXBsYXRlIHBhcmEgZWwgcHJvZHVjdG8uXHJcblx0ICovXHJcblx0QElucHV0KCkgYXBwUHJvZHVjdDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHQvKipcclxuXHQgKiBDb2xlY2Npw7NuIGRlIHByb2R1Y3Rvcy5cclxuXHQgKi9cclxuXHRASW5wdXQoe1xyXG5cdFx0cmVxdWlyZWQ6IHRydWVcclxuXHR9KSBwcm9kdWN0czogYW55OyAvLyBQcm9kdWN0W107XHJcblx0LyoqXHJcblx0ICogQmxvcXVlIHByaW5jaXBhbCBxdWUgY29udGllbmUgbG9zIHByb2R1Y3Rvc1xyXG5cdCAqL1xyXG5cdEBJbnB1dCh7XHJcblx0XHRyZXF1aXJlZDogdHJ1ZVxyXG5cdH0pIG1ldGE6IGFueTtcclxuXHJcblx0bmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0dGhpcy5zZXR1cFN3aXBlck5hdmlnYXRpb24oKTtcclxuXHR9XHJcblx0XHJcblx0cHJpdmF0ZSBkb2N1bWVudD86IERvY3VtZW50O1xyXG5cdHByaXZhdGUgcGxhdGZvcm1JZDogYW55ID0gaW5qZWN0KFBMQVRGT1JNX0lEKVxyXG5cclxuXHQvKipcclxuXHQgKiBFamVjdXRhIGVsIG3DqXRvZG8gYGFmdGVyTmV4dFJlbmRlcmBwYXJhIGNhcmdhciBsYXMgY29uZmlndXJhY2lvbmVzIG5lY2VzYXJpYXMgXHJcblx0ICogcGFyYSBlbCBjYXJydXNlbCBkZWwgYmFubmVycy4gRXN0byBkZWJlIHNlciBhc2kgZGViaWRvIGEgcXVlIHlhIGRlYmUgZXN0YXIgcHJlc2VudGVcclxuXHQgKiBlbiBlbCBEb20gZWwgZWxlbWVudCBgPHN3aXBlci1jb250YWluZXI+YCBwYXJhIHBvZGVyIGNvbmZpZ3VyYXJsby5cclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHN1cGVyKClcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQXBsaWNhIGVsIGV2ZW50byBgc2VsZWN0X3Byb21vdGlvbmAganVudG8gY29uIGVsIGJhbm5lciBxdWUgaW50ZXJhY3R1YS5cclxuXHQgKiBAcGFyYW0gYmFubmVyIFxyXG5cdCAqL1xyXG5cdHNlbGVjdFByb21vdGlvbihpdGVtOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3NlbGVjdF9wcm9tb3Rpb24nLCBpdGVtKVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uZmlndXJhIGxhIG5hdmVnYWNpw7NuIHBlcnNvbmFsaXphZGEgZGVsIFN3aXBlci5cclxuXHQgKiBFc3RhIGZ1bmNpw7NuIGVzdMOhIGRpc2XDsWFkYSBwYXJhIHNlciBtb3ZpZGEgYWwgY29tcG9uZW50ZSBiYXNlIEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudC5cclxuXHQgKiBQZXJtaXRlIHBlcnNvbmFsaXphY2nDs24gZGUgbGFzIGltw6FnZW5lcyBkZSBsYXMgZmxlY2hhcyBtZWRpYW50ZSBASW5wdXQuXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzZXR1cFN3aXBlck5hdmlnYXRpb24oKSB7XHJcblx0XHRpZiAodGhpcy5tZXRhPy5zdHlsZXM/LmNhcnJvdXNlbCAhPT0gZmFsc2UpIHtcclxuXHRcdFx0Ly8gVXNhciBzZXRUaW1lb3V0IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIHN3aXBlciBlc3TDqSBpbmljaWFsaXphZG9cclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5pbml0aWFsaXplU3dpcGVyV2l0aEN1c3RvbU5hdmlnYXRpb24oKTtcclxuXHRcdFx0fSwgMjAwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEluaWNpYWxpemEgZWwgU3dpcGVyIGNvbiBuYXZlZ2FjacOzbiBwZXJzb25hbGl6YWRhLlxyXG5cdCAqIEVzdGEgZnVuY2nDs24gcHVlZGUgc2VyIG1vdmlkYSBhbCBjb21wb25lbnRlIGJhc2UgcGFyYSByZXV0aWxpemFjacOzbi5cclxuXHQgKi9cclxuXHRwcml2YXRlIGluaXRpYWxpemVTd2lwZXJXaXRoQ3VzdG9tTmF2aWdhdGlvbigpIHtcclxuXHRcdGNvbnN0IHByZXZCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLm1ldGE/LmNvZGV9LXByZXZgKTtcclxuXHRcdGNvbnN0IG5leHRCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLm1ldGE/LmNvZGV9LW5leHRgKTtcclxuXHRcdGNvbnN0IHN3aXBlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm1ldGE/LmNvZGUpIGFzIGFueTtcclxuXHJcblx0XHRpZiAocHJldkJ1dHRvbiAmJiBuZXh0QnV0dG9uICYmIHN3aXBlckVsZW1lbnQpIHtcclxuXHRcdFx0Y29uc29sZS5sb2coJ0NvbmZpZ3VyYW5kbyBuYXZlZ2FjacOzbiBwZXJzb25hbGl6YWRhIHBhcmE6JywgdGhpcy5tZXRhPy5jb2RlKTtcclxuXHRcdFx0XHJcblx0XHRcdGNvbnN0IHN3aXBlckNvbmZpZyA9IHRoaXMuZ2V0U3dpcGVyQ29uZmlndXJhdGlvbigpO1xyXG5cclxuXHRcdFx0Ly8gVmVyaWZpY2FyIHNpIGVsIFN3aXBlciB5YSBlc3TDoSBpbmljaWFsaXphZG9cclxuXHRcdFx0aWYgKCFzd2lwZXJFbGVtZW50LnN3aXBlcikge1xyXG5cdFx0XHRcdHRoaXMuaW5pdGlhbGl6ZU5ld1N3aXBlcihzd2lwZXJFbGVtZW50LCBzd2lwZXJDb25maWcpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMudXBkYXRlRXhpc3RpbmdTd2lwZXIoc3dpcGVyRWxlbWVudCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIENvbmZpZ3VyYXIgbG9zIGV2ZW50IGxpc3RlbmVycyBwYXJhIGxvcyBib3RvbmVzXHJcblx0XHRcdHRoaXMuc2V0dXBOYXZpZ2F0aW9uRXZlbnRMaXN0ZW5lcnMocHJldkJ1dHRvbiwgbmV4dEJ1dHRvbiwgc3dpcGVyRWxlbWVudCk7XHJcblx0XHRcdFxyXG5cdFx0XHRjb25zb2xlLmxvZygnRXZlbnQgbGlzdGVuZXJzIGNvbmZpZ3VyYWRvcyBwYXJhIGxvcyBib3RvbmVzIGRlIG5hdmVnYWNpw7NuJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zb2xlLmxvZygnTm8gc2UgcHVkaWVyb24gZW5jb250cmFyIGxvcyBlbGVtZW50b3M6Jywge1xyXG5cdFx0XHRcdHByZXZCdXR0b246ICEhcHJldkJ1dHRvbixcclxuXHRcdFx0XHRuZXh0QnV0dG9uOiAhIW5leHRCdXR0b24sXHJcblx0XHRcdFx0c3dpcGVyRWxlbWVudDogISFzd2lwZXJFbGVtZW50XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogT2J0aWVuZSBsYSBjb25maWd1cmFjacOzbiBiYXNlIGRlbCBTd2lwZXIuXHJcblx0ICogRXN0YSBjb25maWd1cmFjacOzbiBwdWVkZSBzZXIgcGVyc29uYWxpemFkYSBlbiBlbCBmdXR1cm8gbWVkaWFudGUgQElucHV0LlxyXG5cdCAqL1xyXG5cdHByaXZhdGUgZ2V0U3dpcGVyQ29uZmlndXJhdGlvbigpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdHNsaWRlc1BlclZpZXc6ICdhdXRvJyxcclxuXHRcdFx0c3BhY2VCZXR3ZWVuOiAxNixcclxuXHRcdFx0c2xpZGVzUGVyR3JvdXA6IDEsIC8vIEltcG9ydGFudGU6IG1vdmVyc2UgZGUgdW5vIGVuIHVub1xyXG5cdFx0XHRuYXZpZ2F0aW9uOiBmYWxzZSwgLy8gRGVzaGFiaWxpdGFtb3MgbGEgbmF2ZWdhY2nDs24gcG9yIGRlZmVjdG9cclxuXHRcdFx0cGFnaW5hdGlvbjogZmFsc2UsXHJcblx0XHRcdGxvb3A6IGZhbHNlLFxyXG5cdFx0XHRncmFiQ3Vyc29yOiB0cnVlLFxyXG5cdFx0XHRicmVha3BvaW50czoge1xyXG5cdFx0XHRcdDMyMDoge1xyXG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMSxcclxuXHRcdFx0XHRcdHNwYWNlQmV0d2VlbjogOCxcclxuXHRcdFx0XHRcdHNsaWRlc1Blckdyb3VwOiAxXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQ1NzY6IHtcclxuXHRcdFx0XHRcdHNsaWRlc1BlclZpZXc6IDIsXHJcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDEyLFxyXG5cdFx0XHRcdFx0c2xpZGVzUGVyR3JvdXA6IDFcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdDc2ODoge1xyXG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMyxcclxuXHRcdFx0XHRcdHNwYWNlQmV0d2VlbjogMTYsXHJcblx0XHRcdFx0XHRzbGlkZXNQZXJHcm91cDogMVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0MTAyNDoge1xyXG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogNCxcclxuXHRcdFx0XHRcdHNwYWNlQmV0d2VlbjogMTYsXHJcblx0XHRcdFx0XHRzbGlkZXNQZXJHcm91cDogMVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEluaWNpYWxpemEgdW4gbnVldm8gU3dpcGVyIGNvbiBsYSBjb25maWd1cmFjacOzbiBwcm9wb3JjaW9uYWRhLlxyXG5cdCAqL1xyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZU5ld1N3aXBlcihzd2lwZXJFbGVtZW50OiBhbnksIGNvbmZpZzogYW55KSB7XHJcblx0XHQvLyBBc2lnbmFyIGNvbmZpZ3VyYWNpw7NuIGFsIGVsZW1lbnRvXHJcblx0XHRPYmplY3QuYXNzaWduKHN3aXBlckVsZW1lbnQsIGNvbmZpZyk7XHJcblx0XHRcclxuXHRcdC8vIEluaWNpYWxpemFyIGVsIFN3aXBlclxyXG5cdFx0c3dpcGVyRWxlbWVudC5pbml0aWFsaXplKCk7XHJcblx0XHRcclxuXHRcdGNvbnNvbGUubG9nKCdTd2lwZXIgaW5pY2lhbGl6YWRvIGNvbiBjb25maWd1cmFjacOzbiBwZXJzb25hbGl6YWRhJyk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgdW4gU3dpcGVyIGV4aXN0ZW50ZSBwYXJhIGFzZWd1cmFyIGxhIGNvbmZpZ3VyYWNpw7NuIGNvcnJlY3RhLlxyXG5cdCAqL1xyXG5cdHByaXZhdGUgdXBkYXRlRXhpc3RpbmdTd2lwZXIoc3dpcGVyRWxlbWVudDogYW55KSB7XHJcblx0XHRjb25zb2xlLmxvZygnQWN0dWFsaXphbmRvIGNvbmZpZ3VyYWNpw7NuIGRlIFN3aXBlciBleGlzdGVudGUnKTtcclxuXHRcdFxyXG5cdFx0Ly8gRm9yemFyIHNsaWRlc1Blckdyb3VwIGEgMVxyXG5cdFx0c3dpcGVyRWxlbWVudC5zd2lwZXIucGFyYW1zLnNsaWRlc1Blckdyb3VwID0gMTtcclxuXHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLmFsbG93U2xpZGVOZXh0ID0gdHJ1ZTtcclxuXHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLmFsbG93U2xpZGVQcmV2ID0gdHJ1ZTtcclxuXHRcdFxyXG5cdFx0Ly8gQWN0dWFsaXphciB0YW1iacOpbiBsb3MgYnJlYWtwb2ludHMgc2kgZXhpc3RlblxyXG5cdFx0aWYgKHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5icmVha3BvaW50cykge1xyXG5cdFx0XHRPYmplY3Qua2V5cyhzd2lwZXJFbGVtZW50LnN3aXBlci5wYXJhbXMuYnJlYWtwb2ludHMpLmZvckVhY2goa2V5ID0+IHtcclxuXHRcdFx0XHRzd2lwZXJFbGVtZW50LnN3aXBlci5wYXJhbXMuYnJlYWtwb2ludHNba2V5XS5zbGlkZXNQZXJHcm91cCA9IDE7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRzd2lwZXJFbGVtZW50LnN3aXBlci51cGRhdGUoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbmZpZ3VyYSBsb3MgZXZlbnQgbGlzdGVuZXJzIHBhcmEgbG9zIGJvdG9uZXMgZGUgbmF2ZWdhY2nDs24uXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzZXR1cE5hdmlnYXRpb25FdmVudExpc3RlbmVycyhwcmV2QnV0dG9uOiBFbGVtZW50LCBuZXh0QnV0dG9uOiBFbGVtZW50LCBzd2lwZXJFbGVtZW50OiBhbnkpIHtcclxuXHRcdHByZXZCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xyXG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRcdGNvbnNvbGUubG9nKCdDbGljayBlbiBib3TDs24gYW50ZXJpb3InKTtcclxuXHRcdFx0aWYgKHN3aXBlckVsZW1lbnQuc3dpcGVyKSB7XHJcblx0XHRcdFx0c3dpcGVyRWxlbWVudC5zd2lwZXIuc2xpZGVQcmV2KCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdG5leHRCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xyXG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRcdGNvbnNvbGUubG9nKCdDbGljayBlbiBib3TDs24gc2lndWllbnRlJyk7XHJcblx0XHRcdGlmIChzd2lwZXJFbGVtZW50LnN3aXBlcikge1xyXG5cdFx0XHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnNsaWRlTmV4dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPHNlY3Rpb24gW25nQ2xhc3NdPVwidHJpbUNsYXNzQmxvY2sobWV0YS5jb2RlKSArICcgY29udGFpbmVyLWZsdWlkJ1wiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJibG9ja1Byb2R1Y3QgYmxvY2stcHJvZHVjdFwiPlxyXG4gICAgICAgIEBpZihtZXRhLm5hbWUpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtdC00XCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgIGNsYXNzPVwiZm9udC13ZWlnaHQtbm9ybWFsIGZvbnQtZ2RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e21ldGEubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgQGlmKG1ldGEuc3R5bGVzICYmIG1ldGEuc3R5bGVzLmNhcnJvdXNlbCA9PSBmYWxzZSl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBcIj5cclxuICAgICAgICAgICAgQGZvciAocHJvZHVjdCBvZiBwcm9kdWN0czsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIidpdGVtICcrICcgY29sLScrIChtZXRhLnN0eWxlcy5pdGVtcz8uc20pICsgJyBjb2wtbWQtJyArIChtZXRhLnN0eWxlcy5pdGVtcz8ubWQpICArICcgY29sLWxnLScgKyAobWV0YS5zdHlsZXMuaXRlbXM/LmxnKSAgKyAnIHB4LTInXCIgW2lkXT1cIiRpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSB2ZXJpZmljYSBxdWUgc2kgdmllbmVuIHVuIHRlbXBsYXRlIHBhcmEgdW4gY3VzdG9tIGFwcFByb2R1Y3QgbGxhbWFkbyBcImFwcFByb2R1Y3RcIiBjb24gdW4gb2JqZXRvIFwicHJvZHVjdFwiLSBzaW5vIHVzYSBwb3IgZGVmZWN0byBlbCBkZWwgY29yZSAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBQcm9kdWN0ID8gYXBwUHJvZHVjdCA6IGRlZmF1bHRBcHBQcm9kdWN0OyBjb250ZXh0OiB7cHJvZHVjdDpwcm9kdWN0fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgPHN3aXBlci1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICBpbml0PVwiZmFsc2VcIiBcclxuICAgICAgICAgICAgICAgIFtpZF09XCJtZXRhPy5jb2RlXCJcclxuICAgICAgICAgICAgICAgIHNsaWRlcy1wZXItdmlldz1cImF1dG9cIlxyXG4gICAgICAgICAgICAgICAgc3BhY2UtYmV0d2Vlbj1cIjE2XCJcclxuICAgICAgICAgICAgICAgIHNsaWRlcy1wZXItZ3JvdXA9XCIxXCJcclxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb249XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgbG9vcD1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChwcm9kdWN0IG9mIHByb2R1Y3RzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIDxzd2lwZXItc2xpZGUgaWQ9XCJzd2lwZXItc2xpZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwUHJvZHVjdCA/IGFwcFByb2R1Y3QgOiBkZWZhdWx0QXBwUHJvZHVjdDsgY29udGV4dDoge3Byb2R1Y3Q6cHJvZHVjdH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvc3dpcGVyLXNsaWRlPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3N3aXBlci1jb250YWluZXI+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8IS0tIEJvdG9uZXMgZGUgbmF2ZWdhY2nDs24gcGVyc29uYWxpemFkb3MgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItbmF2aWdhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1idXR0b24tcHJldlwiIFtpZF09XCJtZXRhPy5jb2RlICsgJy1wcmV2J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihwcmV2QXJyb3dJbWFnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwicHJldkFycm93SW1hZ2VcIiBhbHQ9XCJBbnRlcmlvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3ctdGV4dFwiPnt7cHJldkFycm93VGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1idXR0b24tbmV4dFwiIFtpZF09XCJtZXRhPy5jb2RlICsgJy1uZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihuZXh0QXJyb3dJbWFnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwibmV4dEFycm93SW1hZ2VcIiBhbHQ9XCJTaWd1aWVudGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93LXRleHRcIj57e25leHRBcnJvd1RleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48IS0tIGNvbXBvbmVudGUgcG9yIGRlZmVjdG8gKHRvbWFyYSBjb21vIHByb2R1Y3RvIGVsIGNvbnRleHRvIHBhc2FkbyBjb21vIFwicHJvZHVjdFwiKSAtLT5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QXBwUHJvZHVjdCBsZXQtcHJvZHVjdD1cInByb2R1Y3RcIj5cclxuICAgIDxhcHAtcHJvZHVjdC1lYyBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9hcHAtcHJvZHVjdC1lYz5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -70,7 +70,7 @@ export class BlocksEcComponent {
70
70
  }
71
71
  }
72
72
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlocksEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlocksEcComponent, isStandalone: true, selector: "app-blocks-ec", inputs: { templates: "templates", show_loading: "show_loading", section: "section", blockFilters: "blockFilters" }, ngImport: i0, template: "@if(blocks$ | async; as blocks){\r\n @if(blocks.length > 0){\r\n <div class=\"container-fluid px-0\">\r\n <div class=\"row\">\r\n @for (block of blocks; track $index) {\r\n @switch (block.contentType) {\r\n @case ('banner') {\r\n @switch(block.design){\r\n @case ('full') {\r\n <app-block-banner-full-ec [banners]=\"block.banners\" [meta]=\"block\" />\r\n }\r\n @case ('boxes') {\r\n <app-block-banner-box-ec [banners]=\"block.banners\" [meta]=\"block\"/>\r\n }\r\n }\r\n }\r\n @case ('html') {\r\n @if(showBlock(block)){\r\n <app-block-html-ec [html_content]=\"getHTMLContent(block)\" />\r\n }\r\n }\r\n @case ('products') {\r\n <app-block-products-ec [products]=\"block.products?.items\" [meta]=\"block\" />\r\n }\r\n @case ('contact_form') {\r\n @if(isNewsletter(block)){\r\n <app-block-newsletter-ec [block]=\"block.contactForm\" />\r\n } @else {\r\n <app-block-form-contact-ec [block]=\"block.contactForm\" />\r\n }\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n }\r\n}", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BlockBannerFullEcComponent, selector: "app-block-banner-full-ec", inputs: ["banners", "meta"] }, { kind: "component", type: BlockBannerBoxEcComponent, selector: "app-block-banner-box-ec", inputs: ["banners", "meta"] }, { kind: "component", type: BlockHtmlEcComponent, selector: "app-block-html-ec", inputs: ["html_content"] }, { kind: "component", type: BlockProductsEcComponent, selector: "app-block-products-ec", inputs: ["appProduct", "products", "meta"] }, { kind: "component", type: BlockNewsletterEcComponent, selector: "app-block-newsletter-ec", inputs: ["block", "success_message", "subject"] }, { kind: "component", type: BlockFormContactEcComponent, selector: "app-block-form-contact-ec", inputs: ["block", "success_message", "redirect", "subject"] }] });
73
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BlocksEcComponent, isStandalone: true, selector: "app-blocks-ec", inputs: { templates: "templates", show_loading: "show_loading", section: "section", blockFilters: "blockFilters" }, ngImport: i0, template: "@if(blocks$ | async; as blocks){\r\n @if(blocks.length > 0){\r\n <div class=\"container-fluid px-0\">\r\n <div class=\"row\">\r\n @for (block of blocks; track $index) {\r\n @switch (block.contentType) {\r\n @case ('banner') {\r\n @switch(block.design){\r\n @case ('full') {\r\n <app-block-banner-full-ec [banners]=\"block.banners\" [meta]=\"block\" />\r\n }\r\n @case ('boxes') {\r\n <app-block-banner-box-ec [banners]=\"block.banners\" [meta]=\"block\"/>\r\n }\r\n }\r\n }\r\n @case ('html') {\r\n @if(showBlock(block)){\r\n <app-block-html-ec [html_content]=\"getHTMLContent(block)\" />\r\n }\r\n }\r\n @case ('products') {\r\n <app-block-products-ec [products]=\"block.products?.items\" [meta]=\"block\" />\r\n }\r\n @case ('contact_form') {\r\n @if(isNewsletter(block)){\r\n <app-block-newsletter-ec [block]=\"block.contactForm\" />\r\n } @else {\r\n <app-block-form-contact-ec [block]=\"block.contactForm\" />\r\n }\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n }\r\n}", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BlockBannerFullEcComponent, selector: "app-block-banner-full-ec", inputs: ["banners", "meta"] }, { kind: "component", type: BlockBannerBoxEcComponent, selector: "app-block-banner-box-ec", inputs: ["banners", "meta"] }, { kind: "component", type: BlockHtmlEcComponent, selector: "app-block-html-ec", inputs: ["html_content"] }, { kind: "component", type: BlockProductsEcComponent, selector: "app-block-products-ec", inputs: ["prevArrowImage", "nextArrowImage", "prevArrowText", "nextArrowText", "appProduct", "products", "meta"] }, { kind: "component", type: BlockNewsletterEcComponent, selector: "app-block-newsletter-ec", inputs: ["block", "success_message", "subject"] }, { kind: "component", type: BlockFormContactEcComponent, selector: "app-block-form-contact-ec", inputs: ["block", "success_message", "redirect", "subject"] }] });
74
74
  }
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BlocksEcComponent, decorators: [{
76
76
  type: Component,
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
96
96
  }], blockFilters: [{
97
97
  type: Input
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9ja3MtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYmxvY2tzLWVjL2Jsb2Nrcy1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOztBQUN0Rzs7Ozs7R0FLRztBQWlCSCxNQUFNLE9BQU8saUJBQWlCO0lBQzdCOztPQUVHO0lBQ0ssY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQzs7O09BR0c7SUFDSyxhQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEQ7O09BRUc7SUFDSSxPQUFPLENBQW1DO0lBQ2pEOztPQUVHO0lBQ0ssV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDMUM7OztPQUdHO0lBQ00sU0FBUyxDQUFvQjtJQUN0Qzs7T0FFRztJQUNNLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDdkM7O09BRUc7SUFDSCxJQUVPLE9BQU8sQ0FBQyxLQUFvQjtRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNRLFlBQVksR0FBb0IsSUFBSSxDQUFDO0lBQzlDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVEsS0FBVyxDQUFDO0lBQ3BCOzs7O09BSUc7SUFDSCxjQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUVoSCxZQUFZLENBQUMsS0FBVSxJQUFhLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFFckYsU0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVoRzs7S0FFSTtJQUNJLFVBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNGLENBQUM7d0dBMURXLGlCQUFpQjs0RkFBakIsaUJBQWlCLDZMQ2xDOUIsMHVEQW9DQyxxRERkQyxTQUFTLDhDQUVULDBCQUEwQixrR0FDMUIseUJBQXlCLGlHQUN6QixvQkFBb0Isd0ZBQ3BCLHdCQUF3Qiw4R0FDeEIsMEJBQTBCLHFIQUMxQiwyQkFBMkI7OzRGQUtoQixpQkFBaUI7a0JBaEI3QixTQUFTOytCQUNDLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1IsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7cUJBQzNCO3dEQTBCUSxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUMsT0FBTztzQkFGYixLQUFLO3VCQUFDO3dCQUNOLFFBQVEsRUFBRSxJQUFJO3FCQUNkO2dCQUlRLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCbG9ja3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBBc3luY1BpcGUsIEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSUJsb2NrIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEJsb2NrQmFubmVyRnVsbEVjQ29tcG9uZW50IH0gZnJvbSAnLi9ibG9jay1iYW5uZXItZnVsbC1lYy9ibG9jay1iYW5uZXItZnVsbC1lYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCbG9ja0Jhbm5lckJveEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2stYmFubmVyLWJveC1lYy9ibG9jay1iYW5uZXItYm94LWVjLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCbG9ja0h0bWxFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2NrLWh0bWwtZWMvYmxvY2staHRtbC1lYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCbG9ja05ld3NsZXR0ZXJFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2NrLW5ld3NsZXR0ZXItZWMvYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQmxvY2tGb3JtQ29udGFjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2stZm9ybS1jb250YWN0LWVjL2Jsb2NrLWZvcm0tY29udGFjdC1lYy5jb21wb25lbnRcIjtcclxuLyoqXHJcbiAqIENvbXBvbmVudGUgcXVlIGVzIHV0aWxpemFkbyBwYXJhIG1hbmVqYXIgbG9zIGRpc3RpbnRvcyB0aXBvc1xyXG4gKiBkZSBibG9xdWVzIHkgZGlzdHJpYnVpcmxvcyBwb3IgbGEgYXBsaWNhY2nDs24uXHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqIEBjbGFzcyBCbG9ja3NFY0NvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYmxvY2tzLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdEFzeW5jUGlwZSxcclxuXHRcdEpzb25QaXBlLFxyXG5cdFx0QmxvY2tCYW5uZXJGdWxsRWNDb21wb25lbnQsXHJcblx0XHRCbG9ja0Jhbm5lckJveEVjQ29tcG9uZW50LFxyXG5cdFx0QmxvY2tIdG1sRWNDb21wb25lbnQsXHJcblx0XHRCbG9ja1Byb2R1Y3RzRWNDb21wb25lbnQsXHJcblx0XHRCbG9ja05ld3NsZXR0ZXJFY0NvbXBvbmVudCxcclxuXHRcdEJsb2NrRm9ybUNvbnRhY3RFY0NvbXBvbmVudFxyXG5cdF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2Jsb2Nrcy1lYy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2Jsb2Nrcy1lYy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJsb2Nrc0VjQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHQvKipcclxuXHQgKiBTZXJ2aWNpbyBkZSBCbG9xdWVzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfYmxvY2tzU2VydmljZSA9IGluamVjdChCbG9ja3NTZXJ2aWNlKTtcclxuXHQvKipcdHByaXZhdGUgX2Jsb2Nrc1NlcnZpY2UgPSBpbmplY3QoQmxvY2tzU2VydmljZSk7XHJcblxyXG5cdCAqIENvbnN0YW50ZXMgZGUgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfYXBpQ29uc3RhbnRzID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgYmxvcXVlc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBibG9ja3MkOiBPYnNlcnZhYmxlPElCbG9ja1tdPiB8IHVuZGVmaW5lZDtcclxuXHQvKipcclxuXHQgKiBOb21icmUgZGUgbGEgc2VjY2nDs24gcXVlIGFsYmVyZ2EgYSBsb3MgYmxvcXVlcy5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9zdHJzZWN0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHQvKipcclxuXHQgKiBDb2xlY2Npw7NuIGRlIFRlbXBsYXRlcyBwYXJhIHJlZW1wbGF6YXIgZW4gbG9zIGRpc3RpbnRvcyB0aXBvc1xyXG5cdCAqIGRlIGJsb3F1ZSBwb3IgYmxvcXVlcyBsb2NhbGVzIGdlbmVyYWRvcyBlbiBlbCBmcm9udGVuZC5cclxuXHQgKi9cclxuXHRASW5wdXQoKSB0ZW1wbGF0ZXMhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdC8qKlxyXG5cdCAqIEluZGljYWRvciBwYXJhIGN1YW5kbyBzZSBlc3RlbiBjYXJnYW5kbyBsb3MgYmxvcXVlcy5cclxuXHQgKi9cclxuXHRASW5wdXQoKSBzaG93X2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHQvKipcclxuXHQgKiBOb21icmUgZGUgbGEgc2VjY2nDs24gZGVsIGJsb3F1ZS4gXHJcblx0ICovXHJcblx0QElucHV0KHtcclxuXHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdH0pIHNldCBzZWN0aW9uKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcblx0XHR0aGlzLl9zdHJzZWN0aW9uID0gdmFsdWU7XHJcblx0XHR0aGlzLmxvYWRCbG9ja3MoKTtcclxuXHR9XHJcblx0QElucHV0KCkgYmxvY2tGaWx0ZXJzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblx0LyoqXHJcblx0ICogT2J0aWVuZSBlbCBjb250ZW5pZG8gaHRtbCBkZSB1biBibG9xdWUsIGVzdGUgbcOpdG9kbyBlcyB1c2FkbyBjdWFuZG8gZWwgYmxvcXVlIGVzIGRlIHRpcG8gKipIVE1MKipcclxuXHQgKiBAcGFyYW0gYmxvY2sgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Z2V0SFRNTENvbnRlbnQgPSAoYmxvY2s6IElCbG9jaykgPT4gYmxvY2sudHJhbnNsYXRpb25zICYmIGJsb2NrLnRyYW5zbGF0aW9uc1t0aGlzLl9hcGlDb25zdGFudHMuTE9DQUxFXS5jb250ZW50O1xyXG5cclxuXHRpc05ld3NsZXR0ZXIoYmxvY2s6IGFueSk6IGJvb2xlYW4geyByZXR1cm4gYmxvY2suY29udGFjdEZvcm0uY29kZS5pbmNsdWRlcygnbmV3cycpIH07XHJcblxyXG5cdHNob3dCbG9jayA9IChibG9jazogSUJsb2NrKSA9PiB0aGlzLmJsb2NrRmlsdGVycyA/IHRoaXMuYmxvY2tGaWx0ZXJzLmluY2x1ZGVzKGJsb2NrLmNvZGUpIDogdHJ1ZVxyXG5cclxuXHQvKipcclxuICAgKiBDYXJnYSBsb3MgYmxvcXVlcyBkZSBsYSBzZWNjacOzbiBhY3R1YWwuXHJcbiAgICovXHJcblx0cHJpdmF0ZSBsb2FkQmxvY2tzKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX3N0cnNlY3Rpb24pIHtcclxuXHRcdFx0dGhpcy5ibG9ja3MkID0gdGhpcy5fYmxvY2tzU2VydmljZS5nZXRCbG9ja3ModGhpcy5fc3Ryc2VjdGlvbik7XHJcblx0XHR9XHJcblx0fVxyXG59XHRcclxuIiwiQGlmKGJsb2NrcyQgfCBhc3luYzsgYXMgYmxvY2tzKXtcclxuICAgIEBpZihibG9ja3MubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBweC0wXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGJsb2NrIG9mIGJsb2NrczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAoYmxvY2suY29udGVudFR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdiYW5uZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAc3dpdGNoKGJsb2NrLmRlc2lnbil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdmdWxsJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLWJhbm5lci1mdWxsLWVjIFtiYW5uZXJzXT1cImJsb2NrLmJhbm5lcnNcIiBbbWV0YV09XCJibG9ja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnYm94ZXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtYmxvY2stYmFubmVyLWJveC1lYyBbYmFubmVyc109XCJibG9jay5iYW5uZXJzXCIgW21ldGFdPVwiYmxvY2tcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnaHRtbCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihzaG93QmxvY2soYmxvY2spKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLWh0bWwtZWMgW2h0bWxfY29udGVudF09XCJnZXRIVE1MQ29udGVudChibG9jaylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgncHJvZHVjdHMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLXByb2R1Y3RzLWVjIFtwcm9kdWN0c109XCJibG9jay5wcm9kdWN0cz8uaXRlbXNcIiBbbWV0YV09XCJibG9ja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdjb250YWN0X2Zvcm0nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoaXNOZXdzbGV0dGVyKGJsb2NrKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1ibG9jay1uZXdzbGV0dGVyLWVjIFtibG9ja109XCJibG9jay5jb250YWN0Rm9ybVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLWZvcm0tY29udGFjdC1lYyBbYmxvY2tdPVwiYmxvY2suY29udGFjdEZvcm1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIH1cclxufSJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9ja3MtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYmxvY2tzLWVjL2Jsb2Nrcy1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOztBQUN0Rzs7Ozs7R0FLRztBQWlCSCxNQUFNLE9BQU8saUJBQWlCO0lBQzdCOztPQUVHO0lBQ0ssY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQzs7O09BR0c7SUFDSyxhQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEQ7O09BRUc7SUFDSSxPQUFPLENBQW1DO0lBQ2pEOztPQUVHO0lBQ0ssV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDMUM7OztPQUdHO0lBQ00sU0FBUyxDQUFvQjtJQUN0Qzs7T0FFRztJQUNNLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDdkM7O09BRUc7SUFDSCxJQUVPLE9BQU8sQ0FBQyxLQUFvQjtRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNRLFlBQVksR0FBb0IsSUFBSSxDQUFDO0lBQzlDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVEsS0FBVyxDQUFDO0lBQ3BCOzs7O09BSUc7SUFDSCxjQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUVoSCxZQUFZLENBQUMsS0FBVSxJQUFhLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFFckYsU0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVoRzs7S0FFSTtJQUNJLFVBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNGLENBQUM7d0dBMURXLGlCQUFpQjs0RkFBakIsaUJBQWlCLDZMQ2xDOUIsMHVEQW9DQyxxRERkQyxTQUFTLDhDQUVULDBCQUEwQixrR0FDMUIseUJBQXlCLGlHQUN6QixvQkFBb0Isd0ZBQ3BCLHdCQUF3QixvTEFDeEIsMEJBQTBCLHFIQUMxQiwyQkFBMkI7OzRGQUtoQixpQkFBaUI7a0JBaEI3QixTQUFTOytCQUNDLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1IsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7cUJBQzNCO3dEQTBCUSxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUMsT0FBTztzQkFGYixLQUFLO3VCQUFDO3dCQUNOLFFBQVEsRUFBRSxJQUFJO3FCQUNkO2dCQUlRLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCbG9ja3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBBc3luY1BpcGUsIEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSUJsb2NrIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEJsb2NrQmFubmVyRnVsbEVjQ29tcG9uZW50IH0gZnJvbSAnLi9ibG9jay1iYW5uZXItZnVsbC1lYy9ibG9jay1iYW5uZXItZnVsbC1lYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCbG9ja0Jhbm5lckJveEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2stYmFubmVyLWJveC1lYy9ibG9jay1iYW5uZXItYm94LWVjLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCbG9ja0h0bWxFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2NrLWh0bWwtZWMvYmxvY2staHRtbC1lYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBCbG9ja05ld3NsZXR0ZXJFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2NrLW5ld3NsZXR0ZXItZWMvYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQmxvY2tGb3JtQ29udGFjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2stZm9ybS1jb250YWN0LWVjL2Jsb2NrLWZvcm0tY29udGFjdC1lYy5jb21wb25lbnRcIjtcclxuLyoqXHJcbiAqIENvbXBvbmVudGUgcXVlIGVzIHV0aWxpemFkbyBwYXJhIG1hbmVqYXIgbG9zIGRpc3RpbnRvcyB0aXBvc1xyXG4gKiBkZSBibG9xdWVzIHkgZGlzdHJpYnVpcmxvcyBwb3IgbGEgYXBsaWNhY2nDs24uXHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqIEBjbGFzcyBCbG9ja3NFY0NvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYmxvY2tzLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdEFzeW5jUGlwZSxcclxuXHRcdEpzb25QaXBlLFxyXG5cdFx0QmxvY2tCYW5uZXJGdWxsRWNDb21wb25lbnQsXHJcblx0XHRCbG9ja0Jhbm5lckJveEVjQ29tcG9uZW50LFxyXG5cdFx0QmxvY2tIdG1sRWNDb21wb25lbnQsXHJcblx0XHRCbG9ja1Byb2R1Y3RzRWNDb21wb25lbnQsXHJcblx0XHRCbG9ja05ld3NsZXR0ZXJFY0NvbXBvbmVudCxcclxuXHRcdEJsb2NrRm9ybUNvbnRhY3RFY0NvbXBvbmVudFxyXG5cdF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2Jsb2Nrcy1lYy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2Jsb2Nrcy1lYy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJsb2Nrc0VjQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHQvKipcclxuXHQgKiBTZXJ2aWNpbyBkZSBCbG9xdWVzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfYmxvY2tzU2VydmljZSA9IGluamVjdChCbG9ja3NTZXJ2aWNlKTtcclxuXHQvKipcdHByaXZhdGUgX2Jsb2Nrc1NlcnZpY2UgPSBpbmplY3QoQmxvY2tzU2VydmljZSk7XHJcblxyXG5cdCAqIENvbnN0YW50ZXMgZGUgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfYXBpQ29uc3RhbnRzID0gaW5qZWN0KEFwaUNvbnN0YW50c1NlcnZpY2UpO1xyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgYmxvcXVlc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBibG9ja3MkOiBPYnNlcnZhYmxlPElCbG9ja1tdPiB8IHVuZGVmaW5lZDtcclxuXHQvKipcclxuXHQgKiBOb21icmUgZGUgbGEgc2VjY2nDs24gcXVlIGFsYmVyZ2EgYSBsb3MgYmxvcXVlcy5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9zdHJzZWN0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHQvKipcclxuXHQgKiBDb2xlY2Npw7NuIGRlIFRlbXBsYXRlcyBwYXJhIHJlZW1wbGF6YXIgZW4gbG9zIGRpc3RpbnRvcyB0aXBvc1xyXG5cdCAqIGRlIGJsb3F1ZSBwb3IgYmxvcXVlcyBsb2NhbGVzIGdlbmVyYWRvcyBlbiBlbCBmcm9udGVuZC5cclxuXHQgKi9cclxuXHRASW5wdXQoKSB0ZW1wbGF0ZXMhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdC8qKlxyXG5cdCAqIEluZGljYWRvciBwYXJhIGN1YW5kbyBzZSBlc3RlbiBjYXJnYW5kbyBsb3MgYmxvcXVlcy5cclxuXHQgKi9cclxuXHRASW5wdXQoKSBzaG93X2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHQvKipcclxuXHQgKiBOb21icmUgZGUgbGEgc2VjY2nDs24gZGVsIGJsb3F1ZS4gXHJcblx0ICovXHJcblx0QElucHV0KHtcclxuXHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdH0pIHNldCBzZWN0aW9uKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcblx0XHR0aGlzLl9zdHJzZWN0aW9uID0gdmFsdWU7XHJcblx0XHR0aGlzLmxvYWRCbG9ja3MoKTtcclxuXHR9XHJcblx0QElucHV0KCkgYmxvY2tGaWx0ZXJzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblx0LyoqXHJcblx0ICogT2J0aWVuZSBlbCBjb250ZW5pZG8gaHRtbCBkZSB1biBibG9xdWUsIGVzdGUgbcOpdG9kbyBlcyB1c2FkbyBjdWFuZG8gZWwgYmxvcXVlIGVzIGRlIHRpcG8gKipIVE1MKipcclxuXHQgKiBAcGFyYW0gYmxvY2sgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Z2V0SFRNTENvbnRlbnQgPSAoYmxvY2s6IElCbG9jaykgPT4gYmxvY2sudHJhbnNsYXRpb25zICYmIGJsb2NrLnRyYW5zbGF0aW9uc1t0aGlzLl9hcGlDb25zdGFudHMuTE9DQUxFXS5jb250ZW50O1xyXG5cclxuXHRpc05ld3NsZXR0ZXIoYmxvY2s6IGFueSk6IGJvb2xlYW4geyByZXR1cm4gYmxvY2suY29udGFjdEZvcm0uY29kZS5pbmNsdWRlcygnbmV3cycpIH07XHJcblxyXG5cdHNob3dCbG9jayA9IChibG9jazogSUJsb2NrKSA9PiB0aGlzLmJsb2NrRmlsdGVycyA/IHRoaXMuYmxvY2tGaWx0ZXJzLmluY2x1ZGVzKGJsb2NrLmNvZGUpIDogdHJ1ZVxyXG5cclxuXHQvKipcclxuICAgKiBDYXJnYSBsb3MgYmxvcXVlcyBkZSBsYSBzZWNjacOzbiBhY3R1YWwuXHJcbiAgICovXHJcblx0cHJpdmF0ZSBsb2FkQmxvY2tzKCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX3N0cnNlY3Rpb24pIHtcclxuXHRcdFx0dGhpcy5ibG9ja3MkID0gdGhpcy5fYmxvY2tzU2VydmljZS5nZXRCbG9ja3ModGhpcy5fc3Ryc2VjdGlvbik7XHJcblx0XHR9XHJcblx0fVxyXG59XHRcclxuIiwiQGlmKGJsb2NrcyQgfCBhc3luYzsgYXMgYmxvY2tzKXtcclxuICAgIEBpZihibG9ja3MubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBweC0wXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGJsb2NrIG9mIGJsb2NrczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAoYmxvY2suY29udGVudFR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdiYW5uZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAc3dpdGNoKGJsb2NrLmRlc2lnbil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdmdWxsJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLWJhbm5lci1mdWxsLWVjIFtiYW5uZXJzXT1cImJsb2NrLmJhbm5lcnNcIiBbbWV0YV09XCJibG9ja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnYm94ZXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtYmxvY2stYmFubmVyLWJveC1lYyBbYmFubmVyc109XCJibG9jay5iYW5uZXJzXCIgW21ldGFdPVwiYmxvY2tcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnaHRtbCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihzaG93QmxvY2soYmxvY2spKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLWh0bWwtZWMgW2h0bWxfY29udGVudF09XCJnZXRIVE1MQ29udGVudChibG9jaylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgncHJvZHVjdHMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLXByb2R1Y3RzLWVjIFtwcm9kdWN0c109XCJibG9jay5wcm9kdWN0cz8uaXRlbXNcIiBbbWV0YV09XCJibG9ja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdjb250YWN0X2Zvcm0nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYoaXNOZXdzbGV0dGVyKGJsb2NrKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1ibG9jay1uZXdzbGV0dGVyLWVjIFtibG9ja109XCJibG9jay5jb250YWN0Rm9ybVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWJsb2NrLWZvcm0tY29udGFjdC1lYyBbYmxvY2tdPVwiYmxvY2suY29udGFjdEZvcm1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIH1cclxufSJdfQ==
@@ -1,8 +1,11 @@
1
1
  import { Component, inject } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
- import { CartService, AuthService } from '../../ec-services';
3
+ import { CartService, ToastService, AuthService, ChannelService } from '../../ec-services';
4
4
  import * as i0 from "@angular/core";
5
5
  export class CartEcComponent {
6
+ _channelService = inject(ChannelService);
7
+ channel;
8
+ _toastrService = inject(ToastService);
6
9
  _cartService = inject(CartService);
7
10
  router = inject(Router);
8
11
  cartItems$ = this._cartService.cartItems$;
@@ -14,6 +17,14 @@ export class CartEcComponent {
14
17
  isAuthenticated$ = this._authService.isAuthenticated();
15
18
  getTotalAmount = this._cartService.getTotalAmount();
16
19
  couponCode$ = this._cartService.getCouponCode();
20
+ constructor() {
21
+ //console.log("constructo.....");
22
+ this._channelService.channel$.subscribe((res) => {
23
+ //console.log("construct")
24
+ this.channel = res;
25
+ //this.initializeSteps();
26
+ });
27
+ }
17
28
  removeCoupon() {
18
29
  console.log(this.couponCode$);
19
30
  this._cartService.removeCoupon();
@@ -28,11 +39,24 @@ export class CartEcComponent {
28
39
  return false;
29
40
  }
30
41
  }
42
+ getMinimumPurchaseAmount = () => {
43
+ return this.channel.type == 'b2b' ? this.channel.wholesalerMinimumPurchaseAmount : this.channel.retailerMinimumPurchaseAmount;
44
+ };
45
+ exceedsMinimumAmount = (value) => {
46
+ if (value >= this.getMinimumPurchaseAmount()) {
47
+ this.router.navigate(['/checkout']);
48
+ return true;
49
+ }
50
+ else {
51
+ this._toastrService.show('quantity-not-exceeded', { amount: this.getMinimumPurchaseAmount() });
52
+ return false;
53
+ }
54
+ };
31
55
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
56
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CartEcComponent, isStandalone: true, selector: "lib-cart-ec", ngImport: i0, template: "<p>cart-ec works!</p>\r\n", styles: [""] });
33
57
  }
34
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartEcComponent, decorators: [{
35
59
  type: Component,
36
60
  args: [{ selector: 'lib-cart-ec', standalone: true, imports: [], template: "<p>cart-ec works!</p>\r\n" }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9jYXJ0LWVjL2NhcnQtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY2FydC1lYy9jYXJ0LWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFpQixXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFVNUUsTUFBTSxPQUFPLGVBQWU7SUFFbkIsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQsTUFBTSxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVoQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDMUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4RCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDcEUsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7SUFFakQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFaEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2RCxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUVwRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUV2RCxZQUFZO1FBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0VBQW9FLENBQUMsQ0FBQztZQUNuRixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQzt3R0EvQlEsZUFBZTs0RkFBZixlQUFlLHVFQ1o1QiwyQkFDQTs7NEZEV2EsZUFBZTtrQkFQM0IsU0FBUzsrQkFDQyxhQUFhLGNBQ1gsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSwgVG9hc3RTZXJ2aWNlICwgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLWNhcnQtZWMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhcnQtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9jYXJ0LWVjLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FydEVjQ29tcG9uZW50IHtcclxuXHJcblx0cHJpdmF0ZSBfY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcclxuXHRwdWJsaWMgcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHJcblx0cHVibGljIGNhcnRJdGVtcyQgPSB0aGlzLl9jYXJ0U2VydmljZS5jYXJ0SXRlbXMkO1xyXG5cdHB1YmxpYyBzdWJUb3RhbEFtb3VudCQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRTdWJUb3RhbEFtb3VudCgpO1xyXG5cdHB1YmxpYyB0b3RhbFByb21vdGlvbkFtb3VudCQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbFByb21vdGlvbkFtb3VudCgpO1xyXG5cdHB1YmxpYyB0YXhlc0Ftb3VudCQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRUYXhlc0Ftb3VudCgpO1xyXG5cdHB1YmxpYyB0b3RhbEFtb3VudCQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpO1xyXG5cdFxyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSlcclxuXHJcblx0cHVibGljIGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLl9hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcclxuXHRwdWJsaWMgZ2V0VG90YWxBbW91bnQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpO1xyXG5cclxuXHRwdWJsaWMgY291cG9uQ29kZSQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRDb3Vwb25Db2RlKCk7XHJcblx0XHJcblx0cmVtb3ZlQ291cG9uKCl7XHJcblx0XHRjb25zb2xlLmxvZyAodGhpcy5jb3Vwb25Db2RlJClcclxuXHRcdHRoaXMuX2NhcnRTZXJ2aWNlLnJlbW92ZUNvdXBvbigpXHJcblx0fVxyXG5cclxuXHRyZWRpcmVjdENoZWNrb3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9jYXJ0U2VydmljZS5oYXNTdWZmaWNpZW50Q3JlZGl0c0ZvckNhcnRUb3RhbCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9jaGVja291dGApO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJObyBzZSBwdWVkZSByZWRpcmlnaXIgYWwgY2hlY2tvdXQgZGViaWRvIGEgdW5hIHZhbGlkYWNpw7NuIGZhbGxpZGEuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8cD5jYXJ0LWVjIHdvcmtzITwvcD5cclxuIl19
61
+ }], ctorParameters: () => [] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9jYXJ0LWVjL2NhcnQtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY2FydC1lYy9jYXJ0LWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBVTNGLE1BQU0sT0FBTyxlQUFlO0lBQ25CLGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELE9BQU8sQ0FBTTtJQUVaLGNBQWMsR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXBELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFaEMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQzFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDeEQscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ3BFLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2xELFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBRWpELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRWhELGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkQsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7SUFFcEQsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkQ7UUFDQyxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUN0QyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ1osMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ25CLHlCQUF5QjtRQUMxQixDQUFDLENBQ0QsQ0FBQTtJQUNGLENBQUM7SUFDRCxZQUFZO1FBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1lBQ25GLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNGLENBQUM7SUFFRCx3QkFBd0IsR0FBRyxHQUFHLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUE7SUFFOUgsQ0FBQyxDQUFBO0lBQ0Qsb0JBQW9CLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNGLENBQUMsQ0FBQTt3R0ExRFcsZUFBZTs0RkFBZixlQUFlLHVFQ1o1QiwyQkFDQTs7NEZEV2EsZUFBZTtrQkFQM0IsU0FBUzsrQkFDQyxhQUFhLGNBQ1gsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSwgVG9hc3RTZXJ2aWNlLCBBdXRoU2VydmljZSwgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLWNhcnQtZWMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NhcnQtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9jYXJ0LWVjLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FydEVjQ29tcG9uZW50IHtcclxuXHRwcml2YXRlIF9jaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UgPSBpbmplY3QoQ2hhbm5lbFNlcnZpY2UpO1xyXG5cdHB1YmxpYyBjaGFubmVsOiBhbnk7XHJcblxyXG5cdHByaXZhdGUgX3RvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xyXG5cdHB1YmxpYyByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuXHRwdWJsaWMgY2FydEl0ZW1zJCA9IHRoaXMuX2NhcnRTZXJ2aWNlLmNhcnRJdGVtcyQ7XHJcblx0cHVibGljIHN1YlRvdGFsQW1vdW50JCA9IHRoaXMuX2NhcnRTZXJ2aWNlLmdldFN1YlRvdGFsQW1vdW50KCk7XHJcblx0cHVibGljIHRvdGFsUHJvbW90aW9uQW1vdW50JCA9IHRoaXMuX2NhcnRTZXJ2aWNlLmdldFRvdGFsUHJvbW90aW9uQW1vdW50KCk7XHJcblx0cHVibGljIHRheGVzQW1vdW50JCA9IHRoaXMuX2NhcnRTZXJ2aWNlLmdldFRheGVzQW1vdW50KCk7XHJcblx0cHVibGljIHRvdGFsQW1vdW50JCA9IHRoaXMuX2NhcnRTZXJ2aWNlLmdldFRvdGFsQW1vdW50KCk7XHJcblxyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSlcclxuXHJcblx0cHVibGljIGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLl9hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcclxuXHRwdWJsaWMgZ2V0VG90YWxBbW91bnQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpO1xyXG5cclxuXHRwdWJsaWMgY291cG9uQ29kZSQgPSB0aGlzLl9jYXJ0U2VydmljZS5nZXRDb3Vwb25Db2RlKCk7XHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHQvL2NvbnNvbGUubG9nKFwiY29uc3RydWN0by4uLi4uXCIpO1xyXG5cdFx0dGhpcy5fY2hhbm5lbFNlcnZpY2UuY2hhbm5lbCQuc3Vic2NyaWJlKFxyXG5cdFx0XHQocmVzOiBhbnkpID0+IHtcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKFwiY29uc3RydWN0XCIpXHJcblx0XHRcdFx0dGhpcy5jaGFubmVsID0gcmVzO1xyXG5cdFx0XHRcdC8vdGhpcy5pbml0aWFsaXplU3RlcHMoKTtcclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdH1cclxuXHRyZW1vdmVDb3Vwb24oKSB7XHJcblx0XHRjb25zb2xlLmxvZyh0aGlzLmNvdXBvbkNvZGUkKVxyXG5cdFx0dGhpcy5fY2FydFNlcnZpY2UucmVtb3ZlQ291cG9uKClcclxuXHR9XHJcblxyXG5cdHJlZGlyZWN0Q2hlY2tvdXQoKTogYm9vbGVhbiB7XHJcblx0XHRpZiAodGhpcy5fY2FydFNlcnZpY2UuaGFzU3VmZmljaWVudENyZWRpdHNGb3JDYXJ0VG90YWwoKSkge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvY2hlY2tvdXRgKTtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oXCJObyBzZSBwdWVkZSByZWRpcmlnaXIgYWwgY2hlY2tvdXQgZGViaWRvIGEgdW5hIHZhbGlkYWNpw7NuIGZhbGxpZGEuXCIpO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRnZXRNaW5pbXVtUHVyY2hhc2VBbW91bnQgPSAoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jaGFubmVsLnR5cGUgPT0gJ2IyYicgPyB0aGlzLmNoYW5uZWwud2hvbGVzYWxlck1pbmltdW1QdXJjaGFzZUFtb3VudCA6IHRoaXMuY2hhbm5lbC5yZXRhaWxlck1pbmltdW1QdXJjaGFzZUFtb3VudFxyXG5cclxuXHR9XHJcblx0ZXhjZWVkc01pbmltdW1BbW91bnQgPSAodmFsdWU6IG51bWJlcikgPT4ge1xyXG5cdFx0aWYgKHZhbHVlID49IHRoaXMuZ2V0TWluaW11bVB1cmNoYXNlQW1vdW50KCkpIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvY2hlY2tvdXQnXSk7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5fdG9hc3RyU2VydmljZS5zaG93KCdxdWFudGl0eS1ub3QtZXhjZWVkZWQnLCB7IGFtb3VudDogdGhpcy5nZXRNaW5pbXVtUHVyY2hhc2VBbW91bnQoKSB9KTtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuIiwiPHA+Y2FydC1lYyB3b3JrcyE8L3A+XHJcbiJdfQ==