general-library-union 3.3.75 → 3.3.76

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 (987) hide show
  1. package/README.md +0 -0
  2. package/esm2022/public-api.mjs +1 -4
  3. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +13 -31
  4. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +17 -11
  5. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +3 -3
  6. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +3 -3
  7. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +3 -4
  8. package/esm2022/src/app/core/componentes/tabs-multiples/tabs-multiples.component.mjs +232 -0
  9. package/esm2022/src/app/core/servicios/auth.service.mjs +1 -2
  10. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +2 -2
  11. package/esm2022/src/app/core/servicios/tabs-multiples.service.mjs +89 -0
  12. package/esm2022/src/app/core/servicios/toast.service.mjs +2 -2
  13. package/esm2022/src/app/core/servicios/utils.service.mjs +19 -45
  14. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +21 -10
  15. package/esm2022/src/app/layout/app.layout.component.mjs +4 -3
  16. package/esm2022/src/app/layout/app.menu.component.mjs +1 -1
  17. package/esm2022/src/app/layout/app.menuitem.component.mjs +13 -72
  18. package/esm2022/src/app/layout/app.topbar.component.mjs +23 -19
  19. package/esm2022/src/app/publico/pages/login/login.page.mjs +3 -5
  20. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +3 -3
  21. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +3 -4
  22. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +3 -3
  23. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +1 -1
  24. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +1 -1
  25. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +1 -2
  26. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +3 -3
  27. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +3 -4
  28. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +3 -4
  29. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +31 -30
  30. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +5 -32
  31. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +6 -8
  32. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +3 -13
  33. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +3 -4
  34. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +4 -5
  35. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +3 -4
  36. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +3 -4
  37. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +2 -3
  38. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +4 -5
  39. package/esm2022/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.mjs +3 -4
  40. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +3 -4
  41. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +3 -4
  42. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +8 -19
  43. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +3 -4
  44. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +1 -6
  45. package/esm2022/src/environments/environment.mjs +3 -2
  46. package/fesm2022/general-library-union.mjs +550 -425
  47. package/fesm2022/general-library-union.mjs.map +1 -1
  48. package/package.json +5 -5
  49. package/public-api.d.ts +0 -3
  50. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +1 -3
  51. package/src/app/core/componentes/tabs-multiples/tabs-multiples.component.d.ts +53 -0
  52. package/src/app/core/servicios/tabs-multiples.service.d.ts +27 -0
  53. package/src/app/core/servicios/utils.service.d.ts +1 -4
  54. package/src/app/layout/app.breadcrumb.component.d.ts +4 -1
  55. package/src/app/layout/app.menuitem.component.d.ts +4 -2
  56. package/src/app/layout/app.topbar.component.d.ts +3 -2
  57. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +15 -15
  58. package/src/app/seguridad/modelos/TareasModel.d.ts +0 -1
  59. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +1 -3
  60. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +0 -1
  61. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +0 -3
  62. package/src/app/webcommon/services/fechaUtils.service.d.ts +0 -1
  63. package/src/assets/demo/avatar-1.png +0 -0
  64. package/src/assets/demo/customers-large.json +0 -0
  65. package/src/assets/demo/data/chat.json +0 -0
  66. package/src/assets/demo/data/countries.json +0 -0
  67. package/src/assets/demo/data/customers-large.json +0 -0
  68. package/src/assets/demo/data/customers-medium.json +0 -0
  69. package/src/assets/demo/data/customers-small.json +0 -0
  70. package/src/assets/demo/data/file-management.json +0 -0
  71. package/src/assets/demo/data/files-lazy.json +0 -0
  72. package/src/assets/demo/data/files.json +0 -0
  73. package/src/assets/demo/data/filesystem-lazy.json +0 -0
  74. package/src/assets/demo/data/filesystem.json +0 -0
  75. package/src/assets/demo/data/icons.json +0 -0
  76. package/src/assets/demo/data/kanban.json +0 -0
  77. package/src/assets/demo/data/mail.json +0 -0
  78. package/src/assets/demo/data/members.json +0 -0
  79. package/src/assets/demo/data/photos.json +0 -0
  80. package/src/assets/demo/data/products-mixed.json +0 -0
  81. package/src/assets/demo/data/products-orders-small.json +0 -0
  82. package/src/assets/demo/data/products-orders.json +0 -0
  83. package/src/assets/demo/data/products-small.json +0 -0
  84. package/src/assets/demo/data/products.json +0 -0
  85. package/src/assets/demo/data/scheduleevents.json +0 -0
  86. package/src/assets/demo/data/tasks.json +0 -0
  87. package/src/assets/demo/images/avatar/activity-1.png +0 -0
  88. package/src/assets/demo/images/avatar/activity-2.png +0 -0
  89. package/src/assets/demo/images/avatar/activity-3.png +0 -0
  90. package/src/assets/demo/images/avatar/amyelsner.png +0 -0
  91. package/src/assets/demo/images/avatar/annafali.png +0 -0
  92. package/src/assets/demo/images/avatar/asiyajavayant.png +0 -0
  93. package/src/assets/demo/images/avatar/avatar-1.png +0 -0
  94. package/src/assets/demo/images/avatar/avatar-10.png +0 -0
  95. package/src/assets/demo/images/avatar/avatar-11.png +0 -0
  96. package/src/assets/demo/images/avatar/avatar-12.png +0 -0
  97. package/src/assets/demo/images/avatar/avatar-13.png +0 -0
  98. package/src/assets/demo/images/avatar/avatar-14.png +0 -0
  99. package/src/assets/demo/images/avatar/avatar-15.png +0 -0
  100. package/src/assets/demo/images/avatar/avatar-16.png +0 -0
  101. package/src/assets/demo/images/avatar/avatar-2.png +0 -0
  102. package/src/assets/demo/images/avatar/avatar-3.png +0 -0
  103. package/src/assets/demo/images/avatar/avatar-4.png +0 -0
  104. package/src/assets/demo/images/avatar/avatar-5.png +0 -0
  105. package/src/assets/demo/images/avatar/avatar-6.png +0 -0
  106. package/src/assets/demo/images/avatar/avatar-7.png +0 -0
  107. package/src/assets/demo/images/avatar/avatar-8.png +0 -0
  108. package/src/assets/demo/images/avatar/avatar-9.png +0 -0
  109. package/src/assets/demo/images/avatar/bernardodominic.png +0 -0
  110. package/src/assets/demo/images/avatar/circle/avatar-f-1.png +0 -0
  111. package/src/assets/demo/images/avatar/circle/avatar-f-10.png +0 -0
  112. package/src/assets/demo/images/avatar/circle/avatar-f-10@2x.png +0 -0
  113. package/src/assets/demo/images/avatar/circle/avatar-f-11.png +0 -0
  114. package/src/assets/demo/images/avatar/circle/avatar-f-11@2x.png +0 -0
  115. package/src/assets/demo/images/avatar/circle/avatar-f-12.png +0 -0
  116. package/src/assets/demo/images/avatar/circle/avatar-f-12@2x.png +0 -0
  117. package/src/assets/demo/images/avatar/circle/avatar-f-1@2x.png +0 -0
  118. package/src/assets/demo/images/avatar/circle/avatar-f-2.png +0 -0
  119. package/src/assets/demo/images/avatar/circle/avatar-f-2@2x.png +0 -0
  120. package/src/assets/demo/images/avatar/circle/avatar-f-3.png +0 -0
  121. package/src/assets/demo/images/avatar/circle/avatar-f-3@2x.png +0 -0
  122. package/src/assets/demo/images/avatar/circle/avatar-f-4.png +0 -0
  123. package/src/assets/demo/images/avatar/circle/avatar-f-4@2x.png +0 -0
  124. package/src/assets/demo/images/avatar/circle/avatar-f-5.png +0 -0
  125. package/src/assets/demo/images/avatar/circle/avatar-f-5@2x.png +0 -0
  126. package/src/assets/demo/images/avatar/circle/avatar-f-6.png +0 -0
  127. package/src/assets/demo/images/avatar/circle/avatar-f-6@2x.png +0 -0
  128. package/src/assets/demo/images/avatar/circle/avatar-f-7.png +0 -0
  129. package/src/assets/demo/images/avatar/circle/avatar-f-7@2x.png +0 -0
  130. package/src/assets/demo/images/avatar/circle/avatar-f-8.png +0 -0
  131. package/src/assets/demo/images/avatar/circle/avatar-f-8@2x.png +0 -0
  132. package/src/assets/demo/images/avatar/circle/avatar-f-9.png +0 -0
  133. package/src/assets/demo/images/avatar/circle/avatar-f-9@2x.png +0 -0
  134. package/src/assets/demo/images/avatar/circle/avatar-m-1.png +0 -0
  135. package/src/assets/demo/images/avatar/circle/avatar-m-10.png +0 -0
  136. package/src/assets/demo/images/avatar/circle/avatar-m-10@2x.png +0 -0
  137. package/src/assets/demo/images/avatar/circle/avatar-m-11.png +0 -0
  138. package/src/assets/demo/images/avatar/circle/avatar-m-11@2x.png +0 -0
  139. package/src/assets/demo/images/avatar/circle/avatar-m-12.png +0 -0
  140. package/src/assets/demo/images/avatar/circle/avatar-m-12@2x.png +0 -0
  141. package/src/assets/demo/images/avatar/circle/avatar-m-1@2x.png +0 -0
  142. package/src/assets/demo/images/avatar/circle/avatar-m-2.png +0 -0
  143. package/src/assets/demo/images/avatar/circle/avatar-m-2@2x.png +0 -0
  144. package/src/assets/demo/images/avatar/circle/avatar-m-3.png +0 -0
  145. package/src/assets/demo/images/avatar/circle/avatar-m-3@2x.png +0 -0
  146. package/src/assets/demo/images/avatar/circle/avatar-m-4.png +0 -0
  147. package/src/assets/demo/images/avatar/circle/avatar-m-4@2x.png +0 -0
  148. package/src/assets/demo/images/avatar/circle/avatar-m-5.png +0 -0
  149. package/src/assets/demo/images/avatar/circle/avatar-m-5@2x.png +0 -0
  150. package/src/assets/demo/images/avatar/circle/avatar-m-6.png +0 -0
  151. package/src/assets/demo/images/avatar/circle/avatar-m-6@2x.png +0 -0
  152. package/src/assets/demo/images/avatar/circle/avatar-m-7-1.png +0 -0
  153. package/src/assets/demo/images/avatar/circle/avatar-m-7.png +0 -0
  154. package/src/assets/demo/images/avatar/circle/avatar-m-7@2x-1.png +0 -0
  155. package/src/assets/demo/images/avatar/circle/avatar-m-7@2x.png +0 -0
  156. package/src/assets/demo/images/avatar/circle/avatar-m-8.png +0 -0
  157. package/src/assets/demo/images/avatar/circle/avatar-m-8@2x.png +0 -0
  158. package/src/assets/demo/images/avatar/circle/avatar-m-9.png +0 -0
  159. package/src/assets/demo/images/avatar/circle/avatar-m-9@2x.png +0 -0
  160. package/src/assets/demo/images/avatar/circle-big/avatar-f-1.png +0 -0
  161. package/src/assets/demo/images/avatar/circle-big/avatar-f-1@2x.png +0 -0
  162. package/src/assets/demo/images/avatar/circle-big/avatar-f-2.png +0 -0
  163. package/src/assets/demo/images/avatar/circle-big/avatar-f-2@2x.png +0 -0
  164. package/src/assets/demo/images/avatar/circle-big/avatar-f-3.png +0 -0
  165. package/src/assets/demo/images/avatar/circle-big/avatar-f-3@2x.png +0 -0
  166. package/src/assets/demo/images/avatar/circle-big/avatar-m-1.png +0 -0
  167. package/src/assets/demo/images/avatar/circle-big/avatar-m-1@2x.png +0 -0
  168. package/src/assets/demo/images/avatar/circle-big/avatar-m-2.png +0 -0
  169. package/src/assets/demo/images/avatar/circle-big/avatar-m-2@2x.png +0 -0
  170. package/src/assets/demo/images/avatar/circle-big/avatar-m-3.png +0 -0
  171. package/src/assets/demo/images/avatar/circle-big/avatar-m-3@2x.png +0 -0
  172. package/src/assets/demo/images/avatar/elwinsharvill.png +0 -0
  173. package/src/assets/demo/images/avatar/ionibowcher.png +0 -0
  174. package/src/assets/demo/images/avatar/ivanmagalhaes.png +0 -0
  175. package/src/assets/demo/images/avatar/onyamalimba.png +0 -0
  176. package/src/assets/demo/images/avatar/profile.jpg +0 -0
  177. package/src/assets/demo/images/avatar/square/avatar-f-1.jpg +0 -0
  178. package/src/assets/demo/images/avatar/square/avatar-f-1@2x.jpg +0 -0
  179. package/src/assets/demo/images/avatar/square/avatar-f-2.jpg +0 -0
  180. package/src/assets/demo/images/avatar/square/avatar-f-2@2x.jpg +0 -0
  181. package/src/assets/demo/images/avatar/square/avatar-m-1.jpg +0 -0
  182. package/src/assets/demo/images/avatar/square/avatar-m-1@2x.jpg +0 -0
  183. package/src/assets/demo/images/avatar/stephenshaw.png +0 -0
  184. package/src/assets/demo/images/avatar/xuxuefeng.png +0 -0
  185. package/src/assets/demo/images/blocks/about/about-1.png +0 -0
  186. package/src/assets/demo/images/blocks/ad/icon-blocks.svg +0 -0
  187. package/src/assets/demo/images/blocks/hero/hero-1.png +0 -0
  188. package/src/assets/demo/images/blocks/logos/hyper.svg +0 -0
  189. package/src/assets/demo/images/blocks/logos/visa.png +0 -0
  190. package/src/assets/demo/images/blocks/team/team-1.png +0 -0
  191. package/src/assets/demo/images/blocks/team/team-2.png +0 -0
  192. package/src/assets/demo/images/blocks/team/team-3.png +0 -0
  193. package/src/assets/demo/images/blocks/team/team-4.png +0 -0
  194. package/src/assets/demo/images/blog/blog-1.png +0 -0
  195. package/src/assets/demo/images/blog/blog-2.png +0 -0
  196. package/src/assets/demo/images/blog/blog-3.png +0 -0
  197. package/src/assets/demo/images/blog/blog-4.png +0 -0
  198. package/src/assets/demo/images/blog/blog-5.png +0 -0
  199. package/src/assets/demo/images/blog/blog-6.png +0 -0
  200. package/src/assets/demo/images/blog/blogdetail.png +0 -0
  201. package/src/assets/demo/images/contact/map-dark.svg +0 -0
  202. package/src/assets/demo/images/contact/map-light.svg +0 -0
  203. package/src/assets/demo/images/ecommerce/order-history/orderhistory-1.png +0 -0
  204. package/src/assets/demo/images/ecommerce/order-history/orderhistory-2.png +0 -0
  205. package/src/assets/demo/images/ecommerce/order-history/orderhistory-3.png +0 -0
  206. package/src/assets/demo/images/ecommerce/order-history/orderhistory-4.png +0 -0
  207. package/src/assets/demo/images/ecommerce/order-history/orderhistory-5.png +0 -0
  208. package/src/assets/demo/images/ecommerce/order-history/orderhistory-6.png +0 -0
  209. package/src/assets/demo/images/ecommerce/ordersummary/order-summary-1-1.png +0 -0
  210. package/src/assets/demo/images/ecommerce/ordersummary/order-summary-1-2.png +0 -0
  211. package/src/assets/demo/images/ecommerce/ordersummary/order-summary-2-1.png +0 -0
  212. package/src/assets/demo/images/ecommerce/ordersummary/visa.png +0 -0
  213. package/src/assets/demo/images/ecommerce/product-list/product-list-2-1.png +0 -0
  214. package/src/assets/demo/images/ecommerce/product-list/product-list-2-2.png +0 -0
  215. package/src/assets/demo/images/ecommerce/product-list/product-list-2-3.png +0 -0
  216. package/src/assets/demo/images/ecommerce/product-list/product-list-2-4.png +0 -0
  217. package/src/assets/demo/images/ecommerce/product-list/product-list-4-1.png +0 -0
  218. package/src/assets/demo/images/ecommerce/product-list/product-list-4-2.png +0 -0
  219. package/src/assets/demo/images/ecommerce/product-list/product-list-4-3.png +0 -0
  220. package/src/assets/demo/images/ecommerce/product-list/product-list-4-4.png +0 -0
  221. package/src/assets/demo/images/ecommerce/product-list/product-list-4-5.png +0 -0
  222. package/src/assets/demo/images/ecommerce/product-list/product-list-4-6.png +0 -0
  223. package/src/assets/demo/images/ecommerce/productoverview/product-overview-1-1.png +0 -0
  224. package/src/assets/demo/images/ecommerce/productoverview/product-overview-1-2.png +0 -0
  225. package/src/assets/demo/images/ecommerce/productoverview/product-overview-1-3.png +0 -0
  226. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-1.png +0 -0
  227. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-2.png +0 -0
  228. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-3.png +0 -0
  229. package/src/assets/demo/images/ecommerce/productoverview/product-overview-2-4.png +0 -0
  230. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-1.png +0 -0
  231. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-2.png +0 -0
  232. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-3.png +0 -0
  233. package/src/assets/demo/images/ecommerce/productoverview/product-overview-3-4.png +0 -0
  234. package/src/assets/demo/images/ecommerce/productoverview/product-overview-4-1.png +0 -0
  235. package/src/assets/demo/images/ecommerce/productoverview/product-overview-4-2.png +0 -0
  236. package/src/assets/demo/images/ecommerce/productoverview/product-overview-4-3.png +0 -0
  237. package/src/assets/demo/images/ecommerce/productoverview/product-suggestion.png +0 -0
  238. package/src/assets/demo/images/ecommerce/shop/flag.png +0 -0
  239. package/src/assets/demo/images/ecommerce/shop/shop-1.png +0 -0
  240. package/src/assets/demo/images/ecommerce/shop/shop-2.png +0 -0
  241. package/src/assets/demo/images/ecommerce/shop/shop-3.png +0 -0
  242. package/src/assets/demo/images/ecommerce/shop/shop-4.png +0 -0
  243. package/src/assets/demo/images/ecommerce/shop/shop-5.png +0 -0
  244. package/src/assets/demo/images/ecommerce/shop/shop-6.png +0 -0
  245. package/src/assets/demo/images/ecommerce/shopping-cart/shopping-cart-2-1.png +0 -0
  246. package/src/assets/demo/images/ecommerce/shopping-cart/shopping-cart-2-2.png +0 -0
  247. package/src/assets/demo/images/flag/flag_placeholder.png +0 -0
  248. package/src/assets/demo/images/galleria/galleria1.jpg +0 -0
  249. package/src/assets/demo/images/galleria/galleria10.jpg +0 -0
  250. package/src/assets/demo/images/galleria/galleria10s.jpg +0 -0
  251. package/src/assets/demo/images/galleria/galleria11.jpg +0 -0
  252. package/src/assets/demo/images/galleria/galleria11s.jpg +0 -0
  253. package/src/assets/demo/images/galleria/galleria12.jpg +0 -0
  254. package/src/assets/demo/images/galleria/galleria12s.jpg +0 -0
  255. package/src/assets/demo/images/galleria/galleria13.jpg +0 -0
  256. package/src/assets/demo/images/galleria/galleria13s.jpg +0 -0
  257. package/src/assets/demo/images/galleria/galleria14.jpg +0 -0
  258. package/src/assets/demo/images/galleria/galleria14s.jpg +0 -0
  259. package/src/assets/demo/images/galleria/galleria15.jpg +0 -0
  260. package/src/assets/demo/images/galleria/galleria15s.jpg +0 -0
  261. package/src/assets/demo/images/galleria/galleria1s.jpg +0 -0
  262. package/src/assets/demo/images/galleria/galleria2.jpg +0 -0
  263. package/src/assets/demo/images/galleria/galleria2s.jpg +0 -0
  264. package/src/assets/demo/images/galleria/galleria3.jpg +0 -0
  265. package/src/assets/demo/images/galleria/galleria3s.jpg +0 -0
  266. package/src/assets/demo/images/galleria/galleria4.jpg +0 -0
  267. package/src/assets/demo/images/galleria/galleria4s.jpg +0 -0
  268. package/src/assets/demo/images/galleria/galleria5.jpg +0 -0
  269. package/src/assets/demo/images/galleria/galleria5s.jpg +0 -0
  270. package/src/assets/demo/images/galleria/galleria6.jpg +0 -0
  271. package/src/assets/demo/images/galleria/galleria6s.jpg +0 -0
  272. package/src/assets/demo/images/galleria/galleria7.jpg +0 -0
  273. package/src/assets/demo/images/galleria/galleria7s.jpg +0 -0
  274. package/src/assets/demo/images/galleria/galleria8.jpg +0 -0
  275. package/src/assets/demo/images/galleria/galleria8s.jpg +0 -0
  276. package/src/assets/demo/images/galleria/galleria9.jpg +0 -0
  277. package/src/assets/demo/images/galleria/galleria9s.jpg +0 -0
  278. package/src/assets/demo/images/landing/chat-dark.png +0 -0
  279. package/src/assets/demo/images/landing/chat-light.png +0 -0
  280. package/src/assets/demo/images/landing/dashboard-dark.png +0 -0
  281. package/src/assets/demo/images/landing/dashboard-light.png +0 -0
  282. package/src/assets/demo/images/landing/icon-accessibility.svg +0 -0
  283. package/src/assets/demo/images/landing/icon-community.svg +0 -0
  284. package/src/assets/demo/images/landing/icon-components.svg +0 -0
  285. package/src/assets/demo/images/landing/icon-mobile.svg +0 -0
  286. package/src/assets/demo/images/landing/icon-productivity.svg +0 -0
  287. package/src/assets/demo/images/landing/icon-support.svg +0 -0
  288. package/src/assets/demo/images/landing/icon-theme.svg +0 -0
  289. package/src/assets/demo/images/landing/icon-ts.svg +0 -0
  290. package/src/assets/demo/images/landing/kanban-dark.png +0 -0
  291. package/src/assets/demo/images/landing/kanban-light.png +0 -0
  292. package/src/assets/demo/images/landing/mail-dark.png +0 -0
  293. package/src/assets/demo/images/landing/mail-light.png +0 -0
  294. package/src/assets/demo/images/nature/nature1.jpg +0 -0
  295. package/src/assets/demo/images/nature/nature10.jpg +0 -0
  296. package/src/assets/demo/images/nature/nature11.jpg +0 -0
  297. package/src/assets/demo/images/nature/nature12.jpg +0 -0
  298. package/src/assets/demo/images/nature/nature2.jpg +0 -0
  299. package/src/assets/demo/images/nature/nature3.jpg +0 -0
  300. package/src/assets/demo/images/nature/nature4.jpg +0 -0
  301. package/src/assets/demo/images/nature/nature5.jpg +0 -0
  302. package/src/assets/demo/images/nature/nature6.jpg +0 -0
  303. package/src/assets/demo/images/nature/nature7.jpg +0 -0
  304. package/src/assets/demo/images/nature/nature8.jpg +0 -0
  305. package/src/assets/demo/images/nature/nature9.jpg +0 -0
  306. package/src/assets/demo/images/product/bamboo-watch.jpg +0 -0
  307. package/src/assets/demo/images/product/black-watch.jpg +0 -0
  308. package/src/assets/demo/images/product/blue-band.jpg +0 -0
  309. package/src/assets/demo/images/product/blue-t-shirt.jpg +0 -0
  310. package/src/assets/demo/images/product/bracelet.jpg +0 -0
  311. package/src/assets/demo/images/product/brown-purse.jpg +0 -0
  312. package/src/assets/demo/images/product/chakra-bracelet.jpg +0 -0
  313. package/src/assets/demo/images/product/galaxy-earrings.jpg +0 -0
  314. package/src/assets/demo/images/product/game-controller.jpg +0 -0
  315. package/src/assets/demo/images/product/gaming-set.jpg +0 -0
  316. package/src/assets/demo/images/product/gold-phone-case.jpg +0 -0
  317. package/src/assets/demo/images/product/green-earbuds.jpg +0 -0
  318. package/src/assets/demo/images/product/green-t-shirt.jpg +0 -0
  319. package/src/assets/demo/images/product/grey-t-shirt.jpg +0 -0
  320. package/src/assets/demo/images/product/headphones.jpg +0 -0
  321. package/src/assets/demo/images/product/light-green-t-shirt.jpg +0 -0
  322. package/src/assets/demo/images/product/lime-band.jpg +0 -0
  323. package/src/assets/demo/images/product/mini-speakers.jpg +0 -0
  324. package/src/assets/demo/images/product/painted-phone-case.jpg +0 -0
  325. package/src/assets/demo/images/product/pink-band.jpg +0 -0
  326. package/src/assets/demo/images/product/pink-purse.jpg +0 -0
  327. package/src/assets/demo/images/product/product-placeholder.svg +0 -0
  328. package/src/assets/demo/images/product/purple-band.jpg +0 -0
  329. package/src/assets/demo/images/product/purple-gemstone-necklace.jpg +0 -0
  330. package/src/assets/demo/images/product/purple-t-shirt.jpg +0 -0
  331. package/src/assets/demo/images/product/shoes.jpg +0 -0
  332. package/src/assets/demo/images/product/sneakers.jpg +0 -0
  333. package/src/assets/demo/images/product/teal-t-shirt.jpg +0 -0
  334. package/src/assets/demo/images/product/yellow-earbuds.jpg +0 -0
  335. package/src/assets/demo/images/product/yoga-mat.jpg +0 -0
  336. package/src/assets/demo/images/product/yoga-set.jpg +0 -0
  337. package/src/assets/demo/styles/badges.css +0 -0
  338. package/src/assets/demo/styles/badges.scss +0 -0
  339. package/src/assets/demo/styles/code.css +0 -0
  340. package/src/assets/demo/styles/code.scss +0 -0
  341. package/src/assets/demo/styles/flags/flags.css +0 -0
  342. package/src/assets/demo/styles/flags/flags_responsive.png +0 -0
  343. package/src/assets/glyphicons/css/boton-icon.css +0 -0
  344. package/src/assets/glyphicons/css/glyphicons-basic.css +0 -0
  345. package/src/assets/glyphicons/css/glyphicons-filetypes.css +0 -0
  346. package/src/assets/glyphicons/css/glyphicons-halflings.css +0 -0
  347. package/src/assets/glyphicons/css/glyphicons-social.css +0 -0
  348. package/src/assets/glyphicons/css/glyphicons.css +0 -0
  349. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.eot +0 -0
  350. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.svg +0 -0
  351. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.ttf +0 -0
  352. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.woff +0 -0
  353. package/src/assets/glyphicons/fonts/filetypes/glyphicons-filetypes-regular.woff2 +0 -0
  354. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.eot +0 -0
  355. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.svg +0 -0
  356. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.ttf +0 -0
  357. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.woff +0 -0
  358. package/src/assets/glyphicons/fonts/halflings/glyphicons-halflings-regular.woff2 +0 -0
  359. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.eot +0 -0
  360. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.svg +0 -0
  361. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.ttf +0 -0
  362. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.woff +0 -0
  363. package/src/assets/glyphicons/fonts/regular/glyphicons-regular.woff2 +0 -0
  364. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.eot +0 -0
  365. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.svg +0 -0
  366. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.ttf +0 -0
  367. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.woff +0 -0
  368. package/src/assets/glyphicons/fonts/social/glyphicons-social-regular.woff2 +0 -0
  369. package/src/assets/images/LogoUS.png +0 -0
  370. package/src/assets/images/Robot.png +0 -0
  371. package/src/assets/images/favicon.ico +0 -0
  372. package/src/assets/images/fdNoFound.png +0 -0
  373. package/src/assets/images/fd_timeOut.png +0 -0
  374. package/src/assets/images/imagen-principal-sam.png +0 -0
  375. package/src/assets/images/imagen-principal-samanta.png +0 -0
  376. package/src/assets/images/imagen-principal-sara.png +0 -0
  377. package/src/assets/images/imagen-principal-seguridad.png +0 -0
  378. package/src/assets/images/imagen_login.png +0 -0
  379. package/src/assets/images/logo-aps-descomprimido.png +0 -0
  380. package/src/assets/images/logo-aps.png +0 -0
  381. package/src/assets/images/logo-icono-aps.png +0 -0
  382. package/src/assets/images/logo-icono-sam.png +0 -0
  383. package/src/assets/images/logo-icono-samanta.png +0 -0
  384. package/src/assets/images/logo-icono-sara.png +0 -0
  385. package/src/assets/images/logo-icono-seguridad.png +0 -0
  386. package/src/assets/images/logo-sam-descomprimido.png +0 -0
  387. package/src/assets/images/logo-sam.png +0 -0
  388. package/src/assets/images/logo-samanta-descomprimido.png +0 -0
  389. package/src/assets/images/logo-samanta.png +0 -0
  390. package/src/assets/images/logo-sara-descomprimido.png +0 -0
  391. package/src/assets/images/logo-sara.png +0 -0
  392. package/src/assets/images/logo-seguridad-descomprimido.png +0 -0
  393. package/src/assets/images/logo-seguridad.png +0 -0
  394. package/src/assets/images/logo-union-simple.png +0 -0
  395. package/src/assets/images/logo-union-soluciones-logo.png +0 -0
  396. package/src/assets/images/logous-blanco.png +0 -0
  397. package/src/assets/images/modulos/icono-activos-fijos.png +0 -0
  398. package/src/assets/images/modulos/icono-administracion.png +0 -0
  399. package/src/assets/images/modulos/icono-compras.png +0 -0
  400. package/src/assets/images/modulos/icono-control.png +0 -0
  401. package/src/assets/images/modulos/icono-cotizacion.png +0 -0
  402. package/src/assets/images/modulos/icono-inventarios.png +0 -0
  403. package/src/assets/images/modulos/icono-presupuesto.png +0 -0
  404. package/src/assets/images/modulos/icono-produccion.png +0 -0
  405. package/src/assets/images/modulos/icono-requisicion.png +0 -0
  406. package/src/assets/images/navegador-chrome.png +0 -0
  407. package/src/assets/images/navegador-edge.png +0 -0
  408. package/src/assets/images/navegador-explorer.png +0 -0
  409. package/src/assets/images/navegador-firefox.png +0 -0
  410. package/src/assets/images/not-found-fondo.png +0 -0
  411. package/src/assets/images/not-found.png +0 -0
  412. package/src/assets/images/personaje.png +0 -0
  413. package/src/assets/images/robotZ.png +0 -0
  414. package/src/assets/images/texto-union-soluciones.png +0 -0
  415. package/src/assets/images/timeout.png +0 -0
  416. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  417. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  418. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  419. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  420. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  421. package/src/assets/layout/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  422. package/src/assets/layout/images/401.svg +0 -0
  423. package/src/assets/layout/images/404-2x.png +0 -0
  424. package/src/assets/layout/images/dashboard/saas-card.png +0 -0
  425. package/src/assets/layout/images/doc/breadcrumb-doc.jpg +0 -0
  426. package/src/assets/layout/images/doc/inlinemenu-doc.jpg +0 -0
  427. package/src/assets/layout/images/doc/rightmenu-doc.jpg +0 -0
  428. package/src/assets/layout/images/doc/topbar-doc.jpg +0 -0
  429. package/src/assets/layout/images/extensions/asset-amex.svg +0 -0
  430. package/src/assets/layout/images/extensions/asset-mastercard.svg +0 -0
  431. package/src/assets/layout/images/extensions/asset-paypal.svg +0 -0
  432. package/src/assets/layout/images/extensions/asset-visa.svg +0 -0
  433. package/src/assets/layout/images/extensions/background@2x.jpg +0 -0
  434. package/src/assets/layout/images/extensions/flag-us@2x.png +0 -0
  435. package/src/assets/layout/images/extensions/help-header@2x.jpg +0 -0
  436. package/src/assets/layout/images/extensions/prime-logo.svg +0 -0
  437. package/src/assets/layout/images/favicon.png +0 -0
  438. package/src/assets/layout/images/footer-ultima-dark.svg +0 -0
  439. package/src/assets/layout/images/footer-ultima.svg +0 -0
  440. package/src/assets/layout/images/landing/collaboration-image.png +0 -0
  441. package/src/assets/layout/images/landing/easyfollow-image.png +0 -0
  442. package/src/assets/layout/images/landing/landing-ellipse.png +0 -0
  443. package/src/assets/layout/images/landing/landing-ellipse2.png +0 -0
  444. package/src/assets/layout/images/landing/landing-hero-image.jpg +0 -0
  445. package/src/assets/layout/images/landing/landing-logo1.png +0 -0
  446. package/src/assets/layout/images/landing/landing-logo2.png +0 -0
  447. package/src/assets/layout/images/landing/landing-logo3.png +0 -0
  448. package/src/assets/layout/images/landing/landing-logo4.png +0 -0
  449. package/src/assets/layout/images/landing/layer-0-opt.jpg +0 -0
  450. package/src/assets/layout/images/landing/layer-1-opt.png +0 -0
  451. package/src/assets/layout/images/landing/layer-2-opt.png +0 -0
  452. package/src/assets/layout/images/logo-ultima.svg +0 -0
  453. package/src/assets/layout/images/logo.png +0 -0
  454. package/src/assets/layout/images/logo2x.png +0 -0
  455. package/src/assets/layout/images/pages/404-bg.jpg +0 -0
  456. package/src/assets/layout/images/pages/404.png +0 -0
  457. package/src/assets/layout/images/pages/accessDenied-bg.jpg +0 -0
  458. package/src/assets/layout/images/pages/accessDenied.png +0 -0
  459. package/src/assets/layout/images/pages/error-bg.jpg +0 -0
  460. package/src/assets/layout/images/pages/error.png +0 -0
  461. package/src/assets/layout/images/pages/error2.png +0 -0
  462. package/src/assets/layout/images/pages/login-bg.jpg +0 -0
  463. package/src/assets/layout/images/vector_logo.png +0 -0
  464. package/src/assets/layout/images/widgets/asset-profile.png +0 -0
  465. package/src/assets/layout/images/widgets/feature-faq.svg +0 -0
  466. package/src/assets/layout/images/widgets/feature-onboarding.svg +0 -0
  467. package/src/assets/layout/images/widgets/feature-security.svg +0 -0
  468. package/src/assets/layout/images/widgets/image-blog.jpg +0 -0
  469. package/src/assets/layout/images/widgets/map.jpg +0 -0
  470. package/src/assets/layout/styles/layout/_animation.scss +0 -0
  471. package/src/assets/layout/styles/layout/_breadcrumb.scss +0 -0
  472. package/src/assets/layout/styles/layout/_config.scss +0 -0
  473. package/src/assets/layout/styles/layout/_content.scss +0 -0
  474. package/src/assets/layout/styles/layout/_fonts.scss +0 -0
  475. package/src/assets/layout/styles/layout/_footer.scss +0 -0
  476. package/src/assets/layout/styles/layout/_invoice.scss +0 -0
  477. package/src/assets/layout/styles/layout/_landing.scss +0 -0
  478. package/src/assets/layout/styles/layout/_main.scss +0 -0
  479. package/src/assets/layout/styles/layout/_megamenu.scss +0 -0
  480. package/src/assets/layout/styles/layout/_menuprofile.scss +0 -0
  481. package/src/assets/layout/styles/layout/_responsive.scss +0 -0
  482. package/src/assets/layout/styles/layout/_rightmenu.scss +0 -0
  483. package/src/assets/layout/styles/layout/_typography.scss +0 -0
  484. package/src/assets/layout/styles/layout/_utils.scss +0 -0
  485. package/src/assets/layout/styles/layout/layout.css +0 -0
  486. package/src/assets/layout/styles/layout/layout.scss +0 -0
  487. package/src/assets/layout/styles/layout/preloading.css +0 -0
  488. package/src/assets/layout/styles/layout/preloading.scss +0 -0
  489. package/src/assets/layout/styles/layout/sidebar/_sidebar.scss +0 -0
  490. package/src/assets/layout/styles/layout/sidebar/_sidebar_drawer.scss +0 -0
  491. package/src/assets/layout/styles/layout/sidebar/_sidebar_horizontal.scss +0 -0
  492. package/src/assets/layout/styles/layout/sidebar/_sidebar_reveal.scss +0 -0
  493. package/src/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +0 -0
  494. package/src/assets/layout/styles/layout/sidebar/_sidebar_slim_plus.scss +0 -0
  495. package/src/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +0 -0
  496. package/src/assets/layout/styles/layout/sidebar/themes/_menu_bluegrey.scss +0 -0
  497. package/src/assets/layout/styles/layout/sidebar/themes/_menu_brown.scss +0 -0
  498. package/src/assets/layout/styles/layout/sidebar/themes/_menu_cyan.scss +0 -0
  499. package/src/assets/layout/styles/layout/sidebar/themes/_menu_dark.scss +0 -0
  500. package/src/assets/layout/styles/layout/sidebar/themes/_menu_deeporange.scss +0 -0
  501. package/src/assets/layout/styles/layout/sidebar/themes/_menu_deeppurple.scss +0 -0
  502. package/src/assets/layout/styles/layout/sidebar/themes/_menu_green.scss +0 -0
  503. package/src/assets/layout/styles/layout/sidebar/themes/_menu_indigo.scss +0 -0
  504. package/src/assets/layout/styles/layout/sidebar/themes/_menu_light.scss +0 -0
  505. package/src/assets/layout/styles/layout/sidebar/themes/_menu_pink.scss +0 -0
  506. package/src/assets/layout/styles/layout/sidebar/themes/_menu_purple.scss +0 -0
  507. package/src/assets/layout/styles/layout/sidebar/themes/_menu_teal.scss +0 -0
  508. package/src/assets/layout/styles/layout/topbar/_topbar.scss +0 -0
  509. package/src/assets/layout/styles/layout/topbar/_topbar_main.scss +0 -0
  510. package/src/assets/layout/styles/layout/topbar/themes/_topbar_amber.scss +0 -0
  511. package/src/assets/layout/styles/layout/topbar/themes/_topbar_blue.scss +0 -0
  512. package/src/assets/layout/styles/layout/topbar/themes/_topbar_bluegrey.scss +0 -0
  513. package/src/assets/layout/styles/layout/topbar/themes/_topbar_brown.scss +0 -0
  514. package/src/assets/layout/styles/layout/topbar/themes/_topbar_cyan.scss +0 -0
  515. package/src/assets/layout/styles/layout/topbar/themes/_topbar_dark.scss +0 -0
  516. package/src/assets/layout/styles/layout/topbar/themes/_topbar_deeporange.scss +0 -0
  517. package/src/assets/layout/styles/layout/topbar/themes/_topbar_deeppurple.scss +0 -0
  518. package/src/assets/layout/styles/layout/topbar/themes/_topbar_green.scss +0 -0
  519. package/src/assets/layout/styles/layout/topbar/themes/_topbar_grey.scss +0 -0
  520. package/src/assets/layout/styles/layout/topbar/themes/_topbar_indigo.scss +0 -0
  521. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lightblue.scss +0 -0
  522. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lightgreen.scss +0 -0
  523. package/src/assets/layout/styles/layout/topbar/themes/_topbar_lime.scss +0 -0
  524. package/src/assets/layout/styles/layout/topbar/themes/_topbar_orange.scss +0 -0
  525. package/src/assets/layout/styles/layout/topbar/themes/_topbar_pink.scss +0 -0
  526. package/src/assets/layout/styles/layout/topbar/themes/_topbar_purple.scss +0 -0
  527. package/src/assets/layout/styles/layout/topbar/themes/_topbar_teal.scss +0 -0
  528. package/src/assets/layout/styles/layout/topbar/themes/_topbar_white.scss +0 -0
  529. package/src/assets/layout/styles/layout/topbar/themes/_topbar_yellow.scss +0 -0
  530. package/src/assets/layout/styles/theme/_compact.scss +0 -0
  531. package/src/assets/layout/styles/theme/designer/_colors.scss +0 -0
  532. package/src/assets/layout/styles/theme/designer/_common.scss +0 -0
  533. package/src/assets/layout/styles/theme/designer/_components.scss +0 -0
  534. package/src/assets/layout/styles/theme/designer/_mixins.scss +0 -0
  535. package/src/assets/layout/styles/theme/designer/components/button/_button.scss +0 -0
  536. package/src/assets/layout/styles/theme/designer/components/button/_speeddial.scss +0 -0
  537. package/src/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +0 -0
  538. package/src/assets/layout/styles/theme/designer/components/data/_carousel.scss +0 -0
  539. package/src/assets/layout/styles/theme/designer/components/data/_datatable.scss +0 -0
  540. package/src/assets/layout/styles/theme/designer/components/data/_dataview.scss +0 -0
  541. package/src/assets/layout/styles/theme/designer/components/data/_filter.scss +0 -0
  542. package/src/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +0 -0
  543. package/src/assets/layout/styles/theme/designer/components/data/_orderlist.scss +0 -0
  544. package/src/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +0 -0
  545. package/src/assets/layout/styles/theme/designer/components/data/_paginator.scss +0 -0
  546. package/src/assets/layout/styles/theme/designer/components/data/_picklist.scss +0 -0
  547. package/src/assets/layout/styles/theme/designer/components/data/_timeline.scss +0 -0
  548. package/src/assets/layout/styles/theme/designer/components/data/_tree.scss +0 -0
  549. package/src/assets/layout/styles/theme/designer/components/data/_treetable.scss +0 -0
  550. package/src/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +0 -0
  551. package/src/assets/layout/styles/theme/designer/components/file/_fileupload.scss +0 -0
  552. package/src/assets/layout/styles/theme/designer/components/input/_autocomplete.scss +0 -0
  553. package/src/assets/layout/styles/theme/designer/components/input/_calendar.scss +0 -0
  554. package/src/assets/layout/styles/theme/designer/components/input/_cascadeselect.scss +0 -0
  555. package/src/assets/layout/styles/theme/designer/components/input/_checkbox.scss +0 -0
  556. package/src/assets/layout/styles/theme/designer/components/input/_chips.scss +0 -0
  557. package/src/assets/layout/styles/theme/designer/components/input/_colorpicker.scss +0 -0
  558. package/src/assets/layout/styles/theme/designer/components/input/_dropdown.scss +0 -0
  559. package/src/assets/layout/styles/theme/designer/components/input/_editor.scss +0 -0
  560. package/src/assets/layout/styles/theme/designer/components/input/_inputgroup.scss +0 -0
  561. package/src/assets/layout/styles/theme/designer/components/input/_inputmask.scss +0 -0
  562. package/src/assets/layout/styles/theme/designer/components/input/_inputnumber.scss +0 -0
  563. package/src/assets/layout/styles/theme/designer/components/input/_inputswitch.scss +0 -0
  564. package/src/assets/layout/styles/theme/designer/components/input/_inputtext.scss +0 -0
  565. package/src/assets/layout/styles/theme/designer/components/input/_listbox.scss +0 -0
  566. package/src/assets/layout/styles/theme/designer/components/input/_multiselect.scss +0 -0
  567. package/src/assets/layout/styles/theme/designer/components/input/_password.scss +0 -0
  568. package/src/assets/layout/styles/theme/designer/components/input/_radiobutton.scss +0 -0
  569. package/src/assets/layout/styles/theme/designer/components/input/_rating.scss +0 -0
  570. package/src/assets/layout/styles/theme/designer/components/input/_selectbutton.scss +0 -0
  571. package/src/assets/layout/styles/theme/designer/components/input/_slider.scss +0 -0
  572. package/src/assets/layout/styles/theme/designer/components/input/_togglebutton.scss +0 -0
  573. package/src/assets/layout/styles/theme/designer/components/input/_treeselect.scss +0 -0
  574. package/src/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +0 -0
  575. package/src/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +0 -0
  576. package/src/assets/layout/styles/theme/designer/components/menu/_dock.scss +0 -0
  577. package/src/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +0 -0
  578. package/src/assets/layout/styles/theme/designer/components/menu/_menu.scss +0 -0
  579. package/src/assets/layout/styles/theme/designer/components/menu/_menubar.scss +0 -0
  580. package/src/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +0 -0
  581. package/src/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +0 -0
  582. package/src/assets/layout/styles/theme/designer/components/menu/_steps.scss +0 -0
  583. package/src/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +0 -0
  584. package/src/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +0 -0
  585. package/src/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +0 -0
  586. package/src/assets/layout/styles/theme/designer/components/messages/_message.scss +0 -0
  587. package/src/assets/layout/styles/theme/designer/components/messages/_toast.scss +0 -0
  588. package/src/assets/layout/styles/theme/designer/components/misc/_avatar.scss +0 -0
  589. package/src/assets/layout/styles/theme/designer/components/misc/_badge.scss +0 -0
  590. package/src/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  591. package/src/assets/layout/styles/theme/designer/components/misc/_chip.scss +0 -0
  592. package/src/assets/layout/styles/theme/designer/components/misc/_inplace.scss +0 -0
  593. package/src/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +0 -0
  594. package/src/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +0 -0
  595. package/src/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +0 -0
  596. package/src/assets/layout/styles/theme/designer/components/misc/_tag.scss +0 -0
  597. package/src/assets/layout/styles/theme/designer/components/misc/_terminal.scss +0 -0
  598. package/src/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +0 -0
  599. package/src/assets/layout/styles/theme/designer/components/multimedia/_image.scss +0 -0
  600. package/src/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +0 -0
  601. package/src/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +0 -0
  602. package/src/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +0 -0
  603. package/src/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +0 -0
  604. package/src/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +0 -0
  605. package/src/assets/layout/styles/theme/designer/components/panel/_accordion.scss +0 -0
  606. package/src/assets/layout/styles/theme/designer/components/panel/_card.scss +0 -0
  607. package/src/assets/layout/styles/theme/designer/components/panel/_divider.scss +0 -0
  608. package/src/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +0 -0
  609. package/src/assets/layout/styles/theme/designer/components/panel/_panel.scss +0 -0
  610. package/src/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +0 -0
  611. package/src/assets/layout/styles/theme/designer/components/panel/_splitter.scss +0 -0
  612. package/src/assets/layout/styles/theme/designer/components/panel/_tabview.scss +0 -0
  613. package/src/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +0 -0
  614. package/src/assets/layout/styles/theme/extensions/_accordion.scss +0 -0
  615. package/src/assets/layout/styles/theme/extensions/_autocomplete.scss +0 -0
  616. package/src/assets/layout/styles/theme/extensions/_breadcrumb.scss +0 -0
  617. package/src/assets/layout/styles/theme/extensions/_button.scss +0 -0
  618. package/src/assets/layout/styles/theme/extensions/_calendar.scss +0 -0
  619. package/src/assets/layout/styles/theme/extensions/_carousel.scss +0 -0
  620. package/src/assets/layout/styles/theme/extensions/_cascadeselect.scss +0 -0
  621. package/src/assets/layout/styles/theme/extensions/_checkbox.scss +0 -0
  622. package/src/assets/layout/styles/theme/extensions/_chips.scss +0 -0
  623. package/src/assets/layout/styles/theme/extensions/_datatable.scss +0 -0
  624. package/src/assets/layout/styles/theme/extensions/_dropdown.scss +0 -0
  625. package/src/assets/layout/styles/theme/extensions/_fieldset.scss +0 -0
  626. package/src/assets/layout/styles/theme/extensions/_float_label.scss +0 -0
  627. package/src/assets/layout/styles/theme/extensions/_fullcalendar.scss +0 -0
  628. package/src/assets/layout/styles/theme/extensions/_galleria.scss +0 -0
  629. package/src/assets/layout/styles/theme/extensions/_input.scss +0 -0
  630. package/src/assets/layout/styles/theme/extensions/_inputgroup.scss +0 -0
  631. package/src/assets/layout/styles/theme/extensions/_inputmask.scss +0 -0
  632. package/src/assets/layout/styles/theme/extensions/_inputnumber.scss +0 -0
  633. package/src/assets/layout/styles/theme/extensions/_inputswitch.scss +0 -0
  634. package/src/assets/layout/styles/theme/extensions/_listbox.scss +0 -0
  635. package/src/assets/layout/styles/theme/extensions/_megamenu.scss +0 -0
  636. package/src/assets/layout/styles/theme/extensions/_menu.scss +0 -0
  637. package/src/assets/layout/styles/theme/extensions/_menubar.scss +0 -0
  638. package/src/assets/layout/styles/theme/extensions/_mixins.scss +0 -0
  639. package/src/assets/layout/styles/theme/extensions/_multiselect.scss +0 -0
  640. package/src/assets/layout/styles/theme/extensions/_orderlist.scss +0 -0
  641. package/src/assets/layout/styles/theme/extensions/_overlaypanel.scss +0 -0
  642. package/src/assets/layout/styles/theme/extensions/_paginator.scss +0 -0
  643. package/src/assets/layout/styles/theme/extensions/_panel.scss +0 -0
  644. package/src/assets/layout/styles/theme/extensions/_panelmenu.scss +0 -0
  645. package/src/assets/layout/styles/theme/extensions/_picklist.scss +0 -0
  646. package/src/assets/layout/styles/theme/extensions/_progressbar.scss +0 -0
  647. package/src/assets/layout/styles/theme/extensions/_radiobutton.scss +0 -0
  648. package/src/assets/layout/styles/theme/extensions/_rating.scss +0 -0
  649. package/src/assets/layout/styles/theme/extensions/_selectbutton.scss +0 -0
  650. package/src/assets/layout/styles/theme/extensions/_slidemenu.scss +0 -0
  651. package/src/assets/layout/styles/theme/extensions/_slider.scss +0 -0
  652. package/src/assets/layout/styles/theme/extensions/_steps.scss +0 -0
  653. package/src/assets/layout/styles/theme/extensions/_tabmenu.scss +0 -0
  654. package/src/assets/layout/styles/theme/extensions/_tabview.scss +0 -0
  655. package/src/assets/layout/styles/theme/extensions/_tieredmenu.scss +0 -0
  656. package/src/assets/layout/styles/theme/extensions/_timeline.scss +0 -0
  657. package/src/assets/layout/styles/theme/extensions/_togglebutton.scss +0 -0
  658. package/src/assets/layout/styles/theme/extensions/_toolbar.scss +0 -0
  659. package/src/assets/layout/styles/theme/extensions/_tooltip.scss +0 -0
  660. package/src/assets/layout/styles/theme/extensions/_tree.scss +0 -0
  661. package/src/assets/layout/styles/theme/extensions/_treeselect.scss +0 -0
  662. package/src/assets/layout/styles/theme/extensions/_treetable.scss +0 -0
  663. package/src/assets/layout/styles/theme/extensions/_vendor_extensions.scss +0 -0
  664. package/src/assets/layout/styles/theme/theme-dark/_variables.scss +0 -0
  665. package/src/assets/layout/styles/theme/theme-dark/amber/theme.css +0 -0
  666. package/src/assets/layout/styles/theme/theme-dark/amber/theme.scss +0 -0
  667. package/src/assets/layout/styles/theme/theme-dark/blue/theme.css +0 -0
  668. package/src/assets/layout/styles/theme/theme-dark/blue/theme.scss +0 -0
  669. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.css +0 -0
  670. package/src/assets/layout/styles/theme/theme-dark/bluegrey/theme.scss +0 -0
  671. package/src/assets/layout/styles/theme/theme-dark/brown/theme.css +0 -0
  672. package/src/assets/layout/styles/theme/theme-dark/brown/theme.scss +0 -0
  673. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.css +0 -0
  674. package/src/assets/layout/styles/theme/theme-dark/cyan/theme.scss +0 -0
  675. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.css +0 -0
  676. package/src/assets/layout/styles/theme/theme-dark/deeporange/theme.scss +0 -0
  677. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +0 -0
  678. package/src/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +0 -0
  679. package/src/assets/layout/styles/theme/theme-dark/green/theme.css +0 -0
  680. package/src/assets/layout/styles/theme/theme-dark/green/theme.scss +0 -0
  681. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.css +0 -0
  682. package/src/assets/layout/styles/theme/theme-dark/indigo/theme.scss +0 -0
  683. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.css +0 -0
  684. package/src/assets/layout/styles/theme/theme-dark/lightblue/theme.scss +0 -0
  685. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.css +0 -0
  686. package/src/assets/layout/styles/theme/theme-dark/lightgreen/theme.scss +0 -0
  687. package/src/assets/layout/styles/theme/theme-dark/lime/theme.css +0 -0
  688. package/src/assets/layout/styles/theme/theme-dark/lime/theme.scss +0 -0
  689. package/src/assets/layout/styles/theme/theme-dark/orange/theme.css +0 -0
  690. package/src/assets/layout/styles/theme/theme-dark/orange/theme.scss +0 -0
  691. package/src/assets/layout/styles/theme/theme-dark/pink/theme.css +0 -0
  692. package/src/assets/layout/styles/theme/theme-dark/pink/theme.scss +0 -0
  693. package/src/assets/layout/styles/theme/theme-dark/purple/theme.css +0 -0
  694. package/src/assets/layout/styles/theme/theme-dark/purple/theme.scss +0 -0
  695. package/src/assets/layout/styles/theme/theme-dark/teal/theme.css +0 -0
  696. package/src/assets/layout/styles/theme/theme-dark/teal/theme.scss +0 -0
  697. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.css +0 -0
  698. package/src/assets/layout/styles/theme/theme-dark/yellow/theme.scss +0 -0
  699. package/src/assets/layout/styles/theme/theme-light/_variables.scss +0 -0
  700. package/src/assets/layout/styles/theme/theme-light/amber/theme.css +0 -0
  701. package/src/assets/layout/styles/theme/theme-light/amber/theme.scss +0 -0
  702. package/src/assets/layout/styles/theme/theme-light/blue/theme.css +0 -0
  703. package/src/assets/layout/styles/theme/theme-light/blue/theme.scss +0 -0
  704. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.css +0 -0
  705. package/src/assets/layout/styles/theme/theme-light/bluegrey/theme.scss +0 -0
  706. package/src/assets/layout/styles/theme/theme-light/brown/theme.css +0 -0
  707. package/src/assets/layout/styles/theme/theme-light/brown/theme.scss +0 -0
  708. package/src/assets/layout/styles/theme/theme-light/cyan/theme.css +0 -0
  709. package/src/assets/layout/styles/theme/theme-light/cyan/theme.scss +0 -0
  710. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.css +0 -0
  711. package/src/assets/layout/styles/theme/theme-light/deeporange/theme.scss +0 -0
  712. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.css +0 -0
  713. package/src/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +0 -0
  714. package/src/assets/layout/styles/theme/theme-light/green/theme.css +0 -0
  715. package/src/assets/layout/styles/theme/theme-light/green/theme.scss +0 -0
  716. package/src/assets/layout/styles/theme/theme-light/indigo/theme.css +0 -0
  717. package/src/assets/layout/styles/theme/theme-light/indigo/theme.scss +0 -0
  718. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.css +0 -0
  719. package/src/assets/layout/styles/theme/theme-light/lightblue/theme.scss +0 -0
  720. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.css +0 -0
  721. package/src/assets/layout/styles/theme/theme-light/lightgreen/theme.scss +0 -0
  722. package/src/assets/layout/styles/theme/theme-light/lime/theme.css +0 -0
  723. package/src/assets/layout/styles/theme/theme-light/lime/theme.scss +0 -0
  724. package/src/assets/layout/styles/theme/theme-light/orange/theme.css +0 -0
  725. package/src/assets/layout/styles/theme/theme-light/orange/theme.scss +0 -0
  726. package/src/assets/layout/styles/theme/theme-light/pink/theme.css +0 -0
  727. package/src/assets/layout/styles/theme/theme-light/pink/theme.scss +0 -0
  728. package/src/assets/layout/styles/theme/theme-light/purple/theme.css +0 -0
  729. package/src/assets/layout/styles/theme/theme-light/purple/theme.scss +0 -0
  730. package/src/assets/layout/styles/theme/theme-light/teal/theme.css +0 -0
  731. package/src/assets/layout/styles/theme/theme-light/teal/theme.scss +0 -0
  732. package/src/assets/layout/styles/theme/theme-light/yellow/theme.css +0 -0
  733. package/src/assets/layout/styles/theme/theme-light/yellow/theme.scss +0 -0
  734. package/src/assets/theme/uniondinamic/layout-light.css +0 -0
  735. package/src/assets/theme/uniondinamic/theme-light.css +0 -0
  736. package/src/styles/primeflex/primeflex.scss +0 -0
  737. package/src/styles/primeng/layout/fonts/poppins-v20-latin-300.woff +0 -0
  738. package/src/styles/primeng/layout/fonts/poppins-v20-latin-300.woff2 +0 -0
  739. package/src/styles/primeng/layout/fonts/poppins-v20-latin-500.woff +0 -0
  740. package/src/styles/primeng/layout/fonts/poppins-v20-latin-500.woff2 +0 -0
  741. package/src/styles/primeng/layout/fonts/poppins-v20-latin-600.woff +0 -0
  742. package/src/styles/primeng/layout/fonts/poppins-v20-latin-600.woff2 +0 -0
  743. package/src/styles/primeng/layout/fonts/poppins-v20-latin-700.woff +0 -0
  744. package/src/styles/primeng/layout/fonts/poppins-v20-latin-700.woff2 +0 -0
  745. package/src/styles/primeng/layout/fonts/poppins-v20-latin-regular.woff +0 -0
  746. package/src/styles/primeng/layout/fonts/poppins-v20-latin-regular.woff2 +0 -0
  747. package/src/styles/primeng/layout/layout-dark.scss +0 -0
  748. package/src/styles/primeng/layout/layout-light.scss +0 -0
  749. package/src/styles/primeng/sass/_fonts.scss +0 -0
  750. package/src/styles/primeng/sass/layout/_animation.scss +0 -0
  751. package/src/styles/primeng/sass/layout/_breadcrumb.scss +0 -0
  752. package/src/styles/primeng/sass/layout/_config.scss +0 -0
  753. package/src/styles/primeng/sass/layout/_dashboard.scss +0 -0
  754. package/src/styles/primeng/sass/layout/_footer.scss +0 -0
  755. package/src/styles/primeng/sass/layout/_help.scss +0 -0
  756. package/src/styles/primeng/sass/layout/_invoice.scss +0 -0
  757. package/src/styles/primeng/sass/layout/_landing.scss +0 -0
  758. package/src/styles/primeng/sass/layout/_loader.scss +0 -0
  759. package/src/styles/primeng/sass/layout/_main.scss +0 -0
  760. package/src/styles/primeng/sass/layout/_megamenu.scss +0 -0
  761. package/src/styles/primeng/sass/layout/_mixins.scss +0 -0
  762. package/src/styles/primeng/sass/layout/_pages.scss +0 -0
  763. package/src/styles/primeng/sass/layout/_rightmenu.scss +0 -0
  764. package/src/styles/primeng/sass/layout/_rtl.scss +0 -0
  765. package/src/styles/primeng/sass/layout/_typography.scss +0 -0
  766. package/src/styles/primeng/sass/layout/_utils.scss +0 -0
  767. package/src/styles/primeng/sass/layout/_widgets.scss +0 -0
  768. package/src/styles/primeng/sass/layout/_wizard.scss +0 -0
  769. package/src/styles/primeng/sass/layout/core/_layout.scss +0 -0
  770. package/src/styles/primeng/sass/layout/core/_layout_dark.scss +0 -0
  771. package/src/styles/primeng/sass/layout/core/_layout_light.scss +0 -0
  772. package/src/styles/primeng/sass/layout/menu/_inline_menu.scss +0 -0
  773. package/src/styles/primeng/sass/layout/menu/_menu.scss +0 -0
  774. package/src/styles/primeng/sass/layout/menu/_menu_common.scss +0 -0
  775. package/src/styles/primeng/sass/layout/menu/_menu_exports.scss +0 -0
  776. package/src/styles/primeng/sass/layout/menu/_menu_horizontal.scss +0 -0
  777. package/src/styles/primeng/sass/layout/menu/_menu_overlay.scss +0 -0
  778. package/src/styles/primeng/sass/layout/menu/_menu_responsive.scss +0 -0
  779. package/src/styles/primeng/sass/layout/menu/_menu_slim.scss +0 -0
  780. package/src/styles/primeng/sass/layout/menu/_menu_static.scss +0 -0
  781. package/src/styles/primeng/sass/layout/menu/_menu_theme.scss +0 -0
  782. package/src/styles/primeng/sass/layout/menu/_rtl_menu.scss +0 -0
  783. package/src/styles/primeng/sass/layout/menu/themes/_menu_bluegrey.scss +0 -0
  784. package/src/styles/primeng/sass/layout/menu/themes/_menu_brown.scss +0 -0
  785. package/src/styles/primeng/sass/layout/menu/themes/_menu_cyan.scss +0 -0
  786. package/src/styles/primeng/sass/layout/menu/themes/_menu_dark.scss +0 -0
  787. package/src/styles/primeng/sass/layout/menu/themes/_menu_deeporange.scss +0 -0
  788. package/src/styles/primeng/sass/layout/menu/themes/_menu_deeppurple.scss +0 -0
  789. package/src/styles/primeng/sass/layout/menu/themes/_menu_green.scss +0 -0
  790. package/src/styles/primeng/sass/layout/menu/themes/_menu_indigo.scss +0 -0
  791. package/src/styles/primeng/sass/layout/menu/themes/_menu_light.scss +0 -0
  792. package/src/styles/primeng/sass/layout/menu/themes/_menu_pink.scss +0 -0
  793. package/src/styles/primeng/sass/layout/menu/themes/_menu_purple.scss +0 -0
  794. package/src/styles/primeng/sass/layout/menu/themes/_menu_teal.scss +0 -0
  795. package/src/styles/primeng/sass/layout/topbar/_rtl_topbar.scss +0 -0
  796. package/src/styles/primeng/sass/layout/topbar/_topbar.scss +0 -0
  797. package/src/styles/primeng/sass/layout/topbar/_topbar_common.scss +0 -0
  798. package/src/styles/primeng/sass/layout/topbar/_topbar_exports.scss +0 -0
  799. package/src/styles/primeng/sass/layout/topbar/_topbar_responsive.scss +0 -0
  800. package/src/styles/primeng/sass/layout/topbar/_topbar_theme.scss +0 -0
  801. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_amber.scss +0 -0
  802. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_blue.scss +0 -0
  803. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_bluegrey.scss +0 -0
  804. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_brown.scss +0 -0
  805. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_custom.scss +0 -0
  806. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_cyan.scss +0 -0
  807. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_dark.scss +0 -0
  808. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_deeporange.scss +0 -0
  809. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_deeppurple.scss +0 -0
  810. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_green.scss +0 -0
  811. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_grey.scss +0 -0
  812. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_indigo.scss +0 -0
  813. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lightblue.scss +0 -0
  814. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lightgreen.scss +0 -0
  815. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_lime.scss +0 -0
  816. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_orange.scss +0 -0
  817. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_pink.scss +0 -0
  818. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_purple.scss +0 -0
  819. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_teal.scss +0 -0
  820. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_white.scss +0 -0
  821. package/src/styles/primeng/sass/layout/topbar/themes/_topbar_yellow.scss +0 -0
  822. package/src/styles/primeng/sass/overrides/_layout_styles.scss +0 -0
  823. package/src/styles/primeng/sass/overrides/_layout_variables.scss +0 -0
  824. package/src/styles/primeng/sass/overrides/_theme_styles.scss +81 -139
  825. package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +96 -237
  826. package/src/styles/primeng/sass/overrides/_theme_variables.scss +0 -0
  827. package/src/styles/primeng/sass/theme/_compact.scss +0 -0
  828. package/src/styles/primeng/sass/theme/_theme_dark.scss +0 -0
  829. package/src/styles/primeng/sass/theme/_theme_light.scss +0 -0
  830. package/src/styles/primeng/sass/theme/designer/_colors.scss +0 -0
  831. package/src/styles/primeng/sass/theme/designer/_common.scss +0 -0
  832. package/src/styles/primeng/sass/theme/designer/_components.scss +0 -0
  833. package/src/styles/primeng/sass/theme/designer/_mixins.scss +0 -0
  834. package/src/styles/primeng/sass/theme/designer/components/button/_button.scss +0 -0
  835. package/src/styles/primeng/sass/theme/designer/components/button/_speeddial.scss +0 -0
  836. package/src/styles/primeng/sass/theme/designer/components/button/_splitbutton.scss +0 -0
  837. package/src/styles/primeng/sass/theme/designer/components/data/_carousel.scss +0 -0
  838. package/src/styles/primeng/sass/theme/designer/components/data/_datatable.scss +0 -0
  839. package/src/styles/primeng/sass/theme/designer/components/data/_dataview.scss +0 -0
  840. package/src/styles/primeng/sass/theme/designer/components/data/_filter.scss +0 -0
  841. package/src/styles/primeng/sass/theme/designer/components/data/_fullcalendar.scss +0 -0
  842. package/src/styles/primeng/sass/theme/designer/components/data/_orderlist.scss +0 -0
  843. package/src/styles/primeng/sass/theme/designer/components/data/_organizationchart.scss +0 -0
  844. package/src/styles/primeng/sass/theme/designer/components/data/_paginator.scss +0 -0
  845. package/src/styles/primeng/sass/theme/designer/components/data/_picklist.scss +0 -0
  846. package/src/styles/primeng/sass/theme/designer/components/data/_timeline.scss +0 -0
  847. package/src/styles/primeng/sass/theme/designer/components/data/_tree.scss +0 -0
  848. package/src/styles/primeng/sass/theme/designer/components/data/_treetable.scss +0 -0
  849. package/src/styles/primeng/sass/theme/designer/components/data/_virtualscroller.scss +0 -0
  850. package/src/styles/primeng/sass/theme/designer/components/file/_fileupload.scss +0 -0
  851. package/src/styles/primeng/sass/theme/designer/components/input/_autocomplete.scss +0 -0
  852. package/src/styles/primeng/sass/theme/designer/components/input/_calendar.scss +0 -0
  853. package/src/styles/primeng/sass/theme/designer/components/input/_cascadeselect.scss +0 -0
  854. package/src/styles/primeng/sass/theme/designer/components/input/_checkbox.scss +0 -0
  855. package/src/styles/primeng/sass/theme/designer/components/input/_chips.scss +0 -0
  856. package/src/styles/primeng/sass/theme/designer/components/input/_colorpicker.scss +0 -0
  857. package/src/styles/primeng/sass/theme/designer/components/input/_dropdown.scss +0 -0
  858. package/src/styles/primeng/sass/theme/designer/components/input/_editor.scss +0 -0
  859. package/src/styles/primeng/sass/theme/designer/components/input/_inputgroup.scss +0 -0
  860. package/src/styles/primeng/sass/theme/designer/components/input/_inputmask.scss +0 -0
  861. package/src/styles/primeng/sass/theme/designer/components/input/_inputnumber.scss +0 -0
  862. package/src/styles/primeng/sass/theme/designer/components/input/_inputswitch.scss +0 -0
  863. package/src/styles/primeng/sass/theme/designer/components/input/_inputtext.scss +0 -0
  864. package/src/styles/primeng/sass/theme/designer/components/input/_listbox.scss +0 -0
  865. package/src/styles/primeng/sass/theme/designer/components/input/_multiselect.scss +0 -0
  866. package/src/styles/primeng/sass/theme/designer/components/input/_password.scss +0 -0
  867. package/src/styles/primeng/sass/theme/designer/components/input/_radiobutton.scss +0 -0
  868. package/src/styles/primeng/sass/theme/designer/components/input/_rating.scss +0 -0
  869. package/src/styles/primeng/sass/theme/designer/components/input/_selectbutton.scss +0 -0
  870. package/src/styles/primeng/sass/theme/designer/components/input/_slider.scss +0 -0
  871. package/src/styles/primeng/sass/theme/designer/components/input/_togglebutton.scss +0 -0
  872. package/src/styles/primeng/sass/theme/designer/components/input/_treeselect.scss +0 -0
  873. package/src/styles/primeng/sass/theme/designer/components/menu/_breadcrumb.scss +0 -0
  874. package/src/styles/primeng/sass/theme/designer/components/menu/_contextmenu.scss +0 -0
  875. package/src/styles/primeng/sass/theme/designer/components/menu/_dock.scss +0 -0
  876. package/src/styles/primeng/sass/theme/designer/components/menu/_megamenu.scss +0 -0
  877. package/src/styles/primeng/sass/theme/designer/components/menu/_menu.scss +0 -0
  878. package/src/styles/primeng/sass/theme/designer/components/menu/_menubar.scss +0 -0
  879. package/src/styles/primeng/sass/theme/designer/components/menu/_panelmenu.scss +0 -0
  880. package/src/styles/primeng/sass/theme/designer/components/menu/_slidemenu.scss +0 -0
  881. package/src/styles/primeng/sass/theme/designer/components/menu/_steps.scss +0 -0
  882. package/src/styles/primeng/sass/theme/designer/components/menu/_tabmenu.scss +0 -0
  883. package/src/styles/primeng/sass/theme/designer/components/menu/_tieredmenu.scss +0 -0
  884. package/src/styles/primeng/sass/theme/designer/components/messages/_inlinemessage.scss +0 -0
  885. package/src/styles/primeng/sass/theme/designer/components/messages/_message.scss +0 -0
  886. package/src/styles/primeng/sass/theme/designer/components/messages/_toast.scss +0 -0
  887. package/src/styles/primeng/sass/theme/designer/components/misc/_avatar.scss +0 -0
  888. package/src/styles/primeng/sass/theme/designer/components/misc/_badge.scss +0 -0
  889. package/src/styles/primeng/sass/theme/designer/components/misc/_blockui.scss +0 -0
  890. package/src/styles/primeng/sass/theme/designer/components/misc/_chip.scss +0 -0
  891. package/src/styles/primeng/sass/theme/designer/components/misc/_inplace.scss +0 -0
  892. package/src/styles/primeng/sass/theme/designer/components/misc/_progressbar.scss +0 -0
  893. package/src/styles/primeng/sass/theme/designer/components/misc/_scrolltop.scss +0 -0
  894. package/src/styles/primeng/sass/theme/designer/components/misc/_skeleton.scss +0 -0
  895. package/src/styles/primeng/sass/theme/designer/components/misc/_tag.scss +0 -0
  896. package/src/styles/primeng/sass/theme/designer/components/misc/_terminal.scss +0 -0
  897. package/src/styles/primeng/sass/theme/designer/components/multimedia/_galleria.scss +0 -0
  898. package/src/styles/primeng/sass/theme/designer/components/multimedia/_image.scss +0 -0
  899. package/src/styles/primeng/sass/theme/designer/components/overlay/_confirmpopup.scss +0 -0
  900. package/src/styles/primeng/sass/theme/designer/components/overlay/_dialog.scss +0 -0
  901. package/src/styles/primeng/sass/theme/designer/components/overlay/_overlaypanel.scss +0 -0
  902. package/src/styles/primeng/sass/theme/designer/components/overlay/_sidebar.scss +0 -0
  903. package/src/styles/primeng/sass/theme/designer/components/overlay/_tooltip.scss +0 -0
  904. package/src/styles/primeng/sass/theme/designer/components/panel/_accordion.scss +0 -0
  905. package/src/styles/primeng/sass/theme/designer/components/panel/_card.scss +0 -0
  906. package/src/styles/primeng/sass/theme/designer/components/panel/_divider.scss +0 -0
  907. package/src/styles/primeng/sass/theme/designer/components/panel/_fieldset.scss +0 -0
  908. package/src/styles/primeng/sass/theme/designer/components/panel/_panel.scss +0 -0
  909. package/src/styles/primeng/sass/theme/designer/components/panel/_scrollpanel.scss +0 -0
  910. package/src/styles/primeng/sass/theme/designer/components/panel/_splitter.scss +0 -0
  911. package/src/styles/primeng/sass/theme/designer/components/panel/_tabview.scss +0 -0
  912. package/src/styles/primeng/sass/theme/designer/components/panel/_toolbar.scss +0 -0
  913. package/src/styles/primeng/sass/theme/extensions/_accordion.scss +0 -0
  914. package/src/styles/primeng/sass/theme/extensions/_autocomplete.scss +0 -0
  915. package/src/styles/primeng/sass/theme/extensions/_breadcrumb.scss +0 -0
  916. package/src/styles/primeng/sass/theme/extensions/_button.scss +0 -0
  917. package/src/styles/primeng/sass/theme/extensions/_calendar.scss +0 -0
  918. package/src/styles/primeng/sass/theme/extensions/_carousel.scss +0 -0
  919. package/src/styles/primeng/sass/theme/extensions/_cascadeselect.scss +0 -0
  920. package/src/styles/primeng/sass/theme/extensions/_checkbox.scss +0 -0
  921. package/src/styles/primeng/sass/theme/extensions/_chips.scss +0 -0
  922. package/src/styles/primeng/sass/theme/extensions/_datatable.scss +0 -0
  923. package/src/styles/primeng/sass/theme/extensions/_dropdown.scss +0 -0
  924. package/src/styles/primeng/sass/theme/extensions/_fieldset.scss +0 -0
  925. package/src/styles/primeng/sass/theme/extensions/_float_label.scss +0 -0
  926. package/src/styles/primeng/sass/theme/extensions/_fullcalendar.scss +0 -0
  927. package/src/styles/primeng/sass/theme/extensions/_galleria.scss +0 -0
  928. package/src/styles/primeng/sass/theme/extensions/_input.scss +0 -0
  929. package/src/styles/primeng/sass/theme/extensions/_inputgroup.scss +0 -0
  930. package/src/styles/primeng/sass/theme/extensions/_inputmask.scss +0 -0
  931. package/src/styles/primeng/sass/theme/extensions/_inputnumber.scss +0 -0
  932. package/src/styles/primeng/sass/theme/extensions/_inputswitch.scss +0 -0
  933. package/src/styles/primeng/sass/theme/extensions/_listbox.scss +0 -0
  934. package/src/styles/primeng/sass/theme/extensions/_megamenu.scss +0 -0
  935. package/src/styles/primeng/sass/theme/extensions/_menu.scss +0 -0
  936. package/src/styles/primeng/sass/theme/extensions/_menubar.scss +0 -0
  937. package/src/styles/primeng/sass/theme/extensions/_mixins.scss +0 -0
  938. package/src/styles/primeng/sass/theme/extensions/_multiselect.scss +0 -0
  939. package/src/styles/primeng/sass/theme/extensions/_orderlist.scss +0 -0
  940. package/src/styles/primeng/sass/theme/extensions/_overlaypanel.scss +0 -0
  941. package/src/styles/primeng/sass/theme/extensions/_paginator.scss +0 -0
  942. package/src/styles/primeng/sass/theme/extensions/_panel.scss +0 -0
  943. package/src/styles/primeng/sass/theme/extensions/_panelmenu.scss +0 -0
  944. package/src/styles/primeng/sass/theme/extensions/_picklist.scss +0 -0
  945. package/src/styles/primeng/sass/theme/extensions/_progressbar.scss +0 -0
  946. package/src/styles/primeng/sass/theme/extensions/_radiobutton.scss +0 -0
  947. package/src/styles/primeng/sass/theme/extensions/_rating.scss +0 -0
  948. package/src/styles/primeng/sass/theme/extensions/_selectbutton.scss +0 -0
  949. package/src/styles/primeng/sass/theme/extensions/_slidemenu.scss +0 -0
  950. package/src/styles/primeng/sass/theme/extensions/_slider.scss +0 -0
  951. package/src/styles/primeng/sass/theme/extensions/_steps.scss +0 -0
  952. package/src/styles/primeng/sass/theme/extensions/_tabmenu.scss +0 -0
  953. package/src/styles/primeng/sass/theme/extensions/_tabview.scss +0 -0
  954. package/src/styles/primeng/sass/theme/extensions/_tieredmenu.scss +0 -0
  955. package/src/styles/primeng/sass/theme/extensions/_timeline.scss +0 -0
  956. package/src/styles/primeng/sass/theme/extensions/_togglebutton.scss +0 -0
  957. package/src/styles/primeng/sass/theme/extensions/_toolbar.scss +0 -0
  958. package/src/styles/primeng/sass/theme/extensions/_tooltip.scss +0 -0
  959. package/src/styles/primeng/sass/theme/extensions/_tree.scss +0 -0
  960. package/src/styles/primeng/sass/theme/extensions/_treeselect.scss +0 -0
  961. package/src/styles/primeng/sass/theme/extensions/_treetable.scss +0 -0
  962. package/src/styles/primeng/sass/theme/extensions/_vendor_extensions.scss +0 -0
  963. package/src/styles/primeng/sass/variables/layout/_layout_common.scss +0 -0
  964. package/src/styles/primeng/sass/variables/layout/_layout_dark.scss +0 -0
  965. package/src/styles/primeng/sass/variables/layout/_layout_light.scss +0 -0
  966. package/src/styles/primeng/sass/variables/theme/_theme_dark.scss +0 -0
  967. package/src/styles/primeng/sass/variables/theme/_theme_light.scss +0 -0
  968. package/src/styles/primeng/theme/theme-dark.scss +0 -0
  969. package/src/styles/primeng/theme/theme-light.scss +0 -0
  970. package/src/styles/sass/_mixins.scss +0 -0
  971. package/src/styles/sass/_variables.scss +0 -0
  972. package/src/styles/sass/mixins/_breakpoints.scss +0 -0
  973. package/src/styles/sass/mixins/_colors.scss +0 -0
  974. package/src/styles/sass/pages/_general.scss +0 -0
  975. package/src/styles/sass/pages/_listado.scss +0 -0
  976. package/src/styles-dark.scss +0 -0
  977. package/src/styles.scss +1 -1
  978. package/esm2022/src/app/core/componentes/template-tabla-vacia/template-tabla-vacia.component.mjs +0 -21
  979. package/esm2022/src/app/core/servicios/click-posicion.service.mjs +0 -20
  980. package/esm2022/src/app/seguridad/modelos/CorreoOrgEmpModModel.mjs +0 -9
  981. package/src/app/core/componentes/template-tabla-vacia/template-tabla-vacia.component.d.ts +0 -9
  982. package/src/app/core/servicios/click-posicion.service.d.ts +0 -11
  983. package/src/app/seguridad/modelos/CorreoOrgEmpModModel.d.ts +0 -8
  984. package/src/assets/images/not-found.webp +0 -0
  985. package/src/assets/images/temaClaro/no-info.webp +0 -0
  986. package/src/assets/images/temaOscuro/no-info.webp +0 -0
  987. package/src/assets/images/time-out.webp +0 -0
@@ -8,6 +8,7 @@ import { AppRightMenuComponent } from './app.rightmenu.component';
8
8
  import { AppBreadcrumbComponent } from './app.breadcrumb.component';
9
9
  import { FormsModule } from '@angular/forms';
10
10
  import { CommonModule } from '@angular/common';
11
+ import { TabsMultiplesComponent } from "../core/componentes/tabs-multiples/tabs-multiples.component";
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "./app.menu.service";
13
14
  import * as i2 from "./service/app.layout.service";
@@ -173,11 +174,11 @@ export class AppLayoutComponent {
173
174
  }
174
175
  }
175
176
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppLayoutComponent, deps: [{ token: i1.MenuService }, { token: i2.LayoutService }, { token: i0.Renderer2 }, { token: i3.Router }, { token: i0.ChangeDetectorRef }, { token: i4.AuthService }], target: i0.ɵɵFactoryTarget.Component });
176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: AppFooterComponent, selector: "app-footer" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppRightMenuComponent, selector: "app-rightmenu" }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
177
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-tabs-multiples></app-tabs-multiples>\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: AppFooterComponent, selector: "app-footer" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppRightMenuComponent, selector: "app-rightmenu" }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabsMultiplesComponent, selector: "app-tabs-multiples" }] });
177
178
  }
178
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppLayoutComponent, decorators: [{
179
180
  type: Component,
180
- args: [{ selector: 'app-layout', standalone: true, imports: [RouterOutlet, RouterModule, AppFooterComponent, AppTopbarComponent, AppRightMenuComponent, AppSidebarComponent, AppBreadcrumbComponent, FormsModule, CommonModule,], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n" }]
181
+ args: [{ selector: 'app-layout', standalone: true, imports: [RouterOutlet, RouterModule, AppFooterComponent, AppTopbarComponent, AppRightMenuComponent, AppSidebarComponent, AppBreadcrumbComponent, FormsModule, CommonModule, TabsMultiplesComponent], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\n <app-topbar *ngIf=\"!autoServicio\"></app-topbar>\n <app-rightmenu *ngIf=\"!autoServicio\"></app-rightmenu>\n <app-sidebar *ngIf=\"!autoServicio\"></app-sidebar>\n\n <div class=\"layout-content-wrapper\">\n <app-tabs-multiples></app-tabs-multiples>\n <app-breadcrumb *ngIf=\"!autoServicio\"></app-breadcrumb>\n\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer *ngIf=\"!autoServicio\"></app-footer>\n </div>\n <!-- Se esconde el modulo de configuracion -->\n <!-- <app-config></app-config> -->\n\n <div *ngIf=\"layoutService.state.staticMenuMobileActive\" class=\"layout-mask\"></div>\n</div>\n" }]
181
182
  }], ctorParameters: () => [{ type: i1.MenuService }, { type: i2.LayoutService }, { type: i0.Renderer2 }, { type: i3.Router }, { type: i0.ChangeDetectorRef }, { type: i4.AuthService }], propDecorators: { appSidebar: [{
182
183
  type: ViewChild,
183
184
  args: [AppSidebarComponent]
@@ -185,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
185
186
  type: ViewChild,
186
187
  args: [AppTopbarComponent]
187
188
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFVLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyxrQkFBa0I7SUFzQlA7SUFBaUM7SUFBcUM7SUFBNEI7SUFBd0I7SUFBK0I7SUFwQjdLLDJCQUEyQixDQUFlO0lBRTFDLDBCQUEwQixDQUFlO0lBRXpDLDJCQUEyQixDQUFlO0lBRTFDLHdCQUF3QixDQUFNO0lBRTlCLGtCQUFrQixDQUFNO0lBRXhCLDhCQUE4QixDQUFNO0lBRXBDLCtCQUErQixDQUFNO0lBRUwsVUFBVSxDQUF1QjtJQUVsQyxTQUFTLENB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RSxxQkFBcUIsMERBQUUsbUJBQW1CLHdEQUFFLHNCQUFzQiwwREFBRSxXQUFXLDhCQUFFLFlBQVk7OzJGQUdsSyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRTttTkFtQjdJLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVDLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuL2FwcC5tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLnNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcFRvcGJhckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLnRvcGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAuZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBSaWdodE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2FwcC5yaWdodG1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2FwcC5icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWxheW91dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0LCBSb3V0ZXJNb2R1bGUsIEFwcEZvb3RlckNvbXBvbmVudCwgQXBwVG9wYmFyQ29tcG9uZW50LCBBcHBSaWdodE1lbnVDb21wb25lbnQsIEFwcFNpZGViYXJDb21wb25lbnQsIEFwcEJyZWFkY3J1bWJDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLmxheW91dC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIG92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgdG9wYmFyTWVudU9wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIG1lbnVQcm9maWxlT3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XG5cbiAgICBtZW51U2Nyb2xsTGlzdGVuZXI6IGFueTtcblxuICAgIHRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgbWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgQFZpZXdDaGlsZChBcHBTaWRlYmFyQ29tcG9uZW50KSBhcHBTaWRlYmFyITogQXBwU2lkZWJhckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoQXBwVG9wYmFyQ29tcG9uZW50KSBhcHBUb3BiYXIhOiBBcHBUb3BiYXJDb21wb25lbnQ7XG5cbiAgICBhdXRvU2VydmljaW86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLCBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuYXV0b1NlcnZpY2lvID0gKGF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykgPT0gJzEwJylcbiAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm92ZXJsYXlPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9wYmFyTWVudSgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFNpZGViYXIuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoKHRoaXMubGF5b3V0U2VydmljZS5pc0hvcml6b250YWwoKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCl8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSAmJiAhdGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuYXBwU2lkZWJhci5tZW51Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNEZXNrdG9wKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRvcGJhck1lbnVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLnRvcGJhck1lbnVPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVDbGlja2VkID0gISh0aGlzLmFwcFRvcGJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFRvcGJhci5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuYXBwVG9wYmFyLm1vYmlsZU1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgdGhpcy5hcHBUb3BiYXIubW9iaWxlTWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVG9wYmFyTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubWVudVByb2ZpbGVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm1lbnVQcm9maWxlT3BlbiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwU2lkZWJhci5tZW51UHJvZmlsZS5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFNpZGViYXIubWVudVByb2ZpbGUuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnVQcm9maWxlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVNZW51KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlVG9wYmFyTWVudSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnVQcm9maWxlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBibG9ja0JvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibG9ja2VkLXNjcm9sbCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgKz0gJyBibG9ja2VkLXNjcm9sbCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2Jsb2NrZWQtc2Nyb2xsJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArXG4gICAgICAgICAgICAgICAgJ2Jsb2NrZWQtc2Nyb2xsJy5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSwgJyAnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVNZW51KCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUub3ZlcmxheU1lbnVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bmJsb2NrQm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIGhpZGVUb3BiYXJNZW51KCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudG9wYmFyTWVudUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy50b3BiYXJNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU1lbnVQcm9maWxlKCkge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudVByb2ZpbGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5tZW51UHJvZmlsZU91dHNpZGVDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgbGV0IHN0eWxlQ2xhc3M6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge1xuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxuICAgICAgICAgICAgJ2xheW91dC1zdGF0aWMnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnc3RhdGljJyxcbiAgICAgICAgICAgICdsYXlvdXQtc2xpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdzbGltJyxcbiAgICAgICAgICAgICdsYXlvdXQtc2xpbS1wbHVzJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3NsaW0tcGx1cycsXG4gICAgICAgICAgICAnbGF5b3V0LWhvcml6b250YWwnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICAnbGF5b3V0LXJldmVhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdyZXZlYWwnLFxuICAgICAgICAgICAgJ2xheW91dC1kcmF3ZXInOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnZHJhd2VyJyxcbiAgICAgICAgICAgICdwLWlucHV0LWZpbGxlZCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuaW5wdXRTdHlsZSA9PT0gJ2ZpbGxlZCcsXG4gICAgICAgICAgICAncC1yaXBwbGUtZGlzYWJsZWQnOiAhdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5yaXBwbGUsXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5vdmVybGF5TWVudUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC10b3BiYXItbWVudS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudG9wYmFyTWVudUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtbWVudS1wcm9maWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51UHJvZmlsZUFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtc2lkZWJhci1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2lkZWJhckFjdGl2ZSxcbiAgICAgICAgICAgICdsYXlvdXQtc2lkZWJhci1hbmNob3JlZCc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5hbmNob3JlZFxuICAgICAgICB9O1xuXG4gICAgICAgIHN0eWxlQ2xhc3NbJ2xheW91dC10b3BiYXItJyArIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudG9wYmFyVGhlbWVdID0gdHJ1ZTtcbiAgICAgICAgc3R5bGVDbGFzc1snbGF5b3V0LW1lbnUtJyArIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudVRoZW1lXSA9IHRydWU7XG4gICAgICAgIHN0eWxlQ2xhc3NbJ2xheW91dC1tZW51LXByb2ZpbGUtJyArIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudVByb2ZpbGVQb3NpdGlvbl0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gc3R5bGVDbGFzcztcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCI+XG5cbiAgPGFwcC10b3BiYXIgKm5nSWY9XCIhYXV0b1NlcnZpY2lvXCI+PC9hcHAtdG9wYmFyPlxuICA8YXBwLXJpZ2h0bWVudSAqbmdJZj1cIiFhdXRvU2VydmljaW9cIj48L2FwcC1yaWdodG1lbnU+XG4gIDxhcHAtc2lkZWJhciAqbmdJZj1cIiFhdXRvU2VydmljaW9cIj48L2FwcC1zaWRlYmFyPlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudC13cmFwcGVyXCI+XG4gICAgICA8YXBwLWJyZWFkY3J1bWIgKm5nSWY9XCIhYXV0b1NlcnZpY2lvXCI+PC9hcHAtYnJlYWRjcnVtYj5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50XCI+XG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZm9vdGVyICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLWZvb3Rlcj5cbiAgPC9kaXY+XG4gIDwhLS0gU2UgZXNjb25kZSBlbCBtb2R1bG8gZGUgY29uZmlndXJhY2lvbiAtLT5cbiAgPCEtLSA8YXBwLWNvbmZpZz48L2FwcC1jb25maWc+IC0tPlxuXG4gIDxkaXYgKm5nSWY9XCJsYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmVcIiBjbGFzcz1cImxheW91dC1tYXNrXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFVLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7Ozs7O0FBUXJHLE1BQU0sT0FBTyxrQkFBa0I7SUFzQlA7SUFBaUM7SUFBcUM7SUFBNEI7SUFBd0I7SUFBK0I7SUFwQjdLLDJCQUEyQixDQUFlO0lBRTFDLDBCQUEwQixDQUFlO0lBRXpDLDJCQUEyQixDQUFlO0lBRTFDLHdCQUF3QixDQUFNO0lBRTlCLGtCQUFrQixDQUFNO0lBRXhCLDhCQUE4QixDQUFNO0lB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QUFZLDBKQUFFLFlBQVksK0JBQUUsa0JBQWtCLHVEQUFFLGtCQUFrQix1REFBRSxxQkFBcUIsMERBQUUsbUJBQW1CLHdEQUFFLHNCQUFzQiwwREFBRSxXQUFXLDhCQUFFLFlBQVksaU9BQUUsc0JBQXNCOzsyRkFHMUwsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLENBQUM7bU5BbUJwSyxVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFQyxTQUFTO3NCQUF2QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9hcHAubWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2FwcC5zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuL2FwcC50b3BiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYXBwLmxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLmZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwUmlnaHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hcHAucmlnaHRtZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAuYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFic011bHRpcGxlc0NvbXBvbmVudCB9IGZyb20gXCIuLi9jb3JlL2NvbXBvbmVudGVzL3RhYnMtbXVsdGlwbGVzL3RhYnMtbXVsdGlwbGVzLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1sYXlvdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JvdXRlck91dGxldCwgUm91dGVyTW9kdWxlLCBBcHBGb290ZXJDb21wb25lbnQsIEFwcFRvcGJhckNvbXBvbmVudCwgQXBwUmlnaHRNZW51Q29tcG9uZW50LCBBcHBTaWRlYmFyQ29tcG9uZW50LCBBcHBCcmVhZGNydW1iQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBUYWJzTXVsdGlwbGVzQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLmxheW91dC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIG92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgdG9wYmFyTWVudU9wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIG1lbnVQcm9maWxlT3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XG5cbiAgICBtZW51U2Nyb2xsTGlzdGVuZXI6IGFueTtcblxuICAgIHRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgbWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgQFZpZXdDaGlsZChBcHBTaWRlYmFyQ29tcG9uZW50KSBhcHBTaWRlYmFyITogQXBwU2lkZWJhckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoQXBwVG9wYmFyQ29tcG9uZW50KSBhcHBUb3BiYXIhOiBBcHBUb3BiYXJDb21wb25lbnQ7XG5cbiAgICBhdXRvU2VydmljaW86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLCBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuYXV0b1NlcnZpY2lvID0gKGF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykgPT0gJzEwJylcbiAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2Uub3ZlcmxheU9wZW4kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGVUb3BiYXJNZW51KCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICghdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEodGhpcy5hcHBTaWRlYmFyLmVsLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHwgdGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpICYmICF0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5hcHBTaWRlYmFyLm1lbnVDb250YWluZXIubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudG9wYmFyTWVudU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2UudG9wYmFyTWVudU9wZW4kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3BiYXJNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKHRoaXMuYXBwVG9wYmFyLmVsLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwVG9wYmFyLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgdGhpcy5hcHBUb3BiYXIubW9iaWxlTWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFRvcGJhci5tb2JpbGVNZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc091dHNpZGVDbGlja2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVUb3BiYXJNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tZW51UHJvZmlsZU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2UubWVudVByb2ZpbGVPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEodGhpcy5hcHBTaWRlYmFyLm1lbnVQcm9maWxlLmVsLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8IHRoaXMuYXBwU2lkZWJhci5tZW51UHJvZmlsZS5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZU1lbnUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVUb3BiYXJNZW51KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudVByb2ZpbGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Jsb2NrZWQtc2Nyb2xsJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArPSAnIGJsb2NrZWQtc2Nyb2xsJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmxvY2tlZC1zY3JvbGwnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCcoXnxcXFxcYiknICtcbiAgICAgICAgICAgICAgICAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLCAnICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU1lbnUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5vdmVybGF5TWVudUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgaGlkZVRvcGJhck1lbnUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS50b3BiYXJNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy50b3BiYXJNZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMudG9wYmFyTWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLnRvcGJhck1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlTWVudVByb2ZpbGUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5tZW51UHJvZmlsZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMubWVudVByb2ZpbGVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51UHJvZmlsZU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVQcm9maWxlT3V0c2lkZUNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICBsZXQgc3R5bGVDbGFzczoge1trZXk6IHN0cmluZ106IGFueX0gPSB7XG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXknOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnb3ZlcmxheScsXG4gICAgICAgICAgICAnbGF5b3V0LXN0YXRpYyc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1zbGltJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3NsaW0nLFxuICAgICAgICAgICAgJ2xheW91dC1zbGltLXBsdXMnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLm1lbnVNb2RlID09PSAnc2xpbS1wbHVzJyxcbiAgICAgICAgICAgICdsYXlvdXQtaG9yaXpvbnRhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdob3Jpem9udGFsJyxcbiAgICAgICAgICAgICdsYXlvdXQtcmV2ZWFsJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3JldmVhbCcsXG4gICAgICAgICAgICAnbGF5b3V0LWRyYXdlcic6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcubWVudU1vZGUgPT09ICdkcmF3ZXInLFxuICAgICAgICAgICAgJ3AtaW5wdXQtZmlsbGVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5pbnB1dFN0eWxlID09PSAnZmlsbGVkJyxcbiAgICAgICAgICAgICdwLXJpcHBsZS1kaXNhYmxlZCc6ICF0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnJpcHBsZSxcbiAgICAgICAgICAgICdsYXlvdXQtc3RhdGljLWluYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmUgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1tb2JpbGUtYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUsXG4gICAgICAgICAgICAnbGF5b3V0LXRvcGJhci1tZW51LWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS50b3BiYXJNZW51QWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1tZW51LXByb2ZpbGUtYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVQcm9maWxlQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaWRlYmFyQWN0aXZlLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFuY2hvcmVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLmFuY2hvcmVkXG4gICAgICAgIH07XG5cbiAgICAgICAgc3R5bGVDbGFzc1snbGF5b3V0LXRvcGJhci0nICsgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy50b3BiYXJUaGVtZV0gPSB0cnVlO1xuICAgICAgICBzdHlsZUNsYXNzWydsYXlvdXQtbWVudS0nICsgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51VGhlbWVdID0gdHJ1ZTtcbiAgICAgICAgc3R5bGVDbGFzc1snbGF5b3V0LW1lbnUtcHJvZmlsZS0nICsgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5tZW51UHJvZmlsZVBvc2l0aW9uXSA9IHRydWU7XG4gICAgICAgIHJldHVybiBzdHlsZUNsYXNzO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cblxuICA8YXBwLXRvcGJhciAqbmdJZj1cIiFhdXRvU2VydmljaW9cIj48L2FwcC10b3BiYXI+XG4gIDxhcHAtcmlnaHRtZW51ICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLXJpZ2h0bWVudT5cbiAgPGFwcC1zaWRlYmFyICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLXNpZGViYXI+XG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgIDxhcHAtdGFicy1tdWx0aXBsZXM+PC9hcHAtdGFicy1tdWx0aXBsZXM+XG4gICAgICA8YXBwLWJyZWFkY3J1bWIgKm5nSWY9XCIhYXV0b1NlcnZpY2lvXCI+PC9hcHAtYnJlYWRjcnVtYj5cblxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50XCI+XG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZm9vdGVyICpuZ0lmPVwiIWF1dG9TZXJ2aWNpb1wiPjwvYXBwLWZvb3Rlcj5cbiAgPC9kaXY+XG4gIDwhLS0gU2UgZXNjb25kZSBlbCBtb2R1bG8gZGUgY29uZmlndXJhY2lvbiAtLT5cbiAgPCEtLSA8YXBwLWNvbmZpZz48L2FwcC1jb25maWc+IC0tPlxuXG4gIDxkaXYgKm5nSWY9XCJsYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmVcIiBjbGFzcz1cImxheW91dC1tYXNrXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
48
48
  type: Component,
49
49
  args: [{ selector: 'app-menu', imports: [CommonModule, AppMenuitemComponent], standalone: true, template: "<ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of model; let i = index;\">\n <li app-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n</ul>" }]
50
50
  }], ctorParameters: () => [{ type: i1.MenuService }, { type: i2.UtilsService }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBUWhFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPUDtJQUFrQztJQU50RCxXQUFXLENBQWU7SUFDMUIsS0FBSyxDQUFZO0lBRWpCOztPQUVHO0lBQ0gsWUFBb0IsV0FBd0IsRUFBVSxZQUEwQjtRQUE1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hGLENBQUM7SUFFQyxRQUFRO1FBQ04sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLHFCQUFxQjtvQkFDbkUsT0FBTyxFQUFFLElBQUk7b0JBQ2IsS0FBSyxFQUFFLEVBQUU7aUJBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVM7b0JBQ3ZELE9BQU8sRUFBRSxJQUFJO29CQUNiLEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBakNRLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLG9FQ2Y3QixzU0FLSywyQ0RNUyxZQUFZLGdRQUFFLG9CQUFvQjs7MkZBSW5DLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxVQUFVLFdBQ1gsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsY0FDakMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXBwTWVudWl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FwcC5tZW51aXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcHBNZW51aXRlbUNvbXBvbmVudF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBtb2RlbDogTWVudUl0ZW1bXVxuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHtcbiAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgICB0aGlzLm1vZGVsID0gW3tcbiAgICAgICAgICBsYWJlbDogXCJJbmljaW9cIixcbiAgICAgICAgICBpY29uOiBcInBpIHBpLWhvbWVcIixcbiAgICAgICAgICByb3V0ZXJMaW5rOiB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgXCIvYWRtb25Qb3J0YWwvaW5pY2lvXCIsXG4gICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICBpdGVtczogW10sXG4gICAgICAgIH1dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IFt7XG4gICAgICAgICAgbGFiZWw6IFwiSW5pY2lvXCIsXG4gICAgICAgICAgaWNvbjogXCJwaSBwaS1ob21lXCIsXG4gICAgICAgICAgcm91dGVyTGluazogdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArIFwiL2luaWNpb1wiLFxuICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgICB0aGlzLnN1YmNyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5tZW51LnN1YnNjcmliZSgobWVudSkgPT4ge1xuICAgICAgICAgIHRoaXMubW9kZWxbMF0ubGFiZWwgPSBtZW51LmxhYmVsO1xuICAgICAgICAgIHRoaXMubW9kZWxbMF0uaXRlbXMgPSBtZW51Lml0ZW1zO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbiIsIjx1bCBjbGFzcz1cImxheW91dC1tZW51XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb2RlbDsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgPGxpIGFwcC1tZW51aXRlbSAqbmdJZj1cIiFpdGVtLnNlcGFyYXRvclwiIFtpdGVtXT1cIml0ZW1cIiBbaW5kZXhdPVwiaVwiIFtyb290XT1cInRydWVcIj48L2xpPlxuICAgICAgICA8bGkgKm5nSWY9XCJpdGVtLnNlcGFyYXRvclwiIGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj48L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC91bD4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBUWhFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPUDtJQUFrQztJQU50RCxXQUFXLENBQWU7SUFDMUIsS0FBSyxDQUFZO0lBRWpCOztPQUVHO0lBQ0gsWUFBb0IsV0FBd0IsRUFBVSxZQUEwQjtRQUE1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hGLENBQUM7SUFFQyxRQUFRO1FBQ04sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLHFCQUFxQjtvQkFDbkUsT0FBTyxFQUFFLElBQUk7b0JBQ2IsS0FBSyxFQUFFLEVBQUU7aUJBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQ1osS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVM7b0JBQ3ZELE9BQU8sRUFBRSxJQUFJO29CQUNiLEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBaENRLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLG9FQ2Y3QixzU0FLSywyQ0RNUyxZQUFZLGdRQUFFLG9CQUFvQjs7MkZBSW5DLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxVQUFVLFdBQ1gsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsY0FDakMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXBwTWVudWl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FwcC5tZW51aXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcHBNZW51aXRlbUNvbXBvbmVudF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLm1lbnUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBtb2RlbDogTWVudUl0ZW1bXVxuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHtcbiAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYudG9TdHJpbmcoKS5pbmNsdWRlcygnYWRtb25Qb3J0YWwnKSkge1xuICAgICAgICB0aGlzLm1vZGVsID0gW3tcbiAgICAgICAgICBsYWJlbDogXCJJbmljaW9cIixcbiAgICAgICAgICBpY29uOiBcInBpIHBpLWhvbWVcIixcbiAgICAgICAgICByb3V0ZXJMaW5rOiB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgXCIvYWRtb25Qb3J0YWwvaW5pY2lvXCIsXG4gICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICBpdGVtczogW10sXG4gICAgICAgIH1dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IFt7XG4gICAgICAgICAgbGFiZWw6IFwiSW5pY2lvXCIsXG4gICAgICAgICAgaWNvbjogXCJwaSBwaS1ob21lXCIsXG4gICAgICAgICAgcm91dGVyTGluazogdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArIFwiL2luaWNpb1wiLFxuICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICB9XTtcbiAgICAgIH0gICAgICBcbiAgICAgICAgdGhpcy5zdWJjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UubWVudS5zdWJzY3JpYmUoKG1lbnUpID0+IHtcbiAgICAgICAgICB0aGlzLm1vZGVsWzBdLmxhYmVsID0gbWVudS5sYWJlbDtcbiAgICAgICAgICB0aGlzLm1vZGVsWzBdLml0ZW1zID0gbWVudS5pdGVtcztcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWw7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgIDxsaSBhcHAtbWVudWl0ZW0gKm5nSWY9XCIhaXRlbS5zZXBhcmF0b3JcIiBbaXRlbV09XCJpdGVtXCIgW2luZGV4XT1cImlcIiBbcm9vdF09XCJ0cnVlXCI+PC9saT5cbiAgICAgICAgPGxpICpuZ0lmPVwiaXRlbS5zZXBhcmF0b3JcIiBjbGFzcz1cIm1lbnUtc2VwYXJhdG9yXCI+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdWw+Il19
@@ -10,14 +10,16 @@ import * as i1 from "./service/app.layout.service";
10
10
  import * as i2 from "@angular/router";
11
11
  import * as i3 from "./app.menu.service";
12
12
  import * as i4 from "../core/servicios/utils.service";
13
- import * as i5 from "@angular/common";
14
- import * as i6 from "primeng/tooltip";
13
+ import * as i5 from "../core/servicios/tabs-multiples.service";
14
+ import * as i6 from "@angular/common";
15
+ import * as i7 from "primeng/tooltip";
15
16
  export class AppMenuitemComponent {
16
17
  layoutService;
17
18
  cd;
18
19
  router;
19
20
  menuService;
20
21
  utilsService;
22
+ tabsMultiplesService;
21
23
  item;
22
24
  index;
23
25
  root;
@@ -28,12 +30,13 @@ export class AppMenuitemComponent {
28
30
  menuResetSubscription;
29
31
  key = "";
30
32
  url = window.location.href;
31
- constructor(layoutService, cd, router, menuService, utilsService) {
33
+ constructor(layoutService, cd, router, menuService, utilsService, tabsMultiplesService) {
32
34
  this.layoutService = layoutService;
33
35
  this.cd = cd;
34
36
  this.router = router;
35
37
  this.menuService = menuService;
36
38
  this.utilsService = utilsService;
39
+ this.tabsMultiplesService = tabsMultiplesService;
37
40
  this.menuSourceSubscription = this.menuService.menuSource$.subscribe(value => {
38
41
  Promise.resolve(null).then(() => {
39
42
  if (value.routeEvent) {
@@ -129,6 +132,7 @@ export class AppMenuitemComponent {
129
132
  }
130
133
  }
131
134
  else {
135
+ this.tabsMultiplesService.addTab({ title: this.item.label, contextPath: this.item.routerLink });
132
136
  if (this.layoutService.isMobile()) {
133
137
  this.layoutService.state.staticMenuMobileActive = false;
134
138
  }
@@ -174,36 +178,8 @@ export class AppMenuitemComponent {
174
178
  this.menuResetSubscription.unsubscribe();
175
179
  }
176
180
  }
177
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppMenuitemComponent, deps: [{ token: i1.LayoutService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i3.MenuService }, { token: i4.UtilsService }], target: i0.ɵɵFactoryTarget.Component });
178
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppMenuitemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, viewQueries: [{ propertyName: "submenu", first: true, predicate: ["submenu"], descendants: true }], ngImport: i0, template: `
179
- <ng-container>
180
- <div *ngIf="root && item.visible !== false" class="layout-menuitem-root-text">
181
- <span>{{item.label}}</span>
182
- <i class="layout-menuitem-root-icon pi pi-fw pi-ellipsis-h"></i>
183
- </div>
184
- <a *ngIf="(!item.routerLink || item.items) && item.visible !== false" [attr.href]="item.url" (click)="itemClick($event)" (mouseenter)="onMouseEnter()"
185
- [ngClass]="item.class" [attr.target]="item.target" tabindex="0" pRipple [pTooltip]="item.label" [tooltipDisabled]="!(isSlim && root && !active)">
186
- <i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
187
- <span class="layout-menuitem-text">{{item.label}}</span>
188
- <i class="pi pi-fw pi-angle-down layout-submenu-toggler" *ngIf="item.items"></i>
189
- </a>
190
- <a *ngIf="(item.routerLink && !item.items) && item.visible !== false" (click)="itemClick($event)" (mouseenter)="onMouseEnter()" [ngClass]="item.class"
191
- [routerLink]="'/'+utilsService.obtenerBase()+ (url.toString().includes('admonPortal') ? '/admonPortal' : '') +item.routerLink" routerLinkActive="active-route" [routerLinkActiveOptions]="item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }"
192
- [fragment]="item.fragment" [queryParamsHandling]="item.queryParamsHandling" [preserveFragment]="item.preserveFragment"
193
- [skipLocationChange]="item.skipLocationChange" [replaceUrl]="item.replaceUrl" [state]="item.state" [queryParams]="item.queryParams"
194
- [attr.target]="item.target" tabindex="0" pRipple [pTooltip]="item.label" [tooltipDisabled]="!(isSlim && root)">
195
- <i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
196
- <span class="layout-menuitem-text">{{item.label}}</span>
197
- <i class="pi pi-fw pi-angle-down layout-submenu-toggler" *ngIf="item.items"></i>
198
- </a>
199
-
200
- <ul #submenu *ngIf="item.items && item.visible !== false" [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
201
- <ng-template ngFor let-child let-i="index" [ngForOf]="item.items">
202
- <li app-menuitem [item]="child" [index]="i" [parentKey]="key" [class]="child.badgeClass"></li>
203
- </ng-template>
204
- </ul>
205
- </ng-container>
206
- `, isInline: true, dependencies: [{ kind: "component", type: AppMenuitemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], animations: [
181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppMenuitemComponent, deps: [{ token: i1.LayoutService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i3.MenuService }, { token: i4.UtilsService }, { token: i5.TabsMultiplesService }], target: i0.ɵɵFactoryTarget.Component });
182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppMenuitemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, viewQueries: [{ propertyName: "submenu", first: true, predicate: ["submenu"], descendants: true }], ngImport: i0, template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false\" class=\"layout-menuitem-root-text\">\n <span>{{item.label}}</span>\n <i class=\"layout-menuitem-root-icon pi pi-fw pi-ellipsis-h\"></i>\n </div>\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible !== false\" [attr.href]=\"item.url\"\n (click)=\"itemClick($event)\" (mouseenter)=\"onMouseEnter()\" [ngClass]=\"item.class\" [attr.target]=\"item.target\"\n tabindex=\"0\" pRipple [pTooltip]=\"item.label\" [tooltipDisabled]=\"!(isSlim && root && !active)\">\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n </a>\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible !== false\" (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\" [ngClass]=\"item.class\"\n [routerLink]=\"\"\n routerLinkActive=\"active-route\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\" [attr.target]=\"item.target\"\n tabindex=\"0\" pRipple [pTooltip]=\"item.label\" [tooltipDisabled]=\"!(isSlim && root)\">\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n </a>\n\n <ul #submenu *ngIf=\"item.items && item.visible !== false\" [@children]=\"submenuAnimation\"\n (@children.done)=\"onSubmenuAnimated($event)\">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li app-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClass\"></li>\n </ng-template>\n </ul>\n</ng-container>", dependencies: [{ kind: "component", type: AppMenuitemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], animations: [
207
183
  trigger('children', [
208
184
  state('collapsed', style({
209
185
  height: '0'
@@ -223,41 +199,7 @@ export class AppMenuitemComponent {
223
199
  }
224
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppMenuitemComponent, decorators: [{
225
201
  type: Component,
226
- args: [{
227
- // eslint-disable-next-line @angular-eslint/component-selector
228
- selector: '[app-menuitem]',
229
- standalone: true,
230
- imports: [CommonModule, RouterModule, TooltipModule],
231
- template: `
232
- <ng-container>
233
- <div *ngIf="root && item.visible !== false" class="layout-menuitem-root-text">
234
- <span>{{item.label}}</span>
235
- <i class="layout-menuitem-root-icon pi pi-fw pi-ellipsis-h"></i>
236
- </div>
237
- <a *ngIf="(!item.routerLink || item.items) && item.visible !== false" [attr.href]="item.url" (click)="itemClick($event)" (mouseenter)="onMouseEnter()"
238
- [ngClass]="item.class" [attr.target]="item.target" tabindex="0" pRipple [pTooltip]="item.label" [tooltipDisabled]="!(isSlim && root && !active)">
239
- <i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
240
- <span class="layout-menuitem-text">{{item.label}}</span>
241
- <i class="pi pi-fw pi-angle-down layout-submenu-toggler" *ngIf="item.items"></i>
242
- </a>
243
- <a *ngIf="(item.routerLink && !item.items) && item.visible !== false" (click)="itemClick($event)" (mouseenter)="onMouseEnter()" [ngClass]="item.class"
244
- [routerLink]="'/'+utilsService.obtenerBase()+ (url.toString().includes('admonPortal') ? '/admonPortal' : '') +item.routerLink" routerLinkActive="active-route" [routerLinkActiveOptions]="item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }"
245
- [fragment]="item.fragment" [queryParamsHandling]="item.queryParamsHandling" [preserveFragment]="item.preserveFragment"
246
- [skipLocationChange]="item.skipLocationChange" [replaceUrl]="item.replaceUrl" [state]="item.state" [queryParams]="item.queryParams"
247
- [attr.target]="item.target" tabindex="0" pRipple [pTooltip]="item.label" [tooltipDisabled]="!(isSlim && root)">
248
- <i [ngClass]="item.icon" class="layout-menuitem-icon"></i>
249
- <span class="layout-menuitem-text">{{item.label}}</span>
250
- <i class="pi pi-fw pi-angle-down layout-submenu-toggler" *ngIf="item.items"></i>
251
- </a>
252
-
253
- <ul #submenu *ngIf="item.items && item.visible !== false" [@children]="submenuAnimation" (@children.done)="onSubmenuAnimated($event)">
254
- <ng-template ngFor let-child let-i="index" [ngForOf]="item.items">
255
- <li app-menuitem [item]="child" [index]="i" [parentKey]="key" [class]="child.badgeClass"></li>
256
- </ng-template>
257
- </ul>
258
- </ng-container>
259
- `,
260
- animations: [
202
+ args: [{ selector: '[app-menuitem]', standalone: true, imports: [CommonModule, RouterModule, TooltipModule], animations: [
261
203
  trigger('children', [
262
204
  state('collapsed', style({
263
205
  height: '0'
@@ -273,9 +215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
273
215
  })),
274
216
  transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
275
217
  ])
276
- ]
277
- }]
278
- }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i3.MenuService }, { type: i4.UtilsService }], propDecorators: { item: [{
218
+ ], template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false\" class=\"layout-menuitem-root-text\">\n <span>{{item.label}}</span>\n <i class=\"layout-menuitem-root-icon pi pi-fw pi-ellipsis-h\"></i>\n </div>\n <a *ngIf=\"(!item.routerLink || item.items) && item.visible !== false\" [attr.href]=\"item.url\"\n (click)=\"itemClick($event)\" (mouseenter)=\"onMouseEnter()\" [ngClass]=\"item.class\" [attr.target]=\"item.target\"\n tabindex=\"0\" pRipple [pTooltip]=\"item.label\" [tooltipDisabled]=\"!(isSlim && root && !active)\">\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n </a>\n <a *ngIf=\"(item.routerLink && !item.items) && item.visible !== false\" (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\" [ngClass]=\"item.class\"\n [routerLink]=\"\"\n routerLinkActive=\"active-route\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{ paths: 'exact', queryParams: 'ignored', matrixParams: 'ignored', fragment: 'ignored' }\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" [queryParams]=\"item.queryParams\" [attr.target]=\"item.target\"\n tabindex=\"0\" pRipple [pTooltip]=\"item.label\" [tooltipDisabled]=\"!(isSlim && root)\">\n <i [ngClass]=\"item.icon\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{item.label}}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n </a>\n\n <ul #submenu *ngIf=\"item.items && item.visible !== false\" [@children]=\"submenuAnimation\"\n (@children.done)=\"onSubmenuAnimated($event)\">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li app-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClass\"></li>\n </ng-template>\n </ul>\n</ng-container>" }]
219
+ }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i3.MenuService }, { type: i4.UtilsService }, { type: i5.TabsMultiplesService }], propDecorators: { item: [{
279
220
  type: Input
280
221
  }], index: [{
281
222
  type: Input
@@ -293,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
293
234
  type: HostBinding,
294
235
  args: ['class.active-menuitem']
295
236
  }] } });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC5tZW51aXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxhQUFhLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFzRGhELE1BQU0sT0FBTyxvQkFBb0I7SUFzQlY7SUFBc0M7SUFBOEI7SUFBd0I7SUFBaUM7SUFwQnZJLElBQUksQ0FBTTtJQUVWLEtBQUssQ0FBVTtJQUU0QixJQUFJLENBQVc7SUFFMUQsU0FBUyxDQUFVO0lBRU4sT0FBTyxDQUFjO0lBRTNDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZixzQkFBc0IsQ0FBZTtJQUVyQyxxQkFBcUIsQ0FBZTtJQUVwQyxHQUFHLEdBQVcsRUFBRSxDQUFDO0lBRWpCLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUUzQixZQUFtQixhQUE0QixFQUFVLEVBQXFCLEVBQVMsTUFBYyxFQUFVLFdBQXdCLEVBQVMsWUFBMEI7UUFBdkosa0JBQWEsR0FBYixhQUFhLENBQWU7UUFB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RUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsT0FBTyxFQUFFLE1BQU07NkJBQ2xCLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztnQ0FDbkIsT0FBTyxFQUFFLE9BQU87NkJBQ25CLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7eUJBQ3hGLENBQUM7cUJBQ0w7aUJBQ0o7NExBR1ksSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFOEMsSUFBSTtzQkFBdkQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyw0QkFBNEI7Z0JBRXpDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFvS2hCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuL2FwcC5tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtEb21IYW5kbGVyfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1thcHAtbWVudWl0ZW1dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgVG9vbHRpcE1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcblx0XHQ8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJvb3QgJiYgaXRlbS52aXNpYmxlICE9PSBmYWxzZVwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtaWNvbiBwaSBwaS1mdyBwaS1lbGxpcHNpcy1oXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG5cdFx0XHQ8YSAqbmdJZj1cIighaXRlbS5yb3V0ZXJMaW5rIHx8IGl0ZW0uaXRlbXMpICYmIGl0ZW0udmlzaWJsZSAhPT0gZmFsc2VcIiBbYXR0ci5ocmVmXT1cIml0ZW0udXJsXCIgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCIgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcblx0XHRcdCAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NcIiBbYXR0ci50YXJnZXRdPVwiaXRlbS50YXJnZXRcIiB0YWJpbmRleD1cIjBcIiBwUmlwcGxlIFtwVG9vbHRpcF09XCJpdGVtLmxhYmVsXCIgW3Rvb2x0aXBEaXNhYmxlZF09XCIhKGlzU2xpbSAmJiByb290ICYmICFhY3RpdmUpXCI+XG5cdFx0XHRcdDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXNcIj48L2k+XG5cdFx0XHQ8L2E+XG5cdFx0XHQ8YSAqbmdJZj1cIihpdGVtLnJvdXRlckxpbmsgJiYgIWl0ZW0uaXRlbXMpICYmIGl0ZW0udmlzaWJsZSAhPT0gZmFsc2VcIiAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NcIlxuXHRcdFx0ICAgW3JvdXRlckxpbmtdPVwiJy8nK3V0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpKyAodXJsLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykgPyAnL2FkbW9uUG9ydGFsJyA6ICcnKSAraXRlbS5yb3V0ZXJMaW5rXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZS1yb3V0ZVwiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zfHx7IHBhdGhzOiAnZXhhY3QnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJywgZnJhZ21lbnQ6ICdpZ25vcmVkJyB9XCJcbiAgICAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCIgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCIgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbS5wcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwiaXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIiBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIiBbc3RhdGVdPVwiaXRlbS5zdGF0ZVwiIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiIHRhYmluZGV4PVwiMFwiIHBSaXBwbGUgW3BUb29sdGlwXT1cIml0ZW0ubGFiZWxcIiBbdG9vbHRpcERpc2FibGVkXT1cIiEoaXNTbGltICYmIHJvb3QpXCI+XG5cdFx0XHRcdDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXNcIj48L2k+XG5cdFx0XHQ8L2E+XG5cblx0XHRcdDx1bCAjc3VibWVudSAqbmdJZj1cIml0ZW0uaXRlbXMgJiYgaXRlbS52aXNpYmxlICE9PSBmYWxzZVwiIFtAY2hpbGRyZW5dPVwic3VibWVudUFuaW1hdGlvblwiIChAY2hpbGRyZW4uZG9uZSk9XCJvblN1Ym1lbnVBbmltYXRlZCgkZXZlbnQpXCI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY2hpbGQgbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cIml0ZW0uaXRlbXNcIj5cblx0XHRcdFx0XHQ8bGkgYXBwLW1lbnVpdGVtIFtpdGVtXT1cImNoaWxkXCIgW2luZGV4XT1cImlcIiBbcGFyZW50S2V5XT1cImtleVwiIFtjbGFzc109XCJjaGlsZC5iYWRnZUNsYXNzXCI+PC9saT5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvdWw+XG5cdFx0PC9uZy1jb250YWluZXI+XG4gICAgYCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2NoaWxkcmVuJywgW1xuICAgICAgICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnaGlkZGVuJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkIDw9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxuICAgICAgICBdKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTWVudWl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBpdGVtOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MubGF5b3V0LXJvb3QtbWVudWl0ZW0nKSByb290ITogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHBhcmVudEtleSE6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ3N1Ym1lbnUnKSBzdWJtZW51ITogRWxlbWVudFJlZjtcblxuICAgIGFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgbWVudVNvdXJjZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbWVudVJlc2V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBrZXk6IHN0cmluZyA9IFwiXCI7XG5cbiAgICB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSwgcHVibGljIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UubWVudVNvdXJjZSQuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUucm91dGVFdmVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICh2YWx1ZS5rZXkgPT09IHRoaXMua2V5IHx8IHZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUua2V5ICE9PSB0aGlzLmtleSAmJiAhdmFsdWUua2V5LnN0YXJ0c1dpdGgodGhpcy5rZXkgKyAnLScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5yZXNldFNvdXJjZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzU2xpbVBsdXMgfHwgdGhpcy5pc1NsaW0gfHwgdGhpcy5pc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMua2V5ID0gdGhpcy5wYXJlbnRLZXkgPyB0aGlzLnBhcmVudEtleSArICctJyArIHRoaXMuaW5kZXggOiBTdHJpbmcodGhpcy5pbmRleCk7XG5cbiAgICAgICAgaWYgKCEodGhpcy5pc1NsaW1QbHVzIHx8IHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsKSAmJiB0aGlzLml0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5yb290ICYmIHRoaXMuYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKHRoaXMuc3VibWVudT8ubmF0aXZlRWxlbWVudCwgdGhpcy5zdWJtZW51Py5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKSB7XG4gICAgICAgIGxldCBhY3RpdmVSb3V0ZSA9IHRoaXMucm91dGVyLmlzQWN0aXZlKHRoaXMuaXRlbS5yb3V0ZXJMaW5rWzBdLCB7IHBhdGhzOiAnZXhhY3QnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJywgZnJhZ21lbnQ6ICdpZ25vcmVkJyB9KTtcblxuICAgICAgICBpZiAoYWN0aXZlUm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2Uub25NZW51U3RhdGVDaGFuZ2Uoe2tleTogdGhpcy5rZXksIHJvdXRlRXZlbnQ6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU3VibWVudUFuaW1hdGVkKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnICYmIHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IDxIVE1MVUxpc3RFbGVtZW50PiBldmVudC5lbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZWxQYXJlbnQgPSA8SFRNTFVMaXN0RWxlbWVudD4gZWwucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oZWwsIGVsUGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhbGN1bGF0ZVBvc2l0aW9uKG92ZXJsYXk6IEhUTUxFbGVtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChvdmVybGF5KSB7XG4gICAgICAgICAgICBjb25zdCB7IGxlZnQsIHRvcCB9ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgW3ZXaWR0aCwgdkhlaWdodF0gPSBbd2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodF07XG4gICAgICAgICAgICBjb25zdCBbb1dpZHRoLCBvSGVpZ2h0XSA9IFtvdmVybGF5Lm9mZnNldFdpZHRoLCBvdmVybGF5Lm9mZnNldEhlaWdodF07XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IERvbUhhbmRsZXIuY2FsY3VsYXRlU2Nyb2xsYmFyV2lkdGgoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcGJhckVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmxheW91dC10b3BiYXInKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHRvcGJhckhlaWdodCA9IHRvcGJhckVsPy5vZmZzZXRIZWlnaHQgfHwgMDtcbiAgICAgICAgICAgIC8vIHJlc2V0XG4gICAgICAgICAgICBvdmVybGF5LnN0eWxlLnRvcCA9ICcnO1xuICAgICAgICAgICAgb3ZlcmxheS5zdHlsZS5sZWZ0ID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IGxlZnQgKyBvV2lkdGggKyBzY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgICAgICAgICBvdmVybGF5LnN0eWxlLmxlZnQgPSB2V2lkdGggPCB3aWR0aCA/IGAke2xlZnQgLSAod2lkdGggLSB2V2lkdGgpfXB4YCA6IGAke2xlZnR9cHhgO1xuICAgICAgICAgICAgfSBlbHNlIGlmICggdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3BPZmZzZXQgPSB0b3AgLSB0b3BiYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdG9wT2Zmc2V0ICsgb0hlaWdodCArIHRvcGJhckhlaWdodDtcbiAgICAgICAgICAgICAgICBvdmVybGF5LnN0eWxlLnRvcCA9IHZIZWlnaHQgPCBoZWlnaHQgPyBgJHt0b3BPZmZzZXQgLSAoaGVpZ2h0IC0gdkhlaWdodCl9cHhgIDogYCR7dG9wT2Zmc2V0fXB4YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGl0ZW1DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8gYXZvaWQgcHJvY2Vzc2luZyBkaXNhYmxlZCBpdGVtc1xuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbmF2aWdhdGUgd2l0aCBob3ZlclxuICAgICAgICBpZiAodGhpcy5yb290ICYmIHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9ICF0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXhlY3V0ZSBjb21tYW5kXG4gICAgICAgIGlmICh0aGlzLml0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgdGhpcy5pdGVtLmNvbW1hbmQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgaXRlbTogdGhpcy5pdGVtIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG9nZ2xlIGFjdGl2ZSBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5pdGVtLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICF0aGlzLmFjdGl2ZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMucm9vdCAmJiB0aGlzLmFjdGl2ZSAmJiAodGhpcy5pc1NsaW0gfHwgdGhpcy5pc0hvcml6b250YWwgfHwgdGhpcy5pc1NsaW1QbHVzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vbk92ZXJsYXlTdWJtZW51T3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLm9uTWVudVN0YXRlQ2hhbmdlKHtrZXk6IHRoaXMua2V5fSk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgICAvLyBhY3RpdmF0ZSBpdGVtIG9uIGhvdmVyXG4gICAgICAgIGlmICh0aGlzLnJvb3QgJiYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLm9uTWVudVN0YXRlQ2hhbmdlKHtrZXk6IHRoaXMua2V5fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgc3VibWVudUFuaW1hdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvb3QgPyAnZXhwYW5kZWQnIDogKHRoaXMuYWN0aXZlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnKTtcbiAgICB9XG5cbiAgICBnZXQgaXNIb3Jpem9udGFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpO1xuICAgIH1cblxuICAgIGdldCBpc1NsaW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCk7XG4gICAgfVxuICAgIGdldCBpc1NsaW1QbHVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZS1tZW51aXRlbScpXG4gICAgZ2V0IGFjdGl2ZUNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmUgJiYgIXRoaXMucm9vdDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbGF5b3V0L2FwcC5tZW51aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xheW91dC9hcHAubWVudWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxhQUFhLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBMkJoRCxNQUFNLE9BQU8sb0JBQW9CO0lBc0JWO0lBQXNDO0lBQThCO0lBQXdCO0lBQ25HO0lBQW9DO0lBckJ2QyxJQUFJLENBQU07SUFFVixLQUFLLENBQVU7SUFFNEIsSUFBSSxDQUFXO0lBRTFELFNBQVMsQ0FBVTtJQUVOLE9BQU8sQ0FBYztJQUUzQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWYsc0JBQXNCLENBQWU7SUFFckMscUJBQXFCLENBQWU7SUFFcEMsR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUVqQixHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFFM0IsWUFBbUIsYUFBNEIsRUFBVSxFQUFxQixFQUFTLE1BQWMsRUFBVSxXQUF3QixFQUMzSCxZQUEwQixFQUFVLG9CQUEwQztRQUR2RSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzNILGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUN0RixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDbEcsQ0FBQztxQkFDSSxDQUFDO29CQUNGLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNsRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztvQkFDeEIsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQzthQUNuRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN4QixDQUFDO2lCQUNJLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztnQkFDdEMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqRixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckssSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25HLENBQUM7SUFDTCxDQUFDO0lBRUQsMEJBQTBCO1FBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFMUosSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXFCO1FBQ25DLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4SyxNQUFNLEVBQUUsR0FBc0IsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBc0IsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUNyRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBb0IsRUFBRSxNQUFtQjtRQUN2RCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNyRCxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEUsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQWdCLENBQUM7WUFDekUsTUFBTSxZQUFZLEdBQUcsUUFBUSxFQUFFLFlBQVksSUFBSSxDQUFDLENBQUM7WUFDakQsUUFBUTtZQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFFeEIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsY0FBYyxDQUFDO2dCQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDO1lBQ3ZGLENBQUM7aUJBQU0sSUFBSyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDekUsTUFBTSxTQUFTLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztnQkFDckMsTUFBTSxNQUFNLEdBQUcsU0FBUyxHQUFHLE9BQU8sR0FBRyxZQUFZLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJLENBQUM7WUFDcEcsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVk7UUFDbEIsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNYLENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQ3pGLENBQUM7UUFFRCxrQkFBa0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BGLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUM7WUFFOUYsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztZQUM1RCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNSLHlCQUF5QjtRQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN2RyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0SSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztZQUUxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDO3VHQTNMUSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnWENyQ2pDLDB1RUFnQ2UsNENES0Ysb0JBQW9CLDBHQW5CbkIsWUFBWSw2VkFBRSxZQUFZLGdmQUFFLGFBQWEsd1dBQ3ZDO1lBQ1IsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7b0JBQ3JCLE1BQU0sRUFBRSxHQUFHO2lCQUNkLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsTUFBTSxFQUFFLEdBQUc7aUJBQ2QsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO29CQUNsQixPQUFPLEVBQUUsTUFBTTtpQkFDbEIsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO29CQUNuQixPQUFPLEVBQUUsT0FBTztpQkFDbkIsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzthQUN4RixDQUFDO1NBQ0w7OzJGQUVRLG9CQUFvQjtrQkF4QmhDLFNBQVM7K0JBRUksZ0JBQWdCLGNBQ2QsSUFBSSxXQUVQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsY0FDeEM7d0JBQ1IsT0FBTyxDQUFDLFVBQVUsRUFBRTs0QkFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7Z0NBQ3JCLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsTUFBTSxFQUFFLEdBQUc7NkJBQ2QsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixPQUFPLEVBQUUsTUFBTTs2QkFDbEIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO2dDQUNuQixPQUFPLEVBQUUsT0FBTzs2QkFDbkIsQ0FBQyxDQUFDOzRCQUNILFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzt5QkFDeEYsQ0FBQztxQkFDTDsrTkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUU4QyxJQUFJO3NCQUF2RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDRCQUE0QjtnQkFFekMsU0FBUztzQkFBakIsS0FBSztnQkFFZ0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQXFLaEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4vYXBwLm1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge0RvbUhhbmRsZXJ9IGZyb20gJ3ByaW1lbmcvZG9tJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHsgVGFic011bHRpcGxlc1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2lvcy90YWJzLW11bHRpcGxlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1thcHAtbWVudWl0ZW1dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAubWVudWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgVG9vbHRpcE1vZHVsZV0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdjaGlsZHJlbicsIFtcbiAgICAgICAgICAgIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMCdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdleHBhbmRlZCcsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc3RhdGUoJ2hpZGRlbicsIHN0eWxlKHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnbm9uZSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCd2aXNpYmxlJywgc3R5bGUoe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdibG9jaydcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA8PT4gZXhwYW5kZWQnLCBhbmltYXRlKCc0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknKSlcbiAgICAgICAgXSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1lbnVpdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgaXRlbTogYW55O1xuXG4gICAgQElucHV0KCkgaW5kZXghOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmxheW91dC1yb290LW1lbnVpdGVtJykgcm9vdCE6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwYXJlbnRLZXkhOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdzdWJtZW51Jykgc3VibWVudSE6IEVsZW1lbnRSZWY7XG5cbiAgICBhY3RpdmUgPSBmYWxzZTtcblxuICAgIG1lbnVTb3VyY2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIG1lbnVSZXNldFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAga2V5OiBzdHJpbmcgPSBcIlwiO1xuXG4gICAgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgICAgICBwdWJsaWMgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsIHByaXZhdGUgdGFic011bHRpcGxlc1NlcnZpY2U6IFRhYnNNdWx0aXBsZXNTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UubWVudVNvdXJjZSQuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUucm91dGVFdmVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICh2YWx1ZS5rZXkgPT09IHRoaXMua2V5IHx8IHZhbHVlLmtleS5zdGFydHNXaXRoKHRoaXMua2V5ICsgJy0nKSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUua2V5ICE9PSB0aGlzLmtleSAmJiAhdmFsdWUua2V5LnN0YXJ0c1dpdGgodGhpcy5rZXkgKyAnLScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5tZW51U2VydmljZS5yZXNldFNvdXJjZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzU2xpbVBsdXMgfHwgdGhpcy5pc1NsaW0gfHwgdGhpcy5pc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMua2V5ID0gdGhpcy5wYXJlbnRLZXkgPyB0aGlzLnBhcmVudEtleSArICctJyArIHRoaXMuaW5kZXggOiBTdHJpbmcodGhpcy5pbmRleCk7XG5cbiAgICAgICAgaWYgKCEodGhpcy5pc1NsaW1QbHVzIHx8IHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsKSAmJiB0aGlzLml0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVTdGF0ZUZyb21Sb3V0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5yb290ICYmIHRoaXMuYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKHRoaXMuc3VibWVudT8ubmF0aXZlRWxlbWVudCwgdGhpcy5zdWJtZW51Py5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKSB7XG4gICAgICAgIGxldCBhY3RpdmVSb3V0ZSA9IHRoaXMucm91dGVyLmlzQWN0aXZlKHRoaXMuaXRlbS5yb3V0ZXJMaW5rWzBdLCB7IHBhdGhzOiAnZXhhY3QnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBtYXRyaXhQYXJhbXM6ICdpZ25vcmVkJywgZnJhZ21lbnQ6ICdpZ25vcmVkJyB9KTtcblxuICAgICAgICBpZiAoYWN0aXZlUm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2Uub25NZW51U3RhdGVDaGFuZ2Uoe2tleTogdGhpcy5rZXksIHJvdXRlRXZlbnQ6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU3VibWVudUFuaW1hdGVkKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnICYmIHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IDxIVE1MVUxpc3RFbGVtZW50PiBldmVudC5lbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZWxQYXJlbnQgPSA8SFRNTFVMaXN0RWxlbWVudD4gZWwucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oZWwsIGVsUGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhbGN1bGF0ZVBvc2l0aW9uKG92ZXJsYXk6IEhUTUxFbGVtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChvdmVybGF5KSB7XG4gICAgICAgICAgICBjb25zdCB7IGxlZnQsIHRvcCB9ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgW3ZXaWR0aCwgdkhlaWdodF0gPSBbd2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodF07XG4gICAgICAgICAgICBjb25zdCBbb1dpZHRoLCBvSGVpZ2h0XSA9IFtvdmVybGF5Lm9mZnNldFdpZHRoLCBvdmVybGF5Lm9mZnNldEhlaWdodF07XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IERvbUhhbmRsZXIuY2FsY3VsYXRlU2Nyb2xsYmFyV2lkdGgoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcGJhckVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmxheW91dC10b3BiYXInKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHRvcGJhckhlaWdodCA9IHRvcGJhckVsPy5vZmZzZXRIZWlnaHQgfHwgMDtcbiAgICAgICAgICAgIC8vIHJlc2V0XG4gICAgICAgICAgICBvdmVybGF5LnN0eWxlLnRvcCA9ICcnO1xuICAgICAgICAgICAgb3ZlcmxheS5zdHlsZS5sZWZ0ID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IGxlZnQgKyBvV2lkdGggKyBzY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgICAgICAgICBvdmVybGF5LnN0eWxlLmxlZnQgPSB2V2lkdGggPCB3aWR0aCA/IGAke2xlZnQgLSAod2lkdGggLSB2V2lkdGgpfXB4YCA6IGAke2xlZnR9cHhgO1xuICAgICAgICAgICAgfSBlbHNlIGlmICggdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3BPZmZzZXQgPSB0b3AgLSB0b3BiYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdG9wT2Zmc2V0ICsgb0hlaWdodCArIHRvcGJhckhlaWdodDtcbiAgICAgICAgICAgICAgICBvdmVybGF5LnN0eWxlLnRvcCA9IHZIZWlnaHQgPCBoZWlnaHQgPyBgJHt0b3BPZmZzZXQgLSAoaGVpZ2h0IC0gdkhlaWdodCl9cHhgIDogYCR7dG9wT2Zmc2V0fXB4YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGl0ZW1DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8gYXZvaWQgcHJvY2Vzc2luZyBkaXNhYmxlZCBpdGVtc1xuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbmF2aWdhdGUgd2l0aCBob3ZlclxuICAgICAgICBpZiAodGhpcy5yb290ICYmIHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9ICF0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXhlY3V0ZSBjb21tYW5kXG4gICAgICAgIGlmICh0aGlzLml0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgdGhpcy5pdGVtLmNvbW1hbmQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgaXRlbTogdGhpcy5pdGVtIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG9nZ2xlIGFjdGl2ZSBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5pdGVtLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICF0aGlzLmFjdGl2ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3QgJiYgdGhpcy5hY3RpdmUgJiYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25PdmVybGF5U3VibWVudU9wZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFic011bHRpcGxlc1NlcnZpY2UuYWRkVGFiKHt0aXRsZTogdGhpcy5pdGVtLmxhYmVsLCBjb250ZXh0UGF0aDogdGhpcy5pdGVtLnJvdXRlckxpbmt9KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLm9uTWVudVN0YXRlQ2hhbmdlKHtrZXk6IHRoaXMua2V5fSk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgICAvLyBhY3RpdmF0ZSBpdGVtIG9uIGhvdmVyXG4gICAgICAgIGlmICh0aGlzLnJvb3QgJiYgKHRoaXMuaXNTbGltIHx8IHRoaXMuaXNIb3Jpem9udGFsIHx8IHRoaXMuaXNTbGltUGx1cykgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzRGVza3RvcCgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLm9uTWVudVN0YXRlQ2hhbmdlKHtrZXk6IHRoaXMua2V5fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgc3VibWVudUFuaW1hdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSAmJiAodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKXx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW1QbHVzKCkpKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvb3QgPyAnZXhwYW5kZWQnIDogKHRoaXMuYWN0aXZlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnKTtcbiAgICB9XG5cbiAgICBnZXQgaXNIb3Jpem9udGFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpO1xuICAgIH1cblxuICAgIGdldCBpc1NsaW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltKCk7XG4gICAgfVxuICAgIGdldCBpc1NsaW1QbHVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzU2xpbVBsdXMoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZS1tZW51aXRlbScpXG4gICAgZ2V0IGFjdGl2ZUNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmUgJiYgIXRoaXMucm9vdDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tZW51U291cmNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubWVudVJlc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJyb290ICYmIGl0ZW0udmlzaWJsZSAhPT0gZmFsc2VcIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1yb290LXRleHRcIj5cbiAgICAgICAgPHNwYW4+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG4gICAgICAgIDxpIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtaWNvbiBwaSBwaS1mdyBwaS1lbGxpcHNpcy1oXCI+PC9pPlxuICAgIDwvZGl2PlxuICAgIDxhICpuZ0lmPVwiKCFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5pdGVtcykgJiYgaXRlbS52aXNpYmxlICE9PSBmYWxzZVwiIFthdHRyLmhyZWZdPVwiaXRlbS51cmxcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NcIiBbYXR0ci50YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIiBwUmlwcGxlIFtwVG9vbHRpcF09XCJpdGVtLmxhYmVsXCIgW3Rvb2x0aXBEaXNhYmxlZF09XCIhKGlzU2xpbSAmJiByb290ICYmICFhY3RpdmUpXCI+XG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXNcIj48L2k+XG4gICAgPC9hPlxuICAgIDxhICpuZ0lmPVwiKGl0ZW0ucm91dGVyTGluayAmJiAhaXRlbS5pdGVtcykgJiYgaXRlbS52aXNpYmxlICE9PSBmYWxzZVwiIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIlwiXG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtcm91dGVcIlxuICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwiaXRlbS5yb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc3x8eyBwYXRoczogJ2V4YWN0JywgcXVlcnlQYXJhbXM6ICdpZ25vcmVkJywgbWF0cml4UGFyYW1zOiAnaWdub3JlZCcsIGZyYWdtZW50OiAnaWdub3JlZCcgfVwiXG4gICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCIgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiaXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaXRlbS5wcmVzZXJ2ZUZyYWdtZW50XCIgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgIFtyZXBsYWNlVXJsXT1cIml0ZW0ucmVwbGFjZVVybFwiIFtzdGF0ZV09XCJpdGVtLnN0YXRlXCIgW3F1ZXJ5UGFyYW1zXT1cIml0ZW0ucXVlcnlQYXJhbXNcIiBbYXR0ci50YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIiBwUmlwcGxlIFtwVG9vbHRpcF09XCJpdGVtLmxhYmVsXCIgW3Rvb2x0aXBEaXNhYmxlZF09XCIhKGlzU2xpbSAmJiByb290KVwiPlxuICAgICAgICA8aSBbbmdDbGFzc109XCJpdGVtLmljb25cIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1pY29uXCI+PC9pPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxheW91dC1tZW51aXRlbS10ZXh0XCI+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCIgKm5nSWY9XCJpdGVtLml0ZW1zXCI+PC9pPlxuICAgIDwvYT5cblxuICAgIDx1bCAjc3VibWVudSAqbmdJZj1cIml0ZW0uaXRlbXMgJiYgaXRlbS52aXNpYmxlICE9PSBmYWxzZVwiIFtAY2hpbGRyZW5dPVwic3VibWVudUFuaW1hdGlvblwiXG4gICAgICAgIChAY2hpbGRyZW4uZG9uZSk9XCJvblN1Ym1lbnVBbmltYXRlZCgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY2hpbGQgbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cIml0ZW0uaXRlbXNcIj5cbiAgICAgICAgICAgIDxsaSBhcHAtbWVudWl0ZW0gW2l0ZW1dPVwiY2hpbGRcIiBbaW5kZXhdPVwiaVwiIFtwYXJlbnRLZXldPVwia2V5XCIgW2NsYXNzXT1cImNoaWxkLmJhZGdlQ2xhc3NcIj48L2xpPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdWw+XG48L25nLWNvbnRhaW5lcj4iXX0=