tango-app-ui-shared 3.7.3-dev6-demo7 → 3.7.3-dev6-demo8

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 (402) hide show
  1. package/esm2022/lib/guards/auth.guard.mjs +26 -0
  2. package/esm2022/lib/guards/lead.guard.mjs +16 -0
  3. package/esm2022/lib/guards/stores.guard.mjs +16 -0
  4. package/esm2022/lib/guards/tickets.guard.mjs +16 -0
  5. package/esm2022/lib/i18n/index.mjs +3 -0
  6. package/esm2022/lib/i18n/translation.module.mjs +17 -0
  7. package/esm2022/lib/i18n/translation.service.mjs +53 -0
  8. package/esm2022/lib/i18n/vocabs/ch.mjs +106 -0
  9. package/esm2022/lib/i18n/vocabs/de.mjs +106 -0
  10. package/esm2022/lib/i18n/vocabs/en.mjs +106 -0
  11. package/esm2022/lib/i18n/vocabs/es.mjs +106 -0
  12. package/esm2022/lib/i18n/vocabs/fr.mjs +106 -0
  13. package/esm2022/lib/i18n/vocabs/jp.mjs +106 -0
  14. package/esm2022/lib/interceptors/http-auth-interceptor.mjs +124 -0
  15. package/esm2022/lib/interfaces/global-state.mjs +2 -0
  16. package/esm2022/lib/modules/common/common-shared.module.mjs +31 -0
  17. package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +155 -0
  18. package/esm2022/lib/modules/common/filters/filters.component.mjs +179 -0
  19. package/esm2022/lib/modules/common/pagination/pagination.component.mjs +49 -0
  20. package/esm2022/lib/modules/errors/error403/error403.component.mjs +33 -0
  21. package/esm2022/lib/modules/errors/error404/error404.component.mjs +44 -0
  22. package/esm2022/lib/modules/errors/error500/error500.component.mjs +45 -0
  23. package/esm2022/lib/modules/errors/errors-routing.module.mjs +48 -0
  24. package/esm2022/lib/modules/errors/errors.component.mjs +39 -0
  25. package/esm2022/lib/modules/errors/errors.module.mjs +37 -0
  26. package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +44 -0
  27. package/esm2022/lib/modules/intro/contact-support/contact-support.component.mjs +19 -0
  28. package/esm2022/lib/modules/intro/intro-routing.module.mjs +24 -0
  29. package/esm2022/lib/modules/intro/intro.module.mjs +32 -0
  30. package/esm2022/lib/modules/intro/lead-intro/lead-intro.component.mjs +110 -0
  31. package/esm2022/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.mjs +31 -0
  32. package/esm2022/lib/modules/layout/content/content.component.mjs +107 -0
  33. package/esm2022/lib/modules/layout/footer/footer.component.mjs +17 -0
  34. package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +41 -0
  35. package/esm2022/lib/modules/layout/header/header.component.mjs +100 -0
  36. package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +256 -0
  37. package/esm2022/lib/modules/layout/header/notifications-inner/notifications-inner.component.mjs +79 -0
  38. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +56 -0
  39. package/esm2022/lib/modules/layout/keenicon/icons.json +1 -0
  40. package/esm2022/lib/modules/layout/keenicon/keenicon.component.mjs +37 -0
  41. package/esm2022/lib/modules/layout/layout/layout.component.mjs +314 -0
  42. package/esm2022/lib/modules/layout/layout.module.mjs +198 -0
  43. package/esm2022/lib/modules/layout/scripts-init/scripts-init.component.mjs +74 -0
  44. package/esm2022/lib/modules/layout/scroll-top/scroll-top.component.mjs +74 -0
  45. package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +159 -0
  46. package/esm2022/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.mjs +45 -0
  47. package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +122 -0
  48. package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +134 -0
  49. package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +16 -0
  50. package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +331 -0
  51. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +88 -0
  52. package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +207 -0
  53. package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +158 -0
  54. package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +15 -0
  55. package/esm2022/lib/modules/layout/toolbar/metrics-header/metrics-header.component.mjs +1321 -0
  56. package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +18 -0
  57. package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +18 -0
  58. package/esm2022/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.mjs +216 -0
  59. package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +178 -0
  60. package/esm2022/lib/modules/layout/toolbar/single-storedate/single-storedate.component.mjs +166 -0
  61. package/esm2022/lib/modules/layout/toolbar/storesingle/storesingle.component.mjs +105 -0
  62. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +372 -0
  63. package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +1062 -0
  64. package/esm2022/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.mjs +795 -0
  65. package/esm2022/lib/modules/layout/toolbar/trax-header/trax-header.component.mjs +880 -0
  66. package/esm2022/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.mjs +729 -0
  67. package/esm2022/lib/modules/layout/toolbar/zone-header/zone-header.component.mjs +1100 -0
  68. package/esm2022/lib/modules/notification/conformation/conformation.component.mjs +22 -0
  69. package/esm2022/lib/modules/notification/notification/notification.component.mjs +317 -0
  70. package/esm2022/lib/modules/notification/notification-routing.module.mjs +28 -0
  71. package/esm2022/lib/modules/notification/notification.module.mjs +32 -0
  72. package/esm2022/lib/pipes/customDate.pipe.mjs +22 -0
  73. package/esm2022/lib/routes/route-wraper-modules/edge-wrapper.module.mjs +18 -0
  74. package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +18 -0
  75. package/esm2022/lib/routes/route-wraper-modules/profile-wrapper.module.mjs +18 -0
  76. package/esm2022/lib/routes/route-wraper-modules/store-wrapper.module.mjs +18 -0
  77. package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +18 -0
  78. package/esm2022/lib/routes/routing.mjs +53 -0
  79. package/esm2022/lib/services/auth.service.mjs +141 -0
  80. package/esm2022/lib/services/notification.service.mjs +74 -0
  81. package/esm2022/lib/services/toast.service.mjs +83 -0
  82. package/esm2022/public-api.mjs +56 -0
  83. package/esm2022/tango-app-ui-shared.mjs +5 -0
  84. package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs +21 -0
  85. package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs.map +1 -0
  86. package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs +188 -0
  87. package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs.map +1 -0
  88. package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs +21 -0
  89. package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map +1 -0
  90. package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs +400 -0
  91. package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs.map +1 -0
  92. package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs +21 -0
  93. package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs.map +1 -0
  94. package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs +21 -0
  95. package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs.map +1 -0
  96. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs +21 -0
  97. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs.map +1 -0
  98. package/fesm2022/tango-app-ui-shared.mjs +12450 -0
  99. package/fesm2022/tango-app-ui-shared.mjs.map +1 -0
  100. package/index.d.ts +5 -0
  101. package/lib/guards/auth.guard.d.ts +10 -0
  102. package/lib/guards/lead.guard.d.ts +2 -0
  103. package/lib/guards/stores.guard.d.ts +2 -0
  104. package/lib/guards/tickets.guard.d.ts +2 -0
  105. package/{src/lib/i18n/index.ts → lib/i18n/index.d.ts} +2 -2
  106. package/lib/i18n/translation.module.d.ts +8 -0
  107. package/lib/i18n/translation.service.d.ts +19 -0
  108. package/lib/i18n/vocabs/ch.d.ts +104 -0
  109. package/lib/i18n/vocabs/de.d.ts +104 -0
  110. package/lib/i18n/vocabs/en.d.ts +104 -0
  111. package/lib/i18n/vocabs/es.d.ts +104 -0
  112. package/lib/i18n/vocabs/fr.d.ts +104 -0
  113. package/lib/i18n/vocabs/jp.d.ts +104 -0
  114. package/lib/interceptors/http-auth-interceptor.d.ts +19 -0
  115. package/lib/interfaces/global-state.d.ts +5 -0
  116. package/lib/modules/common/common-shared.module.d.ts +13 -0
  117. package/lib/modules/common/custom-select/custom-select.component.d.ts +33 -0
  118. package/lib/modules/common/filters/filters.component.d.ts +38 -0
  119. package/lib/modules/common/pagination/pagination.component.d.ts +18 -0
  120. package/lib/modules/errors/error403/error403.component.d.ts +14 -0
  121. package/lib/modules/errors/error404/error404.component.d.ts +15 -0
  122. package/lib/modules/errors/error500/error500.component.d.ts +15 -0
  123. package/lib/modules/errors/errors-routing.module.d.ts +7 -0
  124. package/lib/modules/errors/errors.component.d.ts +13 -0
  125. package/lib/modules/errors/errors.module.d.ts +13 -0
  126. package/lib/modules/errors/invalid-ip/invalid-ip.component.d.ts +17 -0
  127. package/lib/modules/intro/contact-support/contact-support.component.d.ts +9 -0
  128. package/lib/modules/intro/intro-routing.module.d.ts +7 -0
  129. package/lib/modules/intro/intro.module.d.ts +11 -0
  130. package/lib/modules/intro/lead-intro/lead-intro.component.d.ts +31 -0
  131. package/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.d.ts +13 -0
  132. package/lib/modules/layout/content/content.component.d.ts +25 -0
  133. package/lib/modules/layout/footer/footer.component.d.ts +8 -0
  134. package/lib/modules/layout/header/header-menu/header-menu.component.d.ts +18 -0
  135. package/lib/modules/layout/header/header.component.d.ts +30 -0
  136. package/lib/modules/layout/header/navbar/navbar.component.d.ts +45 -0
  137. package/lib/modules/layout/header/notifications-inner/notifications-inner.component.d.ts +25 -0
  138. package/lib/modules/layout/header/page-title/page-title.component.d.ts +23 -0
  139. package/lib/modules/layout/keenicon/keenicon.component.d.ts +13 -0
  140. package/lib/modules/layout/layout/layout.component.d.ts +82 -0
  141. package/lib/modules/layout/layout.module.d.ts +50 -0
  142. package/lib/modules/layout/scripts-init/scripts-init.component.d.ts +19 -0
  143. package/lib/modules/layout/scroll-top/scroll-top.component.d.ts +19 -0
  144. package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +45 -0
  145. package/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.d.ts +19 -0
  146. package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +26 -0
  147. package/lib/modules/layout/sidebar/sidebar.component.d.ts +36 -0
  148. package/lib/modules/layout/toolbar/accounting/accounting.component.d.ts +8 -0
  149. package/lib/modules/layout/toolbar/classic/classic.component.d.ts +48 -0
  150. package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +16 -0
  151. package/lib/modules/layout/toolbar/date-single-select/date-single-select.component.d.ts +28 -0
  152. package/lib/modules/layout/toolbar/datepicker/datepicker.component.d.ts +28 -0
  153. package/lib/modules/layout/toolbar/extended/extended.component.d.ts +8 -0
  154. package/lib/modules/layout/toolbar/metrics-header/metrics-header.component.d.ts +103 -0
  155. package/lib/modules/layout/toolbar/reports/reports.component.d.ts +9 -0
  156. package/lib/modules/layout/toolbar/saas/saas.component.d.ts +9 -0
  157. package/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.d.ts +32 -0
  158. package/lib/modules/layout/toolbar/single-store/single-store.component.d.ts +33 -0
  159. package/lib/modules/layout/toolbar/single-storedate/single-storedate.component.d.ts +34 -0
  160. package/lib/modules/layout/toolbar/storesingle/storesingle.component.d.ts +24 -0
  161. package/lib/modules/layout/toolbar/toolbar.component.d.ts +57 -0
  162. package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +93 -0
  163. package/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.d.ts +80 -0
  164. package/lib/modules/layout/toolbar/trax-header/trax-header.component.d.ts +83 -0
  165. package/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.d.ts +74 -0
  166. package/lib/modules/layout/toolbar/zone-header/zone-header.component.d.ts +97 -0
  167. package/lib/modules/notification/conformation/conformation.component.d.ts +10 -0
  168. package/lib/modules/notification/notification/notification.component.d.ts +63 -0
  169. package/lib/modules/notification/notification-routing.module.d.ts +7 -0
  170. package/lib/modules/notification/notification.module.d.ts +11 -0
  171. package/lib/pipes/customDate.pipe.d.ts +7 -0
  172. package/lib/routes/route-wraper-modules/edge-wrapper.module.d.ts +7 -0
  173. package/lib/routes/route-wraper-modules/manage-wrapper.module.d.ts +7 -0
  174. package/lib/routes/route-wraper-modules/profile-wrapper.module.d.ts +7 -0
  175. package/lib/routes/route-wraper-modules/store-wrapper.module.d.ts +7 -0
  176. package/lib/routes/route-wraper-modules/ticket-wrapper.module.d.ts +7 -0
  177. package/lib/routes/routing.d.ts +3 -0
  178. package/lib/services/auth.service.d.ts +49 -0
  179. package/lib/services/notification.service.d.ts +30 -0
  180. package/lib/services/toast.service.d.ts +10 -0
  181. package/package.json +25 -12
  182. package/{src/public-api.ts → public-api.d.ts} +44 -71
  183. package/.eslintrc.json +0 -37
  184. package/ng-package.json +0 -7
  185. package/src/lib/guards/auth.guard.ts +0 -20
  186. package/src/lib/guards/lead.guard.ts +0 -16
  187. package/src/lib/guards/stores.guard.ts +0 -16
  188. package/src/lib/guards/tickets.guard.ts +0 -16
  189. package/src/lib/i18n/translation.module.ts +0 -9
  190. package/src/lib/i18n/translation.service.ts +0 -61
  191. package/src/lib/i18n/vocabs/ch.ts +0 -105
  192. package/src/lib/i18n/vocabs/de.ts +0 -105
  193. package/src/lib/i18n/vocabs/en.ts +0 -105
  194. package/src/lib/i18n/vocabs/es.ts +0 -105
  195. package/src/lib/i18n/vocabs/fr.ts +0 -105
  196. package/src/lib/i18n/vocabs/jp.ts +0 -105
  197. package/src/lib/interceptors/http-auth-interceptor.ts +0 -225
  198. package/src/lib/interfaces/global-state.ts +0 -6
  199. package/src/lib/modules/common/common-shared.module.ts +0 -20
  200. package/src/lib/modules/common/custom-select/custom-select.component.html +0 -42
  201. package/src/lib/modules/common/custom-select/custom-select.component.scss +0 -131
  202. package/src/lib/modules/common/custom-select/custom-select.component.spec.ts +0 -23
  203. package/src/lib/modules/common/custom-select/custom-select.component.ts +0 -149
  204. package/src/lib/modules/common/filters/filters.component.html +0 -76
  205. package/src/lib/modules/common/filters/filters.component.scss +0 -131
  206. package/src/lib/modules/common/filters/filters.component.spec.ts +0 -23
  207. package/src/lib/modules/common/filters/filters.component.ts +0 -181
  208. package/src/lib/modules/common/pagination/pagination.component.html +0 -26
  209. package/src/lib/modules/common/pagination/pagination.component.scss +0 -63
  210. package/src/lib/modules/common/pagination/pagination.component.spec.ts +0 -23
  211. package/src/lib/modules/common/pagination/pagination.component.ts +0 -46
  212. package/src/lib/modules/errors/error403/error403.component.html +0 -25
  213. package/src/lib/modules/errors/error403/error403.component.scss +0 -0
  214. package/src/lib/modules/errors/error403/error403.component.spec.ts +0 -23
  215. package/src/lib/modules/errors/error403/error403.component.ts +0 -28
  216. package/src/lib/modules/errors/error404/error404.component.html +0 -24
  217. package/src/lib/modules/errors/error404/error404.component.scss +0 -0
  218. package/src/lib/modules/errors/error404/error404.component.spec.ts +0 -25
  219. package/src/lib/modules/errors/error404/error404.component.ts +0 -50
  220. package/src/lib/modules/errors/error500/error500.component.html +0 -24
  221. package/src/lib/modules/errors/error500/error500.component.scss +0 -0
  222. package/src/lib/modules/errors/error500/error500.component.spec.ts +0 -25
  223. package/src/lib/modules/errors/error500/error500.component.ts +0 -50
  224. package/src/lib/modules/errors/errors-routing.module.ts +0 -40
  225. package/src/lib/modules/errors/errors.component.html +0 -15
  226. package/src/lib/modules/errors/errors.component.scss +0 -4
  227. package/src/lib/modules/errors/errors.component.spec.ts +0 -25
  228. package/src/lib/modules/errors/errors.component.ts +0 -42
  229. package/src/lib/modules/errors/errors.module.ts +0 -25
  230. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.html +0 -16
  231. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.scss +0 -0
  232. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.spec.ts +0 -23
  233. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.ts +0 -43
  234. package/src/lib/modules/intro/contact-support/contact-support.component.html +0 -30
  235. package/src/lib/modules/intro/contact-support/contact-support.component.scss +0 -60
  236. package/src/lib/modules/intro/contact-support/contact-support.component.spec.ts +0 -23
  237. package/src/lib/modules/intro/contact-support/contact-support.component.ts +0 -17
  238. package/src/lib/modules/intro/intro-routing.module.ts +0 -16
  239. package/src/lib/modules/intro/intro.module.ts +0 -21
  240. package/src/lib/modules/intro/lead-intro/lead-intro.component.html +0 -325
  241. package/src/lib/modules/intro/lead-intro/lead-intro.component.scss +0 -185
  242. package/src/lib/modules/intro/lead-intro/lead-intro.component.spec.ts +0 -23
  243. package/src/lib/modules/intro/lead-intro/lead-intro.component.ts +0 -120
  244. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.html +0 -44
  245. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.scss +0 -28
  246. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.spec.ts +0 -23
  247. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.ts +0 -24
  248. package/src/lib/modules/layout/content/content.component.html +0 -12
  249. package/src/lib/modules/layout/content/content.component.scss +0 -0
  250. package/src/lib/modules/layout/content/content.component.ts +0 -102
  251. package/src/lib/modules/layout/footer/footer.component.html +0 -29
  252. package/src/lib/modules/layout/footer/footer.component.scss +0 -7
  253. package/src/lib/modules/layout/footer/footer.component.spec.ts +0 -25
  254. package/src/lib/modules/layout/footer/footer.component.ts +0 -13
  255. package/src/lib/modules/layout/header/header-menu/header-menu.component.html +0 -27
  256. package/src/lib/modules/layout/header/header-menu/header-menu.component.scss +0 -4
  257. package/src/lib/modules/layout/header/header-menu/header-menu.component.spec.ts +0 -25
  258. package/src/lib/modules/layout/header/header-menu/header-menu.component.ts +0 -38
  259. package/src/lib/modules/layout/header/header.component.html +0 -90
  260. package/src/lib/modules/layout/header/header.component.scss +0 -7
  261. package/src/lib/modules/layout/header/header.component.spec.ts +0 -25
  262. package/src/lib/modules/layout/header/header.component.ts +0 -139
  263. package/src/lib/modules/layout/header/navbar/navbar.component.html +0 -156
  264. package/src/lib/modules/layout/header/navbar/navbar.component.scss +0 -223
  265. package/src/lib/modules/layout/header/navbar/navbar.component.spec.ts +0 -23
  266. package/src/lib/modules/layout/header/navbar/navbar.component.ts +0 -255
  267. package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.html +0 -200
  268. package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.scss +0 -139
  269. package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.ts +0 -76
  270. package/src/lib/modules/layout/header/page-title/page-title.component.html +0 -32
  271. package/src/lib/modules/layout/header/page-title/page-title.component.scss +0 -11
  272. package/src/lib/modules/layout/header/page-title/page-title.component.ts +0 -47
  273. package/src/lib/modules/layout/keenicon/icons.json +0 -1
  274. package/src/lib/modules/layout/keenicon/keenicon.component.html +0 -4
  275. package/src/lib/modules/layout/keenicon/keenicon.component.scss +0 -0
  276. package/src/lib/modules/layout/keenicon/keenicon.component.spec.ts +0 -23
  277. package/src/lib/modules/layout/keenicon/keenicon.component.ts +0 -30
  278. package/src/lib/modules/layout/layout/layout.component.html +0 -71
  279. package/src/lib/modules/layout/layout/layout.component.scss +0 -23
  280. package/src/lib/modules/layout/layout/layout.component.ts +0 -425
  281. package/src/lib/modules/layout/layout.module.ts +0 -129
  282. package/src/lib/modules/layout/scripts-init/scripts-init.component.html +0 -0
  283. package/src/lib/modules/layout/scripts-init/scripts-init.component.ts +0 -81
  284. package/src/lib/modules/layout/scroll-top/scroll-top.component.html +0 -1
  285. package/src/lib/modules/layout/scroll-top/scroll-top.component.ts +0 -75
  286. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.html +0 -70
  287. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.scss +0 -57
  288. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.spec.ts +0 -23
  289. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.ts +0 -136
  290. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.html +0 -26
  291. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.scss +0 -0
  292. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.spec.ts +0 -23
  293. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.ts +0 -36
  294. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.html +0 -761
  295. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.scss +0 -38
  296. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.spec.ts +0 -23
  297. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.ts +0 -130
  298. package/src/lib/modules/layout/sidebar/sidebar.component.html +0 -16
  299. package/src/lib/modules/layout/sidebar/sidebar.component.scss +0 -3
  300. package/src/lib/modules/layout/sidebar/sidebar.component.spec.ts +0 -23
  301. package/src/lib/modules/layout/sidebar/sidebar.component.ts +0 -203
  302. package/src/lib/modules/layout/toolbar/accounting/accounting.component.html +0 -84
  303. package/src/lib/modules/layout/toolbar/accounting/accounting.component.scss +0 -0
  304. package/src/lib/modules/layout/toolbar/accounting/accounting.component.spec.ts +0 -23
  305. package/src/lib/modules/layout/toolbar/accounting/accounting.component.ts +0 -14
  306. package/src/lib/modules/layout/toolbar/classic/classic.component.html +0 -69
  307. package/src/lib/modules/layout/toolbar/classic/classic.component.scss +0 -238
  308. package/src/lib/modules/layout/toolbar/classic/classic.component.spec.ts +0 -23
  309. package/src/lib/modules/layout/toolbar/classic/classic.component.ts +0 -389
  310. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.html +0 -4
  311. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.scss +0 -3
  312. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.spec.ts +0 -23
  313. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.ts +0 -91
  314. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.html +0 -22
  315. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.scss +0 -156
  316. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.spec.ts +0 -23
  317. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.ts +0 -238
  318. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.html +0 -14
  319. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.scss +0 -149
  320. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.spec.ts +0 -23
  321. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.ts +0 -183
  322. package/src/lib/modules/layout/toolbar/extended/extended.component.html +0 -100
  323. package/src/lib/modules/layout/toolbar/extended/extended.component.scss +0 -0
  324. package/src/lib/modules/layout/toolbar/extended/extended.component.spec.ts +0 -23
  325. package/src/lib/modules/layout/toolbar/extended/extended.component.ts +0 -12
  326. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.html +0 -311
  327. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.scss +0 -311
  328. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.spec.ts +0 -23
  329. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.ts +0 -1555
  330. package/src/lib/modules/layout/toolbar/reports/reports.component.html +0 -62
  331. package/src/lib/modules/layout/toolbar/reports/reports.component.scss +0 -0
  332. package/src/lib/modules/layout/toolbar/reports/reports.component.spec.ts +0 -23
  333. package/src/lib/modules/layout/toolbar/reports/reports.component.ts +0 -14
  334. package/src/lib/modules/layout/toolbar/saas/saas.component.html +0 -77
  335. package/src/lib/modules/layout/toolbar/saas/saas.component.scss +0 -0
  336. package/src/lib/modules/layout/toolbar/saas/saas.component.spec.ts +0 -23
  337. package/src/lib/modules/layout/toolbar/saas/saas.component.ts +0 -14
  338. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.html +0 -26
  339. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.scss +0 -176
  340. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.spec.ts +0 -23
  341. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.ts +0 -235
  342. package/src/lib/modules/layout/toolbar/single-store/single-store.component.html +0 -39
  343. package/src/lib/modules/layout/toolbar/single-store/single-store.component.scss +0 -176
  344. package/src/lib/modules/layout/toolbar/single-store/single-store.component.spec.ts +0 -23
  345. package/src/lib/modules/layout/toolbar/single-store/single-store.component.ts +0 -188
  346. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.html +0 -17
  347. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.scss +0 -172
  348. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.spec.ts +0 -23
  349. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.ts +0 -179
  350. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.html +0 -4
  351. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.scss +0 -19
  352. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.spec.ts +0 -23
  353. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.ts +0 -105
  354. package/src/lib/modules/layout/toolbar/toolbar.component.html +0 -64
  355. package/src/lib/modules/layout/toolbar/toolbar.component.scss +0 -0
  356. package/src/lib/modules/layout/toolbar/toolbar.component.spec.ts +0 -25
  357. package/src/lib/modules/layout/toolbar/toolbar.component.ts +0 -400
  358. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.html +0 -259
  359. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.scss +0 -305
  360. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.spec.ts +0 -23
  361. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.ts +0 -1202
  362. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.html +0 -199
  363. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.scss +0 -311
  364. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.spec.ts +0 -23
  365. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.ts +0 -899
  366. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.html +0 -204
  367. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.scss +0 -311
  368. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.spec.ts +0 -23
  369. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.ts +0 -1045
  370. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.html +0 -190
  371. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.scss +0 -311
  372. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.spec.ts +0 -23
  373. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.ts +0 -825
  374. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.html +0 -259
  375. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.scss +0 -305
  376. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.spec.ts +0 -23
  377. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.ts +0 -1242
  378. package/src/lib/modules/notification/conformation/conformation.component.html +0 -25
  379. package/src/lib/modules/notification/conformation/conformation.component.scss +0 -0
  380. package/src/lib/modules/notification/conformation/conformation.component.spec.ts +0 -23
  381. package/src/lib/modules/notification/conformation/conformation.component.ts +0 -23
  382. package/src/lib/modules/notification/notification/notification.component.html +0 -209
  383. package/src/lib/modules/notification/notification/notification.component.scss +0 -211
  384. package/src/lib/modules/notification/notification/notification.component.spec.ts +0 -23
  385. package/src/lib/modules/notification/notification/notification.component.ts +0 -310
  386. package/src/lib/modules/notification/notification-routing.module.ts +0 -20
  387. package/src/lib/modules/notification/notification.module.ts +0 -21
  388. package/src/lib/pipes/customDate.pipe.ts +0 -18
  389. package/src/lib/routes/route-wraper-modules/analyse-wrapper.module.ts +0 -12
  390. package/src/lib/routes/route-wraper-modules/edge-wrapper.module.ts +0 -11
  391. package/src/lib/routes/route-wraper-modules/manage-wrapper.module.ts +0 -11
  392. package/src/lib/routes/route-wraper-modules/profile-wrapper.module.ts +0 -12
  393. package/src/lib/routes/route-wraper-modules/store-wrapper.module.ts +0 -11
  394. package/src/lib/routes/route-wraper-modules/ticket-wrapper.module.ts +0 -10
  395. package/src/lib/routes/routing.ts +0 -56
  396. package/src/lib/services/auth.service.ts +0 -178
  397. package/src/lib/services/notification.service.spec.ts +0 -16
  398. package/src/lib/services/notification.service.ts +0 -73
  399. package/src/lib/services/toast.service.ts +0 -82
  400. package/tsconfig.lib.json +0 -14
  401. package/tsconfig.lib.prod.json +0 -10
  402. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,74 @@
1
+ import { Component } from '@angular/core';
2
+ import { ResolveEnd } from '@angular/router';
3
+ import { filter } from 'rxjs/operators';
4
+ import { ToggleComponent, ScrollTopComponent, DrawerComponent, StickyComponent, MenuComponent, ScrollComponent, } from 'tango-app-ui-global';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "tango-app-ui-global";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "@angular/platform-browser";
9
+ export class ScriptsInitComponent {
10
+ layout;
11
+ pageInfo;
12
+ router;
13
+ titleService;
14
+ unsubscribe = [];
15
+ constructor(layout, pageInfo, router, titleService) {
16
+ this.layout = layout;
17
+ this.pageInfo = pageInfo;
18
+ this.router = router;
19
+ this.titleService = titleService;
20
+ const initPageInfo = () => {
21
+ setTimeout(() => {
22
+ // this.pageInfo.calculateTitle();
23
+ // this.pageInfo.calculateBreadcrumbs();
24
+ this.pageInfo.title.asObservable().subscribe((title) => {
25
+ this.titleService.setTitle(title + ' - TangoEye');
26
+ });
27
+ }, 10);
28
+ };
29
+ initPageInfo();
30
+ // subscribe to router events
31
+ this.router.events
32
+ .pipe(filter((event) => event instanceof ResolveEnd))
33
+ .subscribe(initPageInfo);
34
+ }
35
+ ngOnInit() {
36
+ this.pluginsInitialization();
37
+ const layoutUpdateSubscription = this.layout.layoutConfigSubject
38
+ .asObservable()
39
+ .subscribe(() => {
40
+ this.pluginsReInitialization();
41
+ });
42
+ this.unsubscribe.push(layoutUpdateSubscription);
43
+ }
44
+ pluginsInitialization() {
45
+ setTimeout(() => {
46
+ ToggleComponent.bootstrap();
47
+ ScrollTopComponent.bootstrap();
48
+ DrawerComponent.bootstrap();
49
+ StickyComponent.bootstrap();
50
+ MenuComponent.bootstrap();
51
+ ScrollComponent.bootstrap();
52
+ }, 200);
53
+ }
54
+ pluginsReInitialization() {
55
+ setTimeout(() => {
56
+ ToggleComponent.reinitialization();
57
+ ScrollTopComponent.reinitialization();
58
+ DrawerComponent.reinitialization();
59
+ StickyComponent.bootstrap();
60
+ MenuComponent.reinitialization();
61
+ ScrollComponent.reinitialization();
62
+ }, 100);
63
+ }
64
+ ngOnDestroy() {
65
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
66
+ }
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScriptsInitComponent, deps: [{ token: i1.LayoutService }, { token: i1.PageInfoService }, { token: i2.Router }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ScriptsInitComponent, selector: "lib-scripts-init", ngImport: i0, template: "" });
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScriptsInitComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'lib-scripts-init', template: "" }]
73
+ }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i1.PageInfoService }, { type: i2.Router }, { type: i3.Title }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0cy1pbml0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsZUFBZSxHQUNoQixNQUFNLHFCQUFxQixDQUFDOzs7OztBQVE3QixNQUFNLE9BQU8sb0JBQW9CO0lBR3JCO0lBQ0E7SUFDQTtJQUNBO0lBTEYsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFDekMsWUFDVSxNQUFxQixFQUNyQixRQUF5QixFQUN6QixNQUFjLEVBQ2QsWUFBbUI7UUFIbkIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQU87UUFFM0IsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2Qsa0NBQWtDO2dCQUNsQyx3Q0FBd0M7Z0JBRXhDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUM7Z0JBQ3BELENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDO1FBRUYsWUFBWSxFQUFFLENBQUM7UUFDZiw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLFVBQVUsQ0FBQyxDQUFDO2FBQ3BELFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUI7YUFDN0QsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUIsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDL0IsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25DLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbkMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2pDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7d0dBNURVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLHdEQ25CakMsRUFBQTs7NEZEbUJhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc29sdmVFbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gIFNjcm9sbFRvcENvbXBvbmVudCxcclxuICBEcmF3ZXJDb21wb25lbnQsXHJcbiAgU3RpY2t5Q29tcG9uZW50LFxyXG4gIE1lbnVDb21wb25lbnQsXHJcbiAgU2Nyb2xsQ29tcG9uZW50LFxyXG59IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNjcmlwdHMtaW5pdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NjcmlwdHMtaW5pdC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY3JpcHRzSW5pdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlLFxyXG4gICkge1xyXG4gICAgY29uc3QgaW5pdFBhZ2VJbmZvID0gKCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLnBhZ2VJbmZvLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICAgICAgLy8gdGhpcy5wYWdlSW5mby5jYWxjdWxhdGVCcmVhZGNydW1icygpO1xyXG5cclxuICAgICAgICB0aGlzLnBhZ2VJbmZvLnRpdGxlLmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgodGl0bGUpID0+IHtcclxuICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRpdGxlICsgJyAtIFRhbmdvRXllJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIDEwKTtcclxuICAgIH07XHJcblxyXG4gICAgaW5pdFBhZ2VJbmZvKCk7XHJcbiAgICAvLyBzdWJzY3JpYmUgdG8gcm91dGVyIGV2ZW50c1xyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgUmVzb2x2ZUVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoaW5pdFBhZ2VJbmZvKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wbHVnaW5zSW5pdGlhbGl6YXRpb24oKTtcclxuICAgIGNvbnN0IGxheW91dFVwZGF0ZVN1YnNjcmlwdGlvbiA9IHRoaXMubGF5b3V0LmxheW91dENvbmZpZ1N1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucGx1Z2luc1JlSW5pdGlhbGl6YXRpb24oKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2gobGF5b3V0VXBkYXRlU3Vic2NyaXB0aW9uKTtcclxuICB9XHJcblxyXG4gIHBsdWdpbnNJbml0aWFsaXphdGlvbigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBUb2dnbGVDb21wb25lbnQuYm9vdHN0cmFwKCk7XHJcbiAgICAgIFNjcm9sbFRvcENvbXBvbmVudC5ib290c3RyYXAoKTtcclxuICAgICAgRHJhd2VyQ29tcG9uZW50LmJvb3RzdHJhcCgpO1xyXG4gICAgICBTdGlja3lDb21wb25lbnQuYm9vdHN0cmFwKCk7XHJcbiAgICAgIE1lbnVDb21wb25lbnQuYm9vdHN0cmFwKCk7XHJcbiAgICAgIFNjcm9sbENvbXBvbmVudC5ib290c3RyYXAoKTtcclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG5cclxuICBwbHVnaW5zUmVJbml0aWFsaXphdGlvbigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBUb2dnbGVDb21wb25lbnQucmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgICBTY3JvbGxUb3BDb21wb25lbnQucmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgICBEcmF3ZXJDb21wb25lbnQucmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgICBTdGlja3lDb21wb25lbnQuYm9vdHN0cmFwKCk7XHJcbiAgICAgIE1lbnVDb21wb25lbnQucmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgICBTY3JvbGxDb21wb25lbnQucmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Component, HostBinding } from '@angular/core';
2
+ import { NavigationCancel, NavigationEnd } from '@angular/router';
3
+ import { StickyComponent, ScrollTopComponent, MenuComponent, ToggleComponent, DrawerComponent, } from 'tango-app-ui-global';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "../keenicon/keenicon.component";
7
+ export class LayoutScrollTopComponent {
8
+ router;
9
+ class = 'kt_scrolltop';
10
+ id = 'scrolltop';
11
+ dataKtScrolltop = 'true';
12
+ unsubscribe = [];
13
+ constructor(router) {
14
+ this.router = router;
15
+ }
16
+ ngOnInit() {
17
+ this.routingChanges();
18
+ }
19
+ routingChanges() {
20
+ const routerSubscription = this.router.events.subscribe((event) => {
21
+ if (event instanceof NavigationEnd || event instanceof NavigationCancel) {
22
+ this.pluginsReinitialization();
23
+ this.updateHeaderSticky();
24
+ setTimeout(() => {
25
+ this.scrollTop();
26
+ }, 0);
27
+ }
28
+ });
29
+ this.unsubscribe.push(routerSubscription);
30
+ }
31
+ updateHeaderSticky() {
32
+ const stickyHeader = document.body.querySelectorAll(`[data-kt-sticky-name="header"]`);
33
+ if (stickyHeader && stickyHeader.length > 0) {
34
+ const sticky = StickyComponent.getInstance(stickyHeader[0]);
35
+ if (sticky) {
36
+ sticky.update();
37
+ }
38
+ }
39
+ }
40
+ scrollTop() {
41
+ ScrollTopComponent.goTop();
42
+ }
43
+ pluginsReinitialization() {
44
+ setTimeout(() => {
45
+ // ScrollTopComponent.reinitialization()
46
+ MenuComponent.reinitialization();
47
+ StickyComponent.reInitialization();
48
+ setTimeout(() => {
49
+ ToggleComponent.reinitialization();
50
+ DrawerComponent.reinitialization();
51
+ // ScrollComponent.reinitialization()
52
+ }, 70);
53
+ }, 140);
54
+ }
55
+ ngOnDestroy() {
56
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutScrollTopComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LayoutScrollTopComponent, selector: "lib-scroll-top", host: { properties: { "class": "this.class", "id": "this.id", "attr.data-kt-scrolltop": "this.dataKtScrolltop" } }, ngImport: i0, template: "<lib-keenicon name=\"arrow-up\" class=\"text-white fw-bold\"></lib-keenicon>\r\n", dependencies: [{ kind: "component", type: i2.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutScrollTopComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'lib-scroll-top', template: "<lib-keenicon name=\"arrow-up\" class=\"text-white fw-bold\"></lib-keenicon>\r\n" }]
64
+ }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { class: [{
65
+ type: HostBinding,
66
+ args: ['class']
67
+ }], id: [{
68
+ type: HostBinding,
69
+ args: ['id']
70
+ }], dataKtScrolltop: [{
71
+ type: HostBinding,
72
+ args: ['attr.data-kt-scrolltop']
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvc2Nyb2xsLXRvcC9zY3JvbGwtdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9zY3JvbGwtdG9wL3Njcm9sbC10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU03QixNQUFNLE9BQU8sd0JBQXdCO0lBTWY7SUFMRSxLQUFLLEdBQUcsY0FBYyxDQUFDO0lBQzFCLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDRyxlQUFlLEdBQUcsTUFBTSxDQUFDO0lBRXhELFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBQ3pDLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoRSxJQUFJLEtBQUssWUFBWSxhQUFhLElBQUksS0FBSyxZQUFZLGdCQUFnQixFQUFFO2dCQUN2RSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDUDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQ2pELGdDQUFnQyxDQUNqQyxDQUFDO1FBQ0YsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FDeEMsWUFBWSxDQUFDLENBQUMsQ0FBZ0IsQ0FDL0IsQ0FBQztZQUNGLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCx3Q0FBd0M7WUFDeEMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDakMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25DLHFDQUFxQztZQUN2QyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQTFEVSx3QkFBd0I7NEZBQXhCLHdCQUF3QiwwS0NmckMsa0ZBQ0E7OzRGRGNhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxnQkFBZ0I7MkVBSUosS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUNELEVBQUU7c0JBQXBCLFdBQVc7dUJBQUMsSUFBSTtnQkFDc0IsZUFBZTtzQkFBckQsV0FBVzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBTdGlja3lDb21wb25lbnQsXHJcbiAgU2Nyb2xsVG9wQ29tcG9uZW50LFxyXG4gIE1lbnVDb21wb25lbnQsXHJcbiAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gIERyYXdlckNvbXBvbmVudCxcclxufSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNjcm9sbC10b3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGwtdG9wLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dFNjcm9sbFRvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAna3Rfc2Nyb2xsdG9wJztcclxuICBASG9zdEJpbmRpbmcoJ2lkJykgaWQgPSAnc2Nyb2xsdG9wJztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1rdC1zY3JvbGx0b3AnKSBkYXRhS3RTY3JvbGx0b3AgPSAndHJ1ZSc7XHJcblxyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRpbmdDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICByb3V0aW5nQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IHJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XHJcbiAgICAgICAgdGhpcy5wbHVnaW5zUmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlSGVhZGVyU3RpY2t5KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNjcm9sbFRvcCgpO1xyXG4gICAgICAgIH0sIDApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChyb3V0ZXJTdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlSGVhZGVyU3RpY2t5KCkge1xyXG4gICAgY29uc3Qgc3RpY2t5SGVhZGVyID0gZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICBgW2RhdGEta3Qtc3RpY2t5LW5hbWU9XCJoZWFkZXJcIl1gXHJcbiAgICApO1xyXG4gICAgaWYgKHN0aWNreUhlYWRlciAmJiBzdGlja3lIZWFkZXIubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBzdGlja3kgPSBTdGlja3lDb21wb25lbnQuZ2V0SW5zdGFuY2UoXHJcbiAgICAgICAgc3RpY2t5SGVhZGVyWzBdIGFzIEhUTUxFbGVtZW50XHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChzdGlja3kpIHtcclxuICAgICAgICBzdGlja3kudXBkYXRlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFRvcCgpIHtcclxuICAgIFNjcm9sbFRvcENvbXBvbmVudC5nb1RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcGx1Z2luc1JlaW5pdGlhbGl6YXRpb24oKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gU2Nyb2xsVG9wQ29tcG9uZW50LnJlaW5pdGlhbGl6YXRpb24oKVxyXG4gICAgICBNZW51Q29tcG9uZW50LnJlaW5pdGlhbGl6YXRpb24oKTtcclxuICAgICAgU3RpY2t5Q29tcG9uZW50LnJlSW5pdGlhbGl6YXRpb24oKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgVG9nZ2xlQ29tcG9uZW50LnJlaW5pdGlhbGl6YXRpb24oKTtcclxuICAgICAgICBEcmF3ZXJDb21wb25lbnQucmVpbml0aWFsaXphdGlvbigpO1xyXG4gICAgICAgIC8vIFNjcm9sbENvbXBvbmVudC5yZWluaXRpYWxpemF0aW9uKClcclxuICAgICAgfSwgNzApO1xyXG4gICAgfSwgMTQwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxsaWIta2Vlbmljb24gbmFtZT1cImFycm93LXVwXCIgY2xhc3M9XCJ0ZXh0LXdoaXRlIGZ3LWJvbGRcIj48L2xpYi1rZWVuaWNvbj5cclxuIl19
@@ -0,0 +1,159 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NavigationStart } from '@angular/router';
3
+ import { Subject, takeUntil } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../services/auth.service";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "tango-app-ui-global";
8
+ import * as i4 from "../../../../services/toast.service";
9
+ import * as i5 from "@angular/common";
10
+ export class SidebarFooterComponent {
11
+ auth;
12
+ router;
13
+ layout;
14
+ pageInfo;
15
+ ngZone;
16
+ ts;
17
+ gs;
18
+ isSubMenuActive = false;
19
+ userValue;
20
+ hovered = false;
21
+ unsubscribe = [];
22
+ toggleButtonClass = '';
23
+ toggleEnabled;
24
+ toggleType = '';
25
+ toggleState = '';
26
+ currentLayoutType;
27
+ userValuefooter = '';
28
+ toggleAttr;
29
+ shouldShowMenuTop = true;
30
+ destroy$ = new Subject();
31
+ openshow = false;
32
+ userProfileData;
33
+ recaptchaSiteKey;
34
+ constructor(auth, router, layout, pageInfo, ngZone, ts, gs) {
35
+ this.auth = auth;
36
+ this.router = router;
37
+ this.layout = layout;
38
+ this.pageInfo = pageInfo;
39
+ this.ngZone = ngZone;
40
+ this.ts = ts;
41
+ this.gs = gs;
42
+ this.gs.environment.pipe(takeUntil(this.destroy$)).subscribe((env) => {
43
+ if (env) {
44
+ this.recaptchaSiteKey = env.recaptchaSiteKey;
45
+ }
46
+ });
47
+ this.router.events.subscribe(event => {
48
+ if (event instanceof NavigationStart) {
49
+ // Close the submenu whenever a navigation starts
50
+ this.isSubMenuActive = false;
51
+ }
52
+ });
53
+ }
54
+ // isSubMenuActive: boolean = false;
55
+ isArrowReversed = false;
56
+ setArrowDirection(isMouseOver) {
57
+ // console.log(isMouseOver)
58
+ this.isArrowReversed = isMouseOver;
59
+ }
60
+ ngOnInit() {
61
+ this.toggleAttr = `app-sidebar-${this.toggleType}`;
62
+ const layoutSubscr = this.layout.currentLayoutTypeSubject
63
+ .asObservable().pipe(takeUntil(this.destroy$))
64
+ .subscribe((layout) => {
65
+ this.currentLayoutType = layout;
66
+ });
67
+ this.unsubscribe.push(layoutSubscr);
68
+ if ('user-info' in localStorage) {
69
+ const userData = JSON.parse(localStorage.getItem('user-info') || "{}");
70
+ this.userValue = userData;
71
+ }
72
+ this.getProfile();
73
+ }
74
+ toggleMenu() {
75
+ this.isSubMenuActive = !this.isSubMenuActive;
76
+ }
77
+ profileUrl() {
78
+ this.isSubMenuActive = false;
79
+ this.router.navigate(['/profile']);
80
+ // setTimeout(() => {
81
+ // this.closeMenu();
82
+ // }, 10);
83
+ }
84
+ closeMenu() {
85
+ window.location.reload();
86
+ }
87
+ logout() {
88
+ this.auth.logout().pipe(takeUntil(this.destroy$)).subscribe({
89
+ next: (res) => {
90
+ if (res && res?.code === 200) {
91
+ this.cleanUpAndRedirect();
92
+ }
93
+ else {
94
+ console.warn("Logout failed from server, forcing client logout.");
95
+ this.cleanUpAndRedirect();
96
+ }
97
+ },
98
+ error: (err) => {
99
+ console.error("Logout API error:", err);
100
+ // Still clear local data and redirect, but maybe also show a message
101
+ this.cleanUpAndRedirect();
102
+ this.ts.getErrorToast("Something went wrong while logging out. Please log in again.");
103
+ }
104
+ });
105
+ }
106
+ captchaToken = null;
107
+ cleanUpAndRedirect() {
108
+ this.captchaToken = null;
109
+ localStorage.removeItem(this.recaptchaSiteKey);
110
+ sessionStorage.removeItem(this.recaptchaSiteKey);
111
+ localStorage.clear();
112
+ if (window.grecaptcha) {
113
+ try {
114
+ window.grecaptcha.reset();
115
+ }
116
+ catch (err) {
117
+ console.warn('Captcha reset error:', err);
118
+ }
119
+ }
120
+ this.pageInfo.setTitle('login');
121
+ this.router.navigate(["/auth/login"]);
122
+ }
123
+ ngOnDestroy() {
124
+ // this.unsubscribe.forEach((sb) => sb.unsubscribe());
125
+ this.destroy$.next(true);
126
+ this.destroy$.complete();
127
+ }
128
+ getProfile() {
129
+ this.auth.getPersonalInfo().pipe(takeUntil(this.destroy$)).subscribe({
130
+ next: (res) => {
131
+ if (res && res.code == 200) {
132
+ this.userProfileData = res.data;
133
+ // this.twoFactorEnabled =
134
+ // this.userProfileData?.twoFactorAuthentication?.isEnable || false;
135
+ }
136
+ },
137
+ error: (err) => {
138
+ console.log(err);
139
+ },
140
+ });
141
+ }
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: i1.AuthService }, { token: i2.Router }, { token: i3.LayoutService }, { token: i3.PageInfoService }, { token: i0.NgZone }, { token: i4.ToastService }, { token: i3.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarFooterComponent, selector: "lib-sidebar-footer", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState", userValuefooter: "userValuefooter" }, ngImport: i0, template: "<div class=\"container-with-overflow\">\r\n <div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"false\" data-kt-scroll-activate=\"false\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\" [ngClass]=\"{'active': isSubMenuActive}\"\r\n data-kt-menu-trigger=\"click\" (mouseover)=\"setArrowDirection(true)\"\r\n (mouseleave)=\"setArrowDirection(false)\" >\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img class=\"img-src\" *ngIf=\"userProfileData?.userProfile\" (error)=\"userProfileData.userProfile = null\" [src]=\"userProfileData?.userProfile ? userProfileData?.userProfile :'./assets/tango/Images/userProfile.svg'\" alt=\"Profile Image\">\r\n <img class=\"img-src\" *ngIf=\"!userProfileData?.userProfile\" src=\"assets/tango/Images/userProfile.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden ms-2\" data-link=\"/crafted/account\">{{ userValue.userName | titlecase}}<br>\r\n {{ userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" #accordion [class.show]=\"isSubMenuActive\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\"\r\n routerLinkActive=\"menu-active-bg\" >\r\n <!-- <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" (click)=\"profileUrl()\" >\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Profile</span>\r\n </a>\r\n </div> -->\r\n <!-- <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\"\r\n d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\"\r\n fill=\"#D0D5DD\" />\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Support</span>\r\n </a>\r\n </div> -->\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (click)=\"logout()\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path\r\n d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Logout</span>\r\n </a>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub{transition:max-height .3s ease-out}.menu-sub:not(.show){max-height:0;overflow:hidden}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}.img-src{width:40px;height:40px;border-radius:30px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] });
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarFooterComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: "lib-sidebar-footer", template: "<div class=\"container-with-overflow\">\r\n <div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"false\" data-kt-scroll-activate=\"false\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\" [ngClass]=\"{'active': isSubMenuActive}\"\r\n data-kt-menu-trigger=\"click\" (mouseover)=\"setArrowDirection(true)\"\r\n (mouseleave)=\"setArrowDirection(false)\" >\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img class=\"img-src\" *ngIf=\"userProfileData?.userProfile\" (error)=\"userProfileData.userProfile = null\" [src]=\"userProfileData?.userProfile ? userProfileData?.userProfile :'./assets/tango/Images/userProfile.svg'\" alt=\"Profile Image\">\r\n <img class=\"img-src\" *ngIf=\"!userProfileData?.userProfile\" src=\"assets/tango/Images/userProfile.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden ms-2\" data-link=\"/crafted/account\">{{ userValue.userName | titlecase}}<br>\r\n {{ userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" #accordion [class.show]=\"isSubMenuActive\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\"\r\n routerLinkActive=\"menu-active-bg\" >\r\n <!-- <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" (click)=\"profileUrl()\" >\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Profile</span>\r\n </a>\r\n </div> -->\r\n <!-- <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\"\r\n d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\"\r\n fill=\"#D0D5DD\" />\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Support</span>\r\n </a>\r\n </div> -->\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (click)=\"logout()\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path\r\n d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Logout</span>\r\n </a>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub{transition:max-height .3s ease-out}.menu-sub:not(.show){max-height:0;overflow:hidden}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}.img-src{width:40px;height:40px;border-radius:30px}\n"] }]
148
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.Router }, { type: i3.LayoutService }, { type: i3.PageInfoService }, { type: i0.NgZone }, { type: i4.ToastService }, { type: i3.GlobalStateService }], propDecorators: { toggleButtonClass: [{
149
+ type: Input
150
+ }], toggleEnabled: [{
151
+ type: Input
152
+ }], toggleType: [{
153
+ type: Input
154
+ }], toggleState: [{
155
+ type: Input
156
+ }], userValuefooter: [{
157
+ type: Input
158
+ }] } });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci1mb290ZXIvc2lkZWJhci1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci1mb290ZXIvc2lkZWJhci1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFReEQsTUFBTSxPQUFPLHNCQUFzQjtJQWlCYjtJQUEyQjtJQUF1QjtJQUE4QjtJQUMxRjtJQUF1QjtJQUF1QjtJQWpCeEQsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUNqQyxTQUFTLENBQU07SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ1IsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFDaEMsaUJBQWlCLEdBQVcsRUFBRSxDQUFDO0lBQy9CLGFBQWEsQ0FBVTtJQUN2QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDbEMsaUJBQWlCLENBQW9CO0lBQzVCLGVBQWUsR0FBTSxFQUFFLENBQUM7SUFDakMsVUFBVSxDQUFTO0lBQ25CLGlCQUFpQixHQUFZLElBQUksQ0FBQztJQUNqQixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxRQUFRLEdBQVcsS0FBSyxDQUFDO0lBQ3pCLGVBQWUsQ0FBTTtJQUNyQixnQkFBZ0IsQ0FBSztJQUNyQixZQUFvQixJQUFpQixFQUFVLE1BQWMsRUFBUyxNQUFxQixFQUFTLFFBQXdCLEVBQ2xILE1BQWMsRUFBUyxFQUFlLEVBQVEsRUFBcUI7UUFEekQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDbEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBUSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUM5RSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hFLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUE7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQyxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ3BDLGlEQUFpRDtnQkFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxvQ0FBb0M7SUFDcEMsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUVqQyxpQkFBaUIsQ0FBQyxXQUFvQjtRQUNwQywyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCO2FBQ3RELFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxJQUFJLFdBQVcsSUFBSSxZQUFZLEVBQUU7WUFDL0IsTUFBTSxRQUFRLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FDOUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQzFDLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxlQUFlLEdBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlDLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsVUFBVTtJQUNaLENBQUM7SUFDRCxTQUFTO1FBQ1AsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUQsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxJQUFJLEtBQUssR0FBRyxFQUFFO29CQUM1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztpQkFDM0I7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO29CQUNsRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztpQkFDM0I7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDeEMscUVBQXFFO2dCQUNyRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsOERBQThELENBQUMsQ0FBQztZQUN4RixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBQzVCLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMxQixZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9DLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakQsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLElBQUssTUFBYyxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJO2dCQUNELE1BQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDcEM7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQzNDO1NBQ0Y7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVDLFdBQVc7UUFDVCxzREFBc0Q7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUYsVUFBVTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkUsSUFBSSxFQUFFLENBQUMsR0FBTyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7b0JBQ2hDLDBCQUEwQjtvQkFDMUIsc0VBQXNFO2lCQUN2RTtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFPLEVBQUUsRUFBRTtnQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0osQ0FBQzt3R0EzSFcsc0JBQXNCOzRGQUF0QixzQkFBc0Isd09DWG5DLG94S0FxRU07OzRGRDFETyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2dQQVNyQixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgTGF5b3V0U2VydmljZSwgTGF5b3V0VHlwZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItc2lkZWJhci1mb290ZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3NpZGViYXItZm9vdGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3NpZGViYXItZm9vdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZWJhckZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIGlzU3ViTWVudUFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHVzZXJWYWx1ZTogYW55O1xyXG4gIGhvdmVyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSB0b2dnbGVFbmFibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHRvZ2dsZVR5cGU6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHRvZ2dsZVN0YXRlOiBzdHJpbmcgPSAnJztcclxuICBjdXJyZW50TGF5b3V0VHlwZTogTGF5b3V0VHlwZSB8IG51bGw7XHJcbiAgQElucHV0KCkgdXNlclZhbHVlZm9vdGVyOiBhbnk9Jyc7XHJcbiAgdG9nZ2xlQXR0cjogc3RyaW5nO1xyXG4gIHNob3VsZFNob3dNZW51VG9wOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBvcGVuc2hvdzogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgdXNlclByb2ZpbGVEYXRhOiBhbnk7XHJcbiAgcmVjYXB0Y2hhU2l0ZUtleTphbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixwcml2YXRlIGxheW91dDogTGF5b3V0U2VydmljZSxwcml2YXRlIHBhZ2VJbmZvOlBhZ2VJbmZvU2VydmljZSwgXHJcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLHByaXZhdGUgdHM6VG9hc3RTZXJ2aWNlLHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnJlY2FwdGNoYVNpdGVLZXkgPSBlbnYucmVjYXB0Y2hhU2l0ZUtleVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgICAgICAvLyBDbG9zZSB0aGUgc3VibWVudSB3aGVuZXZlciBhIG5hdmlnYXRpb24gc3RhcnRzXHJcbiAgICAgICAgdGhpcy5pc1N1Yk1lbnVBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIGlzU3ViTWVudUFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzQXJyb3dSZXZlcnNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzZXRBcnJvd0RpcmVjdGlvbihpc01vdXNlT3ZlcjogYm9vbGVhbikge1xyXG4gICAgLy8gY29uc29sZS5sb2coaXNNb3VzZU92ZXIpXHJcbiAgICB0aGlzLmlzQXJyb3dSZXZlcnNlZCA9IGlzTW91c2VPdmVyO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9nZ2xlQXR0ciA9IGBhcHAtc2lkZWJhci0ke3RoaXMudG9nZ2xlVHlwZX1gO1xyXG4gICAgY29uc3QgbGF5b3V0U3Vic2NyID0gdGhpcy5sYXlvdXQuY3VycmVudExheW91dFR5cGVTdWJqZWN0XHJcbiAgICAgIC5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGF5b3V0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGF5b3V0VHlwZSA9IGxheW91dDtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2gobGF5b3V0U3Vic2NyKTtcclxuICAgIGlmICgndXNlci1pbmZvJyBpbiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgdXNlckRhdGE6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVzZXJWYWx1ZSA9IHVzZXJEYXRhO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRQcm9maWxlKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVNZW51KCkge1xyXG4gICAgdGhpcy5pc1N1Yk1lbnVBY3RpdmUgPSF0aGlzLmlzU3ViTWVudUFjdGl2ZTtcclxuICB9XHJcbiAgcHJvZmlsZVVybCgpIHtcclxuICAgIHRoaXMuaXNTdWJNZW51QWN0aXZlID0gZmFsc2U7XHJcbiAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcHJvZmlsZSddKVxyXG4gIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gIC8vICAgdGhpcy5jbG9zZU1lbnUoKTtcclxuICAvLyB9LCAxMCk7XHJcbn1cclxuY2xvc2VNZW51KCl7XHJcbiAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXHJcbn1cclxuXHJcbmxvZ291dCgpIHtcclxuICB0aGlzLmF1dGgubG9nb3V0KCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuY2xlYW5VcEFuZFJlZGlyZWN0KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKFwiTG9nb3V0IGZhaWxlZCBmcm9tIHNlcnZlciwgZm9yY2luZyBjbGllbnQgbG9nb3V0LlwiKTtcclxuICAgICAgICB0aGlzLmNsZWFuVXBBbmRSZWRpcmVjdCgpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIkxvZ291dCBBUEkgZXJyb3I6XCIsIGVycik7XHJcbiAgICAgIC8vIFN0aWxsIGNsZWFyIGxvY2FsIGRhdGEgYW5kIHJlZGlyZWN0LCBidXQgbWF5YmUgYWxzbyBzaG93IGEgbWVzc2FnZVxyXG4gICAgICB0aGlzLmNsZWFuVXBBbmRSZWRpcmVjdCgpO1xyXG4gICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoXCJTb21ldGhpbmcgd2VudCB3cm9uZyB3aGlsZSBsb2dnaW5nIG91dC4gUGxlYXNlIGxvZyBpbiBhZ2Fpbi5cIik7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuY2FwdGNoYVRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbDsgXHJcbnB1YmxpYyBjbGVhblVwQW5kUmVkaXJlY3QoKSB7XHJcbiAgIHRoaXMuY2FwdGNoYVRva2VuID0gbnVsbDtcclxuICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLnJlY2FwdGNoYVNpdGVLZXkpOyBcclxuICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMucmVjYXB0Y2hhU2l0ZUtleSk7XHJcbiAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiBpZiAoKHdpbmRvdyBhcyBhbnkpLmdyZWNhcHRjaGEpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5ncmVjYXB0Y2hhLnJlc2V0KCk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdDYXB0Y2hhIHJlc2V0IGVycm9yOicsIGVycik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ2xvZ2luJyk7XHJcbiAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2F1dGgvbG9naW5cIl0pO1xyXG59XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiBnZXRQcm9maWxlKCl7XHJcbiAgdGhpcy5hdXRoLmdldFBlcnNvbmFsSW5mbygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczphbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICB0aGlzLnVzZXJQcm9maWxlRGF0YSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIC8vIHRoaXMudHdvRmFjdG9yRW5hYmxlZCA9XHJcbiAgICAgICAgLy8gICB0aGlzLnVzZXJQcm9maWxlRGF0YT8udHdvRmFjdG9yQXV0aGVudGljYXRpb24/LmlzRW5hYmxlIHx8IGZhbHNlO1xyXG4gICAgICB9IFxyXG4gICAgfSxcclxuICAgIGVycm9yOiAoZXJyOmFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgfSxcclxuICB9KTtcclxuIH0gXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci13aXRoLW92ZXJmbG93XCI+XHJcbiAgPGRpdiBpZD1cImt0X2FwcF9zaWRlYmFyX21lbnVfc2Nyb2xsXCIgY2xhc3M9XCJcIiBkYXRhLWt0LXNjcm9sbD1cImZhbHNlXCIgZGF0YS1rdC1zY3JvbGwtYWN0aXZhdGU9XCJmYWxzZVwiXHJcbiAgICBkYXRhLWt0LXNjcm9sbC1oZWlnaHQ9XCJhdXRvXCIgZGF0YS1rdC1zY3JvbGwtZGVwZW5kZW5jaWVzPVwiI2t0X2FwcF9zaWRlYmFyX2xvZ28sICNrdF9hcHBfc2lkZWJhcl9mb290ZXJcIlxyXG4gICAgZGF0YS1rdC1zY3JvbGwtd3JhcHBlcnM9XCIja3RfYXBwX3NpZGViYXJfbWVudVwiIGRhdGEta3Qtc2Nyb2xsLW9mZnNldD1cIjVweFwiIGRhdGEta3Qtc2Nyb2xsLXNhdmUtc3RhdGU9XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudSBtZW51LWNvbHVtbiBtZW51LXJvdW5kZWQgbWVudS1zdWItaW5kZW50aW9uIGZ3LXNlbWlib2xkIGZzLTZcIiBpZD1cImt0X2FwcF9zaWRlYmFyX21lbnVcIlxyXG4gICAgICBkYXRhLWt0LW1lbnU9XCJ0cnVlXCIgZGF0YS1rdC1tZW51LWV4cGFuZD1cImZhbHNlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0gbWVudS1hY2NvcmRpb24gdy0xMDAgcHgtM1wiIGlkPVwiI2t0X2FwcF9zaWRlYmFyX21lbnVcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGlzU3ViTWVudUFjdGl2ZX1cIlxyXG4gICAgICAgIGRhdGEta3QtbWVudS10cmlnZ2VyPVwiY2xpY2tcIiAgKG1vdXNlb3Zlcik9XCJzZXRBcnJvd0RpcmVjdGlvbih0cnVlKVwiXHJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwic2V0QXJyb3dEaXJlY3Rpb24oZmFsc2UpXCIgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1saW5rIHdpdGhvdXQtc3ViXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaWNvblwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiICpuZ0lmPVwidXNlclByb2ZpbGVEYXRhPy51c2VyUHJvZmlsZVwiIChlcnJvcik9XCJ1c2VyUHJvZmlsZURhdGEudXNlclByb2ZpbGUgPSBudWxsXCIgW3NyY109XCJ1c2VyUHJvZmlsZURhdGE/LnVzZXJQcm9maWxlID8gdXNlclByb2ZpbGVEYXRhPy51c2VyUHJvZmlsZSA6Jy4vYXNzZXRzL3RhbmdvL0ltYWdlcy91c2VyUHJvZmlsZS5zdmcnXCIgYWx0PVwiUHJvZmlsZSBJbWFnZVwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiICpuZ0lmPVwiIXVzZXJQcm9maWxlRGF0YT8udXNlclByb2ZpbGVcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2VzL3VzZXJQcm9maWxlLnN2Z1wiPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LXRpdGxlIG92ZXJmbG93LWhpZGRlbiBtcy0yXCIgZGF0YS1saW5rPVwiL2NyYWZ0ZWQvYWNjb3VudFwiPnt7IHVzZXJWYWx1ZS51c2VyTmFtZSB8IHRpdGxlY2FzZX19PGJyPlxyXG4gICAgICAgICAge3sgdXNlclZhbHVlLmVtYWlsIHwgdGl0bGVjYXNlfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtYXJyb3dcIj48L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LXN1YiBtZW51LXN1Yi1hY2NvcmRpb24gdy0xMDBcIiAjYWNjb3JkaW9uIFtjbGFzcy5zaG93XT1cImlzU3ViTWVudUFjdGl2ZVwiIFtuZ0NsYXNzXT1cInsnbWVudS1zdWItdG9wJzogaXNTdWJNZW51QWN0aXZlfVwiXHJcbiAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwibWVudS1hY3RpdmUtYmdcIiA+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0gcHgtMyBib3JkZXItcHJvZmlsZS1maXJzdFwiPlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cIm1lbnUtbGluayB3aXRob3V0LXN1YlwiICAoY2xpY2spPVwicHJvZmlsZVVybCgpXCIgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1idWxsZXRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuODU3NCAzLjgzMTYyQzExLjg1NzQgNS45NDc5OSAxMC4wNjY4IDcuNjYzMjQgNy44NTc0MiA3LjY2MzI0QzUuNjQ4MDUgNy42NjMyNCAzLjg1NzQyIDUuOTQ3OTkgMy44NTc0MiAzLjgzMTYyQzMuODU3NDIgMS43MTUyNSA1LjY0ODA1IDAgNy44NTc0MiAwQzEwLjA2NjggMCAxMS44NTc0IDEuNzE1MjUgMTEuODU3NCAzLjgzMTYyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4zNjc4NiA5LjM4NDUyQzIuODUgOS4zODQ1MiAwIDExLjkyMjYgMCAxNS4wNTU0QzAgMTUuNTc3IDAuNDc1IDE2LjAwMDEgMS4wNjA3MSAxNi4wMDAxSDE0LjkzOTNDMTUuNTI1IDE2LjAwMDEgMTYgMTUuNTc3IDE2IDE1LjA1NTRDMTYgMTEuOTIyNiAxMy4xNSA5LjM4NDUyIDkuNjMyMTQgOS4zODQ1Mkg2LjM2Nzg2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM2NjcwODVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS10aXRsZSBvdmVyZmxvdy1oaWRkZW5cIj5Qcm9maWxlPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0gcHgtM1wiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMHB4O1wiPlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cIm1lbnUtbGluayB3aXRob3V0LXN1YlwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtYnVsbGV0XCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4yMjIyIDExLjU1NTZWOEMxNC4yMjIyIDQuNTYzNTYgMTEuNDM2NCAxLjc3Nzc4IDggMS43Nzc3OEM0LjU2MzU2IDEuNzc3NzggMS43Nzc3OCA0LjU2MzU2IDEuNzc3NzggOFYxMS41NTU2SDE0LjIyMjJaTTE2IDExLjU1NTZIMFY4QzAgMy41ODE3MiAzLjU4MTcyIDAgOCAwQzEyLjQxODMgMCAxNiAzLjU4MTcyIDE2IDhWMTEuNTU1NlpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMS43Nzc3OCA5Ljc3NzU5SDIuNjY2NjdDMy42NDg1MSA5Ljc3NzU5IDQuNDQ0NDQgMTAuNTczNSA0LjQ0NDQ0IDExLjU1NTRWMTQuMjIyQzQuNDQ0NDQgMTUuMjAzOSAzLjY0ODUxIDE1Ljk5OTggMi42NjY2NyAxNS45OTk4SDEuNzc3NzhDMC43OTU5MzggMTUuOTk5OCAwIDE1LjIwMzkgMCAxNC4yMjJWMTEuNTU1NEMwIDEwLjU3MzUgMC43OTU5MzggOS43Nzc1OSAxLjc3Nzc4IDkuNzc3NTlaTTEzLjMzMzMgOS43Nzc1OUgxNC4yMjIyQzE1LjIwNDEgOS43Nzc1OSAxNiAxMC41NzM1IDE2IDExLjU1NTRWMTQuMjIyQzE2IDE1LjIwMzkgMTUuMjA0MSAxNS45OTk4IDE0LjIyMjIgMTUuOTk5OEgxMy4zMzMzQzEyLjM1MTUgMTUuOTk5OCAxMS41NTU2IDE1LjIwMzkgMTEuNTU1NiAxNC4yMjJWMTEuNTU1NEMxMS41NTU2IDEwLjU3MzUgMTIuMzUxNSA5Ljc3NzU5IDEzLjMzMzMgOS43Nzc1OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNjY3MDg1XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtdGl0bGUgb3ZlcmZsb3ctaGlkZGVuXCI+U3VwcG9ydDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbSBweC0zXCIgc3R5bGU9XCJib3JkZXItcmFkaXVzOiAwcHg7XCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibWVudS1saW5rIHdpdGhvdXQtc3ViXCIgKGNsaWNrKT1cImxvZ291dCgpXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1idWxsZXRcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNSAxM0gyLjMzMzMzQzEuOTc5NzEgMTMgMS42NDA1NyAxMi44NTk1IDEuMzkwNTIgMTIuNjA5NUMxLjE0MDQ4IDEyLjM1OTQgMSAxMi4wMjAzIDEgMTEuNjY2N1YyLjMzMzMzQzEgMS45Nzk3MSAxLjE0MDQ4IDEuNjQwNTcgMS4zOTA1MiAxLjM5MDUyQzEuNjQwNTcgMS4xNDA0OCAxLjk3OTcxIDEgMi4zMzMzMyAxSDVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05LjY2NjY3IDEwLjMzMzJMMTMgNi45OTk4NE0xMyA2Ljk5OTg0TDkuNjY2NjcgMy42NjY1TTEzIDYuOTk5ODRINVwiIHN0cm9rZT1cIiNEMEQ1RERcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS10aXRsZSBvdmVyZmxvdy1oaWRkZW5cIj5Mb2dvdXQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -0,0 +1,45 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "tango-app-ui-global";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../../keenicon/keenicon.component";
6
+ export class SidebarLogoComponent {
7
+ layout;
8
+ unsubscribe = [];
9
+ toggleButtonClass = '';
10
+ toggleEnabled;
11
+ toggleType = '';
12
+ toggleState = '';
13
+ currentLayoutType;
14
+ toggleAttr;
15
+ constructor(layout) {
16
+ this.layout = layout;
17
+ }
18
+ ngOnInit() {
19
+ this.toggleAttr = `app-sidebar-${this.toggleType}`;
20
+ const layoutSubscr = this.layout.currentLayoutTypeSubject
21
+ .asObservable()
22
+ .subscribe((layout) => {
23
+ this.currentLayoutType = layout;
24
+ });
25
+ this.unsubscribe.push(layoutSubscr);
26
+ }
27
+ ngOnDestroy() {
28
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarLogoComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a>\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarLogoComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'lib-sidebar-logo', template: "<!--begin::Logo image-->\r\n<a>\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n" }]
36
+ }], ctorParameters: () => [{ type: i1.LayoutService }], propDecorators: { toggleButtonClass: [{
37
+ type: Input
38
+ }], toggleEnabled: [{
39
+ type: Input
40
+ }], toggleType: [{
41
+ type: Input
42
+ }], toggleState: [{
43
+ type: Input
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1sb2dvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9zaWRlYmFyL3NpZGViYXItbG9nby9zaWRlYmFyLWxvZ28uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3NpZGViYXIvc2lkZWJhci1sb2dvL3NpZGViYXItbG9nby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXBFLE1BQU0sT0FBTyxvQkFBb0I7SUFVWDtJQVRaLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBQ2hDLGlCQUFpQixHQUFXLEVBQUUsQ0FBQztJQUMvQixhQUFhLENBQVU7SUFDdkIsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUN4QixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ2xDLGlCQUFpQixDQUFvQjtJQUVyQyxVQUFVLENBQVM7SUFFbkIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUFHLENBQUM7SUFFN0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0I7YUFDdEQsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7d0dBeEJVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGtNQ1ZqQyw2NkNBMEJBOzs0RkRoQmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjtrRkFNbkIsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgTGF5b3V0VHlwZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2lkZWJhci1sb2dvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1sb2dvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLWxvZ28uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGViYXJMb2dvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgQElucHV0KCkgdG9nZ2xlQnV0dG9uQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHRvZ2dsZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgdG9nZ2xlVHlwZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgdG9nZ2xlU3RhdGU6IHN0cmluZyA9ICcnO1xyXG4gIGN1cnJlbnRMYXlvdXRUeXBlOiBMYXlvdXRUeXBlIHwgbnVsbDtcclxuXHJcbiAgdG9nZ2xlQXR0cjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheW91dDogTGF5b3V0U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvZ2dsZUF0dHIgPSBgYXBwLXNpZGViYXItJHt0aGlzLnRvZ2dsZVR5cGV9YDtcclxuICAgIGNvbnN0IGxheW91dFN1YnNjciA9IHRoaXMubGF5b3V0LmN1cnJlbnRMYXlvdXRUeXBlU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnN1YnNjcmliZSgobGF5b3V0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGF5b3V0VHlwZSA9IGxheW91dDtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2gobGF5b3V0U3Vic2NyKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1iZWdpbjo6TG9nbyBpbWFnZS0tPlxyXG48YT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudExheW91dFR5cGUgPT09ICdkYXJrLXNpZGViYXInXCI+XHJcbiAgICA8aW1nIGFsdD1cIkxvZ29cIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9zaWRlbWVudS1pY29ucy90YW5nb19sb2dvX3RleHQuc3ZnXCIgY2xhc3M9XCJoLTQwcHggYXBwLXNpZGViYXItbG9nby1kZWZhdWx0XCIgLz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudExheW91dFR5cGUgIT09ICdkYXJrLXNpZGViYXInXCI+XHJcbiAgICA8aW1nIGFsdD1cIkxvZ29cIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9zaWRlbWVudS1pY29ucy90YW5nb19sb2dvX3RleHQuc3ZnXCIgY2xhc3M9XCJoLTQwcHggYXBwLXNpZGViYXItbG9nby1kZWZhdWx0IHRoZW1lLWxpZ2h0LXNob3dcIiAvPlxyXG4gICAgPGltZyBhbHQ9XCJMb2dvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vc2lkZW1lbnUtaWNvbnMvdGFuZ29fbG9nb190ZXh0LnN2Z1wiXHJcbiAgICAgIGNsYXNzPVwiaC00MHB4IGFwcC1zaWRlYmFyLWxvZ28tZGVmYXVsdCB0aGVtZS1kYXJrLXNob3dcIiAvPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8aW1nIGFsdD1cIkxvZ29cIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9zaWRlbWVudS1pY29ucy90YW5nb19sb2dvLnN2Z1wiIGNsYXNzPVwiaC0zOHB4IGFwcC1zaWRlYmFyLWxvZ28tbWluaW1pemVcIiAvPlxyXG48L2E+XHJcbjwhLS1lbmQ6OkxvZ28gaW1hZ2UtLT5cclxuXHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwidG9nZ2xlRW5hYmxlZFwiPlxyXG4gIDwhLS1iZWdpbjo6U2lkZWJhciB0b2dnbGUtLT5cclxuICA8ZGl2IGlkPVwia3RfYXBwX3NpZGViYXJfdG9nZ2xlXCJcclxuICAgIGNsYXNzPVwiYXBwLXNpZGViYXItdG9nZ2xlIGJ0biBidG4taWNvbiBidG4tc2hhZG93IGJ0bi1zbSBidG4tY29sb3ItbXV0ZWQgYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5IGJvZHktYmcgaC0zMHB4IHctMzBweCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgc3RhcnQtMTAwIHRyYW5zbGF0ZS1taWRkbGUgcm90YXRlIGQtbm9uZVwiXHJcbiAgICBbbmdDbGFzc109XCJ0b2dnbGVCdXR0b25DbGFzc1wiIGRhdGEta3QtdG9nZ2xlPVwidHJ1ZVwiIFthdHRyLmRhdGEta3QtdG9nZ2xlLXN0YXRlXT1cInRvZ2dsZVN0YXRlXCJcclxuICAgIGRhdGEta3QtdG9nZ2xlLXRhcmdldD1cImJvZHlcIiBbYXR0ci5kYXRhLWt0LXRvZ2dsZS1uYW1lXT1cInRvZ2dsZUF0dHJcIj5cclxuICAgIDxsaWIta2Vlbmljb24gbmFtZT1cImRvdWJsZS1sZWZ0XCIgY2xhc3M9XCJmcy0yIHJvdGF0ZS0xODBcIj48L2xpYi1rZWVuaWNvbj5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpTaWRlYmFyIHRvZ2dsZS0tPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19