ng-easycommerce-v18 0.3.20-beta.1 → 0.3.21-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -16
- package/esm2022/lib/classes/filters/attributes-filter.mjs +4 -74
- package/esm2022/lib/classes/filters/category-filter.mjs +26 -105
- package/esm2022/lib/classes/filters/filter-factory.mjs +3 -7
- package/esm2022/lib/classes/filters/price_range-filter.mjs +3 -3
- package/esm2022/lib/constants/api.constants.service.mjs +15 -19
- package/esm2022/lib/constants/core.constants.service.mjs +5 -16
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -17
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +16 -26
- package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +21 -25
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +16 -4
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +17 -41
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +14 -72
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +25 -41
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +2 -13
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +7 -12
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +9 -18
- package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +6 -12
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +4 -6
- package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +17 -7
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +6 -10
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +18 -17
- package/esm2022/lib/ec-services/checkout.service.mjs +2 -4
- package/esm2022/lib/ec-services/filters.service.mjs +18 -124
- package/esm2022/lib/ec-services/index.mjs +1 -3
- package/esm2022/lib/ec-services/pagination.service.mjs +22 -70
- package/esm2022/lib/ec-services/products.service.mjs +3 -5
- package/esm2022/lib/interceptors/index.mjs +1 -2
- package/esm2022/lib/interfaces/environment.mjs +1 -1
- package/esm2022/lib/interfaces/filter.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -2
- package/esm2022/lib/interfaces/options.mjs +1 -1
- package/esm2022/lib/providers/index.mjs +1 -2
- package/fesm2022/ng-easycommerce-v18.mjs +316 -1186
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/classes/filters/attributes-filter.d.ts +0 -24
- package/lib/classes/filters/category-filter.d.ts +3 -30
- package/lib/constants/api.constants.service.d.ts +0 -1
- package/lib/constants/core.constants.service.d.ts +0 -7
- package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +0 -12
- package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +0 -2
- package/lib/ec-components/collection-ec/collection-ec.component.d.ts +4 -5
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +4 -25
- package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +0 -2
- package/lib/ec-services/analytics/gtm.service.d.ts +1 -1
- package/lib/ec-services/filters.service.d.ts +1 -18
- package/lib/ec-services/index.d.ts +0 -2
- package/lib/ec-services/pagination.service.d.ts +5 -21
- package/lib/ec-services/products.service.d.ts +1 -1
- package/lib/interceptors/index.d.ts +0 -1
- package/lib/interfaces/environment.d.ts +0 -1
- package/lib/interfaces/filter.d.ts +0 -1
- package/lib/interfaces/index.d.ts +0 -1
- package/lib/interfaces/options.d.ts +0 -2
- package/lib/providers/index.d.ts +0 -1
- package/package.json +1 -1
- package/esm2022/lib/ec-services/base-api.service.mjs +0 -148
- package/esm2022/lib/ec-services/runtime-config.service.mjs +0 -190
- package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +0 -41
- package/esm2022/lib/interfaces/runtime-config.mjs +0 -2
- package/esm2022/lib/providers/provideRuntimeConfig.mjs +0 -42
- package/lib/ec-services/base-api.service.d.ts +0 -64
- package/lib/ec-services/runtime-config.service.d.ts +0 -63
- package/lib/interceptors/runtime-config.interceptor.d.ts +0 -7
- package/lib/interfaces/runtime-config.d.ts +0 -22
- package/lib/providers/provideRuntimeConfig.d.ts +0 -13
package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
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
|
|
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";
|
|
@@ -78,12 +78,24 @@ export class BlockProductsEcComponent extends BlockEcComponent {
|
|
|
78
78
|
* Esta función puede ser movida al componente base para reutilización.
|
|
79
79
|
*/
|
|
80
80
|
initializeSwiperWithCustomNavigation() {
|
|
81
|
-
if (!isPlatformBrowser(this.platformId) || typeof document === 'undefined')
|
|
82
|
-
return;
|
|
83
81
|
const prevButton = document.getElementById(`${this.meta?.code}-prev`);
|
|
84
82
|
const nextButton = document.getElementById(`${this.meta?.code}-next`);
|
|
85
83
|
const swiperElement = document.getElementById(this.meta?.code);
|
|
86
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 {
|
|
87
99
|
// console.log('No se pudieron encontrar los elementos:', {
|
|
88
100
|
// prevButton: !!prevButton,
|
|
89
101
|
// nextButton: !!nextButton,
|
|
@@ -204,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
204
216
|
required: true
|
|
205
217
|
}]
|
|
206
218
|
}] } });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9jay1wcm9kdWN0cy1lYy9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLHFEQUFxRDtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFtQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFFM0UsUUFBUSxFQUFFLENBQUE7QUFDVjs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUM1RCwrQ0FBK0M7SUFDaEQseUVBQXlFO0lBQ2hFLGNBQWMsQ0FBVSxDQUFDLG1DQUFtQztJQUM1RCxjQUFjLENBQVUsQ0FBQyxtQ0FBbUM7SUFDNUQsYUFBYSxHQUFXLEdBQUcsQ0FBQztJQUM1QixhQUFh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WUFDMUMsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzFCLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDcEIsMkNBQTJDO1lBQzNDLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQixhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7d0dBdkxXLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHNUQ3ZCckMsbTdGQW9FYyx5RERsREgsWUFBWSxvU0FBRSxrQkFBa0I7OzRGQUs5Qix3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0MsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxXQUdsQyxDQUFDLHNCQUFzQixDQUFDO3dEQUt4QixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQVlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUgsUUFBUTtzQkFGVixLQUFLO3VCQUFDO3dCQUNOLFFBQVEsRUFBRSxJQUFJO3FCQUNkO2dCQU1FLElBQUk7c0JBRk4sS0FBSzt1QkFBQzt3QkFDTixRQUFRLEVBQUUsSUFBSTtxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIElucHV0LCBQTEFURk9STV9JRCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmxvY2tFY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0aW9ucy1jb21wb25lbnRzJztcbmltcG9ydCB7IFN3aXBlck9wdGlvbnMgfSBmcm9tICdzd2lwZXIvdHlwZXMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gaW1wb3J0IGZ1bmN0aW9uIHRvIHJlZ2lzdGVyIFN3aXBlciBjdXN0b20gZWxlbWVudHNcbmltcG9ydCB7IHJlZ2lzdGVyLCBTd2lwZXJDb250YWluZXIgfSBmcm9tICdzd2lwZXIvZWxlbWVudC9idW5kbGUnO1xuaW1wb3J0IHsgUHJvZHVjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL3Byb2R1Y3QtZWMvcHJvZHVjdC1lYy5jb21wb25lbnRcIjtcblxucmVnaXN0ZXIoKVxuLyoqXG4gKiBDb21wb25lbiBwYXJhIG1hbmVqYXIgbG9zIGJsb3F1ZXMgZGUgcHJvZHVjdG9zLlxuICogQGV4dGVuZHMge0Jsb2NrRWNDb21wb25lbnR9XG4gKiBAY2xhc3MgQmxvY2tQcm9kdWN0c0VjQ29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1ibG9jay1wcm9kdWN0cy1lYycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFByb2R1Y3RFY0NvbXBvbmVudF0sXG5cdHRlbXBsYXRlVXJsOiAnLi9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsOiAnLi9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuc2NzcycsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBCbG9ja1Byb2R1Y3RzRWNDb21wb25lbnQgZXh0ZW5kcyBCbG9ja0VjQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdFx0Ly8gUGVyc29uYWxpemFjacOzbiBkZSBsYXMgZmxlY2hhcyBkZSBuYXZlZ2FjacOzblxuXHQvLyBQb3IgZGVmZWN0byB1c2Egc8OtbWJvbG9zIGRlIHRleHRvLCBwZXJvIHNlIHB1ZWRlbiBlc3BlY2lmaWNhciBpbcOhZ2VuZXNcblx0QElucHV0KCkgcHJldkFycm93SW1hZ2U/OiBzdHJpbmc7IC8vIHVuZGVmaW5lZCA9IHVzYSBzw61tYm9sbyBkZSB0ZXh0b1xuXHRASW5wdXQoKSBuZXh0QXJyb3dJbWFnZT86IHN0cmluZzsgLy8gdW5kZWZpbmVkID0gdXNhIHPDrW1ib2xvIGRlIHRleHRvXG5cdEBJbnB1dCgpIHByZXZBcnJvd1RleHQ6IHN0cmluZyA9ICc8Jztcblx0QElucHV0KCkgbmV4dEFycm93VGV4dDogc3RyaW5nID0gJz4nO1xuXHQvKipcblx0ICogU2VydmljaW8gZGUgQW5hbHl0aWNzXG5cdCAqL1xuXHRwcml2YXRlIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSlcblx0LyoqXG5cdCAqIFNpZ25hbCB1dGxpemFkbyBwYXJhIGd1YXJkYSBlbCBjb250ZW5lZG9yIGRlbCBjYXJydXNlbFxuXHQgKi9cblx0c3dpcGVyRWxlbWVudCA9IHNpZ25hbDxTd2lwZXJDb250YWluZXIgfCBudWxsPihudWxsKVxuXHQvKipcblx0ICogSW5wdXQgcXVlIHJlY2liZSB1biB0ZW1wbGF0ZSBwYXJhIGVsIHByb2R1Y3RvLlxuXHQgKi9cblx0QElucHV0KCkgYXBwUHJvZHVjdDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIENvbGVjY2nDs24gZGUgcHJvZHVjdG9zLlxuXHQgKi9cblx0QElucHV0KHtcblx0XHRyZXF1aXJlZDogdHJ1ZVxuXHR9KSBwcm9kdWN0czogYW55OyAvLyBQcm9kdWN0W107XG5cdC8qKlxuXHQgKiBCbG9xdWUgcHJpbmNpcGFsIHF1ZSBjb250aWVuZSBsb3MgcHJvZHVjdG9zXG5cdCAqL1xuXHRASW5wdXQoe1xuXHRcdHJlcXVpcmVkOiB0cnVlXG5cdH0pIG1ldGE6IGFueTtcblxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0dGhpcy5zZXR1cFN3aXBlck5hdmlnYXRpb24oKTtcblx0fVxuXHRcblx0cHJpdmF0ZSBkb2N1bWVudD86IERvY3VtZW50O1xuXHRwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSA9IGluamVjdChQTEFURk9STV9JRClcblxuXHQvKipcblx0ICogRWplY3V0YSBlbCBtw6l0b2RvIGBhZnRlck5leHRSZW5kZXJgcGFyYSBjYXJnYXIgbGFzIGNvbmZpZ3VyYWNpb25lcyBuZWNlc2FyaWFzIFxuXHQgKiBwYXJhIGVsIGNhcnJ1c2VsIGRlbCBiYW5uZXJzLiBFc3RvIGRlYmUgc2VyIGFzaSBkZWJpZG8gYSBxdWUgeWEgZGViZSBlc3RhciBwcmVzZW50ZVxuXHQgKiBlbiBlbCBEb20gZWwgZWxlbWVudCBgPHN3aXBlci1jb250YWluZXI+YCBwYXJhIHBvZGVyIGNvbmZpZ3VyYXJsby5cblx0ICovXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKClcblx0fVxuXHQvKipcblx0ICogQXBsaWNhIGVsIGV2ZW50byBgc2VsZWN0X3Byb21vdGlvbmAganVudG8gY29uIGVsIGJhbm5lciBxdWUgaW50ZXJhY3R1YS5cblx0ICogQHBhcmFtIGJhbm5lciBcblx0ICovXG5cdHNlbGVjdFByb21vdGlvbihpdGVtOiBhbnkpOiB2b2lkIHtcblx0XHR0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdzZWxlY3RfcHJvbW90aW9uJywgaXRlbSlcblx0fVxuXG5cdC8qKlxuXHQgKiBDb25maWd1cmEgbGEgbmF2ZWdhY2nDs24gcGVyc29uYWxpemFkYSBkZWwgU3dpcGVyLlxuXHQgKiBFc3RhIGZ1bmNpw7NuIGVzdMOhIGRpc2XDsWFkYSBwYXJhIHNlciBtb3ZpZGEgYWwgY29tcG9uZW50ZSBiYXNlIEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudC5cblx0ICogUGVybWl0ZSBwZXJzb25hbGl6YWNpw7NuIGRlIGxhcyBpbcOhZ2VuZXMgZGUgbGFzIGZsZWNoYXMgbWVkaWFudGUgQElucHV0LlxuXHQgKi9cblx0cHJpdmF0ZSBzZXR1cFN3aXBlck5hdmlnYXRpb24oKSB7XG5cdFx0aWYgKHRoaXMubWV0YT8uc3R5bGVzPy5jYXJyb3VzZWwgIT09IGZhbHNlKSB7XG5cdFx0XHQvLyBVc2FyIHNldFRpbWVvdXQgcGFyYSBhc2VndXJhciBxdWUgZWwgc3dpcGVyIGVzdMOpIGluaWNpYWxpemFkb1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuaW5pdGlhbGl6ZVN3aXBlcldpdGhDdXN0b21OYXZpZ2F0aW9uKCk7XG5cdFx0XHR9LCAyMDApO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJbmljaWFsaXphIGVsIFN3aXBlciBjb24gbmF2ZWdhY2nDs24gcGVyc29uYWxpemFkYS5cblx0ICogRXN0YSBmdW5jacOzbiBwdWVkZSBzZXIgbW92aWRhIGFsIGNvbXBvbmVudGUgYmFzZSBwYXJhIHJldXRpbGl6YWNpw7NuLlxuXHQgKi9cblx0cHJpdmF0ZSBpbml0aWFsaXplU3dpcGVyV2l0aEN1c3RvbU5hdmlnYXRpb24oKSB7XG5cdFx0aWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcblxuXHRcdGNvbnN0IHByZXZCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLm1ldGE/LmNvZGV9LXByZXZgKTtcblx0XHRjb25zdCBuZXh0QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5tZXRhPy5jb2RlfS1uZXh0YCk7XG5cdFx0Y29uc3Qgc3dpcGVyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubWV0YT8uY29kZSkgYXMgYW55O1xuXG5cdFx0aWYgKHByZXZCdXR0b24gJiYgbmV4dEJ1dHRvbiAmJiBzd2lwZXJFbGVtZW50KSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnTm8gc2UgcHVkaWVyb24gZW5jb250cmFyIGxvcyBlbGVtZW50b3M6Jywge1xuXHRcdFx0Ly8gXHRwcmV2QnV0dG9uOiAhIXByZXZCdXR0b24sXG5cdFx0XHQvLyBcdG5leHRCdXR0b246ICEhbmV4dEJ1dHRvbixcblx0XHRcdC8vIFx0c3dpcGVyRWxlbWVudDogISFzd2lwZXJFbGVtZW50XG5cdFx0XHQvLyB9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogT2J0aWVuZSBsYSBjb25maWd1cmFjacOzbiBiYXNlIGRlbCBTd2lwZXIuXG5cdCAqIEVzdGEgY29uZmlndXJhY2nDs24gcHVlZGUgc2VyIHBlcnNvbmFsaXphZGEgZW4gZWwgZnV0dXJvIG1lZGlhbnRlIEBJbnB1dC5cblx0ICovXG5cdHByaXZhdGUgZ2V0U3dpcGVyQ29uZmlndXJhdGlvbigpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0c2xpZGVzUGVyVmlldzogJ2F1dG8nLFxuXHRcdFx0c3BhY2VCZXR3ZWVuOiAxNixcblx0XHRcdHNsaWRlc1Blckdyb3VwOiAxLCAvLyBJbXBvcnRhbnRlOiBtb3ZlcnNlIGRlIHVubyBlbiB1bm9cblx0XHRcdG5hdmlnYXRpb246IGZhbHNlLCAvLyBEZXNoYWJpbGl0YW1vcyBsYSBuYXZlZ2FjacOzbiBwb3IgZGVmZWN0b1xuXHRcdFx0cGFnaW5hdGlvbjogZmFsc2UsXG5cdFx0XHRsb29wOiB0cnVlLFxuXHRcdFx0Z3JhYkN1cnNvcjogdHJ1ZSxcblx0XHRcdGF1dG9wbGF5OiB0cnVlLFxuXHRcdFx0YnJlYWtwb2ludHM6IHtcblx0XHRcdFx0MzIwOiB7XG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMSxcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDgsXG5cdFx0XHRcdFx0c2xpZGVzUGVyR3JvdXA6IDFcblx0XHRcdFx0fSxcblx0XHRcdFx0NTc2OiB7XG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMixcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDEyLFxuXHRcdFx0XHRcdHNsaWRlc1Blckdyb3VwOiAxXG5cdFx0XHRcdH0sXG5cdFx0XHRcdDc2ODoge1xuXHRcdFx0XHRcdHNsaWRlc1BlclZpZXc6IDMsXG5cdFx0XHRcdFx0c3BhY2VCZXR3ZWVuOiAxNixcblx0XHRcdFx0XHRzbGlkZXNQZXJHcm91cDogMVxuXHRcdFx0XHR9LFxuXHRcdFx0XHQxMDI0OiB7XG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogNCxcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDE2LFxuXHRcdFx0XHRcdHNsaWRlc1Blckdyb3VwOiAxXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEluaWNpYWxpemEgdW4gbnVldm8gU3dpcGVyIGNvbiBsYSBjb25maWd1cmFjacOzbiBwcm9wb3JjaW9uYWRhLlxuXHQgKi9cblx0cHJpdmF0ZSBpbml0aWFsaXplTmV3U3dpcGVyKHN3aXBlckVsZW1lbnQ6IGFueSwgY29uZmlnOiBhbnkpIHtcblx0XHQvLyBBc2lnbmFyIGNvbmZpZ3VyYWNpw7NuIGFsIGVsZW1lbnRvXG5cdFx0T2JqZWN0LmFzc2lnbihzd2lwZXJFbGVtZW50LCBjb25maWcpO1xuXHRcdFxuXHRcdC8vIEluaWNpYWxpemFyIGVsIFN3aXBlclxuXHRcdHN3aXBlckVsZW1lbnQuaW5pdGlhbGl6ZSgpO1xuXHRcdFxuXHRcdC8vIGNvbnNvbGUubG9nKCdTd2lwZXIgaW5pY2lhbGl6YWRvIGNvbiBjb25maWd1cmFjacOzbiBwZXJzb25hbGl6YWRhJyk7XG5cdH1cblxuXHQvKipcblx0ICogQWN0dWFsaXphIHVuIFN3aXBlciBleGlzdGVudGUgcGFyYSBhc2VndXJhciBsYSBjb25maWd1cmFjacOzbiBjb3JyZWN0YS5cblx0ICovXG5cdHByaXZhdGUgdXBkYXRlRXhpc3RpbmdTd2lwZXIoc3dpcGVyRWxlbWVudDogYW55KSB7XG5cdFx0Ly8gY29uc29sZS5sb2coJ0FjdHVhbGl6YW5kbyBjb25maWd1cmFjacOzbiBkZSBTd2lwZXIgZXhpc3RlbnRlJyk7XG5cdFx0XG5cdFx0Ly8gRm9yemFyIHNsaWRlc1Blckdyb3VwIGEgMVxuXHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJHcm91cCA9IDE7XG5cdFx0c3dpcGVyRWxlbWVudC5zd2lwZXIuYWxsb3dTbGlkZU5leHQgPSB0cnVlO1xuXHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLmFsbG93U2xpZGVQcmV2ID0gdHJ1ZTtcblx0XHRcblx0XHQvLyBBY3R1YWxpemFyIHRhbWJpw6luIGxvcyBicmVha3BvaW50cyBzaSBleGlzdGVuXG5cdFx0aWYgKHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5icmVha3BvaW50cykge1xuXHRcdFx0T2JqZWN0LmtleXMoc3dpcGVyRWxlbWVudC5zd2lwZXIucGFyYW1zLmJyZWFrcG9pbnRzKS5mb3JFYWNoKGtleSA9PiB7XG5cdFx0XHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5icmVha3BvaW50c1trZXldLnNsaWRlc1Blckdyb3VwID0gMTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRcblx0XHRzd2lwZXJFbGVtZW50LnN3aXBlci51cGRhdGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb25maWd1cmEgbG9zIGV2ZW50IGxpc3RlbmVycyBwYXJhIGxvcyBib3RvbmVzIGRlIG5hdmVnYWNpw7NuLlxuXHQgKi9cblx0cHJpdmF0ZSBzZXR1cE5hdmlnYXRpb25FdmVudExpc3RlbmVycyhwcmV2QnV0dG9uOiBFbGVtZW50LCBuZXh0QnV0dG9uOiBFbGVtZW50LCBzd2lwZXJFbGVtZW50OiBhbnkpIHtcblx0XHRwcmV2QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQ2xpY2sgZW4gYm90w7NuIGFudGVyaW9yJyk7XG5cdFx0XHRpZiAoc3dpcGVyRWxlbWVudC5zd2lwZXIpIHtcblx0XHRcdFx0c3dpcGVyRWxlbWVudC5zd2lwZXIuc2xpZGVQcmV2KCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRuZXh0QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQ2xpY2sgZW4gYm90w7NuIHNpZ3VpZW50ZScpO1xuXHRcdFx0aWYgKHN3aXBlckVsZW1lbnQuc3dpcGVyKSB7XG5cdFx0XHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnNsaWRlTmV4dCgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJ0cmltQ2xhc3NCbG9jayhtZXRhLmNvZGUpICsgJyBjb250YWluZXItZmx1aWQnXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYmxvY2tQcm9kdWN0IGJsb2NrLXByb2R1Y3RcIj5cbiAgICAgICAgQGlmKG1ldGEubmFtZSl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtNFwiPlxuICAgICAgICAgICAgICAgIDxoMiAgY2xhc3M9XCJmb250LXdlaWdodC1ub3JtYWwgZm9udC1nZFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e21ldGEubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpZihtZXRhLnN0eWxlcyAmJiBtZXRhLnN0eWxlcy5jYXJyb3VzZWwgPT0gZmFsc2Upe1xuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IFwiPlxuICAgICAgICAgICAgQGZvciAocHJvZHVjdCBvZiBwcm9kdWN0czsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInaXRlbSAnKyAnIGNvbC0nKyAobWV0YS5zdHlsZXMuaXRlbXM/LnNtKSArICcgY29sLW1kLScgKyAobWV0YS5zdHlsZXMuaXRlbXM/Lm1kKSAgKyAnIGNvbC1sZy0nICsgKG1ldGEuc3R5bGVzLml0ZW1zPy5sZykgICsgJyBweC0yJ1wiIFtpZF09XCIkaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHZlcmlmaWNhIHF1ZSBzaSB2aWVuZW4gdW4gdGVtcGxhdGUgcGFyYSB1biBjdXN0b20gYXBwUHJvZHVjdCBsbGFtYWRvIFwiYXBwUHJvZHVjdFwiIGNvbiB1biBvYmpldG8gXCJwcm9kdWN0XCItIHNpbm8gdXNhIHBvciBkZWZlY3RvIGVsIGRlbCBjb3JlIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBQcm9kdWN0ID8gYXBwUHJvZHVjdCA6IGRlZmF1bHRBcHBQcm9kdWN0OyBjb250ZXh0OiB7cHJvZHVjdDpwcm9kdWN0fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPHN3aXBlci1jb250YWluZXIgXG4gICAgICAgICAgICAgICAgaW5pdD1cImZhbHNlXCIgXG4gICAgICAgICAgICAgICAgW2lkXT1cIm1ldGE/LmNvZGVcIlxuICAgICAgICAgICAgICAgIHNsaWRlcy1wZXItdmlldz1cImF1dG9cIlxuICAgICAgICAgICAgICAgIHNwYWNlLWJldHdlZW49XCIxNlwiXG4gICAgICAgICAgICAgICAgc2xpZGVzLXBlci1ncm91cD1cIjFcIlxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb249XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbj1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBsb29wPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChwcm9kdWN0IG9mIHByb2R1Y3RzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8c3dpcGVyLXNsaWRlIGlkPVwic3dpcGVyLXNsaWRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwUHJvZHVjdCA/IGFwcFByb2R1Y3QgOiBkZWZhdWx0QXBwUHJvZHVjdDsgY29udGV4dDoge3Byb2R1Y3Q6cHJvZHVjdH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3N3aXBlci1zbGlkZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3N3aXBlci1jb250YWluZXI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gQm90b25lcyBkZSBuYXZlZ2FjacOzbiBwZXJzb25hbGl6YWRvcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXZcIiBbaWRdPVwibWV0YT8uY29kZSArICctcHJldidcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmKHByZXZBcnJvd0ltYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwicHJldkFycm93SW1hZ2VcIiBhbHQ9XCJBbnRlcmlvclwiIC8+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdy10ZXh0XCI+e3twcmV2QXJyb3dUZXh0fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCIgW2lkXT1cIm1ldGE/LmNvZGUgKyAnLW5leHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZihuZXh0QXJyb3dJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIm5leHRBcnJvd0ltYWdlXCIgYWx0PVwiU2lndWllbnRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93LXRleHRcIj57e25leHRBcnJvd1RleHR9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG5cblxuPCEtLSBjb21wb25lbnRlIHBvciBkZWZlY3RvICh0b21hcmEgY29tbyBwcm9kdWN0byBlbCBjb250ZXh0byBwYXNhZG8gY29tbyBcInByb2R1Y3RcIikgLS0+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRBcHBQcm9kdWN0IGxldC1wcm9kdWN0PVwicHJvZHVjdFwiPlxuICAgIDxhcHAtcHJvZHVjdC1lYyBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9hcHAtcHJvZHVjdC1lYz5cbjwvbmctdGVtcGxhdGU+Il19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9jay1wcm9kdWN0cy1lYy9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxxREFBcUQ7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRTNFLFFBQVEsRUFBRSxDQUFBO0FBQ1Y7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDNUQsK0NBQStDO0lBQ2hELHlFQUF5RTtJQUNoRSxjQUFjLENBQVUsQ0FBQyxtQ0FBbUM7SUFDNUQsY0FBYyxDQUFVLENBQUMsbUNBQW1DO0lBQzVELGFBQWEsR0FBVyxHQUFHLENBQUM7SUFDNUIsYUFBYSxHQUFXLEdBQUcs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QUFsQixLQUFLO2dCQU1ILFFBQVE7c0JBRlYsS0FBSzt1QkFBQzt3QkFDTixRQUFRLEVBQUUsSUFBSTtxQkFDZDtnQkFNRSxJQUFJO3NCQUZOLEtBQUs7dUJBQUM7d0JBQ04sUUFBUSxFQUFFLElBQUk7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0LCBJbnB1dCwgUExBVEZPUk1fSUQsIHNpZ25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJsb2NrRWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyL3R5cGVzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbi8vIGltcG9ydCBmdW5jdGlvbiB0byByZWdpc3RlciBTd2lwZXIgY3VzdG9tIGVsZW1lbnRzXG5pbXBvcnQgeyByZWdpc3RlciwgU3dpcGVyQ29udGFpbmVyIH0gZnJvbSAnc3dpcGVyL2VsZW1lbnQvYnVuZGxlJztcbmltcG9ydCB7IFByb2R1Y3RFY0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9wcm9kdWN0LWVjL3Byb2R1Y3QtZWMuY29tcG9uZW50XCI7XG5cbnJlZ2lzdGVyKClcbi8qKlxuICogQ29tcG9uZW4gcGFyYSBtYW5lamFyIGxvcyBibG9xdWVzIGRlIHByb2R1Y3Rvcy5cbiAqIEBleHRlbmRzIHtCbG9ja0VjQ29tcG9uZW50fVxuICogQGNsYXNzIEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtYmxvY2stcHJvZHVjdHMtZWMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQcm9kdWN0RWNDb21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50LnNjc3MnLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgQmxvY2tQcm9kdWN0c0VjQ29tcG9uZW50IGV4dGVuZHMgQmxvY2tFY0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXHRcdC8vIFBlcnNvbmFsaXphY2nDs24gZGUgbGFzIGZsZWNoYXMgZGUgbmF2ZWdhY2nDs25cblx0Ly8gUG9yIGRlZmVjdG8gdXNhIHPDrW1ib2xvcyBkZSB0ZXh0bywgcGVybyBzZSBwdWVkZW4gZXNwZWNpZmljYXIgaW3DoWdlbmVzXG5cdEBJbnB1dCgpIHByZXZBcnJvd0ltYWdlPzogc3RyaW5nOyAvLyB1bmRlZmluZWQgPSB1c2Egc8OtbWJvbG8gZGUgdGV4dG9cblx0QElucHV0KCkgbmV4dEFycm93SW1hZ2U/OiBzdHJpbmc7IC8vIHVuZGVmaW5lZCA9IHVzYSBzw61tYm9sbyBkZSB0ZXh0b1xuXHRASW5wdXQoKSBwcmV2QXJyb3dUZXh0OiBzdHJpbmcgPSAnPCc7XG5cdEBJbnB1dCgpIG5leHRBcnJvd1RleHQ6IHN0cmluZyA9ICc+Jztcblx0LyoqXG5cdCAqIFNlcnZpY2lvIGRlIEFuYWx5dGljc1xuXHQgKi9cblx0cHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpXG5cdC8qKlxuXHQgKiBTaWduYWwgdXRsaXphZG8gcGFyYSBndWFyZGEgZWwgY29udGVuZWRvciBkZWwgY2FycnVzZWxcblx0ICovXG5cdHN3aXBlckVsZW1lbnQgPSBzaWduYWw8U3dpcGVyQ29udGFpbmVyIHwgbnVsbD4obnVsbClcblx0LyoqXG5cdCAqIElucHV0IHF1ZSByZWNpYmUgdW4gdGVtcGxhdGUgcGFyYSBlbCBwcm9kdWN0by5cblx0ICovXG5cdEBJbnB1dCgpIGFwcFByb2R1Y3Q6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBDb2xlY2Npw7NuIGRlIHByb2R1Y3Rvcy5cblx0ICovXG5cdEBJbnB1dCh7XG5cdFx0cmVxdWlyZWQ6IHRydWVcblx0fSkgcHJvZHVjdHM6IGFueTsgLy8gUHJvZHVjdFtdO1xuXHQvKipcblx0ICogQmxvcXVlIHByaW5jaXBhbCBxdWUgY29udGllbmUgbG9zIHByb2R1Y3Rvc1xuXHQgKi9cblx0QElucHV0KHtcblx0XHRyZXF1aXJlZDogdHJ1ZVxuXHR9KSBtZXRhOiBhbnk7XG5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdHRoaXMuc2V0dXBTd2lwZXJOYXZpZ2F0aW9uKCk7XG5cdH1cblx0XG5cdHByaXZhdGUgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblx0cHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpXG5cblx0LyoqXG5cdCAqIEVqZWN1dGEgZWwgbcOpdG9kbyBgYWZ0ZXJOZXh0UmVuZGVyYHBhcmEgY2FyZ2FyIGxhcyBjb25maWd1cmFjaW9uZXMgbmVjZXNhcmlhcyBcblx0ICogcGFyYSBlbCBjYXJydXNlbCBkZWwgYmFubmVycy4gRXN0byBkZWJlIHNlciBhc2kgZGViaWRvIGEgcXVlIHlhIGRlYmUgZXN0YXIgcHJlc2VudGVcblx0ICogZW4gZWwgRG9tIGVsIGVsZW1lbnQgYDxzd2lwZXItY29udGFpbmVyPmAgcGFyYSBwb2RlciBjb25maWd1cmFybG8uXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpXG5cdH1cblx0LyoqXG5cdCAqIEFwbGljYSBlbCBldmVudG8gYHNlbGVjdF9wcm9tb3Rpb25gIGp1bnRvIGNvbiBlbCBiYW5uZXIgcXVlIGludGVyYWN0dWEuXG5cdCAqIEBwYXJhbSBiYW5uZXIgXG5cdCAqL1xuXHRzZWxlY3RQcm9tb3Rpb24oaXRlbTogYW55KTogdm9pZCB7XG5cdFx0dGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgnc2VsZWN0X3Byb21vdGlvbicsIGl0ZW0pXG5cdH1cblxuXHQvKipcblx0ICogQ29uZmlndXJhIGxhIG5hdmVnYWNpw7NuIHBlcnNvbmFsaXphZGEgZGVsIFN3aXBlci5cblx0ICogRXN0YSBmdW5jacOzbiBlc3TDoSBkaXNlw7FhZGEgcGFyYSBzZXIgbW92aWRhIGFsIGNvbXBvbmVudGUgYmFzZSBCbG9ja1Byb2R1Y3RzRWNDb21wb25lbnQuXG5cdCAqIFBlcm1pdGUgcGVyc29uYWxpemFjacOzbiBkZSBsYXMgaW3DoWdlbmVzIGRlIGxhcyBmbGVjaGFzIG1lZGlhbnRlIEBJbnB1dC5cblx0ICovXG5cdHByaXZhdGUgc2V0dXBTd2lwZXJOYXZpZ2F0aW9uKCkge1xuXHRcdGlmICh0aGlzLm1ldGE/LnN0eWxlcz8uY2Fycm91c2VsICE9PSBmYWxzZSkge1xuXHRcdFx0Ly8gVXNhciBzZXRUaW1lb3V0IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIHN3aXBlciBlc3TDqSBpbmljaWFsaXphZG9cblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmluaXRpYWxpemVTd2lwZXJXaXRoQ3VzdG9tTmF2aWdhdGlvbigpO1xuXHRcdFx0fSwgMjAwKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSW5pY2lhbGl6YSBlbCBTd2lwZXIgY29uIG5hdmVnYWNpw7NuIHBlcnNvbmFsaXphZGEuXG5cdCAqIEVzdGEgZnVuY2nDs24gcHVlZGUgc2VyIG1vdmlkYSBhbCBjb21wb25lbnRlIGJhc2UgcGFyYSByZXV0aWxpemFjacOzbi5cblx0ICovXG5cdHByaXZhdGUgaW5pdGlhbGl6ZVN3aXBlcldpdGhDdXN0b21OYXZpZ2F0aW9uKCkge1xuXHRcdGNvbnN0IHByZXZCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLm1ldGE/LmNvZGV9LXByZXZgKTtcblx0XHRjb25zdCBuZXh0QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5tZXRhPy5jb2RlfS1uZXh0YCk7XG5cdFx0Y29uc3Qgc3dpcGVyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubWV0YT8uY29kZSkgYXMgYW55O1xuXG5cdFx0aWYgKHByZXZCdXR0b24gJiYgbmV4dEJ1dHRvbiAmJiBzd2lwZXJFbGVtZW50KSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQ29uZmlndXJhbmRvIG5hdmVnYWNpw7NuIHBlcnNvbmFsaXphZGEgcGFyYTonLCB0aGlzLm1ldGE/LmNvZGUpO1xuXHRcdFx0XG5cdFx0XHRjb25zdCBzd2lwZXJDb25maWcgPSB0aGlzLmdldFN3aXBlckNvbmZpZ3VyYXRpb24oKTtcblxuXHRcdFx0Ly8gVmVyaWZpY2FyIHNpIGVsIFN3aXBlciB5YSBlc3TDoSBpbmljaWFsaXphZG9cblx0XHRcdGlmICghc3dpcGVyRWxlbWVudC5zd2lwZXIpIHtcblx0XHRcdFx0dGhpcy5pbml0aWFsaXplTmV3U3dpcGVyKHN3aXBlckVsZW1lbnQsIHN3aXBlckNvbmZpZyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnVwZGF0ZUV4aXN0aW5nU3dpcGVyKHN3aXBlckVsZW1lbnQpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBDb25maWd1cmFyIGxvcyBldmVudCBsaXN0ZW5lcnMgcGFyYSBsb3MgYm90b25lc1xuXHRcdFx0dGhpcy5zZXR1cE5hdmlnYXRpb25FdmVudExpc3RlbmVycyhwcmV2QnV0dG9uLCBuZXh0QnV0dG9uLCBzd2lwZXJFbGVtZW50KTtcblx0XHRcdFxuXHRcdFx0Ly8gY29uc29sZS5sb2coJ0V2ZW50IGxpc3RlbmVycyBjb25maWd1cmFkb3MgcGFyYSBsb3MgYm90b25lcyBkZSBuYXZlZ2FjacOzbicpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnTm8gc2UgcHVkaWVyb24gZW5jb250cmFyIGxvcyBlbGVtZW50b3M6Jywge1xuXHRcdFx0Ly8gXHRwcmV2QnV0dG9uOiAhIXByZXZCdXR0b24sXG5cdFx0XHQvLyBcdG5leHRCdXR0b246ICEhbmV4dEJ1dHRvbixcblx0XHRcdC8vIFx0c3dpcGVyRWxlbWVudDogISFzd2lwZXJFbGVtZW50XG5cdFx0XHQvLyB9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogT2J0aWVuZSBsYSBjb25maWd1cmFjacOzbiBiYXNlIGRlbCBTd2lwZXIuXG5cdCAqIEVzdGEgY29uZmlndXJhY2nDs24gcHVlZGUgc2VyIHBlcnNvbmFsaXphZGEgZW4gZWwgZnV0dXJvIG1lZGlhbnRlIEBJbnB1dC5cblx0ICovXG5cdHByaXZhdGUgZ2V0U3dpcGVyQ29uZmlndXJhdGlvbigpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0c2xpZGVzUGVyVmlldzogJ2F1dG8nLFxuXHRcdFx0c3BhY2VCZXR3ZWVuOiAxNixcblx0XHRcdHNsaWRlc1Blckdyb3VwOiAxLCAvLyBJbXBvcnRhbnRlOiBtb3ZlcnNlIGRlIHVubyBlbiB1bm9cblx0XHRcdG5hdmlnYXRpb246IGZhbHNlLCAvLyBEZXNoYWJpbGl0YW1vcyBsYSBuYXZlZ2FjacOzbiBwb3IgZGVmZWN0b1xuXHRcdFx0cGFnaW5hdGlvbjogZmFsc2UsXG5cdFx0XHRsb29wOiB0cnVlLFxuXHRcdFx0Z3JhYkN1cnNvcjogdHJ1ZSxcblx0XHRcdGF1dG9wbGF5OiB0cnVlLFxuXHRcdFx0YnJlYWtwb2ludHM6IHtcblx0XHRcdFx0MzIwOiB7XG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMSxcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDgsXG5cdFx0XHRcdFx0c2xpZGVzUGVyR3JvdXA6IDFcblx0XHRcdFx0fSxcblx0XHRcdFx0NTc2OiB7XG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogMixcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDEyLFxuXHRcdFx0XHRcdHNsaWRlc1Blckdyb3VwOiAxXG5cdFx0XHRcdH0sXG5cdFx0XHRcdDc2ODoge1xuXHRcdFx0XHRcdHNsaWRlc1BlclZpZXc6IDMsXG5cdFx0XHRcdFx0c3BhY2VCZXR3ZWVuOiAxNixcblx0XHRcdFx0XHRzbGlkZXNQZXJHcm91cDogMVxuXHRcdFx0XHR9LFxuXHRcdFx0XHQxMDI0OiB7XG5cdFx0XHRcdFx0c2xpZGVzUGVyVmlldzogNCxcblx0XHRcdFx0XHRzcGFjZUJldHdlZW46IDE2LFxuXHRcdFx0XHRcdHNsaWRlc1Blckdyb3VwOiAxXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEluaWNpYWxpemEgdW4gbnVldm8gU3dpcGVyIGNvbiBsYSBjb25maWd1cmFjacOzbiBwcm9wb3JjaW9uYWRhLlxuXHQgKi9cblx0cHJpdmF0ZSBpbml0aWFsaXplTmV3U3dpcGVyKHN3aXBlckVsZW1lbnQ6IGFueSwgY29uZmlnOiBhbnkpIHtcblx0XHQvLyBBc2lnbmFyIGNvbmZpZ3VyYWNpw7NuIGFsIGVsZW1lbnRvXG5cdFx0T2JqZWN0LmFzc2lnbihzd2lwZXJFbGVtZW50LCBjb25maWcpO1xuXHRcdFxuXHRcdC8vIEluaWNpYWxpemFyIGVsIFN3aXBlclxuXHRcdHN3aXBlckVsZW1lbnQuaW5pdGlhbGl6ZSgpO1xuXHRcdFxuXHRcdC8vIGNvbnNvbGUubG9nKCdTd2lwZXIgaW5pY2lhbGl6YWRvIGNvbiBjb25maWd1cmFjacOzbiBwZXJzb25hbGl6YWRhJyk7XG5cdH1cblxuXHQvKipcblx0ICogQWN0dWFsaXphIHVuIFN3aXBlciBleGlzdGVudGUgcGFyYSBhc2VndXJhciBsYSBjb25maWd1cmFjacOzbiBjb3JyZWN0YS5cblx0ICovXG5cdHByaXZhdGUgdXBkYXRlRXhpc3RpbmdTd2lwZXIoc3dpcGVyRWxlbWVudDogYW55KSB7XG5cdFx0Ly8gY29uc29sZS5sb2coJ0FjdHVhbGl6YW5kbyBjb25maWd1cmFjacOzbiBkZSBTd2lwZXIgZXhpc3RlbnRlJyk7XG5cdFx0XG5cdFx0Ly8gRm9yemFyIHNsaWRlc1Blckdyb3VwIGEgMVxuXHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJHcm91cCA9IDE7XG5cdFx0c3dpcGVyRWxlbWVudC5zd2lwZXIuYWxsb3dTbGlkZU5leHQgPSB0cnVlO1xuXHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLmFsbG93U2xpZGVQcmV2ID0gdHJ1ZTtcblx0XHRcblx0XHQvLyBBY3R1YWxpemFyIHRhbWJpw6luIGxvcyBicmVha3BvaW50cyBzaSBleGlzdGVuXG5cdFx0aWYgKHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5icmVha3BvaW50cykge1xuXHRcdFx0T2JqZWN0LmtleXMoc3dpcGVyRWxlbWVudC5zd2lwZXIucGFyYW1zLmJyZWFrcG9pbnRzKS5mb3JFYWNoKGtleSA9PiB7XG5cdFx0XHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnBhcmFtcy5icmVha3BvaW50c1trZXldLnNsaWRlc1Blckdyb3VwID0gMTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRcblx0XHRzd2lwZXJFbGVtZW50LnN3aXBlci51cGRhdGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb25maWd1cmEgbG9zIGV2ZW50IGxpc3RlbmVycyBwYXJhIGxvcyBib3RvbmVzIGRlIG5hdmVnYWNpw7NuLlxuXHQgKi9cblx0cHJpdmF0ZSBzZXR1cE5hdmlnYXRpb25FdmVudExpc3RlbmVycyhwcmV2QnV0dG9uOiBFbGVtZW50LCBuZXh0QnV0dG9uOiBFbGVtZW50LCBzd2lwZXJFbGVtZW50OiBhbnkpIHtcblx0XHRwcmV2QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQ2xpY2sgZW4gYm90w7NuIGFudGVyaW9yJyk7XG5cdFx0XHRpZiAoc3dpcGVyRWxlbWVudC5zd2lwZXIpIHtcblx0XHRcdFx0c3dpcGVyRWxlbWVudC5zd2lwZXIuc2xpZGVQcmV2KCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRuZXh0QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQ2xpY2sgZW4gYm90w7NuIHNpZ3VpZW50ZScpO1xuXHRcdFx0aWYgKHN3aXBlckVsZW1lbnQuc3dpcGVyKSB7XG5cdFx0XHRcdHN3aXBlckVsZW1lbnQuc3dpcGVyLnNsaWRlTmV4dCgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iLCI8c2VjdGlvbiBbbmdDbGFzc109XCJ0cmltQ2xhc3NCbG9jayhtZXRhLmNvZGUpICsgJyBjb250YWluZXItZmx1aWQnXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYmxvY2tQcm9kdWN0IGJsb2NrLXByb2R1Y3RcIj5cbiAgICAgICAgQGlmKG1ldGEubmFtZSl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtNFwiPlxuICAgICAgICAgICAgICAgIDxoMiAgY2xhc3M9XCJmb250LXdlaWdodC1ub3JtYWwgZm9udC1nZFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e21ldGEubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpZihtZXRhLnN0eWxlcyAmJiBtZXRhLnN0eWxlcy5jYXJyb3VzZWwgPT0gZmFsc2Upe1xuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IFwiPlxuICAgICAgICAgICAgQGZvciAocHJvZHVjdCBvZiBwcm9kdWN0czsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInaXRlbSAnKyAnIGNvbC0nKyAobWV0YS5zdHlsZXMuaXRlbXM/LnNtKSArICcgY29sLW1kLScgKyAobWV0YS5zdHlsZXMuaXRlbXM/Lm1kKSAgKyAnIGNvbC1sZy0nICsgKG1ldGEuc3R5bGVzLml0ZW1zPy5sZykgICsgJyBweC0yJ1wiIFtpZF09XCIkaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHZlcmlmaWNhIHF1ZSBzaSB2aWVuZW4gdW4gdGVtcGxhdGUgcGFyYSB1biBjdXN0b20gYXBwUHJvZHVjdCBsbGFtYWRvIFwiYXBwUHJvZHVjdFwiIGNvbiB1biBvYmpldG8gXCJwcm9kdWN0XCItIHNpbm8gdXNhIHBvciBkZWZlY3RvIGVsIGRlbCBjb3JlIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBQcm9kdWN0ID8gYXBwUHJvZHVjdCA6IGRlZmF1bHRBcHBQcm9kdWN0OyBjb250ZXh0OiB7cHJvZHVjdDpwcm9kdWN0fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPHN3aXBlci1jb250YWluZXIgXG4gICAgICAgICAgICAgICAgaW5pdD1cImZhbHNlXCIgXG4gICAgICAgICAgICAgICAgW2lkXT1cIm1ldGE/LmNvZGVcIlxuICAgICAgICAgICAgICAgIHNsaWRlcy1wZXItdmlldz1cImF1dG9cIlxuICAgICAgICAgICAgICAgIHNwYWNlLWJldHdlZW49XCIxNlwiXG4gICAgICAgICAgICAgICAgc2xpZGVzLXBlci1ncm91cD1cIjFcIlxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb249XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbj1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBsb29wPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChwcm9kdWN0IG9mIHByb2R1Y3RzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8c3dpcGVyLXNsaWRlIGlkPVwic3dpcGVyLXNsaWRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwUHJvZHVjdCA/IGFwcFByb2R1Y3QgOiBkZWZhdWx0QXBwUHJvZHVjdDsgY29udGV4dDoge3Byb2R1Y3Q6cHJvZHVjdH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3N3aXBlci1zbGlkZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3N3aXBlci1jb250YWluZXI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gQm90b25lcyBkZSBuYXZlZ2FjacOzbiBwZXJzb25hbGl6YWRvcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXZcIiBbaWRdPVwibWV0YT8uY29kZSArICctcHJldidcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmKHByZXZBcnJvd0ltYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwicHJldkFycm93SW1hZ2VcIiBhbHQ9XCJBbnRlcmlvclwiIC8+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdy10ZXh0XCI+e3twcmV2QXJyb3dUZXh0fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCIgW2lkXT1cIm1ldGE/LmNvZGUgKyAnLW5leHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZihuZXh0QXJyb3dJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIm5leHRBcnJvd0ltYWdlXCIgYWx0PVwiU2lndWllbnRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93LXRleHRcIj57e25leHRBcnJvd1RleHR9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG5cblxuPCEtLSBjb21wb25lbnRlIHBvciBkZWZlY3RvICh0b21hcmEgY29tbyBwcm9kdWN0byBlbCBjb250ZXh0byBwYXNhZG8gY29tbyBcInByb2R1Y3RcIikgLS0+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRBcHBQcm9kdWN0IGxldC1wcm9kdWN0PVwicHJvZHVjdFwiPlxuICAgIDxhcHAtcHJvZHVjdC1lYyBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9hcHAtcHJvZHVjdC1lYz5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -2,7 +2,7 @@ import { Component, inject, Input, PLATFORM_ID, signal } from '@angular/core';
|
|
|
2
2
|
import { AuthService, FiltersService, OptionsService, ProductsService } from '../../ec-services';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { CoreConstantsService } from '../../constants';
|
|
5
|
-
import { combineLatest
|
|
5
|
+
import { combineLatest } from 'rxjs';
|
|
6
6
|
import { InfiniteScrollDirective } from "ngx-infinite-scroll";
|
|
7
7
|
import { isPlatformBrowser } from '@angular/common';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -10,7 +10,6 @@ export class CollectionEcComponent {
|
|
|
10
10
|
_productsService = inject(ProductsService);
|
|
11
11
|
_activeRoute = inject(ActivatedRoute);
|
|
12
12
|
_optionsService = inject(OptionsService);
|
|
13
|
-
_filtersService = inject(FiltersService);
|
|
14
13
|
params$ = this._activeRoute.params;
|
|
15
14
|
//public ready = this._optionsService.ready
|
|
16
15
|
queryParams$ = this._activeRoute.queryParams;
|
|
@@ -22,63 +21,40 @@ export class CollectionEcComponent {
|
|
|
22
21
|
defaultFilters = [];
|
|
23
22
|
loading = false;
|
|
24
23
|
countProducts = signal(0);
|
|
25
|
-
loaded =
|
|
24
|
+
loaded = false;
|
|
26
25
|
optionsFilters = ['all'];
|
|
27
26
|
filters_sort = [];
|
|
27
|
+
_filtersService = inject(FiltersService);
|
|
28
28
|
filters$ = this._filtersService.filters$;
|
|
29
29
|
ready$ = this._filtersService.ready$;
|
|
30
30
|
window;
|
|
31
31
|
isList = false;
|
|
32
|
-
destroy$ = new Subject();
|
|
33
32
|
setAsList = (value) => this.isList = value;
|
|
34
33
|
ngOnInit() {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
combineLatest([this.params$, this.queryParams$])
|
|
39
|
-
.pipe(map(([params, query]) => ({ params, query })), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), takeUntil(this.destroy$))
|
|
40
|
-
.subscribe(({ params, query }) => {
|
|
41
|
-
// Guardamos el tipo de ruta actual en las constantes (ej: 'categories', 'sections', etc.)
|
|
42
|
-
const routeType = params['type'] || null;
|
|
43
|
-
this.constanst.setCurrentRouteType(routeType);
|
|
44
|
-
const paginationSettings = {
|
|
45
|
-
latest: true,
|
|
46
|
-
limit: 10,
|
|
47
|
-
type: params['type'] || null,
|
|
48
|
-
value: params['value'] || null
|
|
49
|
-
};
|
|
50
|
-
// Punto clave:
|
|
51
|
-
// A partir de la URL (params + query) reconstruimos los filtros
|
|
52
|
-
// (categorías, atributos, rango de precios, etc.)
|
|
53
|
-
// Esto permite:
|
|
54
|
-
// - Soportar F5 / recarga sin perder filtros
|
|
55
|
-
// - Navegar con URL compartibles (deep linking)
|
|
56
|
-
this._filtersService.hydrateFromRoute(paginationSettings, params, query);
|
|
57
|
-
});
|
|
34
|
+
this.getProducts();
|
|
35
|
+
this.window?.scroll(0, 0);
|
|
58
36
|
}
|
|
59
37
|
//protected readonly questions = signal<Question[]>([]);
|
|
60
38
|
total = 0;
|
|
61
39
|
platformId = inject(PLATFORM_ID);
|
|
62
40
|
constructor() {
|
|
63
|
-
// Guardamos window sólo en Browser para evitar errores en SSR
|
|
64
41
|
if (isPlatformBrowser(this.platformId)) {
|
|
65
42
|
this.window = window;
|
|
66
43
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
44
|
+
}
|
|
45
|
+
getProducts() {
|
|
46
|
+
combineLatest([this.params$, this.queryParams$]).subscribe({
|
|
47
|
+
next: ([params, queryParams]) => {
|
|
48
|
+
const paginationSettings = {
|
|
49
|
+
latest: true,
|
|
50
|
+
limit: 10,
|
|
51
|
+
type: params['type'] || null,
|
|
52
|
+
value: params['value'] || null
|
|
53
|
+
};
|
|
54
|
+
this._productsService.getProductsForFilter(paginationSettings, queryParams["search"]);
|
|
75
55
|
}
|
|
76
56
|
});
|
|
77
57
|
}
|
|
78
|
-
ngOnDestroy() {
|
|
79
|
-
this.destroy$.next();
|
|
80
|
-
this.destroy$.complete();
|
|
81
|
-
}
|
|
82
58
|
onScroll() {
|
|
83
59
|
this.loading = true;
|
|
84
60
|
this._productsService.updateProducts();
|
|
@@ -96,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
96
72
|
}], ctorParameters: () => [], propDecorators: { optionsFilters: [{
|
|
97
73
|
type: Input
|
|
98
74
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9jb2xsZWN0aW9uLWVjL2NvbGxlY3Rpb24tZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY29sbGVjdGlvbi1lYy9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFnQixNQUFNLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhJLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBWSxHQUFHLEVBQWMsT0FBTyxFQUFRLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUV2QixnQkFBZ0IsR0FBb0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQzNELFlBQVksR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3JELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzFE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bnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFBMQVRGT1JNX0lELCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlZmF1bHRGaWx0ZXIsIEZpbHRlclR5cGUsIFBhZ2luYXRpb25TZXR0aW5ncywgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEZpbHRlcnNTZXJ2aWNlLCBPcHRpb25zU2VydmljZSwgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZvcmtKb2luLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcyc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gXCJuZ3gtaW5maW5pdGUtc2Nyb2xsXCI7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsaWItY29sbGVjdGlvbi1lYycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2NvbGxlY3Rpb24tZWMuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25FY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuXHRwcm90ZWN0ZWQgX3Byb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RzU2VydmljZSlcblx0cHJvdGVjdGVkIF9hY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpXG5cdHByb3RlY3RlZCBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKVxuXHRwcml2YXRlIF9maWx0ZXJzU2VydmljZTogRmlsdGVyc1NlcnZpY2UgPSBpbmplY3QoRmlsdGVyc1NlcnZpY2UpO1xuXG5cdHB1YmxpYyBwYXJhbXMkID0gdGhpcy5fYWN0aXZlUm91dGUucGFyYW1zXG5cdC8vcHVibGljIHJlYWR5ID0gdGhpcy5fb3B0aW9uc1NlcnZpY2UucmVhZHlcblx0cHVibGljIHF1ZXJ5UGFyYW1zJCA9IHRoaXMuX2FjdGl2ZVJvdXRlLnF1ZXJ5UGFyYW1zXG5cdHB1YmxpYyBwcm9kdWN0cyQgPSB0aGlzLl9wcm9kdWN0c1NlcnZpY2UucHJvZHVjdHMkXG5cdC8vcHVibGljIHByb2R1Y3RzJCA9IFtdXG5cblx0cHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSlcblx0cHVibGljIGNvbnN0YW5zdDogQ29yZUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXG5cblx0cHVibGljIHByb2R1Y3RzOiBQcm9kdWN0W10gPSBbXTtcblx0cHVibGljIGRlZmF1bHRGaWx0ZXJzOiBEZWZhdWx0RmlsdGVyW10gPSBbXTtcblx0cHVibGljIGxvYWRpbmc6IEJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGNvdW50UHJvZHVjdHMgPSBzaWduYWw8bnVtYmVyPigwKVxuXHRwcml2YXRlIGxvYWRlZCA9IHNpZ25hbChmYWxzZSk7XG5cblx0QElucHV0KCkgb3B0aW9uc0ZpbHRlcnM6IEZpbHRlclR5cGVbXSA9IFsnYWxsJ107XG5cblx0ZmlsdGVyc19zb3J0OiBGaWx0ZXJbXSA9IFtdO1xuXG5cdHB1YmxpYyBmaWx0ZXJzJDogT2JzZXJ2YWJsZTxGaWx0ZXJbXT4gPSB0aGlzLl9maWx0ZXJzU2VydmljZS5maWx0ZXJzJDtcblx0cHVibGljIHJlYWR5JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnJlYWR5JDtcblxuXHRwcml2YXRlIHdpbmRvdz86IFdpbmRvdztcblxuXHRwdWJsaWMgaXNMaXN0OiBib29sZWFuID0gZmFsc2Vcblx0cHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cdHNldEFzTGlzdCA9ICh2YWx1ZTogYm9vbGVhbikgPT4gdGhpcy5pc0xpc3QgPSB2YWx1ZVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG5cdFx0XHR0aGlzLndpbmRvdz8uc2Nyb2xsKDAsIDApO1xuXHRcdH1cblxuXHRcdGNvbWJpbmVMYXRlc3QoW3RoaXMucGFyYW1zJCwgdGhpcy5xdWVyeVBhcmFtcyRdKVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdG1hcCgoW3BhcmFtcywgcXVlcnldKSA9PiAoeyBwYXJhbXMsIHF1ZXJ5IH0pKSxcblx0XHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IEpTT04uc3RyaW5naWZ5KGEpID09PSBKU09OLnN0cmluZ2lmeShiKSksXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgoeyBwYXJhbXMsIHF1ZXJ5IH0pID0+IHtcblx0XHRcdFx0Ly8gR3VhcmRhbW9zIGVsIHRpcG8gZGUgcnV0YSBhY3R1YWwgZW4gbGFzIGNvbnN0YW50ZXMgKGVqOiAnY2F0ZWdvcmllcycsICdzZWN0aW9ucycsIGV0Yy4pXG5cdFx0XHRcdGNvbnN0IHJvdXRlVHlwZSA9IHBhcmFtc1sndHlwZSddIHx8IG51bGw7XG5cdFx0XHRcdHRoaXMuY29uc3RhbnN0LnNldEN1cnJlbnRSb3V0ZVR5cGUocm91dGVUeXBlKTtcblxuXHRcdFx0XHRjb25zdCBwYWdpbmF0aW9uU2V0dGluZ3M6IFBhZ2luYXRpb25TZXR0aW5ncyA9IHtcblx0XHRcdFx0XHRsYXRlc3Q6IHRydWUsXG5cdFx0XHRcdFx0bGltaXQ6IDEwLFxuXHRcdFx0XHRcdHR5cGU6IHBhcmFtc1sndHlwZSddIHx8IG51bGwsXG5cdFx0XHRcdFx0dmFsdWU6IHBhcmFtc1sndmFsdWUnXSB8fCBudWxsXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0Ly8gIFB1bnRvIGNsYXZlOlxuXHRcdFx0XHQvLyAgICBBIHBhcnRpciBkZSBsYSBVUkwgKHBhcmFtcyArIHF1ZXJ5KSByZWNvbnN0cnVpbW9zIGxvcyBmaWx0cm9zXG5cdFx0XHRcdC8vICAgIChjYXRlZ29yw61hcywgYXRyaWJ1dG9zLCByYW5nbyBkZSBwcmVjaW9zLCBldGMuKVxuXHRcdFx0XHQvLyAgICBFc3RvIHBlcm1pdGU6XG5cdFx0XHRcdC8vICAgIC0gU29wb3J0YXIgRjUgLyByZWNhcmdhIHNpbiBwZXJkZXIgZmlsdHJvc1xuXHRcdFx0XHQvLyAgICAtIE5hdmVnYXIgY29uIFVSTCBjb21wYXJ0aWJsZXMgKGRlZXAgbGlua2luZylcblx0XHRcdFx0dGhpcy5fZmlsdGVyc1NlcnZpY2UuaHlkcmF0ZUZyb21Sb3V0ZShwYWdpbmF0aW9uU2V0dGluZ3MsIHBhcmFtcywgcXVlcnkpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvL3Byb3RlY3RlZCByZWFkb25seSBxdWVzdGlvbnMgPSBzaWduYWw8UXVlc3Rpb25bXT4oW10pO1xuXHRwcml2YXRlIHRvdGFsID0gMDtcblx0cHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpXG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Ly8gR3VhcmRhbW9zIHdpbmRvdyBzw7NsbyBlbiBCcm93c2VyIHBhcmEgZXZpdGFyIGVycm9yZXMgZW4gU1NSXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcblx0XHRcdHRoaXMud2luZG93ID0gd2luZG93XG5cblx0XHR9XG5cdFx0Ly8gIE5vcyBzdXNjcmliaW1vcyBhbCBzdHJlYW0gZGUgcHJvZHVjdG9zLlxuXHRcdC8vICAgIEN1YW5kbyBQcm9kdWN0c1NlcnZpY2UgZW1pdGUsIG1hcmNhbW9zIGBsb2FkZWRgIGVuIHRydWUsIHBlcm8gc29sbyBlbiBCcm93c2VyLlxuXHRcdC8vICAgIEVuIFNTUiBubyBsbyBtYXJjYW1vcyBwYXJhIGV2aXRhciBjYW1iaW9zIGRlIGVzdGFkbyBpbm5lY2VzYXJpb3MuXG5cdFx0dGhpcy5wcm9kdWN0cyRcblx0XHRcdC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcblx0XHRcdC5zdWJzY3JpYmUocHJvZHVjdHMgPT4ge1xuXHRcdFx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuXHRcdFx0XHRcdHRoaXMubG9hZGVkLnNldCh0cnVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmRlc3Ryb3kkLm5leHQoKTtcblx0XHR0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRvblNjcm9sbCgpIHtcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdHRoaXMuX3Byb2R1Y3RzU2VydmljZS51cGRhdGVQcm9kdWN0cygpXG5cdH1cblxuXHQvLyBNw6l0b2RvIHBhcmEgc2FiZXIgc2kgdW4gcHJvZHVjdG8gdGllbmUgc3RvY2sgdXNhbmRvIGVsIHNlcnZpY2lvXG5cdHB1YmxpYyBwcm9kdWN0SGFzU3RvY2socHJvZHVjdDogUHJvZHVjdCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9wcm9kdWN0c1NlcnZpY2UuaGFzU3RvY2socHJvZHVjdCk7XG5cdH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiY29udGFpbmVyLXhsIG1iLTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG0tMCBwLTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtbm9uZSBkLWxnLWJsb2NrIGNvbC0zXCI+XG4gICAgICAgICAgICA8IS0tRmlsdHJvcy0tPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy05IG10LTIgcC0wXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBAZm9yKFsnYScsICdiJywgJ2MnLCAnZCddIGFzIHByb2R1Y3Qpe1xuXG4gICAgICAgICAgICAgICAgfSAtLT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9jb2xsZWN0aW9uLWVjL2NvbGxlY3Rpb24tZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY29sbGVjdGlvbi1lYy9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFnQixNQUFNLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFtQyxNQUFNLE1BQU0sQ0FBQztBQUV0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUV2QixnQkFBZ0IsR0FBb0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQzNELFlBQVksR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3JELGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRTNELE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQTtJQUN6QywyQ0FBMkM7SUFDcEMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFBO0lBQzVDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFBO0lBQ2xELHVCQUF1QjtJQUVoQixXQUFXLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM5QyxTQUFTLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBRTlELFFBQVEsR0FBYyxFQUFFLENBQUM7SUFDekIsY0FBYyxHQUFvQixFQUFFLENBQUM7SUFDckMsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN6QixhQUFhLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ2hDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZCxjQUFjLEdBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEQsWUFBWSxHQUFhLEVBQUUsQ0FBQztJQUVwQixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6RCxRQUFRLEdBQXlCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO0lBQy9ELE1BQU0sR0FBd0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFFekQsTUFBTSxDQUFVO0lBRWpCLE1BQU0sR0FBWSxLQUFLLENBQUE7SUFDOUIsU0FBUyxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtJQUVuRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRUQsd0RBQXdEO0lBQ2hELEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixVQUFVLEdBQVEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRTdDO1FBQ0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUVyQixDQUFDO0lBQ0YsQ0FBQztJQUVELFdBQVc7UUFDVixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUMvQixNQUFNLGtCQUFrQixHQUF1QjtvQkFDOUMsTUFBTSxFQUFFLElBQUk7b0JBQ1osS0FBSyxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJO29CQUM1QixLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUk7aUJBQzlCLENBQUE7Z0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLENBQUM7U0FDRCxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsa0VBQWtFO0lBQzNELGVBQWUsQ0FBQyxPQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0F4RVcscUJBQXFCOzRGQUFyQixxQkFBcUIsMkhDaEJsQyxzWkFnQkE7OzRGREFhLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDQyxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsdUJBQXVCLENBQUM7d0RBeUJ6QixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBQTEFURk9STV9JRCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0RmlsdGVyLCBGaWx0ZXJUeXBlLCBQYWdpbmF0aW9uU2V0dGluZ3MsIFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBGaWx0ZXJzU2VydmljZSwgT3B0aW9uc1NlcnZpY2UsIFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBtYXAsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tIFwibmd4LWluZmluaXRlLXNjcm9sbFwiO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbGliLWNvbGxlY3Rpb24tZWMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbSW5maW5pdGVTY3JvbGxEaXJlY3RpdmVdLFxuXHR0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbi1lYy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsOiAnLi9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cdHByb3RlY3RlZCBfcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UgPSBpbmplY3QoUHJvZHVjdHNTZXJ2aWNlKVxuXHRwcm90ZWN0ZWQgX2FjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSlcblx0cHJvdGVjdGVkIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpXG5cblx0cHVibGljIHBhcmFtcyQgPSB0aGlzLl9hY3RpdmVSb3V0ZS5wYXJhbXNcblx0Ly9wdWJsaWMgcmVhZHkgPSB0aGlzLl9vcHRpb25zU2VydmljZS5yZWFkeVxuXHRwdWJsaWMgcXVlcnlQYXJhbXMkID0gdGhpcy5fYWN0aXZlUm91dGUucXVlcnlQYXJhbXNcblx0cHVibGljIHByb2R1Y3RzJCA9IHRoaXMuX3Byb2R1Y3RzU2VydmljZS5wcm9kdWN0cyRcblx0Ly9wdWJsaWMgcHJvZHVjdHMkID0gW11cblxuXHRwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKVxuXHRwdWJsaWMgY29uc3RhbnN0OiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSlcblxuXHRwdWJsaWMgcHJvZHVjdHM6IFByb2R1Y3RbXSA9IFtdO1xuXHRwdWJsaWMgZGVmYXVsdEZpbHRlcnM6IERlZmF1bHRGaWx0ZXJbXSA9IFtdO1xuXHRwdWJsaWMgbG9hZGluZzogQm9vbGVhbiA9IGZhbHNlO1xuXHRwdWJsaWMgY291bnRQcm9kdWN0cyA9IHNpZ25hbDxudW1iZXI+KDApXG5cdHByaXZhdGUgbG9hZGVkID0gZmFsc2U7XG5cblx0QElucHV0KCkgb3B0aW9uc0ZpbHRlcnM6IEZpbHRlclR5cGVbXSA9IFsnYWxsJ107XG5cblx0ZmlsdGVyc19zb3J0OiBGaWx0ZXJbXSA9IFtdO1xuXG5cdHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSlcblx0cHVibGljIGZpbHRlcnMkOiBPYnNlcnZhYmxlPEZpbHRlcltdPiA9IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmZpbHRlcnMkO1xuXHRwdWJsaWMgcmVhZHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fZmlsdGVyc1NlcnZpY2UucmVhZHkkO1xuXG5cdHByaXZhdGUgd2luZG93PzogV2luZG93O1xuXG5cdHB1YmxpYyBpc0xpc3Q6IGJvb2xlYW4gPSBmYWxzZVxuXHRzZXRBc0xpc3QgPSAodmFsdWU6IGJvb2xlYW4pID0+IHRoaXMuaXNMaXN0ID0gdmFsdWVcblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmdldFByb2R1Y3RzKCk7XG5cdFx0dGhpcy53aW5kb3c/LnNjcm9sbCgwLCAwKVxuXHR9XG5cblx0Ly9wcm90ZWN0ZWQgcmVhZG9ubHkgcXVlc3Rpb25zID0gc2lnbmFsPFF1ZXN0aW9uW10+KFtdKTtcblx0cHJpdmF0ZSB0b3RhbCA9IDA7XG5cdHByaXZhdGUgcGxhdGZvcm1JZDogYW55ID0gaW5qZWN0KFBMQVRGT1JNX0lEKVxuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG5cdFx0XHR0aGlzLndpbmRvdyA9IHdpbmRvd1xuXG5cdFx0fVxuXHR9XG5cblx0Z2V0UHJvZHVjdHMoKTogdm9pZCB7XG5cdFx0Y29tYmluZUxhdGVzdChbdGhpcy5wYXJhbXMkLCB0aGlzLnF1ZXJ5UGFyYW1zJF0pLnN1YnNjcmliZSh7XG5cdFx0XHRuZXh0OiAoW3BhcmFtcywgcXVlcnlQYXJhbXNdKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHBhZ2luYXRpb25TZXR0aW5nczogUGFnaW5hdGlvblNldHRpbmdzID0ge1xuXHRcdFx0XHRcdGxhdGVzdDogdHJ1ZSxcblx0XHRcdFx0XHRsaW1pdDogMTAsXG5cdFx0XHRcdFx0dHlwZTogcGFyYW1zWyd0eXBlJ10gfHwgbnVsbCxcblx0XHRcdFx0XHR2YWx1ZTogcGFyYW1zWyd2YWx1ZSddIHx8IG51bGxcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLl9wcm9kdWN0c1NlcnZpY2UuZ2V0UHJvZHVjdHNGb3JGaWx0ZXIocGFnaW5hdGlvblNldHRpbmdzLCBxdWVyeVBhcmFtc1tcInNlYXJjaFwiXSk7XG5cdFx0XHR9XG5cdFx0fSlcblx0fVxuXG5cdG9uU2Nyb2xsKCkge1xuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XG5cdFx0dGhpcy5fcHJvZHVjdHNTZXJ2aWNlLnVwZGF0ZVByb2R1Y3RzKClcblx0fVxuXG5cdC8vIE3DqXRvZG8gcGFyYSBzYWJlciBzaSB1biBwcm9kdWN0byB0aWVuZSBzdG9jayB1c2FuZG8gZWwgc2VydmljaW9cblx0cHVibGljIHByb2R1Y3RIYXNTdG9jayhwcm9kdWN0OiBQcm9kdWN0KTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX3Byb2R1Y3RzU2VydmljZS5oYXNTdG9jayhwcm9kdWN0KTtcblx0fVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJjb250YWluZXIteGwgbWItNVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbS0wIHAtMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ub25lIGQtbGctYmxvY2sgY29sLTNcIj5cbiAgICAgICAgICAgIDwhLS1GaWx0cm9zLS0+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLWxnLTkgbXQtMiBwLTBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIEBmb3IoWydhJywgJ2InLCAnYycsICdkJ10gYXMgcHJvZHVjdCl7XG5cbiAgICAgICAgICAgICAgICB9IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { FiltersService, AuthService } from '../../ec-services';
|
|
|
3
3
|
import { Filter } from '../../classes';
|
|
4
4
|
import { ProductsService } from '../../ec-services/products.service';
|
|
5
5
|
import { CoreConstantsService } from '../../constants';
|
|
6
|
-
import {
|
|
6
|
+
import { Router } from '@angular/router';
|
|
7
7
|
import { PriceRangeFilter } from '../../classes/filters/price_range-filter';
|
|
8
8
|
import { ChannelService } from '../../ec-services/channel.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
@@ -19,7 +19,6 @@ export class FiltersEcComponent {
|
|
|
19
19
|
injector = inject(Injector);
|
|
20
20
|
isAuthenticated$ = this._authService.isAuthenticated();
|
|
21
21
|
hidePrices = false;
|
|
22
|
-
route = inject(ActivatedRoute);
|
|
23
22
|
setSelect;
|
|
24
23
|
ngOnInit() {
|
|
25
24
|
}
|
|
@@ -49,56 +48,26 @@ export class FiltersEcComponent {
|
|
|
49
48
|
.pop()
|
|
50
49
|
selectedOption && this._filtersService.setFilterSelected(this.filters[0], selectedOption) */
|
|
51
50
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Maneja el click sobre un elemento de filtro (categoría, atributo, etc.).
|
|
54
|
-
*
|
|
55
|
-
* - Para categorías: navega a la URL de la categoría.
|
|
56
|
-
* - Para atributos: actualiza la query string de la URL con `attributeCodes`.
|
|
57
|
-
* - Para otros filtros: delega en FiltersService para marcar seleccionado.
|
|
58
|
-
*
|
|
59
|
-
* La idea es que **la URL siempre represente los filtros aplicados**,
|
|
60
|
-
* de modo que:
|
|
61
|
-
* - al hacer F5 no se pierdan los filtros,
|
|
62
|
-
* - los links sean compartibles (deep linking).
|
|
63
|
-
*/
|
|
64
51
|
setSelected(filter, selected) {
|
|
65
52
|
if (!filter || !selected) {
|
|
53
|
+
console.error('Filter or selected element is undefined:', { filter, selected });
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
|
-
// Si el elemento está marcado como no visible, no hacemos nada
|
|
69
|
-
if (selected.isVisible === false)
|
|
70
|
-
return;
|
|
71
56
|
if (typeof filter.setSelected !== 'function') {
|
|
57
|
+
console.error('filter.setSelected is not a function. Filter might not be an instance of the expected class:', filter);
|
|
72
58
|
return;
|
|
73
59
|
}
|
|
74
60
|
try {
|
|
61
|
+
// this._filtersService.setFilterSelected(filter, selected);
|
|
75
62
|
if (filter.type() === 'categories') {
|
|
76
|
-
// Para categorías usamos navegación por path (ej: /collection/categories/camas-elasticas)
|
|
77
63
|
if (selected.path) {
|
|
78
64
|
this.router.navigate([selected.path]);
|
|
79
65
|
}
|
|
80
|
-
return;
|
|
81
66
|
}
|
|
82
|
-
if (filter.type() === 'attributes') {
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
// Actualizamos la URL manteniendo la ruta, pero agregando `attributeCodes`
|
|
86
|
-
// Ejemplo de resultado:
|
|
87
|
-
// /collection/categories/camas-elasticas?attributeCodes=ABC123&...
|
|
88
|
-
//
|
|
89
|
-
// También reseteamos la página a null para que vuelva a la primera página
|
|
90
|
-
// cuando se aplica un nuevo filtro.
|
|
91
|
-
this.router.navigate([], {
|
|
92
|
-
relativeTo: this.route,
|
|
93
|
-
queryParams: {
|
|
94
|
-
attributeCodes: code,
|
|
95
|
-
page: null
|
|
96
|
-
},
|
|
97
|
-
queryParamsHandling: 'merge'
|
|
98
|
-
});
|
|
99
|
-
return;
|
|
67
|
+
else if (filter.type() === 'attributes') {
|
|
68
|
+
// Manejar la navegación para atributos
|
|
69
|
+
this._filtersService.setFilterSelected(filter, selected);
|
|
100
70
|
}
|
|
101
|
-
this._filtersService.setFilterSelected(filter, selected);
|
|
102
71
|
}
|
|
103
72
|
catch (error) {
|
|
104
73
|
console.error("Error while setting selected filter:", error);
|
|
@@ -122,9 +91,7 @@ export class FiltersEcComponent {
|
|
|
122
91
|
});
|
|
123
92
|
}
|
|
124
93
|
// close = () => {
|
|
125
|
-
//
|
|
126
|
-
// this.document.getElementById("filtros").classList.remove('in');
|
|
127
|
-
// }
|
|
94
|
+
// this.document.getElementById("filtros").classList.remove('in');
|
|
128
95
|
// return true;
|
|
129
96
|
// };
|
|
130
97
|
close = () => {
|
|
@@ -134,9 +101,7 @@ export class FiltersEcComponent {
|
|
|
134
101
|
return true;
|
|
135
102
|
};
|
|
136
103
|
scrollUp = () => {
|
|
137
|
-
|
|
138
|
-
window.scroll(0, 0);
|
|
139
|
-
}
|
|
104
|
+
window.scroll(0, 0);
|
|
140
105
|
return true;
|
|
141
106
|
};
|
|
142
107
|
hasAppliedFilters() {
|
|
@@ -157,36 +122,13 @@ export class FiltersEcComponent {
|
|
|
157
122
|
}) ?? false;
|
|
158
123
|
}
|
|
159
124
|
/**
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
125
|
+
* Verifica si una categoría tiene la propiedad isVisible y está marcada como visible
|
|
126
|
+
* @param category - La categoría a verificar
|
|
127
|
+
* @returns true si la categoría es visible, false en caso contrario
|
|
128
|
+
*/
|
|
164
129
|
hasVisibleProperty(category) {
|
|
165
130
|
return category.isVisible === true;
|
|
166
131
|
}
|
|
167
|
-
/** Lista visible (filtra recursivo por isVisible) */
|
|
168
|
-
getVisibleData(filter) {
|
|
169
|
-
if (!filter)
|
|
170
|
-
return [];
|
|
171
|
-
return this.filterVisibleTree(filter.data);
|
|
172
|
-
}
|
|
173
|
-
/** Children visibles de un nodo */
|
|
174
|
-
getVisibleChildren(node) {
|
|
175
|
-
return this.filterVisibleTree(node?.children ?? []);
|
|
176
|
-
}
|
|
177
|
-
/** Tiene hijos visibles? */
|
|
178
|
-
hasVisibleChildren(node) {
|
|
179
|
-
return this.getVisibleChildren(node).length > 0;
|
|
180
|
-
}
|
|
181
|
-
/** Utilidad recursiva */
|
|
182
|
-
filterVisibleTree(list = []) {
|
|
183
|
-
return (list ?? [])
|
|
184
|
-
.filter(n => n.isVisible === true)
|
|
185
|
-
.map(n => ({
|
|
186
|
-
...n,
|
|
187
|
-
children: this.filterVisibleTree(n.children ?? [])
|
|
188
|
-
}));
|
|
189
|
-
}
|
|
190
132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FiltersEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
191
133
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FiltersEcComponent, isStandalone: true, selector: "lib-filters-ec", inputs: { setSelect: "setSelect" }, ngImport: i0, template: "<p>filters-ec works!</p>\n", styles: [""] });
|
|
192
134
|
}
|
|
@@ -196,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
196
138
|
}], ctorParameters: () => [], propDecorators: { setSelect: [{
|
|
197
139
|
type: Input
|
|
198
140
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9maWx0ZXJzLWVjL2ZpbHRlcnMtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvZmlsdGVycy1lYy9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBeUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBVW5FLE1BQU0sT0FBTyxrQkFBa0I7SUFFbkIsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekQsZ0JBQWdCLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1RCxVQUFVLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFD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U0FDckQsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO3dHQW5OUSxrQkFBa0I7NEZBQWxCLGtCQUFrQiw4R0NsQi9CLDRCQUNBOzs0RkRpQmEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNJLGdCQUFnQixjQUNkLElBQUksV0FDUCxFQUFFO3dEQW1CRixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSwgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzJztcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUsIFBhZ2luYXRpb25TZXR0aW5ncyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFByaWNlUmFuZ2VGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlcnMvcHJpY2VfcmFuZ2UtZmlsdGVyJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMvY2hhbm5lbC5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1maWx0ZXJzLWVjJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZmlsdGVycy1lYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0VjQ29tcG9uZW50IHtcblxuICAgIHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfZmlsdGVyc1NlcnZpY2U6IEZpbHRlcnNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNTZXJ2aWNlKTtcbiAgICBwcml2YXRlIF9wcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSA9IGluamVjdChQcm9kdWN0c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX2NvbnN0YW50czogQ29yZUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwdWJsaWMgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcbiAgICBwdWJsaWMgZmlsdGVyJCA9IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmZpbHRlcnMkO1xuICAgIHB1YmxpYyBzaG93UHJpY2VzT25seVRvTG9nZ2VkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuX2F1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xuICAgIHB1YmxpYyBoaWRlUHJpY2VzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gICAgQElucHV0KCkgc2V0U2VsZWN0OiBhbnk7XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5maWx0ZXJzJC5zdWJzY3JpYmUoKGZpbHRlcnM6IEZpbHRlcltdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbFNlcnZpY2UpLmNoYW5uZWwkLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjaGFubmVsLnNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9ICEhY2hhbm5lbC5oaWRlUHJpY2VzO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqIDEpIFBhcmEgY3VhbmRvIG1lIHBpZGVuICdwcmljZV9yYW5nZScsIGRldnVlbHZvIFByaWNlUmFuZ2VGaWx0ZXIgKi9cbiAgICBwdWJsaWMgZ2V0U3BlY2lmaWNGaWx0ZXIodHlwZTogJ3ByaWNlX3JhbmdlJyk6IFByaWNlUmFuZ2VGaWx0ZXIgfCBudWxsO1xuXG4gICAgLyoqIDIpIFBhcmEgY3VhbHF1aWVyIG90cm8gRmlsdGVyVHlwZSwgZGV2dWVsdm8gRmlsdGVyICovXG4gICAgcHVibGljIGdldFNwZWNpZmljRmlsdGVyKHR5cGU6IEZpbHRlclR5cGUpOiBGaWx0ZXIgfCBudWxsO1xuICAgIHB1YmxpYyBnZXRTcGVjaWZpY0ZpbHRlcih0eXBlOiBGaWx0ZXJUeXBlKTogRmlsdGVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09IHR5cGUpO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3ByaWNlX3JhbmdlJyAmJiBmaWx0ZXIgJiYgIShmaWx0ZXIgaW5zdGFuY2VvZiBGaWx0ZXIpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFeHBlY3RlZCBhIEZpbHRlciBpbnN0YW5jZSBidXQgZ290YCwgZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyIHx8IG51bGw7XG4gICAgfVxuXG4gICAgLypPYnRpZW5lIGVsIGZpbHRybyBlbGVnaWRvIGVuIGVsIHNlbGVjdCwgbG8gcGFzYSBhbCBzZXRTZWxlY3RcbiAgICBwYXJhIHF1ZSBzZSBtYXJxdWUgc2VsZWNjaW9uYWRvKi9cbiAgICBvblNlbGVjdChldmVudDogYW55LCBmaWx0ZXI6IEZpbHRlckVsZW1lbnRbXSB8IG51bGwpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZmlsdGVyKVxuICAgICAgICAvKiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBmaWx0ZXJcbiAgICAgICAgICAgICAuZmxhdE1hcChjYXRlZ29yeSA9PiBjYXRlZ29yeS5jaGlsZHJlbilcbiAgICAgICAgICAgICAuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24/LmNvZGUgPT09IGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgICAucG9wKClcbiAgICAgICAgIHNlbGVjdGVkT3B0aW9uICYmIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnNldEZpbHRlclNlbGVjdGVkKHRoaXMuZmlsdGVyc1swXSwgc2VsZWN0ZWRPcHRpb24pICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFuZWphIGVsIGNsaWNrIHNvYnJlIHVuIGVsZW1lbnRvIGRlIGZpbHRybyAoY2F0ZWdvcsOtYSwgYXRyaWJ1dG8sIGV0Yy4pLlxuICAgICAqXG4gICAgICogLSBQYXJhIGNhdGVnb3LDrWFzOiBuYXZlZ2EgYSBsYSBVUkwgZGUgbGEgY2F0ZWdvcsOtYS5cbiAgICAgKiAtIFBhcmEgYXRyaWJ1dG9zOiBhY3R1YWxpemEgbGEgcXVlcnkgc3RyaW5nIGRlIGxhIFVSTCBjb24gYGF0dHJpYnV0ZUNvZGVzYC5cbiAgICAgKiAtIFBhcmEgb3Ryb3MgZmlsdHJvczogZGVsZWdhIGVuIEZpbHRlcnNTZXJ2aWNlIHBhcmEgbWFyY2FyIHNlbGVjY2lvbmFkby5cbiAgICAgKlxuICAgICAqIExhIGlkZWEgZXMgcXVlICoqbGEgVVJMIHNpZW1wcmUgcmVwcmVzZW50ZSBsb3MgZmlsdHJvcyBhcGxpY2Fkb3MqKixcbiAgICAgKiBkZSBtb2RvIHF1ZTpcbiAgICAgKiAgIC0gYWwgaGFjZXIgRjUgbm8gc2UgcGllcmRhbiBsb3MgZmlsdHJvcyxcbiAgICAgKiAgIC0gbG9zIGxpbmtzIHNlYW4gY29tcGFydGlibGVzIChkZWVwIGxpbmtpbmcpLlxuICAgICAqL1xuICAgIHNldFNlbGVjdGVkKGZpbHRlcjogRmlsdGVyIHwgbnVsbCwgc2VsZWN0ZWQ6IEZpbHRlckVsZW1lbnQgfCBudWxsKSB7XG4gICAgICAgIGlmICghZmlsdGVyIHx8ICFzZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2kgZWwgZWxlbWVudG8gZXN0w6EgbWFyY2FkbyBjb21vIG5vIHZpc2libGUsIG5vIGhhY2Vtb3MgbmFkYVxuICAgICAgICBpZiAoKHNlbGVjdGVkIGFzIGFueSkuaXNWaXNpYmxlID09PSBmYWxzZSkgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0eXBlb2YgKGZpbHRlciBhcyBhbnkpLnNldFNlbGVjdGVkICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlKCkgPT09ICdjYXRlZ29yaWVzJykge1xuICAgICAgICAgICAgICAgIC8vIFBhcmEgY2F0ZWdvcsOtYXMgdXNhbW9zIG5hdmVnYWNpw7NuIHBvciBwYXRoIChlajogL2NvbGxlY3Rpb24vY2F0ZWdvcmllcy9jYW1hcy1lbGFzdGljYXMpXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkLnBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3NlbGVjdGVkLnBhdGhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlKCkgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgICAgICAgIC8vIEVsIGJhY2tlbmQgZXNwZXJhIHF1ZSBsZSBtYW5kZW1vcyBlbCBcImNvZGVcIiBkZWwgYXRyaWJ1dG8gZW4gZWwgcXVlcnkgcGFyYW1cbiAgICAgICAgICAgICAgICBjb25zdCBjb2RlID0gKHNlbGVjdGVkIGFzIGFueSkuY29kZSB8fCAoc2VsZWN0ZWQgYXMgYW55KS52YWx1ZSB8fCBudWxsO1xuXG4gICAgICAgICAgICAgICAgLy8gQWN0dWFsaXphbW9zIGxhIFVSTCBtYW50ZW5pZW5kbyBsYSBydXRhLCBwZXJvIGFncmVnYW5kbyBgYXR0cmlidXRlQ29kZXNgXG4gICAgICAgICAgICAgICAgLy8gRWplbXBsbyBkZSByZXN1bHRhZG86XG4gICAgICAgICAgICAgICAgLy8gICAvY29sbGVjdGlvbi9jYXRlZ29yaWVzL2NhbWFzLWVsYXN0aWNhcz9hdHRyaWJ1dGVDb2Rlcz1BQkMxMjMmLi4uXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAvLyBUYW1iacOpbiByZXNldGVhbW9zIGxhIHDDoWdpbmEgYSBudWxsIHBhcmEgcXVlIHZ1ZWx2YSBhIGxhIHByaW1lcmEgcMOhZ2luYVxuICAgICAgICAgICAgICAgIC8vIGN1YW5kbyBzZSBhcGxpY2EgdW4gbnVldm8gZmlsdHJvLlxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVDb2RlczogY29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fZmlsdGVyc1NlcnZpY2Uuc2V0RmlsdGVyU2VsZWN0ZWQoZmlsdGVyLCBzZWxlY3RlZCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciB3aGlsZSBzZXR0aW5nIHNlbGVjdGVkIGZpbHRlcjpcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5pcXVlU2VsZWN0aW9uKGZpbHRlcjogeyBkYXRhOiBhbnlbXTsgfSwgZmlsdGVyQ2hpbGQ6IGFueSkge1xuICAgICAgICAvLyBCdXNjYXIgc2kgaGF5IHVuIGZpbHRybyBkZSB0aXBvIFByaWNlUmFuZ2VGaWx0ZXIgZW4gbGEgbGlzdGEgZGUgZmlsdHJvc1xuICAgICAgICBjb25zdCBwcmljZVJhbmdlRmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoZiA9PiBmIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcik7XG5cbiAgICAgICAgaWYgKHByaWNlUmFuZ2VGaWx0ZXIpIHtcbiAgICAgICAgICAgIHByaWNlUmFuZ2VGaWx0ZXIucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXIuZGF0YS5mb3JFYWNoKGZpbHRlckVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJFbGVtZW50LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWx0ZXJFbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGZpbHRlckNoaWxkcmVuOiBGaWx0ZXJFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckNoaWxkcmVuICE9IGZpbHRlckNoaWxkICYmIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vICBjbG9zZSA9ICgpID0+IHtcbiAgICAvLyAgICAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vICAgICAgICAgdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZpbHRyb3NcIikuY2xhc3NMaXN0LnJlbW92ZSgnaW4nKTtcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICAgcmV0dXJuIHRydWU7XG4gICAgLy8gIH07XG5cblxuICAgIGNsb3NlID0gKCkgPT4ge1xuICAgICAgICAvLyB0aGlzLmNvbnN0cy5tb2JpbGUoKVxuICAgICAgICAvLyAgICAgID8gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImFjY29yZGlvbkV4YW1wbGVcIikuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpXG4gICAgICAgIC8vICAgICAgOiB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFjY29yZGlvbl9pZCkuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuXG5cbiAgICBzY3JvbGxVcCA9ICgpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG5cblxuXG5cbiAgICBoYXNBcHBsaWVkRmlsdGVycygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVycz8uc29tZSgoZmlsdGVyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIudHlwZT8uKCkgPT09ICdwcmljZV9yYW5nZScpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaW5TZXQgPSBmaWx0ZXIuY3VycmVudE1pblByaWNlICE9PSBudWxsICYmIGZpbHRlci5jdXJyZW50TWluUHJpY2UgIT09IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF4U2V0ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCAmJiBmaWx0ZXIuY3VycmVudE1heFByaWNlICE9PSBmaWx0ZXIubWF4UHJpY2U7XG4gICAgICAgICAgICAgICAgaWYgKG1pblNldCB8fCBtYXhTZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyLmRhdGE/LnNvbWUoKGZpbHRlckVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlckVsZW1lbnQuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJFbGVtZW50LmNoaWxkcmVuLnNvbWUoKGNoaWxkOiBhbnkpID0+IGNoaWxkLnNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkgPz8gZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFZlcmlmaWNhIHNpIHVuYSBjYXRlZ29yw61hIHRpZW5lIGxhIHByb3BpZWRhZCBpc1Zpc2libGUgeSBlc3TDoSBtYXJjYWRhIGNvbW8gdmlzaWJsZVxuICAgICAqIEBwYXJhbSBjYXRlZ29yeSAtIExhIGNhdGVnb3LDrWEgYSB2ZXJpZmljYXJcbiAgICAgKiBAcmV0dXJucyB0cnVlIHNpIGxhIGNhdGVnb3LDrWEgZXMgdmlzaWJsZSwgZmFsc2UgZW4gY2FzbyBjb250cmFyaW9cbiAgICAgKi9cbiAgICBoYXNWaXNpYmxlUHJvcGVydHkoY2F0ZWdvcnk6IEZpbHRlckVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChjYXRlZ29yeSBhcyBhbnkpLmlzVmlzaWJsZSA9PT0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogTGlzdGEgdmlzaWJsZSAoZmlsdHJhIHJlY3Vyc2l2byBwb3IgaXNWaXNpYmxlKSAqL1xuICAgIHB1YmxpYyBnZXRWaXNpYmxlRGF0YShmaWx0ZXI6IEZpbHRlciB8IG51bGwpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICBpZiAoIWZpbHRlcikgcmV0dXJuIFtdO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJWaXNpYmxlVHJlZShmaWx0ZXIuZGF0YSk7XG4gICAgfVxuXG4gICAgLyoqIENoaWxkcmVuIHZpc2libGVzIGRlIHVuIG5vZG8gKi9cbiAgICBwdWJsaWMgZ2V0VmlzaWJsZUNoaWxkcmVuKG5vZGU/OiBGaWx0ZXJFbGVtZW50KTogRmlsdGVyRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyVmlzaWJsZVRyZWUobm9kZT8uY2hpbGRyZW4gPz8gW10pO1xuICAgIH1cblxuICAgIC8qKiBUaWVuZSBoaWpvcyB2aXNpYmxlcz8gKi9cbiAgICBwdWJsaWMgaGFzVmlzaWJsZUNoaWxkcmVuKG5vZGU/OiBGaWx0ZXJFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZpc2libGVDaGlsZHJlbihub2RlKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKiBVdGlsaWRhZCByZWN1cnNpdmEgKi9cbiAgICBwcml2YXRlIGZpbHRlclZpc2libGVUcmVlKGxpc3Q6IEZpbHRlckVsZW1lbnRbXSA9IFtdKTogRmlsdGVyRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIChsaXN0ID8/IFtdKVxuICAgICAgICAgICAgLmZpbHRlcihuID0+IChuIGFzIGFueSkuaXNWaXNpYmxlID09PSB0cnVlKVxuICAgICAgICAgICAgLm1hcChuID0+ICh7XG4gICAgICAgICAgICAgICAgLi4ubixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5maWx0ZXJWaXNpYmxlVHJlZShuLmNoaWxkcmVuID8/IFtdKVxuICAgICAgICAgICAgfSkpO1xuICAgIH1cbn1cbiIsIjxwPmZpbHRlcnMtZWMgd29ya3MhPC9wPlxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9maWx0ZXJzLWVjL2ZpbHRlcnMtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvZmlsdGVycy1lYy9maWx0ZXJzLWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBeUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUcsV0FBVyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFVbkUsTUFBTSxPQUFPLGtCQUFrQjtJQUVuQixZQUFZLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxnQkFBZ0IsR0FBb0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVELFVBQVUsR0FBeUIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEUsTUFB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LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSAsIEF1dGhTZXJ2aWNlfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzJztcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUsIFBhZ2luYXRpb25TZXR0aW5ncyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXInO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcy9jaGFubmVsLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWZpbHRlcnMtZWMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlcnMtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9maWx0ZXJzLWVjLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzRWNDb21wb25lbnQge1xuXG4gICAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgICBwcml2YXRlIF9maWx0ZXJzU2VydmljZTogRmlsdGVyc1NlcnZpY2UgPSBpbmplY3QoRmlsdGVyc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX3Byb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RzU2VydmljZSk7XG4gICAgcHJpdmF0ZSBfY29uc3RhbnRzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuICAgIHB1YmxpYyBmaWx0ZXIkID0gdGhpcy5fZmlsdGVyc1NlcnZpY2UuZmlsdGVycyQ7XG4gICAgcHVibGljIHNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VyczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXHRwdWJsaWMgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuX2F1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xuICAgIHB1YmxpYyBoaWRlUHJpY2VzOiBib29sZWFuID0gZmFsc2U7XG4gICAgXG4gICAgQElucHV0KCkgc2V0U2VsZWN0OiBhbnk7XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5maWx0ZXJzJC5zdWJzY3JpYmUoKGZpbHRlcnM6IEZpbHRlcltdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbFNlcnZpY2UpLmNoYW5uZWwkLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjaGFubmVsLnNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycztcbiAgICAgICAgICAgIHRoaXMuaGlkZVByaWNlcyA9ICEhY2hhbm5lbC5oaWRlUHJpY2VzO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqIDEpIFBhcmEgY3VhbmRvIG1lIHBpZGVuICdwcmljZV9yYW5nZScsIGRldnVlbHZvIFByaWNlUmFuZ2VGaWx0ZXIgKi9cbiAgICBwdWJsaWMgZ2V0U3BlY2lmaWNGaWx0ZXIodHlwZTogJ3ByaWNlX3JhbmdlJyk6IFByaWNlUmFuZ2VGaWx0ZXIgfCBudWxsO1xuXG4gICAgLyoqIDIpIFBhcmEgY3VhbHF1aWVyIG90cm8gRmlsdGVyVHlwZSwgZGV2dWVsdm8gRmlsdGVyICovXG4gICAgcHVibGljIGdldFNwZWNpZmljRmlsdGVyKHR5cGU6IEZpbHRlclR5cGUpOiBGaWx0ZXIgfCBudWxsO1xuICAgIHB1YmxpYyBnZXRTcGVjaWZpY0ZpbHRlcih0eXBlOiBGaWx0ZXJUeXBlKTogRmlsdGVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVycy5maW5kKGYgPT4gZi50eXBlKCkgPT09IHR5cGUpO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3ByaWNlX3JhbmdlJyAmJiBmaWx0ZXIgJiYgIShmaWx0ZXIgaW5zdGFuY2VvZiBGaWx0ZXIpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFeHBlY3RlZCBhIEZpbHRlciBpbnN0YW5jZSBidXQgZ290YCwgZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyIHx8IG51bGw7XG4gICAgfVxuXG4gICAgLypPYnRpZW5lIGVsIGZpbHRybyBlbGVnaWRvIGVuIGVsIHNlbGVjdCwgbG8gcGFzYSBhbCBzZXRTZWxlY3RcbiAgICBwYXJhIHF1ZSBzZSBtYXJxdWUgc2VsZWNjaW9uYWRvKi9cbiAgICBvblNlbGVjdChldmVudDogYW55LCBmaWx0ZXI6IEZpbHRlckVsZW1lbnRbXSB8IG51bGwpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZmlsdGVyKVxuICAgICAgICAvKiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBmaWx0ZXJcbiAgICAgICAgICAgICAuZmxhdE1hcChjYXRlZ29yeSA9PiBjYXRlZ29yeS5jaGlsZHJlbilcbiAgICAgICAgICAgICAuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24/LmNvZGUgPT09IGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgICAucG9wKClcbiAgICAgICAgIHNlbGVjdGVkT3B0aW9uICYmIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnNldEZpbHRlclNlbGVjdGVkKHRoaXMuZmlsdGVyc1swXSwgc2VsZWN0ZWRPcHRpb24pICovXG4gICAgfVxuXG4gICAgc2V0U2VsZWN0ZWQoZmlsdGVyOiBGaWx0ZXIgfCBudWxsLCBzZWxlY3RlZDogRmlsdGVyRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgaWYgKCFmaWx0ZXIgfHwgIXNlbGVjdGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGaWx0ZXIgb3Igc2VsZWN0ZWQgZWxlbWVudCBpcyB1bmRlZmluZWQ6JywgeyBmaWx0ZXIsIHNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiAoZmlsdGVyIGFzIGFueSkuc2V0U2VsZWN0ZWQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ZpbHRlci5zZXRTZWxlY3RlZCBpcyBub3QgYSBmdW5jdGlvbi4gRmlsdGVyIG1pZ2h0IG5vdCBiZSBhbiBpbnN0YW5jZSBvZiB0aGUgZXhwZWN0ZWQgY2xhc3M6JywgZmlsdGVyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyB0aGlzLl9maWx0ZXJzU2VydmljZS5zZXRGaWx0ZXJTZWxlY3RlZChmaWx0ZXIsIHNlbGVjdGVkKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIudHlwZSgpID09PSAnY2F0ZWdvcmllcycpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWQucGF0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbc2VsZWN0ZWQucGF0aF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLnR5cGUoKSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgICAgICAgLy8gTWFuZWphciBsYSBuYXZlZ2FjacOzbiBwYXJhIGF0cmlidXRvc1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnNldEZpbHRlclNlbGVjdGVkKGZpbHRlciwgc2VsZWN0ZWQpO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciB3aGlsZSBzZXR0aW5nIHNlbGVjdGVkIGZpbHRlcjpcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5pcXVlU2VsZWN0aW9uKGZpbHRlcjogeyBkYXRhOiBhbnlbXTsgfSwgZmlsdGVyQ2hpbGQ6IGFueSkge1xuICAgICAgICAvLyBCdXNjYXIgc2kgaGF5IHVuIGZpbHRybyBkZSB0aXBvIFByaWNlUmFuZ2VGaWx0ZXIgZW4gbGEgbGlzdGEgZGUgZmlsdHJvc1xuICAgICAgICBjb25zdCBwcmljZVJhbmdlRmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoZiA9PiBmIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcik7XG5cbiAgICAgICAgaWYgKHByaWNlUmFuZ2VGaWx0ZXIpIHtcbiAgICAgICAgICAgIHByaWNlUmFuZ2VGaWx0ZXIucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXIuZGF0YS5mb3JFYWNoKGZpbHRlckVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJFbGVtZW50LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWx0ZXJFbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGZpbHRlckNoaWxkcmVuOiBGaWx0ZXJFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlckNoaWxkcmVuICE9IGZpbHRlckNoaWxkICYmIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckNoaWxkcmVuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vICBjbG9zZSA9ICgpID0+IHtcbiAgICAvLyAgICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsdHJvc1wiKS5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAgIC8vICB9O1xuXG5cbiAgICBjbG9zZSA9ICgpID0+IHtcbiAgICAgICAgLy8gdGhpcy5jb25zdHMubW9iaWxlKClcbiAgICAgICAgLy8gICAgICA/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhY2NvcmRpb25FeGFtcGxlXCIpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKVxuICAgICAgICAvLyAgICAgIDogdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhY2NvcmRpb25faWQpLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuXG4gICAgc2Nyb2xsVXAgPSAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGwoMCwgMCk7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG5cblxuXG5cbiAgICBoYXNBcHBsaWVkRmlsdGVycygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVycz8uc29tZSgoZmlsdGVyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIudHlwZT8uKCkgPT09ICdwcmljZV9yYW5nZScpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaW5TZXQgPSBmaWx0ZXIuY3VycmVudE1pblByaWNlICE9PSBudWxsICYmIGZpbHRlci5jdXJyZW50TWluUHJpY2UgIT09IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF4U2V0ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCAmJiBmaWx0ZXIuY3VycmVudE1heFByaWNlICE9PSBmaWx0ZXIubWF4UHJpY2U7XG4gICAgICAgICAgICAgICAgaWYgKG1pblNldCB8fCBtYXhTZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyLmRhdGE/LnNvbWUoKGZpbHRlckVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlckVsZW1lbnQuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJFbGVtZW50LmNoaWxkcmVuLnNvbWUoKGNoaWxkOiBhbnkpID0+IGNoaWxkLnNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckVsZW1lbnQuc2VsZWN0ZWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkgPz8gZmFsc2U7XG4gICAgfVxuLyoqXG4gICAqIFZlcmlmaWNhIHNpIHVuYSBjYXRlZ29yw61hIHRpZW5lIGxhIHByb3BpZWRhZCBpc1Zpc2libGUgeSBlc3TDoSBtYXJjYWRhIGNvbW8gdmlzaWJsZVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgLSBMYSBjYXRlZ29yw61hIGEgdmVyaWZpY2FyXG4gICAqIEByZXR1cm5zIHRydWUgc2kgbGEgY2F0ZWdvcsOtYSBlcyB2aXNpYmxlLCBmYWxzZSBlbiBjYXNvIGNvbnRyYXJpb1xuICAgKi9cbiAgICBoYXNWaXNpYmxlUHJvcGVydHkoY2F0ZWdvcnk6IEZpbHRlckVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChjYXRlZ29yeSBhcyBhbnkpLmlzVmlzaWJsZSA9PT0gdHJ1ZTtcbiAgICB9XG59XG4iLCI8cD5maWx0ZXJzLWVjIHdvcmtzITwvcD5cbiJdfQ==
|