ng-easycommerce-v18 0.3.19-beta.1 → 0.3.20-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.
Files changed (212) hide show
  1. package/README.md +110 -96
  2. package/assets/decidirFormEc.html +514 -514
  3. package/assets/ec-i18n/ct.json +282 -282
  4. package/assets/ec-i18n/en.json +0 -1
  5. package/assets/ec-i18n/es.json +433 -434
  6. package/assets/ec-i18n/fr.json +0 -0
  7. package/assets/ec-i18n/gl.json +282 -282
  8. package/assets/ec-i18n/pr.json +282 -282
  9. package/assets/images/cards-occasional.svg +21 -21
  10. package/assets/recaptcha/recaptcha-site-keys.json +3 -3
  11. package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
  12. package/assets/recaptcha/recaptcha-sites.json +52 -52
  13. package/esm2022/lib/api/connection.service.mjs +1 -1
  14. package/esm2022/lib/classes/checkout/steps.mjs +1 -1
  15. package/esm2022/lib/classes/component-helper.mjs +1 -1
  16. package/esm2022/lib/classes/filters/attributes-filter.mjs +74 -4
  17. package/esm2022/lib/classes/filters/category-filter.mjs +105 -26
  18. package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
  19. package/esm2022/lib/classes/filters/filter-factory.mjs +7 -3
  20. package/esm2022/lib/classes/filters/filter.mjs +1 -1
  21. package/esm2022/lib/classes/filters/index.mjs +1 -1
  22. package/esm2022/lib/classes/filters/price_range-filter.mjs +3 -3
  23. package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
  24. package/esm2022/lib/classes/index.mjs +1 -1
  25. package/esm2022/lib/classes/user.mjs +1 -1
  26. package/esm2022/lib/constants/api.constants.service.mjs +19 -15
  27. package/esm2022/lib/constants/core.constants.service.mjs +16 -5
  28. package/esm2022/lib/constants/index.mjs +1 -1
  29. package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
  30. package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
  31. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +17 -1
  32. package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +3 -3
  33. package/esm2022/lib/ec-components/account-ec/index.mjs +1 -1
  34. package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +3 -3
  35. package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +3 -3
  36. package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +3 -3
  37. package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +3 -3
  38. package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +3 -3
  39. package/esm2022/lib/ec-components/auth-ec/index.mjs +1 -1
  40. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +28 -18
  41. package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +27 -23
  42. package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +3 -3
  43. package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +3 -3
  44. package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +3 -3
  45. package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +3 -3
  46. package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +3 -3
  47. package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +3 -3
  48. package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +3 -3
  49. package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +6 -18
  50. package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
  51. package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
  52. package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
  53. package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +3 -3
  54. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +11 -39
  55. package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
  56. package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +3 -3
  57. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +3 -3
  58. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
  59. package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +3 -3
  60. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +3 -3
  61. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
  62. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
  63. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +3 -3
  64. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +3 -3
  65. package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +3 -3
  66. package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +3 -3
  67. package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +3 -3
  68. package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +43 -19
  69. package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +1 -1
  70. package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
  71. package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
  72. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +74 -16
  73. package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
  74. package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
  75. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +43 -27
  76. package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
  77. package/esm2022/lib/ec-components/index.mjs +1 -1
  78. package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +15 -4
  79. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +12 -7
  80. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +8 -56
  81. package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
  82. package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
  83. package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
  84. package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
  85. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
  86. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
  87. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
  88. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
  89. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
  90. package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
  91. package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
  92. package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +3 -3
  93. package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +20 -11
  94. package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
  95. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +14 -8
  96. package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
  97. package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
  98. package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
  99. package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
  100. package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
  101. package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +8 -6
  102. package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +3 -3
  103. package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
  104. package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
  105. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +3 -3
  106. package/esm2022/lib/ec-directive/index.mjs +1 -1
  107. package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
  108. package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
  109. package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
  110. package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
  111. package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
  112. package/esm2022/lib/ec-pipe/index.mjs +1 -1
  113. package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
  114. package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
  115. package/esm2022/lib/ec-services/analytics/doppler.service.mjs +1 -1
  116. package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +1 -1
  117. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -4
  118. package/esm2022/lib/ec-services/analytics/gtm.service.mjs +10 -6
  119. package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
  120. package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +17 -18
  121. package/esm2022/lib/ec-services/auth.service.mjs +1 -1
  122. package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
  123. package/esm2022/lib/ec-services/base-api.service.mjs +148 -0
  124. package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
  125. package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
  126. package/esm2022/lib/ec-services/cart.service.mjs +4 -22
  127. package/esm2022/lib/ec-services/channel.service.mjs +1 -1
  128. package/esm2022/lib/ec-services/checkout.service.mjs +4 -2
  129. package/esm2022/lib/ec-services/currency.service.mjs +1 -1
  130. package/esm2022/lib/ec-services/filters.service.mjs +124 -18
  131. package/esm2022/lib/ec-services/form.service.mjs +1 -1
  132. package/esm2022/lib/ec-services/index.mjs +3 -1
  133. package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
  134. package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
  135. package/esm2022/lib/ec-services/options.service.mjs +1 -1
  136. package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
  137. package/esm2022/lib/ec-services/orders.service.mjs +1 -1
  138. package/esm2022/lib/ec-services/pagination.service.mjs +70 -22
  139. package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
  140. package/esm2022/lib/ec-services/payment.service.mjs +1 -1
  141. package/esm2022/lib/ec-services/product-detail.service.mjs +1 -11
  142. package/esm2022/lib/ec-services/products.service.mjs +5 -3
  143. package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
  144. package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
  145. package/esm2022/lib/ec-services/runtime-config.service.mjs +190 -0
  146. package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
  147. package/esm2022/lib/ec-services/stores.service.mjs +1 -1
  148. package/esm2022/lib/ec-services/test.service.mjs +1 -1
  149. package/esm2022/lib/ec-services/toast.service.mjs +1 -1
  150. package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
  151. package/esm2022/lib/interceptors/index.mjs +2 -1
  152. package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +41 -0
  153. package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
  154. package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
  155. package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
  156. package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
  157. package/esm2022/lib/interfaces/blocks.mjs +1 -1
  158. package/esm2022/lib/interfaces/checkout.mjs +1 -1
  159. package/esm2022/lib/interfaces/connection.mjs +1 -1
  160. package/esm2022/lib/interfaces/coupon.mjs +1 -1
  161. package/esm2022/lib/interfaces/currency.mjs +1 -1
  162. package/esm2022/lib/interfaces/deserializable.mjs +1 -1
  163. package/esm2022/lib/interfaces/environment.mjs +1 -1
  164. package/esm2022/lib/interfaces/faqs.mjs +1 -1
  165. package/esm2022/lib/interfaces/filter.mjs +1 -1
  166. package/esm2022/lib/interfaces/index.mjs +2 -1
  167. package/esm2022/lib/interfaces/options.mjs +1 -1
  168. package/esm2022/lib/interfaces/pagination.mjs +1 -1
  169. package/esm2022/lib/interfaces/parameter.mjs +1 -1
  170. package/esm2022/lib/interfaces/product.mjs +1 -1
  171. package/esm2022/lib/interfaces/runtime-config.mjs +2 -0
  172. package/esm2022/lib/interfaces/step.mjs +1 -1
  173. package/esm2022/lib/interfaces/storage.mjs +1 -1
  174. package/esm2022/lib/interfaces/store.mjs +1 -1
  175. package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
  176. package/esm2022/lib/providers/index.mjs +2 -1
  177. package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
  178. package/esm2022/lib/providers/provideRuntimeConfig.mjs +42 -0
  179. package/esm2022/lib/stores/currency.store.mjs +1 -1
  180. package/esm2022/public-api.mjs +1 -1
  181. package/fesm2022/ng-easycommerce-v18.mjs +1285 -509
  182. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  183. package/lib/classes/filters/attributes-filter.d.ts +24 -0
  184. package/lib/classes/filters/category-filter.d.ts +30 -3
  185. package/lib/constants/api.constants.service.d.ts +1 -0
  186. package/lib/constants/core.constants.service.d.ts +7 -0
  187. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +12 -0
  188. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
  189. package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +1 -1
  190. package/lib/ec-components/collection-ec/collection-ec.component.d.ts +5 -4
  191. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +25 -4
  192. package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +2 -0
  193. package/lib/ec-components/product-ec/product-ec.component.d.ts +0 -4
  194. package/lib/ec-services/analytics/gtm.service.d.ts +1 -1
  195. package/lib/ec-services/base-api.service.d.ts +64 -0
  196. package/lib/ec-services/cart.service.d.ts +1 -1
  197. package/lib/ec-services/filters.service.d.ts +18 -1
  198. package/lib/ec-services/index.d.ts +2 -0
  199. package/lib/ec-services/pagination.service.d.ts +21 -5
  200. package/lib/ec-services/products.service.d.ts +1 -1
  201. package/lib/ec-services/runtime-config.service.d.ts +63 -0
  202. package/lib/interceptors/index.d.ts +1 -0
  203. package/lib/interceptors/runtime-config.interceptor.d.ts +7 -0
  204. package/lib/interfaces/environment.d.ts +1 -0
  205. package/lib/interfaces/filter.d.ts +1 -0
  206. package/lib/interfaces/index.d.ts +1 -0
  207. package/lib/interfaces/options.d.ts +2 -0
  208. package/lib/interfaces/product.d.ts +0 -6
  209. package/lib/interfaces/runtime-config.d.ts +22 -0
  210. package/lib/providers/index.d.ts +1 -0
  211. package/lib/providers/provideRuntimeConfig.d.ts +13 -0
  212. package/package.json +1 -1
@@ -1,39 +1,39 @@
1
- {
2
- "elden.com": "tanda_2",
3
- "smeg.com.ar": "tanda_2",
4
- "d2dcor.com": "tanda_2",
5
- "promesse.com.ar": "tanda_2",
6
- "almacendelmolino.com.ar": "tanda_2",
7
- "womanbypromesse.com.ar": "tanda_2",
8
- "promessemayorista.com.ar": "tanda_2",
9
- "outmall.com.ar": "tanda_2",
10
- "profesionales.myc-homelinens.com": "tanda_2",
11
- "opositoresinvencibles.com": "tanda_2",
12
- "myc-homelinens.com": "tanda_2",
13
- "vinals.es": "tanda_2",
14
- "guolis.com.ar": "tanda_2",
15
- "b2b.vidal-vidal.com": "tanda_2",
16
- "lapequeteria.com": "tanda_2",
17
- "backend.almacendelmolino.com.ar": "tanda_2",
18
- "bonjourlulu.com.ar": "tanda_2",
19
- "shop.bonjourlulu.com.ar": "tanda_2",
20
- "chispa.com.py": "tanda_2",
21
- "backend.tienda.dos-hermanos.com": "tanda_2",
22
- "www.elden.com": "tanda_2",
23
- "www.elden.com.ar": "tanda_2",
24
- "www.subzero.com.ar": "tanda_2",
25
- "www.subzero-wolf.com.ar": "tanda_2",
26
- "www.solac.com.ar": "tanda_2",
27
- "www.smeg.com.ar": "tanda_2",
28
- "www.guolis.com.ar": "tanda_2",
29
- "ibashop.com.ar": "tanda_2",
30
- "b2b.idargentina.com": "tanda_2",
31
- "backend.lapequeteria.com": "tanda_2",
32
- "maxifarma.com.py": "tanda_2",
33
- "andresgourmetseleccion.es": "tanda_2",
34
- "www.estacioncentral.com.ar": "tanda_2",
35
- "thecouples.com.ar": "tanda_2",
36
- "saiar.com.ar": "tanda_2",
37
- "adctecnologia.com": "tanda_2",
38
- "tekcenter.com.ar" : "tanda_2"
1
+ {
2
+ "elden.com": "tanda_2",
3
+ "smeg.com.ar": "tanda_2",
4
+ "d2dcor.com": "tanda_2",
5
+ "promesse.com.ar": "tanda_2",
6
+ "almacendelmolino.com.ar": "tanda_2",
7
+ "womanbypromesse.com.ar": "tanda_2",
8
+ "promessemayorista.com.ar": "tanda_2",
9
+ "outmall.com.ar": "tanda_2",
10
+ "profesionales.myc-homelinens.com": "tanda_2",
11
+ "opositoresinvencibles.com": "tanda_2",
12
+ "myc-homelinens.com": "tanda_2",
13
+ "vinals.es": "tanda_2",
14
+ "guolis.com.ar": "tanda_2",
15
+ "b2b.vidal-vidal.com": "tanda_2",
16
+ "lapequeteria.com": "tanda_2",
17
+ "backend.almacendelmolino.com.ar": "tanda_2",
18
+ "bonjourlulu.com.ar": "tanda_2",
19
+ "shop.bonjourlulu.com.ar": "tanda_2",
20
+ "chispa.com.py": "tanda_2",
21
+ "backend.tienda.dos-hermanos.com": "tanda_2",
22
+ "www.elden.com": "tanda_2",
23
+ "www.elden.com.ar": "tanda_2",
24
+ "www.subzero.com.ar": "tanda_2",
25
+ "www.subzero-wolf.com.ar": "tanda_2",
26
+ "www.solac.com.ar": "tanda_2",
27
+ "www.smeg.com.ar": "tanda_2",
28
+ "www.guolis.com.ar": "tanda_2",
29
+ "ibashop.com.ar": "tanda_2",
30
+ "b2b.idargentina.com": "tanda_2",
31
+ "backend.lapequeteria.com": "tanda_2",
32
+ "maxifarma.com.py": "tanda_2",
33
+ "andresgourmetseleccion.es": "tanda_2",
34
+ "www.estacioncentral.com.ar": "tanda_2",
35
+ "thecouples.com.ar": "tanda_2",
36
+ "saiar.com.ar": "tanda_2",
37
+ "adctecnologia.com": "tanda_2",
38
+ "tekcenter.com.ar" : "tanda_2"
39
39
  }
@@ -1,53 +1,53 @@
1
- {
2
- "eq.easycommercetech.com": "tanda_1",
3
- "myc.easycommercetech.tienda": "tanda_1",
4
- "chispa.easycommercetech.com": "tanda_1",
5
- "tekcenter.easycommercetech.com": "tanda_1",
6
- "doshermanos.easycommercetech.com": "tanda_1",
7
- "adctecnologia.easycommercetech.com": "tanda_1",
8
- "pbg.easycommercetech.com": "tanda_1",
9
- "elden.easycommercetech.com": "tanda_1",
10
- "ags.easycommercetech.tienda": "tanda_1",
11
- "smeg.easycommercetech.com": "tanda_1",
12
- "promesse.easycommercetech.com": "tanda_1",
13
- "d2dcor.easycommercetech.tienda": "tanda_1",
14
- "vinals.easycommercetech.tienda": "tanda_1",
15
- "scorpiostore.easycommercetech.com": "tanda_1",
16
- "almacendelmolino.easycommercetech.com": "tanda_1",
17
- "maxifarma.easycommercetech.com": "tanda_1",
18
- "guolis.easycommercetech.com": "tanda_1",
19
- "lapequeteria.easycommercetech.com": "tanda_1",
20
- "farmasun.easycommercetech.com": "tanda_1",
21
- "womanbypromesse.easycommercetech.com": "tanda_1",
22
- "promessemayorista.easycommercetech.com": "tanda_1",
23
- "outmall.easycommercetech.com": "tanda_1",
24
- "opositoresinvencibles.easycommercetech.tienda": "tanda_1",
25
- "seler.easycommercetech.tienda": "tanda_1",
26
- "converse.easycommercetech.com": "tanda_1",
27
- "id.easycommercetech.com": "tanda_1",
28
- "lasoreiro.easycommercetech.com": "tanda_1",
29
- "eldenv2.easycommercetech.com": "tanda_1",
30
- "vidalvidal.easycommercetech.tienda": "tanda_1",
31
- "estacioncentral.easycommercetech.com": "tanda_1",
32
- "cuidex.easycommercetech.com": "tanda_1",
33
- "sherman.easycommercetech.com": "tanda_1",
34
- "bonjourlulu.easycommercetech.com": "tanda_1",
35
- "deporcenter.easycommercetech.com": "tanda_1",
36
- "easycommercetech.com": "tanda_1",
37
- "test.easycommercetech.com": "tanda_1",
38
- "subzero.easycommercetech.com": "tanda_1",
39
- "smegv2.easycommercetech.com": "tanda_1",
40
- "equipajes.easycommercetech.com": "tanda_1",
41
- "delseychile.easycommercetech.com": "tanda_1",
42
- "delseyargentina.easycommercetech.com": "tanda_1",
43
- "equipajeurbano.easycommercetech.com": "tanda_1",
44
- "gezatek.easycommercetech.com": "tanda_1",
45
- "iba.easycommercetech.com": "tanda_1",
46
- "rheem.easycommercetech.com": "tanda_1",
47
- "saiar.easycommercetech.com": "tanda_1",
48
- "servicompras.easycommercetech.com": "tanda_1",
49
- "thecouples.easycommercetech.com": "tanda_1",
50
- "iberspa.easycommercetech.tienda": "tanda_1",
51
- "elemon.easycommercetech.tienda": "tanda_1",
52
- "vinalsuk.easycommercetech.tienda": "tanda_1"
1
+ {
2
+ "eq.easycommercetech.com": "tanda_1",
3
+ "myc.easycommercetech.tienda": "tanda_1",
4
+ "chispa.easycommercetech.com": "tanda_1",
5
+ "tekcenter.easycommercetech.com": "tanda_1",
6
+ "doshermanos.easycommercetech.com": "tanda_1",
7
+ "adctecnologia.easycommercetech.com": "tanda_1",
8
+ "pbg.easycommercetech.com": "tanda_1",
9
+ "elden.easycommercetech.com": "tanda_1",
10
+ "ags.easycommercetech.tienda": "tanda_1",
11
+ "smeg.easycommercetech.com": "tanda_1",
12
+ "promesse.easycommercetech.com": "tanda_1",
13
+ "d2dcor.easycommercetech.tienda": "tanda_1",
14
+ "vinals.easycommercetech.tienda": "tanda_1",
15
+ "scorpiostore.easycommercetech.com": "tanda_1",
16
+ "almacendelmolino.easycommercetech.com": "tanda_1",
17
+ "maxifarma.easycommercetech.com": "tanda_1",
18
+ "guolis.easycommercetech.com": "tanda_1",
19
+ "lapequeteria.easycommercetech.com": "tanda_1",
20
+ "farmasun.easycommercetech.com": "tanda_1",
21
+ "womanbypromesse.easycommercetech.com": "tanda_1",
22
+ "promessemayorista.easycommercetech.com": "tanda_1",
23
+ "outmall.easycommercetech.com": "tanda_1",
24
+ "opositoresinvencibles.easycommercetech.tienda": "tanda_1",
25
+ "seler.easycommercetech.tienda": "tanda_1",
26
+ "converse.easycommercetech.com": "tanda_1",
27
+ "id.easycommercetech.com": "tanda_1",
28
+ "lasoreiro.easycommercetech.com": "tanda_1",
29
+ "eldenv2.easycommercetech.com": "tanda_1",
30
+ "vidalvidal.easycommercetech.tienda": "tanda_1",
31
+ "estacioncentral.easycommercetech.com": "tanda_1",
32
+ "cuidex.easycommercetech.com": "tanda_1",
33
+ "sherman.easycommercetech.com": "tanda_1",
34
+ "bonjourlulu.easycommercetech.com": "tanda_1",
35
+ "deporcenter.easycommercetech.com": "tanda_1",
36
+ "easycommercetech.com": "tanda_1",
37
+ "test.easycommercetech.com": "tanda_1",
38
+ "subzero.easycommercetech.com": "tanda_1",
39
+ "smegv2.easycommercetech.com": "tanda_1",
40
+ "equipajes.easycommercetech.com": "tanda_1",
41
+ "delseychile.easycommercetech.com": "tanda_1",
42
+ "delseyargentina.easycommercetech.com": "tanda_1",
43
+ "equipajeurbano.easycommercetech.com": "tanda_1",
44
+ "gezatek.easycommercetech.com": "tanda_1",
45
+ "iba.easycommercetech.com": "tanda_1",
46
+ "rheem.easycommercetech.com": "tanda_1",
47
+ "saiar.easycommercetech.com": "tanda_1",
48
+ "servicompras.easycommercetech.com": "tanda_1",
49
+ "thecouples.easycommercetech.com": "tanda_1",
50
+ "iberspa.easycommercetech.tienda": "tanda_1",
51
+ "elemon.easycommercetech.tienda": "tanda_1",
52
+ "vinalsuk.easycommercetech.tienda": "tanda_1"
53
53
  }
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
76
76
  providedIn: 'root'
77
77
  }]
78
78
  }], ctorParameters: () => [] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUF1QixJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFekU7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBQzdCOzs7T0FHRztJQUNjLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFNUM7OztPQUdHO0lBQ0ssWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRW5EOzs7O09BSUc7SUFDSyxHQUFHLENBQVM7SUFFcEI7UUFDQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELGtCQUFrQixDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBTSxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxNQUFjLEVBQUUsSUFBVTtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFNLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFNLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsT0FBZTtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFRLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNsQixJQUFJLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7d0dBL0RXLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmpCLE1BQU07OzRGQUVOLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIG9mLCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBcGlDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2FwaS5jb25zdGFudHMuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU2VydmljaW8gcXVlIGZ1bmNpb25hIGNvbW8gYWJzdHJhY2Npw7NuIHBhcmEgbWFuZWphciBsYSBjb25leGnDs24gY29uIGxhIEFQSVxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBDb25uZWN0aW9uU2VydmljZVxyXG4gKiBAaW1wbGVtZW50cyB7Q29ubmVjdGlvbn1cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgQ29ubmVjdGlvbiB7XHJcblx0LyoqXHJcblx0ICogSGVycnJhbWllbnRhIHVzYWRhIHBhcmEgZ2VuZXJhciBsYXMgcGV0aWNpb25lcy5cclxuXHQgKiBAbWVtYmVyb2YgQ29ubmVjdGlvblNlcnZpY2VcclxuXHQgKi9cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9odHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xyXG5cclxuXHQvKipcclxuXHQgKiBTZXJ2aWNpbyBxdWUgY29udGllbmUgbGFzIGNvbnN0YW50ZXMgdXNhZGFzIHBhcmEgbGEgQVBJXHJcblx0ICogQG1lbWJlcm9mIENvbm5lY3Rpb25TZXJ2aWNlXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25zdGFudHNTdnIgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFVSTCBCYXNlIHBhcmEgbGFzIHBldGljaW9uZXMuXHJcblx0ICogQHR5cGUge3N0cmluZ31cclxuXHQgKiBAbWVtYmVyb2YgQ29ubmVjdGlvblNlcnZpY2VcclxuXHQgKi9cclxuXHRwcml2YXRlIHVybDogc3RyaW5nO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMudXJsID0gdGhpcy5jb25zdGFudHNTdnIuZ2V0VXJsQmFzZSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRnVuY2nDs24gcGFyYSBnZW5lcmFyIHBldGljaW9uZXMgZGUgdGlwbyBHRVRcclxuXHQgKiBAcGFyYW0gYXBpdXJsIHVybCBkZWwgZW5kcG9pbnRcclxuXHQgKiBAcGFyYW0gZGF0YSBwYXJhbWV0cm9zIHBhcmEgbGEgdXJsXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0Z2V0KGFwaXVybDogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLl9odHRwLmdldDxhbnk+KHRoaXMudXJsICsgYXBpdXJsLCB7IHBhcmFtczogeyAuLi5kYXRhIH0gfSkucGlwZSh0YWtlKDEpKTtcclxuXHR9XHJcblx0Z2V0RXJyb3JOb3RIYW5kbGVyKGFwaXVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLl9odHRwLmdldDxhbnk+KHRoaXMudXJsICsgYXBpdXJsKS5waXBlKHRha2UoMSkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRnVuY2lvbiBwYXJhIGdlbmVyYXIgcGV0aWNpb25lcyBkZSB0aXBvIFBPU1RcclxuXHQgKiBAcGFyYW0gYXBpdXJsIHVybCBkZWwgZW5kcG9pbnRcclxuXHQgKiBAcGFyYW0gZGF0YSBcclxuXHQgKi9cclxuXHRwb3N0KGFwaXVybDogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLl9odHRwLnBvc3Q8YW55Pih0aGlzLnVybCArIGFwaXVybCwgZGF0YSB8fCB7fSkucGlwZSh0YWtlKDEpKTtcclxuXHR9XHJcblx0cHV0KGFwaXVybDogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLl9odHRwLnB1dDxhbnk+KHRoaXMudXJsICsgYXBpdXJsLCBkYXRhKS5waXBlKHRha2UoMSkpO1xyXG5cdH1cclxuXHRkZWxldGUoYXBpdXJsOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2h0dHAuZGVsZXRlPGFueT4odGhpcy51cmwgKyBhcGl1cmwpLnBpcGUodGFrZSgxKSk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEdlbmVyYSB1biBwZXRpY2nDs24gdGlwbyBHRVQgcGVybyB1c2FuZG8gZWwgcGFyYW1ldHJvIGNvbW8gbGEgdXJsIGNvbXBsZXRhLlxyXG5cdCAqIEBwYXJhbSBmdWxsdXJsIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdGdldFdpdGhGdWxsVXJsKGZ1bGx1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55W10+KGZ1bGx1cmwpXHJcblx0fVxyXG5cclxuXHRnZXRIVE1MKGFwaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7IEFjY2VwdDogJ3RleHQvcGxhaW4sIHRleHQvaHRtbCcgfSk7XHJcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQodGhpcy51cmwgKyBhcGksIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcsIGhlYWRlcnM6IGh0dHBIZWFkZXJzIH0pLnBpcGUodGFrZSgxKSk7XHJcblx0fVxyXG5cclxuXHQvKiBmb3JtVXJsID0gKGFwaTogc3RyaW5nKSA9PiB7XHJcblx0ICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonICYmICF0aGlzLnVybC5pbmNsdWRlcygnaHR0cHMnKSA/ICh0aGlzLnVybC5yZXBsYWNlKCdodHRwJywgJ2h0dHBzJykpICsgYXBpIDogdGhpcy51cmwgKyBhcGk7XHJcblx0fSAqL1xyXG59XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUF1QixJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFekU7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBQzdCOzs7T0FHRztJQUNjLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFNUM7OztPQUdHO0lBQ0ssWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRW5EOzs7O09BSUc7SUFDSyxHQUFHLENBQVM7SUFFcEI7UUFDQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELGtCQUFrQixDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBTSxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxNQUFjLEVBQUUsSUFBVTtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFNLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFNLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsT0FBZTtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFRLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNsQixJQUFJLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7d0dBL0RXLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmpCLE1BQU07OzRGQUVOLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2lvIHF1ZSBmdW5jaW9uYSBjb21vIGFic3RyYWNjacOzbiBwYXJhIG1hbmVqYXIgbGEgY29uZXhpw7NuIGNvbiBsYSBBUElcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBDb25uZWN0aW9uU2VydmljZVxuICogQGltcGxlbWVudHMge0Nvbm5lY3Rpb259XG4gKi9cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgQ29ubmVjdGlvbiB7XG5cdC8qKlxuXHQgKiBIZXJycmFtaWVudGEgdXNhZGEgcGFyYSBnZW5lcmFyIGxhcyBwZXRpY2lvbmVzLlxuXHQgKiBAbWVtYmVyb2YgQ29ubmVjdGlvblNlcnZpY2Vcblx0ICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2h0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cblx0LyoqXG5cdCAqIFNlcnZpY2lvIHF1ZSBjb250aWVuZSBsYXMgY29uc3RhbnRlcyB1c2FkYXMgcGFyYSBsYSBBUElcblx0ICogQG1lbWJlcm9mIENvbm5lY3Rpb25TZXJ2aWNlXG5cdCAqL1xuXHRwcml2YXRlIGNvbnN0YW50c1N2ciA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKTtcblxuXHQvKipcblx0ICogVVJMIEJhc2UgcGFyYSBsYXMgcGV0aWNpb25lcy5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQG1lbWJlcm9mIENvbm5lY3Rpb25TZXJ2aWNlXG5cdCAqL1xuXHRwcml2YXRlIHVybDogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMudXJsID0gdGhpcy5jb25zdGFudHNTdnIuZ2V0VXJsQmFzZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZ1bmNpw7NuIHBhcmEgZ2VuZXJhciBwZXRpY2lvbmVzIGRlIHRpcG8gR0VUXG5cdCAqIEBwYXJhbSBhcGl1cmwgdXJsIGRlbCBlbmRwb2ludFxuXHQgKiBAcGFyYW0gZGF0YSBwYXJhbWV0cm9zIHBhcmEgbGEgdXJsXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0Z2V0KGFwaXVybDogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55Pih0aGlzLnVybCArIGFwaXVybCwgeyBwYXJhbXM6IHsgLi4uZGF0YSB9IH0pLnBpcGUodGFrZSgxKSk7XG5cdH1cblx0Z2V0RXJyb3JOb3RIYW5kbGVyKGFwaXVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55Pih0aGlzLnVybCArIGFwaXVybCkucGlwZSh0YWtlKDEpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGdW5jaW9uIHBhcmEgZ2VuZXJhciBwZXRpY2lvbmVzIGRlIHRpcG8gUE9TVFxuXHQgKiBAcGFyYW0gYXBpdXJsIHVybCBkZWwgZW5kcG9pbnRcblx0ICogQHBhcmFtIGRhdGEgXG5cdCAqL1xuXHRwb3N0KGFwaXVybDogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5wb3N0PGFueT4odGhpcy51cmwgKyBhcGl1cmwsIGRhdGEgfHwge30pLnBpcGUodGFrZSgxKSk7XG5cdH1cblx0cHV0KGFwaXVybDogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5wdXQ8YW55Pih0aGlzLnVybCArIGFwaXVybCwgZGF0YSkucGlwZSh0YWtlKDEpKTtcblx0fVxuXHRkZWxldGUoYXBpdXJsOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuXHRcdHJldHVybiB0aGlzLl9odHRwLmRlbGV0ZTxhbnk+KHRoaXMudXJsICsgYXBpdXJsKS5waXBlKHRha2UoMSkpO1xuXHR9XG5cdC8qKlxuXHQgKiBHZW5lcmEgdW4gcGV0aWNpw7NuIHRpcG8gR0VUIHBlcm8gdXNhbmRvIGVsIHBhcmFtZXRybyBjb21vIGxhIHVybCBjb21wbGV0YS5cblx0ICogQHBhcmFtIGZ1bGx1cmwgXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0Z2V0V2l0aEZ1bGxVcmwoZnVsbHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55W10+KGZ1bGx1cmwpXG5cdH1cblxuXHRnZXRIVE1MKGFwaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoeyBBY2NlcHQ6ICd0ZXh0L3BsYWluLCB0ZXh0L2h0bWwnIH0pO1xuXHRcdHJldHVybiB0aGlzLl9odHRwLmdldCh0aGlzLnVybCArIGFwaSwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JywgaGVhZGVyczogaHR0cEhlYWRlcnMgfSkucGlwZSh0YWtlKDEpKTtcblx0fVxuXG5cdC8qIGZvcm1VcmwgPSAoYXBpOiBzdHJpbmcpID0+IHtcblx0ICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonICYmICF0aGlzLnVybC5pbmNsdWRlcygnaHR0cHMnKSA/ICh0aGlzLnVybC5yZXBsYWNlKCdodHRwJywgJ2h0dHBzJykpICsgYXBpIDogdGhpcy51cmwgKyBhcGk7XG5cdH0gKi9cbn1cbiJdfQ==
@@ -26,4 +26,4 @@ export class Step {
26
26
  isPending = () => this.state == 'pending' || this.state == 'doing';
27
27
  isReady = () => this.state == 'ready' && this.data;
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9jaGVja291dC9zdGVwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sSUFBSTtJQUVOLElBQUksQ0FBQztJQUNMLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDbEIsUUFBUSxDQUFDO0lBQ1QsSUFBSSxHQUFhLElBQUksQ0FBQztJQUN0QixJQUFJLENBQUs7SUFDVCxLQUFLLEdBQWMsU0FBUyxDQUFDO0lBRXBDLFlBQVksSUFBUSxFQUFFLFFBQVksRUFBRSxLQUFZLEVBQUUsS0FBZ0I7UUFDOUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLEdBQUcsR0FBRyxFQUFFO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBQzNCLENBQUMsQ0FBQTtJQUVELEtBQUssR0FBRyxDQUFDLElBQVEsRUFBRSxFQUFFO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUMsQ0FBQTtJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztJQUVuRSxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztDQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTdGVwLCBTdGVwU3RhdGUsIFN0ZXBUeXBlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvc3RlcFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0ZXAgaW1wbGVtZW50cyBJU3RlcCB7XHJcblxyXG4gICAgcHVibGljIG5hbWU7XHJcbiAgICBwdWJsaWMgbGFiZWw6c3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgcHJpb3JpdHk7XHJcbiAgICBwdWJsaWMgdHlwZTogU3RlcFR5cGUgPSBudWxsO1xyXG4gICAgcHVibGljIGRhdGE6YW55O1xyXG4gICAgcHVibGljIHN0YXRlOiBTdGVwU3RhdGUgPSAncGVuZGluZyc7XHJcblxyXG4gICAgY29uc3RydWN0b3IobmFtZTphbnksIHByaW9yaXR5OmFueSwgbGFiZWw6c3RyaW5nLCBzdGF0ZT86U3RlcFN0YXRlKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlIHx8ICdwZW5kaW5nJztcclxuICAgICAgICB0aGlzLnByaW9yaXR5ID0gcHJpb3JpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9pbmcgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLnN0YXRlID0gJ2RvaW5nJztcclxuICAgIH07XHJcblxyXG4gICAgcmVzdGFydCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGEgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSAncGVuZGluZyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmVhZHkgPSAoZGF0YTphbnkpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSAncmVhZHknO1xyXG4gICAgfVxyXG5cclxuICAgIGlzUGVuZGluZyA9ICgpID0+IHRoaXMuc3RhdGUgPT0gJ3BlbmRpbmcnIHx8IHRoaXMuc3RhdGUgPT0gJ2RvaW5nJztcclxuXHJcbiAgICBpc1JlYWR5ID0gKCkgPT4gdGhpcy5zdGF0ZSA9PSAncmVhZHknICYmIHRoaXMuZGF0YTtcclxufSJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9jaGVja291dC9zdGVwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sSUFBSTtJQUVOLElBQUksQ0FBQztJQUNMLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDbEIsUUFBUSxDQUFDO0lBQ1QsSUFBSSxHQUFhLElBQUksQ0FBQztJQUN0QixJQUFJLENBQUs7SUFDVCxLQUFLLEdBQWMsU0FBUyxDQUFDO0lBRXBDLFlBQVksSUFBUSxFQUFFLFFBQVksRUFBRSxLQUFZLEVBQUUsS0FBZ0I7UUFDOUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLEdBQUcsR0FBRyxFQUFFO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBQzNCLENBQUMsQ0FBQTtJQUVELEtBQUssR0FBRyxDQUFDLElBQVEsRUFBRSxFQUFFO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUMsQ0FBQTtJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztJQUVuRSxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztDQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTdGVwLCBTdGVwU3RhdGUsIFN0ZXBUeXBlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvc3RlcFwiO1xuXG5leHBvcnQgY2xhc3MgU3RlcCBpbXBsZW1lbnRzIElTdGVwIHtcblxuICAgIHB1YmxpYyBuYW1lO1xuICAgIHB1YmxpYyBsYWJlbDpzdHJpbmcgPSAnJztcbiAgICBwdWJsaWMgcHJpb3JpdHk7XG4gICAgcHVibGljIHR5cGU6IFN0ZXBUeXBlID0gbnVsbDtcbiAgICBwdWJsaWMgZGF0YTphbnk7XG4gICAgcHVibGljIHN0YXRlOiBTdGVwU3RhdGUgPSAncGVuZGluZyc7XG5cbiAgICBjb25zdHJ1Y3RvcihuYW1lOmFueSwgcHJpb3JpdHk6YW55LCBsYWJlbDpzdHJpbmcsIHN0YXRlPzpTdGVwU3RhdGUpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGUgfHwgJ3BlbmRpbmcnO1xuICAgICAgICB0aGlzLnByaW9yaXR5ID0gcHJpb3JpdHk7XG4gICAgfVxuXG4gICAgZG9pbmcgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YSA9IG51bGw7XG4gICAgICAgIHRoaXMuc3RhdGUgPSAnZG9pbmcnO1xuICAgIH07XG5cbiAgICByZXN0YXJ0ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXRlID0gJ3BlbmRpbmcnO1xuICAgIH1cblxuICAgIHJlYWR5ID0gKGRhdGE6YW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMuc3RhdGUgPSAncmVhZHknO1xuICAgIH1cblxuICAgIGlzUGVuZGluZyA9ICgpID0+IHRoaXMuc3RhdGUgPT0gJ3BlbmRpbmcnIHx8IHRoaXMuc3RhdGUgPT0gJ2RvaW5nJztcblxuICAgIGlzUmVhZHkgPSAoKSA9PiB0aGlzLnN0YXRlID09ICdyZWFkeScgJiYgdGhpcy5kYXRhO1xufSJdfQ==
@@ -20,4 +20,4 @@ export class ComponentHelper {
20
20
  router.navigateByUrl(`/${url}`);
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGVBQWU7SUFFeEI7UUFDSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELFFBQVEsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUUzQixDQUFDLENBQUE7SUFFRCxhQUFhLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFFaEMsQ0FBQyxDQUFBO0lBRUQsU0FBUyxHQUFHLENBQUMsTUFBbUMsRUFBRSxRQUFnQixFQUFXLEVBQUU7UUFDM0UsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV2QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6RCwyQ0FBMkM7WUFDM0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFFRixnQkFBZ0IsQ0FBQyxNQUFlLEVBQUMsR0FBVztRQUN4QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tIFwiLi4vZWMtc2VydmljZXMvY2hlY2tvdXQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50SGVscGVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG4gICAgfVxyXG5cclxuICAgIGVjT25Jbml0ID0gKHBhcmFtcyA9IHt9KSA9PiB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGVjT25Db25zdHJ1Y3QgPSAocGFyYW1zID0ge30pID0+IHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgaGFzUGFyYW1zID0gKHBhcmFtczogUGFyYW1zW10gfCBudWxsIHwgdW5kZWZpbmVkLCBzZWFyY2hlZDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgaWYgKCFwYXJhbXMgfHwgIXNlYXJjaGVkKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIGNvbnN0IHEgPSBzZWFyY2hlZC50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcy5zb21lKHAgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb2RlID0gcD8uWydjb2RlJ10/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA/PyAnJztcclxuICAgICAgICAgICAgLy8gUHJpbWVybyBjaGVxdWVvIGV4YWN0bywgeSBzaSBubywgcGFyY2lhbFxyXG4gICAgICAgICAgICByZXR1cm4gY29kZSA9PT0gcSB8fCBjb2RlLmluY2x1ZGVzKHEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBuYXZpZ2F0ZU9uUm91dGVyKHJvdXRlciA6IFJvdXRlcix1cmw6IHN0cmluZykge1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvJHt1cmx9YCk7XHJcbiAgICB9XHJcbn0iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGVBQWU7SUFFeEI7UUFDSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVELFFBQVEsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUUzQixDQUFDLENBQUE7SUFFRCxhQUFhLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFFaEMsQ0FBQyxDQUFBO0lBRUQsU0FBUyxHQUFHLENBQUMsTUFBbUMsRUFBRSxRQUFnQixFQUFXLEVBQUU7UUFDM0UsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV2QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6RCwyQ0FBMkM7WUFDM0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFFRixnQkFBZ0IsQ0FBQyxNQUFlLEVBQUMsR0FBVztRQUN4QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gXCIuLi9lYy1zZXJ2aWNlcy9jaGVja291dC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRIZWxwZXIge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgZWNPbkluaXQgPSAocGFyYW1zID0ge30pID0+IHtcblxuICAgIH1cblxuICAgIGVjT25Db25zdHJ1Y3QgPSAocGFyYW1zID0ge30pID0+IHtcblxuICAgIH1cblxuICAgIGhhc1BhcmFtcyA9IChwYXJhbXM6IFBhcmFtc1tdIHwgbnVsbCB8IHVuZGVmaW5lZCwgc2VhcmNoZWQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICBpZiAoIXBhcmFtcyB8fCAhc2VhcmNoZWQpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBjb25zdCBxID0gc2VhcmNoZWQudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcy5zb21lKHAgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29kZSA9IHA/LlsnY29kZSddPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPz8gJyc7XG4gICAgICAgICAgICAvLyBQcmltZXJvIGNoZXF1ZW8gZXhhY3RvLCB5IHNpIG5vLCBwYXJjaWFsXG4gICAgICAgICAgICByZXR1cm4gY29kZSA9PT0gcSB8fCBjb2RlLmluY2x1ZGVzKHEpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgbmF2aWdhdGVPblJvdXRlcihyb3V0ZXIgOiBSb3V0ZXIsdXJsOiBzdHJpbmcpIHtcbiAgICAgICAgcm91dGVyLm5hdmlnYXRlQnlVcmwoYC8ke3VybH1gKTtcbiAgICB9XG59Il19
@@ -1,10 +1,16 @@
1
1
  import { inject } from "@angular/core";
2
2
  import { OptionsService } from "../../ec-services";
3
3
  import { Filter } from "./filter";
4
+ /**
5
+ * AttributesFilter
6
+ * - Gestiona el filtro de atributos (estructura de padres/children).
7
+ * - Soporta hidratación desde query params y aplicación de códigos seleccionados.
8
+ */
4
9
  export class AttributesFilter extends Filter {
5
10
  _optionsService = inject(OptionsService);
6
11
  data = [];
7
12
  multi = false;
13
+ _codesFromQuery = null;
8
14
  constructor(initialValue, options) {
9
15
  super();
10
16
  if (options) {
@@ -12,7 +18,6 @@ export class AttributesFilter extends Filter {
12
18
  }
13
19
  else {
14
20
  this._optionsService.getAttributes().subscribe(res => {
15
- //console.log(res);
16
21
  this.setContent(res, initialValue);
17
22
  });
18
23
  }
@@ -22,10 +27,18 @@ export class AttributesFilter extends Filter {
22
27
  const attributes = this._optionsService.generateMenu(options);
23
28
  attributes.forEach((filter) => filter = this.createElement(filter, options, initialValue));
24
29
  this.data = attributes;
30
+ // Si ya teníamos códigos de la URL guardados, aplicarlos ahora
31
+ if (this._codesFromQuery && this._codesFromQuery.length) {
32
+ // ADDED: Aplicar códigos guardados tras cargar la data.
33
+ this.applyCodes(this._codesFromQuery);
34
+ }
25
35
  }
26
36
  getContent() {
27
37
  return this.data;
28
38
  }
39
+ /**
40
+ * ADDED: toUrlParams construye la porción de query string que representa las selecciones de atributos.
41
+ */
29
42
  toUrlParams(actual_url = '&attributeCodes=', sublist, already) {
30
43
  let elements = sublist || this.data;
31
44
  let aux_url = '';
@@ -47,12 +60,14 @@ export class AttributesFilter extends Filter {
47
60
  }
48
61
  }
49
62
  });
50
- //console.log(actual_url + aux_url);
51
63
  return actual_url + aux_url;
52
64
  }
53
65
  ;
54
66
  cleanResult(text) { return text.replace('&attributeCodes=', ''); }
55
67
  ;
68
+ /**
69
+ * ADDED: createElement transforma cada nodo original en FilterElement y marca selección inicial si corresponde.
70
+ */
56
71
  createElement(filter, original, initialValue) {
57
72
  if (filter.type == 'sub') {
58
73
  filter.multi = false;
@@ -65,9 +80,64 @@ export class AttributesFilter extends Filter {
65
80
  else {
66
81
  filter.value = original.code;
67
82
  filter.multi = false;
68
- filter.selected = (initialValue && this.removeAccents(original.slug?.toLowerCase()) == this.removeAccents(initialValue?.toLowerCase()));
83
+ filter.selected = (initialValue &&
84
+ this.removeAccents(original.slug?.toLowerCase()) === this.removeAccents(initialValue?.toLowerCase()));
69
85
  }
70
86
  return filter;
71
87
  }
88
+ /** hidratar desde la URL */
89
+ hydrateFromQuery(params) {
90
+ const raw = params['attributeCodes'];
91
+ if (!raw) {
92
+ // nada en la URL → limpió filtro
93
+ this._codesFromQuery = null;
94
+ this.clearSelection();
95
+ return;
96
+ }
97
+ const codes = String(raw)
98
+ .split('<and>')
99
+ .map(c => c.trim())
100
+ .filter(Boolean);
101
+ if (!codes.length) {
102
+ this._codesFromQuery = null;
103
+ this.clearSelection();
104
+ return;
105
+ }
106
+ this._codesFromQuery = codes;
107
+ // Si ya tengo data cargada, aplico ahora;
108
+ // si no, se aplicará en setContent().
109
+ if (this.data && this.data.length) {
110
+ // ADDED: Aplicar códigos inmediatamente porque la data ya está disponible.
111
+ this.applyCodes(codes);
112
+ }
113
+ }
114
+ /**
115
+ * ADDED: applyCodes recorre la estructura y marca selected=true en los children cuyo código está en 'codes'.
116
+ * Además marca el parent como seleccionado si alguno de sus hijos lo está.
117
+ */
118
+ applyCodes(codes) {
119
+ this.data?.forEach((parent) => {
120
+ parent.selected = false;
121
+ (parent.children || []).forEach((child) => {
122
+ const code = child.code || child.value;
123
+ const isSelected = codes.includes(code);
124
+ child.selected = isSelected;
125
+ if (isSelected) {
126
+ parent.selected = true;
127
+ }
128
+ });
129
+ });
130
+ }
131
+ /**
132
+ * ADDED: clearSelection desmarca todos los parents y children (restablece el filtro).
133
+ */
134
+ clearSelection() {
135
+ this.data?.forEach((parent) => {
136
+ parent.selected = false;
137
+ (parent.children || []).forEach((child) => {
138
+ child.selected = false;
139
+ });
140
+ });
141
+ }
72
142
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2F0dHJpYnV0ZXMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU07SUFDaEMsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEQsSUFBSSxHQUFvQixFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFZLEtBQUssQ0FBQztJQUVoQyxZQUFZLFlBQWtCLEVBQUUsT0FBWTtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUcsT0FBTyxFQUFDLENBQUM7WUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQUksQ0FBQztZQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUMxQyxHQUFHLENBQUMsRUFBRTtnQkFDRixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFUSxJQUFJLEtBQWlCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQztJQUUzQyxVQUFVLENBQUMsT0FBWSxFQUFFLFlBQWtCO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlE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QUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUksQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VjLXNlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUsIElGaWx0ZXIgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVzRmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XHJcblxyXG4gICAgb3ZlcnJpZGUgZGF0YTogRmlsdGVyRWxlbWVudFtdID0gW107XHJcbiAgICBvdmVycmlkZSBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluaXRpYWxWYWx1ZT86IGFueSwgb3B0aW9ucz86YW55KSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZihvcHRpb25zKXtcclxuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KG9wdGlvbnMsIGluaXRpYWxWYWx1ZSk7IFxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5nZXRBdHRyaWJ1dGVzKCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KHJlcywgaW5pdGlhbFZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSB0eXBlKCk6IEZpbHRlclR5cGUgeyByZXR1cm4gJ2F0dHJpYnV0ZXMnOyB9XHJcblxyXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB0aGlzLl9vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUob3B0aW9ucyk7XHJcbiAgICAgICAgYXR0cmlidXRlcy5mb3JFYWNoKChmaWx0ZXI6IGFueSkgPT4gZmlsdGVyID0gdGhpcy5jcmVhdGVFbGVtZW50KGZpbHRlciwgb3B0aW9ucywgaW5pdGlhbFZhbHVlKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gYXR0cmlidXRlcztcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGdldENvbnRlbnQoKTogRmlsdGVyRWxlbWVudFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgdG9VcmxQYXJhbXMoYWN0dWFsX3VybCA9ICcmYXR0cmlidXRlQ29kZXM9Jywgc3VibGlzdD86YW55LCBhbHJlYWR5PzphbnkpIHtcclxuICAgICAgICBsZXQgZWxlbWVudHMgPSBzdWJsaXN0IHx8IHRoaXMuZGF0YTtcclxuICAgICAgICBsZXQgYXV4X3VybCA9ICcnO1xyXG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09ICdzdWInKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy50b1VybFBhcmFtcygnJywgZWxlbWVudC5jaGlsZHJlbiwgKGFjdHVhbF91cmwgIT0gJyZhdHRyaWJ1dGVDb2Rlcz0nICYmIGFjdHVhbF91cmwgIT0gJycpKVxyXG4gICAgICAgICAgICAgICAgaWYgKCFhY3R1YWxfdXJsLmluY2x1ZGVzKHJlc3VsdCkpIGFjdHVhbF91cmwgKz0gdGhpcy5jbGVhblJlc3VsdChyZXN1bHQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChhY3R1YWxfdXJsID09ICcmYXR0cmlidXRlQ29kZXM9JyAmJiBhdXhfdXJsID09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXV4X3VybCA9IGVsZW1lbnQuY29kZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXhfdXJsID09ICcnKSBhdXhfdXJsID0gKGFscmVhZHkgPyAnPGFuZD4nIDogJycpICsgZWxlbWVudC5jb2RlO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgYXV4X3VybCArPSAoJzxhbmQ+JyArIGVsZW1lbnQuY29kZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC8vY29uc29sZS5sb2coYWN0dWFsX3VybCArIGF1eF91cmwpO1xyXG4gICAgICAgIHJldHVybiBhY3R1YWxfdXJsICsgYXV4X3VybDtcclxuICAgIH07XHJcblxyXG4gICAgY2xlYW5SZXN1bHQodGV4dDogc3RyaW5nKSB7IHJldHVybiB0ZXh0LnJlcGxhY2UoJyZhdHRyaWJ1dGVDb2Rlcz0nLCAnJykgfTtcclxuXHJcbiAgICBvdmVycmlkZSBjcmVhdGVFbGVtZW50KGZpbHRlcjogYW55LCBvcmlnaW5hbDogYW55LCBpbml0aWFsVmFsdWU/OiBhbnkpIHtcclxuICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gJ3N1YicpIHtcclxuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGZpbHRlci5zaGFwZSA9ICd0ZXh0JztcclxuICAgICAgICAgICAgZmlsdGVyLnZhbHVlID0gb3JpZ2luYWwuY29kZTtcclxuICAgICAgICAgICAgZmlsdGVyLmNoaWxkcmVuID0gZmlsdGVyLmNoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaTogbnVtYmVyKSA9PntcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUVsZW1lbnQoY2hpbGQsIGNoaWxkLmNoaWxkcmVuLCBpbml0aWFsVmFsdWUpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9IG9yaWdpbmFsLmNvZGU7XHJcbiAgICAgICAgICAgIGZpbHRlci5tdWx0aSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBmaWx0ZXIuc2VsZWN0ZWQgPSAoaW5pdGlhbFZhbHVlICYmIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PSB0aGlzLnJlbW92ZUFjY2VudHMoaW5pdGlhbFZhbHVlPy50b0xvd2VyQ2FzZSgpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmaWx0ZXI7XHJcbiAgICB9XHJcbn1cclxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2F0dHJpYnV0ZXMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBQ2hDLGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXhELElBQUksR0FBb0IsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFFeEIsZUFBZSxHQUFvQixJQUFJLENBQUM7SUFFaEQsWUFBWSxZQUFrQixFQUFFLE9BQWE7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FDMUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUNKLENBQUE7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVRLElBQUksS0FBaUIsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRTNDLFVBQVUsQ0FBQyxPQUFZLEVBQUUsWUFBa0I7UUFDaEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZ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bSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VjLXNlcnZpY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG4vKipcbiAqIEF0dHJpYnV0ZXNGaWx0ZXJcbiAqIC0gR2VzdGlvbmEgZWwgZmlsdHJvIGRlIGF0cmlidXRvcyAoZXN0cnVjdHVyYSBkZSBwYWRyZXMvY2hpbGRyZW4pLlxuICogLSBTb3BvcnRhIGhpZHJhdGFjacOzbiBkZXNkZSBxdWVyeSBwYXJhbXMgeSBhcGxpY2FjacOzbiBkZSBjw7NkaWdvcyBzZWxlY2Npb25hZG9zLlxuICovXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlc0ZpbHRlciBleHRlbmRzIEZpbHRlciB7XG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGRhdGE6IEZpbHRlckVsZW1lbnRbXSA9IFtdO1xuICAgIG92ZXJyaWRlIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9jb2Rlc0Zyb21RdWVyeTogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKGluaXRpYWxWYWx1ZT86IGFueSwgb3B0aW9ucz86IGFueSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KG9wdGlvbnMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5nZXRBdHRyaWJ1dGVzKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHsgcmV0dXJuICdhdHRyaWJ1dGVzJzsgfVxuXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KG9wdGlvbnMpO1xuICAgICAgICBhdHRyaWJ1dGVzLmZvckVhY2goKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gYXR0cmlidXRlcztcblxuICAgICAgICAvLyBTaSB5YSB0ZW7DrWFtb3MgY8OzZGlnb3MgZGUgbGEgVVJMIGd1YXJkYWRvcywgYXBsaWNhcmxvcyBhaG9yYVxuICAgICAgICBpZiAodGhpcy5fY29kZXNGcm9tUXVlcnkgJiYgdGhpcy5fY29kZXNGcm9tUXVlcnkubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBBRERFRDogQXBsaWNhciBjw7NkaWdvcyBndWFyZGFkb3MgdHJhcyBjYXJnYXIgbGEgZGF0YS5cbiAgICAgICAgICAgIHRoaXMuYXBwbHlDb2Rlcyh0aGlzLl9jb2Rlc0Zyb21RdWVyeSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBRERFRDogdG9VcmxQYXJhbXMgY29uc3RydXllIGxhIHBvcmNpw7NuIGRlIHF1ZXJ5IHN0cmluZyBxdWUgcmVwcmVzZW50YSBsYXMgc2VsZWNjaW9uZXMgZGUgYXRyaWJ1dG9zLlxuICAgICAqL1xuICAgIG92ZXJyaWRlIHRvVXJsUGFyYW1zKGFjdHVhbF91cmwgPSAnJmF0dHJpYnV0ZUNvZGVzPScsIHN1Ymxpc3Q/OiBhbnksIGFscmVhZHk/OiBhbnkpIHtcbiAgICAgICAgbGV0IGVsZW1lbnRzID0gc3VibGlzdCB8fCB0aGlzLmRhdGE7XG4gICAgICAgIGxldCBhdXhfdXJsID0gJyc7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnRvVXJsUGFyYW1zKCcnLCBlbGVtZW50LmNoaWxkcmVuLCAoYWN0dWFsX3VybCAhPSAnJmF0dHJpYnV0ZUNvZGVzPScgJiYgYWN0dWFsX3VybCAhPSAnJykpXG4gICAgICAgICAgICAgICAgaWYgKCFhY3R1YWxfdXJsLmluY2x1ZGVzKHJlc3VsdCkpIGFjdHVhbF91cmwgKz0gdGhpcy5jbGVhblJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdHVhbF91cmwgPT0gJyZhdHRyaWJ1dGVDb2Rlcz0nICYmIGF1eF91cmwgPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgYXV4X3VybCA9IGVsZW1lbnQuY29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXhfdXJsID09ICcnKSBhdXhfdXJsID0gKGFscmVhZHkgPyAnPGFuZD4nIDogJycpICsgZWxlbWVudC5jb2RlO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGF1eF91cmwgKz0gKCc8YW5kPicgKyBlbGVtZW50LmNvZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmwgKyBhdXhfdXJsO1xuICAgIH07XG5cbiAgICBjbGVhblJlc3VsdCh0ZXh0OiBzdHJpbmcpIHsgcmV0dXJuIHRleHQucmVwbGFjZSgnJmF0dHJpYnV0ZUNvZGVzPScsICcnKSB9O1xuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGNyZWF0ZUVsZW1lbnQgdHJhbnNmb3JtYSBjYWRhIG5vZG8gb3JpZ2luYWwgZW4gRmlsdGVyRWxlbWVudCB5IG1hcmNhIHNlbGVjY2nDs24gaW5pY2lhbCBzaSBjb3JyZXNwb25kZS5cbiAgICAgKi9cbiAgICBvdmVycmlkZSBjcmVhdGVFbGVtZW50KGZpbHRlcjogYW55LCBvcmlnaW5hbDogYW55LCBpbml0aWFsVmFsdWU/OiBhbnkpIHtcbiAgICAgICAgaWYgKGZpbHRlci50eXBlID09ICdzdWInKSB7XG4gICAgICAgICAgICBmaWx0ZXIubXVsdGkgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpbHRlci5zaGFwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9IG9yaWdpbmFsLmNvZGU7XG4gICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBmaWx0ZXIuY2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KGNoaWxkLCBjaGlsZC5jaGlsZHJlbiwgaW5pdGlhbFZhbHVlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2VsZWN0ZWQgPSAoXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlICYmXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09PSB0aGlzLnJlbW92ZUFjY2VudHMoaW5pdGlhbFZhbHVlPy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKiBoaWRyYXRhciBkZXNkZSBsYSBVUkwgKi9cbiAgICBoeWRyYXRlRnJvbVF1ZXJ5KHBhcmFtczogUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJhdyA9IHBhcmFtc1snYXR0cmlidXRlQ29kZXMnXTtcblxuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgLy8gbmFkYSBlbiBsYSBVUkwg4oaSIGxpbXBpw7MgZmlsdHJvXG4gICAgICAgICAgICB0aGlzLl9jb2Rlc0Zyb21RdWVyeSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb2RlcyA9IFN0cmluZyhyYXcpXG4gICAgICAgICAgICAuc3BsaXQoJzxhbmQ+JylcbiAgICAgICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgaWYgKCFjb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvZGVzRnJvbVF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvZGVzRnJvbVF1ZXJ5ID0gY29kZXM7XG5cbiAgICAgICAgLy8gU2kgeWEgdGVuZ28gZGF0YSBjYXJnYWRhLCBhcGxpY28gYWhvcmE7XG4gICAgICAgIC8vIHNpIG5vLCBzZSBhcGxpY2Fyw6EgZW4gc2V0Q29udGVudCgpLlxuICAgICAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIEFEREVEOiBBcGxpY2FyIGPDs2RpZ29zIGlubWVkaWF0YW1lbnRlIHBvcnF1ZSBsYSBkYXRhIHlhIGVzdMOhIGRpc3BvbmlibGUuXG4gICAgICAgICAgICB0aGlzLmFwcGx5Q29kZXMoY29kZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGFwcGx5Q29kZXMgcmVjb3JyZSBsYSBlc3RydWN0dXJhIHkgbWFyY2Egc2VsZWN0ZWQ9dHJ1ZSBlbiBsb3MgY2hpbGRyZW4gY3V5byBjw7NkaWdvIGVzdMOhIGVuICdjb2RlcycuXG4gICAgICogQWRlbcOhcyBtYXJjYSBlbCBwYXJlbnQgY29tbyBzZWxlY2Npb25hZG8gc2kgYWxndW5vIGRlIHN1cyBoaWpvcyBsbyBlc3TDoS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGFwcGx5Q29kZXMoY29kZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YT8uZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHBhcmVudC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgKHBhcmVudC5jaGlsZHJlbiB8fCBbXSkuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvZGUgPSBjaGlsZC5jb2RlIHx8IGNoaWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb2Rlcy5pbmNsdWRlcyhjb2RlKTtcbiAgICAgICAgICAgICAgICBjaGlsZC5zZWxlY3RlZCA9IGlzU2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGNsZWFyU2VsZWN0aW9uIGRlc21hcmNhIHRvZG9zIGxvcyBwYXJlbnRzIHkgY2hpbGRyZW4gKHJlc3RhYmxlY2UgZWwgZmlsdHJvKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGE/LmZvckVhY2goKHBhcmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBwYXJlbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIChwYXJlbnQuY2hpbGRyZW4gfHwgW10pLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,17 +1,24 @@
1
1
  import { inject } from "@angular/core";
2
- import { OptionsService } from "../../ec-services";
2
+ import { FiltersService, OptionsService } from "../../ec-services";
3
3
  import { Filter } from "./filter";
4
+ /**
5
+ * CategoryFilter
6
+ * - Gestiona el filtro de categorías.
7
+ * - Mantiene la estructura de categorías (parents/children) y permite:
8
+ * * Inicializar desde OptionsService.
9
+ * * Marcar elementos según slug o query param.
10
+ * * Generar porción de query string (&category=...).
11
+ */
4
12
  export class CategoryFilter extends Filter {
5
- initialValues;
6
13
  _optionsService = inject(OptionsService);
14
+ _filtersService = inject(FiltersService);
7
15
  data = [];
8
16
  multi = false;
9
- constructor(initialValues) {
17
+ constructor(initialValue) {
10
18
  super();
11
- this.initialValues = initialValues;
12
19
  this._optionsService.getCategories().subscribe(res => {
13
- //console.log(res);
14
- this.setContent(res, initialValues);
20
+ this.setContent(res, initialValue);
21
+ this._filtersService.refreshFilters();
15
22
  });
16
23
  }
17
24
  type() {
@@ -23,37 +30,109 @@ export class CategoryFilter extends Filter {
23
30
  this.data = categories;
24
31
  }
25
32
  getContent() {
26
- throw new Error("Method not implemented.");
27
- }
28
- toUrlParams(actual_url = '', sublist) {
29
- let elements = sublist || this.data;
30
- elements.forEach((element) => {
31
- if (element.type == 'sub' && !element.selected) {
32
- const result = this.toUrlParams('', element.children);
33
- !actual_url.includes(result) ? actual_url += result : null;
34
- }
35
- else if (element.selected) {
36
- if (actual_url == '')
37
- actual_url = '&category=' + element.value;
38
- else
39
- actual_url = element.value;
40
- }
41
- });
42
- return actual_url;
33
+ return this.data;
34
+ }
35
+ /**
36
+ * toUrlParams
37
+ * - Recorre la estructura y devuelve la porción de query string para la categoría seleccionada.
38
+ * - Prioriza el primer selected encontrado (solo una categoría se envía).
39
+ */
40
+ toUrlParams() {
41
+ const selectedCodes = [];
42
+ const walk = (nodes) => {
43
+ nodes.forEach(n => {
44
+ if (n.selected) {
45
+ selectedCodes.push(n.code || n.value);
46
+ }
47
+ if (Array.isArray(n.children) && n.children.length) {
48
+ walk(n.children);
49
+ }
50
+ });
51
+ };
52
+ walk(this.data);
53
+ if (selectedCodes.length > 0) {
54
+ return `&category=${encodeURIComponent(selectedCodes[0])}`;
55
+ }
56
+ return '';
43
57
  }
44
58
  createElement(filter, original, initialValue) {
45
59
  if (filter.type == 'sub') {
46
60
  filter.multi = false;
47
61
  filter.shape = 'text';
48
62
  filter.value = original.code;
49
- filter.selected = (initialValue && this.removeAccents(original.slug?.toLowerCase()) == this.removeAccents(initialValue?.toLowerCase()));
63
+ filter.selected = (initialValue &&
64
+ this.removeAccents(original.slug?.toLowerCase()) ===
65
+ this.removeAccents(String(initialValue).toLowerCase()));
50
66
  filter.children = filter.children.map((child, i) => this.createElement(child, original.children[i], initialValue));
51
67
  }
52
68
  else {
53
69
  filter.value = original.code;
54
- filter.selected = (initialValue && this.removeAccents(original.slug?.toLowerCase()) == this.removeAccents(initialValue?.toLowerCase()));
70
+ filter.selected = (initialValue &&
71
+ this.removeAccents(original.slug?.toLowerCase()) ===
72
+ this.removeAccents(String(initialValue).toLowerCase()));
55
73
  }
56
74
  return filter;
57
75
  }
76
+ /**
77
+ * setFromSlug
78
+ * - Marca como selected los nodos cuyo slug/path/name coincide con el slug proporcionado.
79
+ * - Utiliza removeAccents para comparar sin tildes y en minúsculas.
80
+ * - No retorna valor, solo modifica this.data.
81
+ */
82
+ setFromSlug(slug) {
83
+ const target = this.removeAccents(String(slug).toLowerCase());
84
+ const walk = (nodes) => {
85
+ nodes.forEach(n => {
86
+ // ADDED: iniciar sin selección explícita (asegura estado consistente)
87
+ n.selected = false;
88
+ const candidates = [
89
+ n.slug,
90
+ n.path && String(n.path).split('/').filter(Boolean).pop(),
91
+ n.name
92
+ ]
93
+ .filter(Boolean)
94
+ .map((s) => this.removeAccents(s.toLowerCase()));
95
+ if (candidates.includes(target)) {
96
+ n.selected = true;
97
+ }
98
+ if (Array.isArray(n.children) && n.children.length) {
99
+ walk(n.children);
100
+ }
101
+ });
102
+ };
103
+ walk(this.data);
104
+ }
105
+ /**
106
+ * hydrateFromQuery
107
+ * - Marca la categoría según el parámetro de query 'category' si existe.
108
+ * - Busca el code exacto en la estructura y marca el nodo correspondiente.
109
+ * - Loggea si se encontró o no la categoría.
110
+ */
111
+ hydrateFromQuery(query) {
112
+ const raw = query?.['category'];
113
+ if (!raw)
114
+ return;
115
+ const code = String(raw).trim();
116
+ if (!code)
117
+ return;
118
+ const mark = (nodes) => {
119
+ let found = false;
120
+ nodes.forEach(n => {
121
+ if (n.code === code) {
122
+ n.selected = true;
123
+ found = true;
124
+ }
125
+ else {
126
+ n.selected = false;
127
+ }
128
+ if (Array.isArray(n.children) && n.children.length) {
129
+ if (mark(n.children))
130
+ found = true;
131
+ }
132
+ });
133
+ return found;
134
+ };
135
+ const ok = mark(this.data);
136
+ }
58
137
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9jYXRlZ29yeS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLE9BQU8sY0FBZSxTQUFRLE1BQU07SUFNbEI7SUFMWixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRWhDLFlBQW9CLGFBQW1CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFEsa0JBQWEsR0FBYixhQUFhLENBQU07UUFFbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsbUJBQW1CO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVRLElBQUk7UUFDVCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ1EsVUFBVSxDQUFDLE9BQVksRUFBRSxZQUFrQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDUSxVQUFVO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDUSxXQUFXLENBQUMsVUFBVSxHQUFHLEVBQUUsRUFBRSxPQUFhO1FBQy9DLElBQUksUUFBUSxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELENBQUM7aUJBQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksVUFBVSxJQUFJLEVBQUU7b0JBQUUsVUFBVSxHQUFHLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDOztvQkFDM0QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUNRLGFBQWEsQ0FBQyxNQUFXLEVBQUUsUUFBYSxFQUFFLFlBQWtCO1FBQ2pFLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUN0QixNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEksTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVMsRUFBRSxDQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNsSSxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1SSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZWMtc2VydmljZXNcIjtcclxuaW1wb3J0IHsgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSwgSUZpbHRlciB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENhdGVnb3J5RmlsdGVyIGV4dGVuZHMgRmlsdGVye1xyXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcclxuXHJcbiAgICBvdmVycmlkZSBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcclxuICAgIG92ZXJyaWRlIG11bHRpOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbml0aWFsVmFsdWVzPzogYW55LCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZXMpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHtcclxuICAgICAgICByZXR1cm4gJ2NhdGVnb3JpZXMnO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLl9vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUob3B0aW9ucyk7XHJcbiAgICAgICAgY2F0ZWdvcmllcy5mb3JFYWNoKChmaWx0ZXI6IGFueSwgaTogbnVtYmVyKSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zW2ldLCBpbml0aWFsVmFsdWUpKTtcclxuICAgICAgICB0aGlzLmRhdGEgPSBjYXRlZ29yaWVzO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgdG9VcmxQYXJhbXMoYWN0dWFsX3VybCA9ICcnLCBzdWJsaXN0PzogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgZWxlbWVudHMgPSBzdWJsaXN0IHx8IHRoaXMuZGF0YTtcclxuICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAnc3ViJyAmJiAhZWxlbWVudC5zZWxlY3RlZCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50b1VybFBhcmFtcygnJywgZWxlbWVudC5jaGlsZHJlbik7XHJcbiAgICAgICAgICAgICAgICAhYWN0dWFsX3VybC5pbmNsdWRlcyhyZXN1bHQpID8gYWN0dWFsX3VybCArPSByZXN1bHQgOiBudWxsO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChhY3R1YWxfdXJsID09ICcnKSBhY3R1YWxfdXJsID0gJyZjYXRlZ29yeT0nICsgZWxlbWVudC52YWx1ZTtcclxuICAgICAgICAgICAgICAgIGVsc2UgYWN0dWFsX3VybCA9IGVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBhY3R1YWxfdXJsO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XHJcbiAgICAgICAgaWYgKGZpbHRlci50eXBlID09ICdzdWInKSB7XHJcbiAgICAgICAgICAgIGZpbHRlci5tdWx0aSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBmaWx0ZXIuc2hhcGUgPSAndGV4dCc7XHJcbiAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9IG9yaWdpbmFsLmNvZGU7XHJcbiAgICAgICAgICAgIGZpbHRlci5zZWxlY3RlZCA9IChpbml0aWFsVmFsdWUgJiYgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09IHRoaXMucmVtb3ZlQWNjZW50cyhpbml0aWFsVmFsdWU/LnRvTG93ZXJDYXNlKCkpKTtcclxuICAgICAgICAgICAgZmlsdGVyLmNoaWxkcmVuID0gZmlsdGVyLmNoaWxkcmVuLm1hcCgoY2hpbGQ6YW55LCBpOm51bWJlcikgPT4gdGhpcy5jcmVhdGVFbGVtZW50KGNoaWxkLCBvcmlnaW5hbC5jaGlsZHJlbltpXSwgaW5pdGlhbFZhbHVlKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZmlsdGVyLnZhbHVlID0gb3JpZ2luYWwuY29kZTtcclxuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKGluaXRpYWxWYWx1ZSAmJiB0aGlzLnJlbW92ZUFjY2VudHMob3JpZ2luYWwuc2x1Zz8udG9Mb3dlckNhc2UoKSkgPT0gdGhpcy5yZW1vdmVBY2NlbnRzKGluaXRpYWxWYWx1ZT8udG9Mb3dlckNhc2UoKSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsdGVyXHJcbiAgICB9XHJcbn1cclxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9jYXRlZ29yeS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsTUFBTTtJQUM5QixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRWhDLFlBQVksWUFBa0I7UUFDMUIsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLElBQUk7UUFDVCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRVEsVUFBVSxDQUFDLE9BQVksRUFBRSxZQUFrQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFB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LElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRWxCLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBWSxFQUFXLEVBQUU7WUFDbkMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNsQixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDakIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixDQUFDO2dCQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakQsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzt3QkFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7UUFFRixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSwgT3B0aW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZWMtc2VydmljZXNcIjtcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVyXCI7XG5cbi8qKlxuICogQ2F0ZWdvcnlGaWx0ZXJcbiAqIC0gR2VzdGlvbmEgZWwgZmlsdHJvIGRlIGNhdGVnb3LDrWFzLlxuICogLSBNYW50aWVuZSBsYSBlc3RydWN0dXJhIGRlIGNhdGVnb3LDrWFzIChwYXJlbnRzL2NoaWxkcmVuKSB5IHBlcm1pdGU6XG4gKiAgICogSW5pY2lhbGl6YXIgZGVzZGUgT3B0aW9uc1NlcnZpY2UuXG4gKiAgICogTWFyY2FyIGVsZW1lbnRvcyBzZWfDum4gc2x1ZyBvIHF1ZXJ5IHBhcmFtLlxuICogICAqIEdlbmVyYXIgcG9yY2nDs24gZGUgcXVlcnkgc3RyaW5nICgmY2F0ZWdvcnk9Li4uKS5cbiAqL1xuZXhwb3J0IGNsYXNzIENhdGVnb3J5RmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcbiAgICBvdmVycmlkZSBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KHJlcywgaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnJlZnJlc2hGaWx0ZXJzKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHtcbiAgICAgICAgcmV0dXJuICdjYXRlZ29yaWVzJztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXRDb250ZW50KG9wdGlvbnM6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLl9vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUob3B0aW9ucyk7XG4gICAgICAgIGNhdGVnb3JpZXMuZm9yRWFjaCgoZmlsdGVyOiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGZpbHRlciA9IHRoaXMuY3JlYXRlRWxlbWVudChmaWx0ZXIsIG9wdGlvbnNbaV0sIGluaXRpYWxWYWx1ZSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhID0gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRDb250ZW50KCk6IEZpbHRlckVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdG9VcmxQYXJhbXNcbiAgICAgKiAtIFJlY29ycmUgbGEgZXN0cnVjdHVyYSB5IGRldnVlbHZlIGxhIHBvcmNpw7NuIGRlIHF1ZXJ5IHN0cmluZyBwYXJhIGxhIGNhdGVnb3LDrWEgc2VsZWNjaW9uYWRhLlxuICAgICAqIC0gUHJpb3JpemEgZWwgcHJpbWVyIHNlbGVjdGVkIGVuY29udHJhZG8gKHNvbG8gdW5hIGNhdGVnb3LDrWEgc2UgZW52w61hKS5cbiAgICAgKi9cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENvZGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHdhbGsgPSAobm9kZXM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29kZXMucHVzaChuLmNvZGUgfHwgbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGsobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgd2Fsayh0aGlzLmRhdGEpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBgJmNhdGVnb3J5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlbGVjdGVkQ29kZXNbMF0pfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIGlmIChmaWx0ZXIudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2hhcGUgPSAndGV4dCc7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFjY2VudHMoU3RyaW5nKGluaXRpYWxWYWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBmaWx0ZXIuY2hpbGRyZW4ubWFwKFxuICAgICAgICAgICAgICAgIChjaGlsZDogYW55LCBpOiBudW1iZXIpID0+IHRoaXMuY3JlYXRlRWxlbWVudChjaGlsZCwgb3JpZ2luYWwuY2hpbGRyZW5baV0sIGluaXRpYWxWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFjY2VudHMoU3RyaW5nKGluaXRpYWxWYWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRGcm9tU2x1Z1xuICAgICAqIC0gTWFyY2EgY29tbyBzZWxlY3RlZCBsb3Mgbm9kb3MgY3V5byBzbHVnL3BhdGgvbmFtZSBjb2luY2lkZSBjb24gZWwgc2x1ZyBwcm9wb3JjaW9uYWRvLlxuICAgICAqIC0gVXRpbGl6YSByZW1vdmVBY2NlbnRzIHBhcmEgY29tcGFyYXIgc2luIHRpbGRlcyB5IGVuIG1pbsO6c2N1bGFzLlxuICAgICAqIC0gTm8gcmV0b3JuYSB2YWxvciwgc29sbyBtb2RpZmljYSB0aGlzLmRhdGEuXG4gICAgICovXG4gICAgc2V0RnJvbVNsdWcoc2x1Zzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMucmVtb3ZlQWNjZW50cyhTdHJpbmcoc2x1ZykudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgY29uc3Qgd2FsayA9IChub2RlczogYW55W10pID0+IHtcbiAgICAgICAgICAgIG5vZGVzLmZvckVhY2gobiA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQURERUQ6IGluaWNpYXIgc2luIHNlbGVjY2nDs24gZXhwbMOtY2l0YSAoYXNlZ3VyYSBlc3RhZG8gY29uc2lzdGVudGUpXG4gICAgICAgICAgICAgICAgbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIG4uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgbi5wYXRoICYmIFN0cmluZyhuLnBhdGgpLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pLnBvcCgpLFxuICAgICAgICAgICAgICAgICAgICBuLm5hbWVcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoczogc3RyaW5nKSA9PiB0aGlzLnJlbW92ZUFjY2VudHMocy50b0xvd2VyQ2FzZSgpKSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2FuZGlkYXRlcy5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG4uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGsobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgd2Fsayh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGh5ZHJhdGVGcm9tUXVlcnlcbiAgICAgKiAtIE1hcmNhIGxhIGNhdGVnb3LDrWEgc2Vnw7puIGVsIHBhcsOhbWV0cm8gZGUgcXVlcnkgJ2NhdGVnb3J5JyBzaSBleGlzdGUuXG4gICAgICogLSBCdXNjYSBlbCBjb2RlIGV4YWN0byBlbiBsYSBlc3RydWN0dXJhIHkgbWFyY2EgZWwgbm9kbyBjb3JyZXNwb25kaWVudGUuXG4gICAgICogLSBMb2dnZWEgc2kgc2UgZW5jb250csOzIG8gbm8gbGEgY2F0ZWdvcsOtYS5cbiAgICAgKi9cbiAgICBoeWRyYXRlRnJvbVF1ZXJ5KHF1ZXJ5OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmF3ID0gcXVlcnk/LlsnY2F0ZWdvcnknXTtcbiAgICAgICAgaWYgKCFyYXcpIHJldHVybjtcblxuICAgICAgICBjb25zdCBjb2RlID0gU3RyaW5nKHJhdykudHJpbSgpO1xuICAgICAgICBpZiAoIWNvZGUpIHJldHVybjtcblxuICAgICAgICBjb25zdCBtYXJrID0gKG5vZGVzOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuLmNvZGUgPT09IGNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXJrKG4uY2hpbGRyZW4pKSBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb2sgPSBtYXJrKHRoaXMuZGF0YSk7XG4gICAgfVxufSJdfQ==