@rededor/site-front-end-lib 4.0.0-alpha.4 → 17.0.0

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 (524) hide show
  1. package/README.md +0 -9
  2. package/esm2022/lib/components/algolia-dropdown/algolia-dropdown.component.mjs +126 -0
  3. package/esm2022/lib/components/avatar/avatar.component.mjs +66 -0
  4. package/esm2022/lib/components/banner/content-banner/content-banner.component.mjs +41 -0
  5. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +133 -0
  6. package/esm2022/lib/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.mjs +65 -0
  7. package/esm2022/lib/components/cards/expandable-card/expandable-card.component.mjs +69 -0
  8. package/esm2022/lib/components/cards/testimonial-card/testimonial-card.component.mjs +63 -0
  9. package/esm2022/lib/components/carousels/testimonials-carousel/testimonials-carousel.component.mjs +64 -0
  10. package/esm2022/lib/components/cta-wrapper/cta-wrapper.component.mjs +84 -0
  11. package/esm2022/lib/components/dropdown-search/dropdown-search-category.component.mjs +24 -0
  12. package/esm2022/lib/components/dropdown-search/dropdown-search-not-found.component.mjs +24 -0
  13. package/esm2022/lib/components/dropdown-search/dropdown-search-option.component.mjs +65 -0
  14. package/esm2022/lib/components/dropdown-search/dropdown-search.component.mjs +292 -0
  15. package/esm2022/lib/components/error/error-service/error.service.mjs +17 -0
  16. package/esm2022/lib/components/error/error.component.mjs +183 -0
  17. package/esm2022/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.mjs +103 -0
  18. package/esm2022/lib/components/filters/filter-generic/filter-generic.component.mjs +235 -0
  19. package/esm2022/lib/components/filters/filter-planos-convenios/filter-planos-convenios.component.mjs +150 -0
  20. package/esm2022/lib/components/footer/footer.component.mjs +125 -0
  21. package/esm2022/lib/components/footer/helpers/footerTheme.func.mjs +70 -0
  22. package/esm2022/lib/components/footer/models/FooterTheme.model.mjs +2 -0
  23. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +36 -0
  24. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +12 -0
  25. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +17 -0
  26. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +51 -0
  27. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +23 -0
  28. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +32 -0
  29. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +11 -0
  30. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +77 -0
  31. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +99 -0
  32. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +26 -0
  33. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +54 -0
  34. package/esm2022/lib/components/header/header.component.mjs +104 -0
  35. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +136 -0
  36. package/esm2022/lib/components/header/models/HeaderTheme.model.mjs +2 -0
  37. package/esm2022/lib/components/header/services/header.service.mjs +43 -0
  38. package/esm2022/lib/components/image/image.component.mjs +61 -0
  39. package/esm2022/lib/components/index.mjs +52 -0
  40. package/esm2022/lib/components/input-file/input-file.component.mjs +304 -0
  41. package/esm2022/lib/components/load-screen/load-screen.component.mjs +23 -0
  42. package/esm2022/lib/components/overlay/overlay.component.mjs +19 -0
  43. package/esm2022/lib/components/page-header/page-header.component.mjs +47 -0
  44. package/esm2022/lib/components/page-template-fullcontent/page-template-fullcontent.component.mjs +30 -0
  45. package/esm2022/lib/components/page-template-sidebar/page-template-sidebar.component.mjs +39 -0
  46. package/esm2022/lib/components/pagination/pagination.component.mjs +64 -0
  47. package/esm2022/lib/components/post-header/post-header.component.mjs +56 -0
  48. package/esm2022/lib/components/search/search.component.mjs +147 -0
  49. package/esm2022/lib/components/section-navigation/section-navigation.component.mjs +149 -0
  50. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +43 -0
  51. package/esm2022/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.mjs +43 -0
  52. package/esm2022/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.mjs +42 -0
  53. package/esm2022/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.mjs +11 -0
  54. package/esm2022/lib/components/side-ctas/models/SideCta.model.mjs +2 -0
  55. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +23 -0
  56. package/esm2022/lib/components/sidebar-navigation/sidebar-navigation.component.mjs +119 -0
  57. package/esm2022/lib/components/sticky-navigation/sticky-navigation.component.mjs +132 -0
  58. package/esm2022/lib/components/whatsapp/whatsapp.component.mjs +60 -0
  59. package/esm2022/lib/directives/index.mjs +4 -0
  60. package/esm2022/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.mjs +29 -0
  61. package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +197 -0
  62. package/esm2022/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.mjs +52 -0
  63. package/esm2022/lib/enums/EnumDoencaTaxonomy.enum.mjs +11 -0
  64. package/esm2022/lib/enums/EnumError.enum.mjs +6 -0
  65. package/esm2022/lib/enums/EnumThemes.enum.mjs +9 -0
  66. package/esm2022/lib/enums/Estados.enum.mjs +31 -0
  67. package/esm2022/lib/enums/Filter.enum.mjs +9 -0
  68. package/esm2022/lib/enums/IconCuraDefaultType.enum.mjs +121 -0
  69. package/esm2022/lib/enums/ImageMimeType.enum.mjs +7 -0
  70. package/esm2022/lib/enums/RdsiteModalComponentStyle.enum.mjs +16 -0
  71. package/esm2022/lib/enums/RdsiteModalDrawerComponentStyle.enum.mjs +9 -0
  72. package/esm2022/lib/enums/UnidadeCoverageType.enum.mjs +7 -0
  73. package/esm2022/lib/enums/index.mjs +11 -0
  74. package/esm2022/lib/helpers/check-safari-agent.func.mjs +7 -0
  75. package/esm2022/lib/helpers/formatPhone.func.mjs +29 -0
  76. package/esm2022/lib/helpers/getCircularReplacer.func.mjs +38 -0
  77. package/esm2022/lib/helpers/getSiteUrl.func.mjs +11 -0
  78. package/esm2022/lib/helpers/index.mjs +9 -0
  79. package/esm2022/lib/helpers/mediaQueries.mjs +11 -0
  80. package/esm2022/lib/helpers/removeDuplicateObjectsFromArray.func.mjs +5 -0
  81. package/esm2022/lib/helpers/removeDuplicateValuesFromArray.func.mjs +5 -0
  82. package/esm2022/lib/helpers/removeHtmlTags.func.mjs +6 -0
  83. package/esm2022/lib/helpers/toQueryParams.func.mjs +8 -0
  84. package/esm2022/lib/interceptors/error.interceptor.mjs +36 -0
  85. package/esm2022/lib/interceptors/index.mjs +3 -0
  86. package/esm2022/lib/interceptors/log.interceptor.mjs +35 -0
  87. package/esm2022/lib/middlewares/index.mjs +5 -0
  88. package/esm2022/lib/middlewares/ssr-initialization.middleware.mjs +8 -0
  89. package/esm2022/lib/middlewares/url-validation-default-logo.mjs +38 -0
  90. package/esm2022/lib/middlewares/url-validation-error-page.mjs +209 -0
  91. package/esm2022/lib/middlewares/url-validation.middleware.mjs +41 -0
  92. package/esm2022/lib/models/algolia-search-api.model.mjs +2 -0
  93. package/esm2022/lib/models/breadcrumbs/breadcrumbs-items.model.mjs +2 -0
  94. package/esm2022/lib/models/breadcrumbs/breadcrumbs-json-item.model.mjs +2 -0
  95. package/esm2022/lib/models/centro-estudos-backend.model.mjs +2 -0
  96. package/esm2022/lib/models/centro-medico.model.mjs +2 -0
  97. package/esm2022/lib/models/content-banner.model.mjs +2 -0
  98. package/esm2022/lib/models/cta-wrapper.model.mjs +2 -0
  99. package/esm2022/lib/models/doenca-backend.model.mjs +2 -0
  100. package/esm2022/lib/models/doenca-taxonomy.model.mjs +2 -0
  101. package/esm2022/lib/models/especialidade-backend.model.mjs +2 -0
  102. package/esm2022/lib/models/exame-backend.model.mjs +2 -0
  103. package/esm2022/lib/models/filters/filter-planos-convenios.model.mjs +2 -0
  104. package/esm2022/lib/models/filters/filter-section.type.mjs +2 -0
  105. package/esm2022/lib/models/filters/filter-sections.model.mjs +2 -0
  106. package/esm2022/lib/models/images/rdsite-image.model.mjs +2 -0
  107. package/esm2022/lib/models/medico-cv.model.mjs +2 -0
  108. package/esm2022/lib/models/medico.model.mjs +2 -0
  109. package/esm2022/lib/models/menu-de-unidade.model.mjs +2 -0
  110. package/esm2022/lib/models/menu-item.model.mjs +2 -0
  111. package/esm2022/lib/models/privacy-tools/privacy-tools.model.mjs +2 -0
  112. package/esm2022/lib/models/rdsl-cobertura.model.mjs +2 -0
  113. package/esm2022/lib/models/rdsl-convenio.model.mjs +2 -0
  114. package/esm2022/lib/models/rdsl-especialidade.model.mjs +2 -0
  115. package/esm2022/lib/models/rdsl-planos.model.mjs +2 -0
  116. package/esm2022/lib/models/rdsl-post-category.model.mjs +2 -0
  117. package/esm2022/lib/models/rdsl-unidade.model.mjs +2 -0
  118. package/esm2022/lib/models/section-navigation.model.mjs +2 -0
  119. package/esm2022/lib/models/seo/seo-data.model.mjs +2 -0
  120. package/esm2022/lib/models/seo/seo-unidade.model.mjs +2 -0
  121. package/esm2022/lib/models/social-meta-properties.model.mjs +2 -0
  122. package/esm2022/lib/models/wordpress/WpResponse.model.mjs +2 -0
  123. package/esm2022/lib/models/wordpress/category/wpCategory.model.mjs +2 -0
  124. package/esm2022/lib/models/wordpress/general/content.model.mjs +2 -0
  125. package/esm2022/lib/models/wordpress/general/excerpt.model.mjs +2 -0
  126. package/esm2022/lib/models/wordpress/general/featuredMedia.model.mjs +2 -0
  127. package/esm2022/lib/models/wordpress/general/guid.model.mjs +2 -0
  128. package/esm2022/lib/models/wordpress/general/index.mjs +11 -0
  129. package/esm2022/lib/models/wordpress/general/links.model.mjs +2 -0
  130. package/esm2022/lib/models/wordpress/general/meta.model.mjs +2 -0
  131. package/esm2022/lib/models/wordpress/general/title.model.mjs +2 -0
  132. package/esm2022/lib/models/wordpress/general/yoastData.model.mjs +2 -0
  133. package/esm2022/lib/models/wordpress/general/yoastHeadJson.model.mjs +2 -0
  134. package/esm2022/lib/models/wordpress/general/yoastMeta.model.mjs +2 -0
  135. package/esm2022/lib/models/wordpress/page/page.model.mjs +2 -0
  136. package/esm2022/lib/models/wordpress/post/post.model.mjs +2 -0
  137. package/esm2022/lib/models/wordpress/unidade/wp-unidade-onco.model.mjs +2 -0
  138. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.mjs +2 -0
  139. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site.model.mjs +2 -0
  140. package/esm2022/lib/pipes/index.mjs +2 -0
  141. package/esm2022/lib/pipes/phone/phone.pipe.mjs +18 -0
  142. package/esm2022/lib/services/algolia/algolia.service.mjs +37 -0
  143. package/esm2022/lib/services/algolia-search-api/algolia-search-api.service.mjs +71 -0
  144. package/esm2022/lib/services/geoloc/geoloc.service.mjs +202 -0
  145. package/esm2022/lib/services/http-client/http-client.service.mjs +55 -0
  146. package/esm2022/lib/services/index.mjs +19 -0
  147. package/esm2022/lib/services/log/log.service.mjs +46 -0
  148. package/esm2022/lib/services/mapbox/mapbox.service.mjs +69 -0
  149. package/esm2022/lib/services/modal/modal.service.mjs +56 -0
  150. package/esm2022/lib/services/modal-drawer/modal-drawer.service.mjs +42 -0
  151. package/esm2022/lib/services/ngu-carousel/ngu-carousel.service.mjs +81 -0
  152. package/esm2022/lib/services/phone/phone.service.mjs +28 -0
  153. package/esm2022/lib/services/privacy-tools/privacy-tools.service.mjs +92 -0
  154. package/esm2022/lib/services/seo/seo.service.mjs +489 -0
  155. package/esm2022/lib/services/server-response/server-response.service.mjs +92 -0
  156. package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +197 -0
  157. package/esm2022/lib/services/ssr-loading/ssr-loading.service.mjs +48 -0
  158. package/esm2022/lib/services/transfer-state/transfer-state.service.mjs +33 -0
  159. package/esm2022/lib/services/youtube/youtube.service.mjs +39 -0
  160. package/esm2022/lib/tokens/LibConfig.mjs +4 -0
  161. package/esm2022/lib/tokens/express.tokens.mjs +4 -0
  162. package/esm2022/public-api.mjs +23 -0
  163. package/esm2022/rededor-site-front-end-lib.mjs +5 -0
  164. package/fesm2022/rededor-site-front-end-lib.mjs +6408 -2
  165. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  166. package/index.d.ts +5 -3
  167. package/lib/components/algolia-dropdown/algolia-dropdown.component.d.ts +38 -0
  168. package/lib/components/avatar/avatar.component.d.ts +26 -0
  169. package/lib/components/banner/content-banner/content-banner.component.d.ts +20 -0
  170. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +36 -0
  171. package/lib/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.d.ts +41 -0
  172. package/lib/components/cards/expandable-card/expandable-card.component.d.ts +29 -0
  173. package/lib/components/cards/testimonial-card/testimonial-card.component.d.ts +31 -0
  174. package/lib/components/carousels/testimonials-carousel/testimonials-carousel.component.d.ts +28 -0
  175. package/lib/components/cta-wrapper/cta-wrapper.component.d.ts +33 -0
  176. package/lib/components/dropdown-search/dropdown-search-category.component.d.ts +9 -0
  177. package/lib/components/dropdown-search/dropdown-search-not-found.component.d.ts +9 -0
  178. package/lib/components/dropdown-search/dropdown-search-option.component.d.ts +26 -0
  179. package/lib/components/dropdown-search/dropdown-search.component.d.ts +71 -0
  180. package/lib/components/error/error-service/error.service.d.ts +8 -0
  181. package/lib/components/error/error.component.d.ts +48 -0
  182. package/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.d.ts +36 -0
  183. package/lib/components/filters/filter-generic/filter-generic.component.d.ts +77 -0
  184. package/lib/components/filters/filter-planos-convenios/filter-planos-convenios.component.d.ts +45 -0
  185. package/lib/components/footer/footer.component.d.ts +49 -0
  186. package/lib/components/footer/helpers/footerTheme.func.d.ts +3 -0
  187. package/lib/components/footer/models/FooterTheme.model.d.ts +7 -0
  188. package/lib/components/header/components/header-action-menu/header-action-menu.component.d.ts +16 -0
  189. package/lib/components/header/components/header-aux-menu/header-aux-menu.component.d.ts +5 -0
  190. package/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.d.ts +6 -0
  191. package/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.d.ts +21 -0
  192. package/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.d.ts +10 -0
  193. package/lib/components/header/components/header-logo/header-logo.component.d.ts +12 -0
  194. package/lib/components/header/components/header-main-menu/header-main-menu.component.d.ts +5 -0
  195. package/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.d.ts +29 -0
  196. package/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.d.ts +41 -0
  197. package/lib/components/header/components/header-side-menu/header-side-menu.component.d.ts +11 -0
  198. package/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.d.ts +22 -0
  199. package/lib/components/header/header.component.d.ts +36 -0
  200. package/lib/components/header/helpers/headerTheme.func.d.ts +3 -0
  201. package/lib/components/header/models/HeaderTheme.model.d.ts +8 -0
  202. package/lib/components/header/services/header.service.d.ts +11 -0
  203. package/lib/components/image/image.component.d.ts +22 -0
  204. package/lib/components/index.d.ts +50 -0
  205. package/lib/components/input-file/input-file.component.d.ts +88 -0
  206. package/{components/load-screen/index.d.ts → lib/components/load-screen/load-screen.component.d.ts} +5 -6
  207. package/{components/overlay/index.d.ts → lib/components/overlay/overlay.component.d.ts} +4 -6
  208. package/lib/components/page-header/page-header.component.d.ts +20 -0
  209. package/lib/components/page-template-fullcontent/page-template-fullcontent.component.d.ts +14 -0
  210. package/lib/components/page-template-sidebar/page-template-sidebar.component.d.ts +17 -0
  211. package/lib/components/pagination/pagination.component.d.ts +30 -0
  212. package/lib/components/post-header/post-header.component.d.ts +31 -0
  213. package/lib/components/search/search.component.d.ts +48 -0
  214. package/lib/components/section-navigation/section-navigation.component.d.ts +44 -0
  215. package/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.d.ts +23 -0
  216. package/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.d.ts +15 -0
  217. package/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.d.ts +22 -0
  218. package/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.d.ts +5 -0
  219. package/lib/components/side-ctas/models/SideCta.model.d.ts +5 -0
  220. package/lib/components/side-ctas/side-ctas.component.d.ts +11 -0
  221. package/lib/components/sidebar-navigation/sidebar-navigation.component.d.ts +39 -0
  222. package/lib/components/sticky-navigation/sticky-navigation.component.d.ts +43 -0
  223. package/lib/components/whatsapp/whatsapp.component.d.ts +29 -0
  224. package/lib/directives/index.d.ts +3 -0
  225. package/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.d.ts +10 -0
  226. package/lib/directives/rdsite-link/rdsite-link.directive.d.ts +40 -0
  227. package/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.d.ts +17 -0
  228. package/lib/enums/EnumDoencaTaxonomy.enum.d.ts +8 -0
  229. package/lib/enums/EnumError.enum.d.ts +4 -0
  230. package/lib/enums/EnumThemes.enum.d.ts +7 -0
  231. package/lib/enums/Estados.enum.d.ts +29 -0
  232. package/lib/enums/Filter.enum.d.ts +7 -0
  233. package/{enums/index.d.ts → lib/enums/IconCuraDefaultType.enum.d.ts} +1 -58
  234. package/lib/enums/ImageMimeType.enum.d.ts +5 -0
  235. package/lib/enums/RdsiteModalComponentStyle.enum.d.ts +14 -0
  236. package/lib/enums/RdsiteModalDrawerComponentStyle.enum.d.ts +7 -0
  237. package/lib/enums/UnidadeCoverageType.enum.d.ts +5 -0
  238. package/lib/enums/index.d.ts +10 -0
  239. package/lib/helpers/check-safari-agent.func.d.ts +2 -0
  240. package/lib/helpers/formatPhone.func.d.ts +1 -0
  241. package/lib/helpers/getCircularReplacer.func.d.ts +7 -0
  242. package/lib/helpers/getSiteUrl.func.d.ts +2 -0
  243. package/lib/helpers/index.d.ts +8 -0
  244. package/lib/helpers/mediaQueries.d.ts +6 -0
  245. package/lib/helpers/removeDuplicateObjectsFromArray.func.d.ts +2 -0
  246. package/lib/helpers/removeDuplicateValuesFromArray.func.d.ts +2 -0
  247. package/lib/helpers/removeHtmlTags.func.d.ts +2 -0
  248. package/lib/helpers/toQueryParams.func.d.ts +5 -0
  249. package/lib/interceptors/error.interceptor.d.ts +13 -0
  250. package/lib/interceptors/index.d.ts +2 -0
  251. package/lib/interceptors/log.interceptor.d.ts +11 -0
  252. package/lib/middlewares/index.d.ts +4 -0
  253. package/lib/middlewares/ssr-initialization.middleware.d.ts +2 -0
  254. package/lib/middlewares/url-validation-default-logo.d.ts +1 -0
  255. package/lib/middlewares/url-validation-error-page.d.ts +22 -0
  256. package/lib/middlewares/url-validation.middleware.d.ts +13 -0
  257. package/lib/models/algolia-search-api.model.d.ts +179 -0
  258. package/lib/models/breadcrumbs/breadcrumbs-items.model.d.ts +10 -0
  259. package/lib/models/breadcrumbs/breadcrumbs-json-item.model.d.ts +8 -0
  260. package/lib/models/centro-estudos-backend.model.d.ts +8 -0
  261. package/lib/models/centro-medico.model.d.ts +33 -0
  262. package/lib/models/content-banner.model.d.ts +15 -0
  263. package/lib/models/cta-wrapper.model.d.ts +9 -0
  264. package/lib/models/doenca-backend.model.d.ts +25 -0
  265. package/lib/models/doenca-taxonomy.model.d.ts +11 -0
  266. package/lib/models/especialidade-backend.model.d.ts +24 -0
  267. package/lib/models/exame-backend.model.d.ts +25 -0
  268. package/lib/models/filters/filter-planos-convenios.model.d.ts +28 -0
  269. package/lib/models/filters/filter-section.type.d.ts +13 -0
  270. package/lib/models/filters/filter-sections.model.d.ts +52 -0
  271. package/lib/models/images/rdsite-image.model.d.ts +5 -0
  272. package/lib/models/medico-cv.model.d.ts +10 -0
  273. package/lib/models/medico.model.d.ts +68 -0
  274. package/lib/models/menu-de-unidade.model.d.ts +14 -0
  275. package/lib/models/menu-item.model.d.ts +67 -0
  276. package/lib/models/privacy-tools/privacy-tools.model.d.ts +8 -0
  277. package/lib/models/rdsl-cobertura.model.d.ts +71 -0
  278. package/lib/models/rdsl-convenio.model.d.ts +17 -0
  279. package/lib/models/rdsl-especialidade.model.d.ts +33 -0
  280. package/lib/models/rdsl-planos.model.d.ts +13 -0
  281. package/lib/models/rdsl-post-category.model.d.ts +8 -0
  282. package/lib/models/rdsl-unidade.model.d.ts +50 -0
  283. package/lib/models/section-navigation.model.d.ts +9 -0
  284. package/lib/models/seo/seo-data.model.d.ts +11 -0
  285. package/lib/models/seo/seo-unidade.model.d.ts +6 -0
  286. package/lib/models/social-meta-properties.model.d.ts +9 -0
  287. package/lib/models/wordpress/WpResponse.model.d.ts +31 -0
  288. package/lib/models/wordpress/category/wpCategory.model.d.ts +14 -0
  289. package/lib/models/wordpress/general/content.model.d.ts +4 -0
  290. package/lib/models/wordpress/general/excerpt.model.d.ts +4 -0
  291. package/lib/models/wordpress/general/featuredMedia.model.d.ts +26 -0
  292. package/lib/models/wordpress/general/guid.model.d.ts +3 -0
  293. package/lib/models/wordpress/general/index.d.ts +10 -0
  294. package/lib/models/wordpress/general/links.model.d.ts +47 -0
  295. package/lib/models/wordpress/general/meta.model.d.ts +3 -0
  296. package/lib/models/wordpress/general/title.model.d.ts +3 -0
  297. package/lib/models/wordpress/general/yoastData.model.d.ts +4 -0
  298. package/lib/models/wordpress/general/yoastHeadJson.model.d.ts +56 -0
  299. package/lib/models/wordpress/general/yoastMeta.model.d.ts +5 -0
  300. package/lib/models/wordpress/page/page.model.d.ts +10 -0
  301. package/lib/models/wordpress/post/post.model.d.ts +33 -0
  302. package/lib/models/wordpress/unidade/wp-unidade-onco.model.d.ts +56 -0
  303. package/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.d.ts +166 -0
  304. package/lib/models/wordpress/unidade/wp-unidade-site.model.d.ts +45 -0
  305. package/lib/pipes/index.d.ts +1 -0
  306. package/lib/pipes/phone/phone.pipe.d.ts +7 -0
  307. package/{services/algolia/index.d.ts → lib/services/algolia/algolia.service.d.ts} +4 -6
  308. package/{services/algolia-search-api/index.d.ts → lib/services/algolia-search-api/algolia-search-api.service.d.ts} +7 -6
  309. package/lib/services/geoloc/geoloc.service.d.ts +49 -0
  310. package/lib/services/http-client/http-client.service.d.ts +19 -0
  311. package/lib/services/index.d.ts +18 -0
  312. package/lib/services/log/log.service.d.ts +16 -0
  313. package/lib/services/mapbox/mapbox.service.d.ts +55 -0
  314. package/lib/services/modal/modal.service.d.ts +31 -0
  315. package/lib/services/modal-drawer/modal-drawer.service.d.ts +37 -0
  316. package/{services/ngu-carousel/index.d.ts → lib/services/ngu-carousel/ngu-carousel.service.d.ts} +3 -6
  317. package/lib/services/phone/phone.service.d.ts +11 -0
  318. package/lib/services/privacy-tools/privacy-tools.service.d.ts +20 -0
  319. package/lib/services/seo/seo.service.d.ts +142 -0
  320. package/lib/services/server-response/server-response.service.d.ts +39 -0
  321. package/lib/services/site-back-end/site-back-end.service.d.ts +87 -0
  322. package/{services/ssr-loading/index.d.ts → lib/services/ssr-loading/ssr-loading.service.d.ts} +4 -5
  323. package/lib/services/transfer-state/transfer-state.service.d.ts +12 -0
  324. package/{services/youtube/index.d.ts → lib/services/youtube/youtube.service.d.ts} +3 -5
  325. package/lib/tokens/LibConfig.d.ts +38 -0
  326. package/lib/tokens/express.tokens.d.ts +4 -0
  327. package/package.json +13 -283
  328. package/public-api.d.ts +10 -0
  329. package/components/algolia-dropdown/index.d.ts +0 -38
  330. package/components/algolia-search/index.d.ts +0 -292
  331. package/components/banner/index.d.ts +0 -20
  332. package/components/breadcrumbs/index.d.ts +0 -35
  333. package/components/cards/index.d.ts +0 -96
  334. package/components/carousels/index.d.ts +0 -28
  335. package/components/cta-wrapper/index.d.ts +0 -31
  336. package/components/error/index.d.ts +0 -46
  337. package/components/filter-letter-and-terms/index.d.ts +0 -36
  338. package/components/filters/filter-generic/index.d.ts +0 -68
  339. package/components/filters/filter-planos-convenios/index.d.ts +0 -41
  340. package/components/footer/index.d.ts +0 -38
  341. package/components/header/components/action/index.d.ts +0 -17
  342. package/components/header/components/auxiliar/index.d.ts +0 -29
  343. package/components/header/components/main/index.d.ts +0 -70
  344. package/components/header/components/side/index.d.ts +0 -33
  345. package/components/header/index.d.ts +0 -60
  346. package/components/header/services/index.d.ts +0 -14
  347. package/components/image/index.d.ts +0 -23
  348. package/components/modal/index.d.ts +0 -29
  349. package/components/modal-drawer/index.d.ts +0 -49
  350. package/components/page-header/index.d.ts +0 -20
  351. package/components/page-template-sidebar/index.d.ts +0 -20
  352. package/components/pagination/index.d.ts +0 -30
  353. package/components/search/index.d.ts +0 -45
  354. package/components/section-navigation/index.d.ts +0 -41
  355. package/components/side-ctas/index.d.ts +0 -70
  356. package/components/whatsapp/index.d.ts +0 -27
  357. package/core/index.d.ts +0 -1984
  358. package/cura/accordion/index.d.ts +0 -120
  359. package/cura/api/index.d.ts +0 -359
  360. package/cura/badges/cura-badge-counter/index.d.ts +0 -38
  361. package/cura/badges/cura-badge-distance/index.d.ts +0 -21
  362. package/cura/badges/cura-badge-dot/index.d.ts +0 -29
  363. package/cura/badges/cura-badge-pill/index.d.ts +0 -47
  364. package/cura/badges/index.d.ts +0 -5
  365. package/cura/buttons/cura-button/index.d.ts +0 -85
  366. package/cura/buttons/cura-button-outline/index.d.ts +0 -85
  367. package/cura/buttons/cura-button-select/index.d.ts +0 -34
  368. package/cura/buttons/cura-button-transparent/index.d.ts +0 -82
  369. package/cura/buttons/index.d.ts +0 -15
  370. package/cura/cards/cura-card/index.d.ts +0 -54
  371. package/cura/feedback/cura-alert/index.d.ts +0 -55
  372. package/cura/feedback/cura-modal/index.d.ts +0 -97
  373. package/cura/forms/cura-checkbox/index.d.ts +0 -152
  374. package/cura/forms/cura-input-text/index.d.ts +0 -234
  375. package/cura/forms/cura-label/index.d.ts +0 -51
  376. package/cura/forms/cura-radio/index.d.ts +0 -143
  377. package/cura/forms/cura-select/index.d.ts +0 -151
  378. package/cura/forms/cura-select-option/index.d.ts +0 -49
  379. package/cura/forms/cura-switch/index.d.ts +0 -113
  380. package/cura/forms/index.d.ts +0 -20
  381. package/cura/icons/cura-icon/index.d.ts +0 -46
  382. package/cura/loaders/cura-loader-bar/index.d.ts +0 -22
  383. package/cura/loaders/cura-loader-circle/index.d.ts +0 -24
  384. package/cura/texts/cura-display/index.d.ts +0 -54
  385. package/cura/texts/cura-heading/index.d.ts +0 -65
  386. package/cura/texts/cura-paragraph/index.d.ts +0 -54
  387. package/cura/texts/index.d.ts +0 -7
  388. package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs +0 -108
  389. package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs.map +0 -1
  390. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +0 -583
  391. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +0 -1
  392. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +0 -44
  393. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +0 -1
  394. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +0 -119
  395. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +0 -1
  396. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +0 -152
  397. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +0 -1
  398. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +0 -75
  399. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs.map +0 -1
  400. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +0 -74
  401. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs.map +0 -1
  402. package/fesm2022/rededor-site-front-end-lib-components-error.mjs +0 -173
  403. package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +0 -1
  404. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +0 -91
  405. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs.map +0 -1
  406. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +0 -243
  407. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +0 -1
  408. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +0 -139
  409. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +0 -1
  410. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +0 -150
  411. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +0 -1
  412. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +0 -31
  413. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +0 -1
  414. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +0 -59
  415. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +0 -1
  416. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +0 -164
  417. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +0 -1
  418. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +0 -68
  419. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +0 -1
  420. package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs +0 -50
  421. package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs.map +0 -1
  422. package/fesm2022/rededor-site-front-end-lib-components-header.mjs +0 -259
  423. package/fesm2022/rededor-site-front-end-lib-components-header.mjs.map +0 -1
  424. package/fesm2022/rededor-site-front-end-lib-components-image.mjs +0 -48
  425. package/fesm2022/rededor-site-front-end-lib-components-image.mjs.map +0 -1
  426. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +0 -30
  427. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs.map +0 -1
  428. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +0 -162
  429. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +0 -1
  430. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +0 -82
  431. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +0 -1
  432. package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs +0 -24
  433. package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs.map +0 -1
  434. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +0 -41
  435. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +0 -1
  436. package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +0 -30
  437. package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs.map +0 -1
  438. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +0 -55
  439. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs.map +0 -1
  440. package/fesm2022/rededor-site-front-end-lib-components-search.mjs +0 -119
  441. package/fesm2022/rededor-site-front-end-lib-components-search.mjs.map +0 -1
  442. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +0 -134
  443. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs.map +0 -1
  444. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +0 -118
  445. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +0 -1
  446. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +0 -49
  447. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs.map +0 -1
  448. package/fesm2022/rededor-site-front-end-lib-core.mjs +0 -1600
  449. package/fesm2022/rededor-site-front-end-lib-core.mjs.map +0 -1
  450. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +0 -252
  451. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs.map +0 -1
  452. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +0 -541
  453. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs.map +0 -1
  454. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +0 -90
  455. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs.map +0 -1
  456. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +0 -55
  457. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs.map +0 -1
  458. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +0 -66
  459. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs.map +0 -1
  460. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +0 -96
  461. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +0 -1
  462. package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs +0 -4
  463. package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs.map +0 -1
  464. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +0 -165
  465. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +0 -1
  466. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +0 -130
  467. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +0 -1
  468. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +0 -156
  469. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +0 -1
  470. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +0 -165
  471. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +0 -1
  472. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs +0 -13
  473. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs.map +0 -1
  474. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +0 -96
  475. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +0 -1
  476. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +0 -90
  477. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map +0 -1
  478. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +0 -105
  479. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map +0 -1
  480. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +0 -253
  481. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +0 -1
  482. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +0 -547
  483. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs.map +0 -1
  484. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +0 -88
  485. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +0 -1
  486. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +0 -237
  487. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs.map +0 -1
  488. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +0 -82
  489. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +0 -1
  490. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +0 -377
  491. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +0 -1
  492. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +0 -182
  493. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs.map +0 -1
  494. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs +0 -21
  495. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs.map +0 -1
  496. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +0 -88
  497. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs.map +0 -1
  498. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +0 -44
  499. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs.map +0 -1
  500. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +0 -49
  501. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs.map +0 -1
  502. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +0 -84
  503. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs.map +0 -1
  504. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +0 -104
  505. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs.map +0 -1
  506. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +0 -89
  507. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs.map +0 -1
  508. package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs +0 -4
  509. package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs.map +0 -1
  510. package/fesm2022/rededor-site-front-end-lib-enums.mjs +0 -187
  511. package/fesm2022/rededor-site-front-end-lib-enums.mjs.map +0 -1
  512. package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs +0 -74
  513. package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs.map +0 -1
  514. package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs +0 -41
  515. package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs.map +0 -1
  516. package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs +0 -88
  517. package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs.map +0 -1
  518. package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs +0 -52
  519. package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs.map +0 -1
  520. package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs +0 -40
  521. package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs.map +0 -1
  522. package/fesm2022/rededor-site-front-end-lib-shared.mjs +0 -110
  523. package/fesm2022/rededor-site-front-end-lib-shared.mjs.map +0 -1
  524. package/shared/index.d.ts +0 -40
@@ -0,0 +1,292 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, ContentChildren, EventEmitter, HostBinding, HostListener, inject, Input, Output, ViewChild, } from '@angular/core';
3
+ import { CuraApiService } from '@rededor/cura-angular/api';
4
+ import { CuraInputTextComponent } from '@rededor/cura-angular/forms/cura-input-text';
5
+ import { RdsiteClickOutsideDirective } from '../../directives/rdsite-click-outside/rdsite-click-outside.directive';
6
+ import { RdsiteDropdownSearchNotFoundComponent } from './dropdown-search-not-found.component';
7
+ import { RdsiteDropdownSearchOptionComponent } from './dropdown-search-option.component';
8
+ import * as i0 from "@angular/core";
9
+ export class RdsiteDropdownSearchComponent {
10
+ constructor() {
11
+ this.name = '';
12
+ this.size = 'large';
13
+ this.status = 'default';
14
+ this.disabled = false;
15
+ this.required = false;
16
+ this.placeholder = '';
17
+ this.label = '';
18
+ this.icon = 'search';
19
+ this.maxheight = '400px';
20
+ this.cssMaxHeight = '';
21
+ this.helperText = '';
22
+ this.value = '';
23
+ this.searchdelay = 400;
24
+ this.searchminchars = 3;
25
+ this.termchange = new EventEmitter();
26
+ this.optionselect = new EventEmitter();
27
+ this.isOnFocus = false;
28
+ this.highlightedIndex = -1;
29
+ this.curaService = inject(CuraApiService);
30
+ }
31
+ get style() {
32
+ const weights = this.curaService.theme.fonts.getWeights();
33
+ return {
34
+ '--info': this.curaService.theme.colors.getColor('info-base'),
35
+ '--purewhite': this.curaService.theme.colors.getColor('neutral-purewhite'),
36
+ '--neutral-light': this.curaService.theme.colors.getColor('neutral-light'),
37
+ '--neutral-dark': this.curaService.theme.colors.getColor('neutral-dark'),
38
+ '--neutral-black-shadow': this.curaService.theme.colors.getColor('neutral-black', 0.16),
39
+ '--error-dark': this.curaService.theme.colors.getColor('error-dark'),
40
+ '--error-lighter': this.curaService.theme.colors.getColor('error-lighter'),
41
+ '--primary': this.curaService.theme.colors.getColor('primary-base'),
42
+ '--font-size': this.curaService.theme.fonts.getSize(),
43
+ '--font-family': this.curaService.theme.fonts.getFamily(''),
44
+ '--font-weight-medium': weights?.medium,
45
+ '--max-height': this.cssMaxHeight || this.maxheight || '400px',
46
+ };
47
+ }
48
+ get ariaLabel() {
49
+ return this.label;
50
+ }
51
+ get ariaRequired() {
52
+ return this.required;
53
+ }
54
+ get ariaDisabled() {
55
+ return this.disabled;
56
+ }
57
+ get dropdownVisible() {
58
+ if (!this.isOnFocus) {
59
+ return false;
60
+ }
61
+ const projected = this.dropdownPanel?.nativeElement?.childElementCount ?? 0;
62
+ return projected > 0 || (this.options?.length ?? 0) > 0 || (this.notFoundItems?.length ?? 0) > 0;
63
+ }
64
+ get fieldStatus() {
65
+ const hasNotFound = (this.notFoundItems?.length ?? 0) > 0 || !!this.dropdownPanel?.nativeElement?.querySelector('rdsite-dropdown-search-not-found');
66
+ if (hasNotFound) {
67
+ return 'error';
68
+ }
69
+ return this.status === 'error' ? 'error' : 'default';
70
+ }
71
+ get inputSize() {
72
+ if (this.size === 'small' || this.size === 'medium' || this.size === 'large') {
73
+ return this.size;
74
+ }
75
+ return 'large';
76
+ }
77
+ ngOnDestroy() {
78
+ if (this.valueTimeout) {
79
+ clearTimeout(this.valueTimeout);
80
+ }
81
+ if (this.blurTimeout) {
82
+ clearTimeout(this.blurTimeout);
83
+ }
84
+ }
85
+ onFocus() {
86
+ if (this.blurTimeout) {
87
+ clearTimeout(this.blurTimeout);
88
+ }
89
+ this.isOnFocus = true;
90
+ this.clearHighlight();
91
+ }
92
+ onBlur() {
93
+ if (this.blurTimeout) {
94
+ clearTimeout(this.blurTimeout);
95
+ }
96
+ this.blurTimeout = setTimeout(() => {
97
+ this.isOnFocus = false;
98
+ this.clearHighlight();
99
+ }, 200);
100
+ }
101
+ closeDropdown() {
102
+ this.isOnFocus = false;
103
+ this.clearHighlight();
104
+ }
105
+ onValueChange(event) {
106
+ const next = String(event.value ?? '');
107
+ this.setValue(next);
108
+ }
109
+ onInputClear() {
110
+ this.clearSelectedOptions();
111
+ this.setValue('');
112
+ }
113
+ onDomSelect(event) {
114
+ const optionid = event.detail;
115
+ event.stopPropagation();
116
+ this.selectOptionById(optionid);
117
+ }
118
+ onDomAction() {
119
+ this.onFocus();
120
+ }
121
+ selectOptionById(optionid) {
122
+ if (!optionid) {
123
+ this.clearSelectedOptions();
124
+ this.setValue('');
125
+ return;
126
+ }
127
+ const option = this.selectableOptions.find((item) => item.optionid === optionid);
128
+ if (option?.selected) {
129
+ return;
130
+ }
131
+ this.clearSelectedOptions();
132
+ if (option) {
133
+ option.selected = true;
134
+ this.setValue(option.value);
135
+ }
136
+ this.optionselect.emit(optionid);
137
+ this.closeDropdown();
138
+ }
139
+ handleKeyDown(event) {
140
+ if (event.key === 'ArrowDown') {
141
+ event.preventDefault();
142
+ this.moveHighlight('next');
143
+ }
144
+ if (event.key === 'ArrowUp') {
145
+ event.preventDefault();
146
+ this.moveHighlight('prev');
147
+ }
148
+ if (event.key === 'Enter') {
149
+ this.selectHighlight();
150
+ }
151
+ if (event.key === 'Escape') {
152
+ this.closeDropdown();
153
+ }
154
+ }
155
+ get selectableOptions() {
156
+ return (this.options?.toArray() ?? []).filter((item) => item.selectable);
157
+ }
158
+ setValue(value) {
159
+ if (this.value === value) {
160
+ return;
161
+ }
162
+ this.value = value;
163
+ const selected = this.selectableOptions.find((item) => item.selected);
164
+ if (selected && selected.value !== value) {
165
+ this.clearSelectedOptions();
166
+ }
167
+ if (this.valueTimeout) {
168
+ clearTimeout(this.valueTimeout);
169
+ }
170
+ this.valueTimeout = setTimeout(() => {
171
+ const minChars = Number(this.searchminchars);
172
+ const min = Number.isFinite(minChars) ? minChars : 3;
173
+ const term = this.value === '' || this.value.length < min ? '' : this.value;
174
+ this.termchange.emit(term);
175
+ }, this.resolveDelay());
176
+ }
177
+ resolveDelay() {
178
+ const delay = Number(this.searchdelay);
179
+ return Number.isFinite(delay) ? delay : 400;
180
+ }
181
+ clearSelectedOptions() {
182
+ this.selectableOptions.forEach((item) => {
183
+ item.selected = false;
184
+ });
185
+ }
186
+ moveHighlight(direction) {
187
+ const items = this.selectableOptions;
188
+ if (!items.length) {
189
+ return;
190
+ }
191
+ let position = direction === 'next' ? this.highlightedIndex + 1 : this.highlightedIndex - 1;
192
+ if (position < 0) {
193
+ this.clearHighlight();
194
+ return;
195
+ }
196
+ if (position > items.length - 1) {
197
+ position = items.length - 1;
198
+ }
199
+ this.clearHighlight();
200
+ this.highlightedIndex = position;
201
+ const current = items[position];
202
+ if (current.selected) {
203
+ this.moveHighlight(direction);
204
+ return;
205
+ }
206
+ current.highlighted = true;
207
+ }
208
+ clearHighlight() {
209
+ this.selectableOptions.forEach((item) => {
210
+ item.highlighted = false;
211
+ });
212
+ this.highlightedIndex = -1;
213
+ }
214
+ selectHighlight() {
215
+ const items = this.selectableOptions;
216
+ const current = items[this.highlightedIndex];
217
+ if (current) {
218
+ this.selectOptionById(current.optionid);
219
+ }
220
+ }
221
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RdsiteDropdownSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
222
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RdsiteDropdownSearchComponent, isStandalone: true, selector: "rdsite-dropdown-search", inputs: { name: "name", size: "size", status: "status", disabled: "disabled", required: "required", placeholder: "placeholder", label: "label", icon: "icon", maxheight: "maxheight", cssMaxHeight: "cssMaxHeight", helperText: "helperText", value: "value", searchdelay: "searchdelay", searchminchars: "searchminchars" }, outputs: { termchange: "termchange", optionselect: "optionselect" }, host: { attributes: { "role": "search" }, listeners: { "rdsiteDropdownSelect": "onDomSelect($event)", "rdsiteDropdownAction": "onDomAction()", "keydown": "handleKeyDown($event)" }, properties: { "style": "this.style", "attr.aria-label": "this.ariaLabel", "attr.aria-required": "this.ariaRequired", "attr.aria-disabled": "this.ariaDisabled" } }, queries: [{ propertyName: "options", predicate: RdsiteDropdownSearchOptionComponent }, { propertyName: "notFoundItems", predicate: RdsiteDropdownSearchNotFoundComponent }], viewQueries: [{ propertyName: "dropdownPanel", first: true, predicate: ["dropdownPanel"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"component-container\"\r\n [class.dropdown-visible]=\"dropdownVisible\"\r\n [class.error]=\"fieldStatus === 'error'\"\r\n rdsiteclickoutside\r\n (rdsiteclickoutside)=\"closeDropdown()\"\r\n (focusin)=\"onFocus()\"\r\n (focusout)=\"onBlur()\"\r\n>\r\n <div class=\"component-controls\">\r\n <cura-input-text\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [label]=\"label\"\r\n [status]=\"fieldStatus\"\r\n [iconName]=\"icon || 'search'\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [size]=\"inputSize\"\r\n autocomplete=\"off\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (inputClear)=\"onInputClear()\"\r\n ></cura-input-text>\r\n </div>\r\n <div class=\"dropdown-container\" #dropdownPanel>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;box-sizing:border-box;position:relative}.component-controls{display:flex;align-items:center;justify-content:center}.component-container{box-sizing:border-box;width:100%;position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:min-content 1fr}.dropdown-container{box-sizing:border-box;width:100%;overflow-y:auto;overflow-x:hidden;flex-direction:column;padding:12px;position:absolute;bottom:0;left:0;transform:translateY(100%);max-height:var(--max-height);background-color:var(--purewhite);border-radius:0 0 4px 4px;border-bottom:2px solid var(--neutral-light);border-left:2px solid var(--neutral-light);border-right:2px solid var(--neutral-light);box-shadow:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));display:none;z-index:9997}.dropdown-visible .dropdown-container{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CuraInputTextComponent, selector: "cura-input-text", inputs: ["mode", "status", "size", "type", "inputMode", "label", "name", "placeholder", "value", "iconName", "disabled", "required", "maskPreset", "enableSelectionMode", "maskRegex", "maskAdvanced", "maxlength", "readOnly", "isLoading", "clearIcon", "hideErrorIcon", "autocomplete"], outputs: ["valueChange", "inputClear"] }, { kind: "directive", type: RdsiteClickOutsideDirective, selector: "[rdsiteclickoutside]", outputs: ["rdsiteclickoutside"] }] }); }
223
+ }
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RdsiteDropdownSearchComponent, decorators: [{
225
+ type: Component,
226
+ args: [{ selector: 'rdsite-dropdown-search', standalone: true, imports: [CommonModule, CuraInputTextComponent, RdsiteClickOutsideDirective], host: {
227
+ role: 'search',
228
+ }, template: "<div\r\n class=\"component-container\"\r\n [class.dropdown-visible]=\"dropdownVisible\"\r\n [class.error]=\"fieldStatus === 'error'\"\r\n rdsiteclickoutside\r\n (rdsiteclickoutside)=\"closeDropdown()\"\r\n (focusin)=\"onFocus()\"\r\n (focusout)=\"onBlur()\"\r\n>\r\n <div class=\"component-controls\">\r\n <cura-input-text\r\n [name]=\"name\"\r\n [value]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [label]=\"label\"\r\n [status]=\"fieldStatus\"\r\n [iconName]=\"icon || 'search'\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [size]=\"inputSize\"\r\n autocomplete=\"off\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (inputClear)=\"onInputClear()\"\r\n ></cura-input-text>\r\n </div>\r\n <div class=\"dropdown-container\" #dropdownPanel>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;box-sizing:border-box;position:relative}.component-controls{display:flex;align-items:center;justify-content:center}.component-container{box-sizing:border-box;width:100%;position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:min-content 1fr}.dropdown-container{box-sizing:border-box;width:100%;overflow-y:auto;overflow-x:hidden;flex-direction:column;padding:12px;position:absolute;bottom:0;left:0;transform:translateY(100%);max-height:var(--max-height);background-color:var(--purewhite);border-radius:0 0 4px 4px;border-bottom:2px solid var(--neutral-light);border-left:2px solid var(--neutral-light);border-right:2px solid var(--neutral-light);box-shadow:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));display:none;z-index:9997}.dropdown-visible .dropdown-container{display:flex}\n"] }]
229
+ }], propDecorators: { name: [{
230
+ type: Input
231
+ }], size: [{
232
+ type: Input
233
+ }], status: [{
234
+ type: Input
235
+ }], disabled: [{
236
+ type: Input
237
+ }], required: [{
238
+ type: Input
239
+ }], placeholder: [{
240
+ type: Input
241
+ }], label: [{
242
+ type: Input
243
+ }], icon: [{
244
+ type: Input
245
+ }], maxheight: [{
246
+ type: Input
247
+ }], cssMaxHeight: [{
248
+ type: Input
249
+ }], helperText: [{
250
+ type: Input
251
+ }], value: [{
252
+ type: Input
253
+ }], searchdelay: [{
254
+ type: Input
255
+ }], searchminchars: [{
256
+ type: Input
257
+ }], termchange: [{
258
+ type: Output
259
+ }], optionselect: [{
260
+ type: Output
261
+ }], options: [{
262
+ type: ContentChildren,
263
+ args: [RdsiteDropdownSearchOptionComponent]
264
+ }], notFoundItems: [{
265
+ type: ContentChildren,
266
+ args: [RdsiteDropdownSearchNotFoundComponent]
267
+ }], dropdownPanel: [{
268
+ type: ViewChild,
269
+ args: ['dropdownPanel']
270
+ }], style: [{
271
+ type: HostBinding,
272
+ args: ['style']
273
+ }], ariaLabel: [{
274
+ type: HostBinding,
275
+ args: ['attr.aria-label']
276
+ }], ariaRequired: [{
277
+ type: HostBinding,
278
+ args: ['attr.aria-required']
279
+ }], ariaDisabled: [{
280
+ type: HostBinding,
281
+ args: ['attr.aria-disabled']
282
+ }], onDomSelect: [{
283
+ type: HostListener,
284
+ args: ['rdsiteDropdownSelect', ['$event']]
285
+ }], onDomAction: [{
286
+ type: HostListener,
287
+ args: ['rdsiteDropdownAction']
288
+ }], handleKeyDown: [{
289
+ type: HostListener,
290
+ args: ['keydown', ['$event']]
291
+ }] } });
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24tc2VhcmNoL2Ryb3Bkb3duLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duLXNlYXJjaC9kcm9wZG93bi1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDbkgsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBWXpGLE1BQU0sT0FBTyw2QkFBNkI7SUFWMUM7UUFXVyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsU0FBSSxHQUEwQyxPQUFPLENBQUM7UUFDdEQsV0FBTSxHQUFpQyxTQUFTLENBQUM7UUFDakQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFD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c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRStDLE9BQU87c0JBQTVELGVBQWU7dUJBQUMsbUNBQW1DO2dCQUNJLGFBQWE7c0JBQXBFLGVBQWU7dUJBQUMscUNBQXFDO2dCQUUxQixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBU0EsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQWtCZ0IsU0FBUztzQkFBNUMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSVMsWUFBWTtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBSU0sWUFBWTtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBc0VqQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUWhELFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBeUJwQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXJhQXBpU2VydmljZSB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci9hcGknO1xyXG5pbXBvcnQgeyBDdXJhSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2Zvcm1zL2N1cmEtaW5wdXQtdGV4dCc7XHJcbmltcG9ydCB7IFJkc2l0ZUNsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmRzaXRlLWNsaWNrLW91dHNpZGUvcmRzaXRlLWNsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmRzaXRlRHJvcGRvd25TZWFyY2hOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tc2VhcmNoLW5vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZHNpdGVEcm9wZG93blNlYXJjaE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tc2VhcmNoLW9wdGlvbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdyZHNpdGUtZHJvcGRvd24tc2VhcmNoJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEN1cmFJbnB1dFRleHRDb21wb25lbnQsIFJkc2l0ZUNsaWNrT3V0c2lkZURpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Ryb3Bkb3duLXNlYXJjaC5jb21wb25lbnQuc2NzcycsXHJcbiAgaG9zdDoge1xyXG4gICAgcm9sZTogJ3NlYXJjaCcsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkc2l0ZURyb3Bkb3duU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBuYW1lID0gJyc7XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8IHN0cmluZyA9ICdsYXJnZSc7XHJcbiAgQElucHV0KCkgc3RhdHVzOiAnZXJyb3InIHwgJ2RlZmF1bHQnIHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgaWNvbiA9ICdzZWFyY2gnO1xyXG4gIEBJbnB1dCgpIG1heGhlaWdodCA9ICc0MDBweCc7XHJcbiAgQElucHV0KCkgY3NzTWF4SGVpZ2h0ID0gJyc7XHJcbiAgQElucHV0KCkgaGVscGVyVGV4dCA9ICcnO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XHJcbiAgQElucHV0KCkgc2VhcmNoZGVsYXk6IG51bWJlciB8IHN0cmluZyA9IDQwMDtcclxuICBASW5wdXQoKSBzZWFyY2htaW5jaGFyczogbnVtYmVyIHwgc3RyaW5nID0gMztcclxuXHJcbiAgQE91dHB1dCgpIHRlcm1jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgb3B0aW9uc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oUmRzaXRlRHJvcGRvd25TZWFyY2hPcHRpb25Db21wb25lbnQpIG9wdGlvbnMhOiBRdWVyeUxpc3Q8UmRzaXRlRHJvcGRvd25TZWFyY2hPcHRpb25Db21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oUmRzaXRlRHJvcGRvd25TZWFyY2hOb3RGb3VuZENvbXBvbmVudCkgbm90Rm91bmRJdGVtcyE6IFF1ZXJ5TGlzdDxSZHNpdGVEcm9wZG93blNlYXJjaE5vdEZvdW5kQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25QYW5lbCcpIGRyb3Bkb3duUGFuZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgaXNPbkZvY3VzID0gZmFsc2U7XHJcbiAgaGlnaGxpZ2h0ZWRJbmRleCA9IC0xO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGN1cmFTZXJ2aWNlID0gaW5qZWN0KEN1cmFBcGlTZXJ2aWNlKTtcclxuICBwcml2YXRlIHZhbHVlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xyXG4gIHByaXZhdGUgYmx1clRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBzdHlsZSgpIHtcclxuICAgIGNvbnN0IHdlaWdodHMgPSB0aGlzLmN1cmFTZXJ2aWNlLnRoZW1lLmZvbnRzLmdldFdlaWdodHMoKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICctLWluZm8nOiB0aGlzLmN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcignaW5mby1iYXNlJyksXHJcbiAgICAgICctLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLXB1cmV3aGl0ZScpLFxyXG4gICAgICAnLS1uZXV0cmFsLWxpZ2h0JzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHQnKSxcclxuICAgICAgJy0tbmV1dHJhbC1kYXJrJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ25ldXRyYWwtZGFyaycpLFxyXG4gICAgICAnLS1uZXV0cmFsLWJsYWNrLXNoYWRvdyc6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLWJsYWNrJywgMC4xNiksXHJcbiAgICAgICctLWVycm9yLWRhcmsnOiB0aGlzLmN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcignZXJyb3ItZGFyaycpLFxyXG4gICAgICAnLS1lcnJvci1saWdodGVyJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ2Vycm9yLWxpZ2h0ZXInKSxcclxuICAgICAgJy0tcHJpbWFyeSc6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdwcmltYXJ5LWJhc2UnKSxcclxuICAgICAgJy0tZm9udC1zaXplJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5mb250cy5nZXRTaXplKCksXHJcbiAgICAgICctLWZvbnQtZmFtaWx5JzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5mb250cy5nZXRGYW1pbHkoJycpLFxyXG4gICAgICAnLS1mb250LXdlaWdodC1tZWRpdW0nOiB3ZWlnaHRzPy5tZWRpdW0sXHJcbiAgICAgICctLW1heC1oZWlnaHQnOiB0aGlzLmNzc01heEhlaWdodCB8fCB0aGlzLm1heGhlaWdodCB8fCAnNDAwcHgnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgZ2V0IGFyaWFMYWJlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtcmVxdWlyZWQnKSBnZXQgYXJpYVJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWQ7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpIGdldCBhcmlhRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGdldCBkcm9wZG93blZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuaXNPbkZvY3VzKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHByb2plY3RlZCA9IHRoaXMuZHJvcGRvd25QYW5lbD8ubmF0aXZlRWxlbWVudD8uY2hpbGRFbGVtZW50Q291bnQgPz8gMDtcclxuICAgIHJldHVybiBwcm9qZWN0ZWQgPiAwIHx8ICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCA/PyAwKSA+IDAgfHwgKHRoaXMubm90Rm91bmRJdGVtcz8ubGVuZ3RoID8/IDApID4gMDtcclxuICB9XHJcblxyXG4gIGdldCBmaWVsZFN0YXR1cygpOiAnZXJyb3InIHwgJ2RlZmF1bHQnIHwgJ3N1Y2Nlc3MnIHtcclxuICAgIGNvbnN0IGhhc05vdEZvdW5kID0gKHRoaXMubm90Rm91bmRJdGVtcz8ubGVuZ3RoID8/IDApID4gMCB8fCAhIXRoaXMuZHJvcGRvd25QYW5lbD8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcigncmRzaXRlLWRyb3Bkb3duLXNlYXJjaC1ub3QtZm91bmQnKTtcclxuICAgIGlmIChoYXNOb3RGb3VuZCkge1xyXG4gICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gJ2Vycm9yJyA/ICdlcnJvcicgOiAnZGVmYXVsdCc7XHJcbiAgfVxyXG5cclxuICBnZXQgaW5wdXRTaXplKCk6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScge1xyXG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ3NtYWxsJyB8fCB0aGlzLnNpemUgPT09ICdtZWRpdW0nIHx8IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaXplO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICdsYXJnZSc7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhbHVlVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy52YWx1ZVRpbWVvdXQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYmx1clRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmJsdXJUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmJsdXJUaW1lb3V0KTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNPbkZvY3VzID0gdHJ1ZTtcclxuICAgIHRoaXMuY2xlYXJIaWdobGlnaHQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmJsdXJUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmJsdXJUaW1lb3V0KTtcclxuICAgIH1cclxuICAgIHRoaXMuYmx1clRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pc09uRm9jdXMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbGVhckhpZ2hsaWdodCgpO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT25Gb2N1cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jbGVhckhpZ2hsaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogeyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH0pOiB2b2lkIHtcclxuICAgIGNvbnN0IG5leHQgPSBTdHJpbmcoZXZlbnQudmFsdWUgPz8gJycpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZShuZXh0KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRDbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJTZWxlY3RlZE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2V0VmFsdWUoJycpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigncmRzaXRlRHJvcGRvd25TZWxlY3QnLCBbJyRldmVudCddKVxyXG4gIG9uRG9tU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3Qgb3B0aW9uaWQgPSAoZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8c3RyaW5nPikuZGV0YWlsO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNlbGVjdE9wdGlvbkJ5SWQob3B0aW9uaWQpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigncmRzaXRlRHJvcGRvd25BY3Rpb24nKVxyXG4gIG9uRG9tQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPcHRpb25CeUlkKG9wdGlvbmlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghb3B0aW9uaWQpIHtcclxuICAgICAgdGhpcy5jbGVhclNlbGVjdGVkT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLnNldFZhbHVlKCcnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5zZWxlY3RhYmxlT3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLm9wdGlvbmlkID09PSBvcHRpb25pZCk7XHJcbiAgICBpZiAob3B0aW9uPy5zZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsZWFyU2VsZWN0ZWRPcHRpb25zKCk7XHJcbiAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2V0VmFsdWUob3B0aW9uLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMub3B0aW9uc2VsZWN0LmVtaXQob3B0aW9uaWQpO1xyXG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLm1vdmVIaWdobGlnaHQoJ25leHQnKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLm1vdmVIaWdobGlnaHQoJ3ByZXYnKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5zZWxlY3RIaWdobGlnaHQoKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgc2VsZWN0YWJsZU9wdGlvbnMoKTogUmRzaXRlRHJvcGRvd25TZWFyY2hPcHRpb25Db21wb25lbnRbXSB7XHJcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucz8udG9BcnJheSgpID8/IFtdKS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0YWJsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0YWJsZU9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5zZWxlY3RlZCk7XHJcbiAgICBpZiAoc2VsZWN0ZWQgJiYgc2VsZWN0ZWQudmFsdWUgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZE9wdGlvbnMoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbHVlVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy52YWx1ZVRpbWVvdXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgbWluQ2hhcnMgPSBOdW1iZXIodGhpcy5zZWFyY2htaW5jaGFycyk7XHJcbiAgICAgIGNvbnN0IG1pbiA9IE51bWJlci5pc0Zpbml0ZShtaW5DaGFycykgPyBtaW5DaGFycyA6IDM7XHJcbiAgICAgIGNvbnN0IHRlcm0gPSB0aGlzLnZhbHVlID09PSAnJyB8fCB0aGlzLnZhbHVlLmxlbmd0aCA8IG1pbiA/ICcnIDogdGhpcy52YWx1ZTtcclxuICAgICAgdGhpcy50ZXJtY2hhbmdlLmVtaXQodGVybSk7XHJcbiAgICB9LCB0aGlzLnJlc29sdmVEZWxheSgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZURlbGF5KCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBkZWxheSA9IE51bWJlcih0aGlzLnNlYXJjaGRlbGF5KTtcclxuICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUoZGVsYXkpID8gZGVsYXkgOiA0MDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyU2VsZWN0ZWRPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RhYmxlT3B0aW9ucy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb3ZlSGlnaGxpZ2h0KGRpcmVjdGlvbjogJ25leHQnIHwgJ3ByZXYnKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2VsZWN0YWJsZU9wdGlvbnM7XHJcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgcG9zaXRpb24gPSBkaXJlY3Rpb24gPT09ICduZXh0JyA/IHRoaXMuaGlnaGxpZ2h0ZWRJbmRleCArIDEgOiB0aGlzLmhpZ2hsaWdodGVkSW5kZXggLSAxO1xyXG4gICAgaWYgKHBvc2l0aW9uIDwgMCkge1xyXG4gICAgICB0aGlzLmNsZWFySGlnaGxpZ2h0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChwb3NpdGlvbiA+IGl0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAgICAgcG9zaXRpb24gPSBpdGVtcy5sZW5ndGggLSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jbGVhckhpZ2hsaWdodCgpO1xyXG4gICAgdGhpcy5oaWdobGlnaHRlZEluZGV4ID0gcG9zaXRpb247XHJcbiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXNbcG9zaXRpb25dO1xyXG4gICAgaWYgKGN1cnJlbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5tb3ZlSGlnaGxpZ2h0KGRpcmVjdGlvbik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGN1cnJlbnQuaGlnaGxpZ2h0ZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckhpZ2hsaWdodCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0YWJsZU9wdGlvbnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpdGVtLmhpZ2hsaWdodGVkID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaGlnaGxpZ2h0ZWRJbmRleCA9IC0xO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3RIaWdobGlnaHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2VsZWN0YWJsZU9wdGlvbnM7XHJcbiAgICBjb25zdCBjdXJyZW50ID0gaXRlbXNbdGhpcy5oaWdobGlnaHRlZEluZGV4XTtcclxuICAgIGlmIChjdXJyZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uQnlJZChjdXJyZW50Lm9wdGlvbmlkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiY29tcG9uZW50LWNvbnRhaW5lclwiXHJcbiAgW2NsYXNzLmRyb3Bkb3duLXZpc2libGVdPVwiZHJvcGRvd25WaXNpYmxlXCJcclxuICBbY2xhc3MuZXJyb3JdPVwiZmllbGRTdGF0dXMgPT09ICdlcnJvcidcIlxyXG4gIHJkc2l0ZWNsaWNrb3V0c2lkZVxyXG4gIChyZHNpdGVjbGlja291dHNpZGUpPVwiY2xvc2VEcm9wZG93bigpXCJcclxuICAoZm9jdXNpbik9XCJvbkZvY3VzKClcIlxyXG4gIChmb2N1c291dCk9XCJvbkJsdXIoKVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiY29tcG9uZW50LWNvbnRyb2xzXCI+XHJcbiAgICA8Y3VyYS1pbnB1dC10ZXh0XHJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbc3RhdHVzXT1cImZpZWxkU3RhdHVzXCJcclxuICAgICAgW2ljb25OYW1lXT1cImljb24gfHwgJ3NlYXJjaCdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICBbc2l6ZV09XCJpbnB1dFNpemVcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgKGlucHV0Q2xlYXIpPVwib25JbnB1dENsZWFyKClcIlxyXG4gICAgPjwvY3VyYS1pbnB1dC10ZXh0PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXJcIiAjZHJvcGRvd25QYW5lbD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ErrorService {
5
+ constructor() {
6
+ this.ctas = new BehaviorSubject({});
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorService, decorators: [{
12
+ type: Injectable,
13
+ args: [{
14
+ providedIn: 'root',
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3IvZXJyb3Itc2VydmljZS9lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdkMsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJRSxTQUFJLEdBQUcsSUFBSSxlQUFlLENBQWEsRUFBRSxDQUFDLENBQUM7S0FDNUM7K0dBRlksWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDdGFXcmFwcGVyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2N0YS13cmFwcGVyLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvclNlcnZpY2Uge1xyXG4gIGN0YXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEN0YVdyYXBwZXI+KHt9KTtcclxufVxyXG4iXX0=
@@ -0,0 +1,183 @@
1
+ import { Component, HostBinding, Inject, Input, PLATFORM_ID } from '@angular/core';
2
+ import { CtaWrapperComponent } from '../cta-wrapper/cta-wrapper.component';
3
+ import { RdsiteLinkDirective } from '../../directives';
4
+ import { isPlatformServer } from '@angular/common';
5
+ import { BreadcrumbsComponent } from '../breadcrumbs/breadcrumbs.component';
6
+ import { Errors, Themes } from '../../enums';
7
+ import { CuraLabelComponent } from '@rededor/cura-angular/forms/cura-label';
8
+ import { CuraHeadingComponent } from '@rededor/cura-angular/texts/cura-heading';
9
+ import { CuraParagraphComponent } from '@rededor/cura-angular/texts/cura-paragraph';
10
+ import { CuraButtonComponent } from '@rededor/cura-angular/buttons/cura-button';
11
+ import { CuraButtonOutlineComponent } from '@rededor/cura-angular/buttons/cura-button-outline';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "./error-service/error.service";
14
+ import * as i2 from "@rededor/cura-angular/api";
15
+ import * as i3 from "../../services";
16
+ export class ErrorComponent {
17
+ get style() {
18
+ switch (this.theme) {
19
+ case Themes.REDE:
20
+ return {
21
+ '--backgroundColor': this.curaService.theme.colors.getColor('neutral-white'),
22
+ '--labelColor': this.curaService.theme.colors.getColor('primary-lighter'),
23
+ };
24
+ case Themes.ONCO:
25
+ return {
26
+ '--backgroundColor': this.curaService.theme.colors.getColor('neutral-pale'),
27
+ '--labelColor': this.curaService.theme.colors.getColor('success-lighter'),
28
+ };
29
+ case Themes.MATERNIDADE:
30
+ return {
31
+ '--backgroundColor': this.curaService.theme.colors.getColor('accent-lighter'),
32
+ '--labelColor': this.curaService.theme.colors.getColor('primary-light'),
33
+ };
34
+ case Themes.RICHET:
35
+ return {
36
+ '--backgroundColor': this.curaService.theme.colors.getColor('neutral-white'),
37
+ '--labelColor': this.curaService.theme.colors.getColor('primary-lighter'),
38
+ };
39
+ case Themes.STAR:
40
+ return {
41
+ '--backgroundColor': this.curaService.theme.colors.getColor('secondary-lighter'),
42
+ '--labelColor': this.curaService.theme.colors.getColor('secondary-light'),
43
+ };
44
+ default:
45
+ return {
46
+ '--backgroundColor': this.curaService.theme.colors.getColor('neutral-white'),
47
+ '--labelColor': this.curaService.theme.colors.getColor('primary-lighter'),
48
+ };
49
+ }
50
+ }
51
+ constructor(errorService, curaService, logService, seoService, serverResponse, platformId) {
52
+ this.errorService = errorService;
53
+ this.curaService = curaService;
54
+ this.logService = logService;
55
+ this.seoService = seoService;
56
+ this.serverResponse = serverResponse;
57
+ this.platformId = platformId;
58
+ this.theme = Themes.REDE;
59
+ this.returnRoute = '';
60
+ this.returnLabel = '';
61
+ this.pageTitle = 'Default component';
62
+ this.component = 'DefaultComponent';
63
+ this.breadcrumbsItems = [];
64
+ this.responseText = '';
65
+ this.backgroundColor = '';
66
+ this.backgroundColorBadge = '';
67
+ this.breadcrumbFontWeight = '';
68
+ this.labelColor = '';
69
+ this.labelTextColor = '';
70
+ this.curaButtonColor = '';
71
+ this.curaButtonOutlineColor = '';
72
+ this.ctasBorderColor = '';
73
+ this.ctasIconColor = '';
74
+ this.error = Errors;
75
+ }
76
+ ngOnInit() {
77
+ if (this.type === Errors.NOT_FOUND) {
78
+ this.responseText = 'A página que você acessou não existe mais ou foi movida para outra URL';
79
+ if (isPlatformServer(this.platformId)) {
80
+ this.serverResponse.setNotFound();
81
+ }
82
+ this.logService.log404(this.component);
83
+ this.seoService.set404Title(this.pageTitle);
84
+ }
85
+ else if (this.type === Errors.SERVER_RESPONSE) {
86
+ this.responseText = 'Recomendamos atualizar a página ou tentar novamente mais tarde.';
87
+ if (isPlatformServer(this.platformId)) {
88
+ this.serverResponse.setError();
89
+ }
90
+ this.logService.log500(this.component);
91
+ this.seoService.set500Title(this.pageTitle);
92
+ }
93
+ this.ctasSubscription = this.errorService.ctas.subscribe((ctas) => {
94
+ this.ctasContent = ctas;
95
+ });
96
+ this.setTheme(this.theme);
97
+ }
98
+ setTheme(theme) {
99
+ switch (theme) {
100
+ case Themes.REDE:
101
+ this.labelTextColor = 'primary-dark';
102
+ this.curaButtonColor = 'primary';
103
+ this.curaButtonOutlineColor = 'primary';
104
+ this.ctasBorderColor = 'primary-darker';
105
+ this.ctasIconColor = 'primary-darker';
106
+ break;
107
+ case Themes.ONCO:
108
+ this.labelTextColor = 'primary-dark';
109
+ this.backgroundColorBadge = 'success-lighter';
110
+ this.curaButtonColor = 'accent';
111
+ this.curaButtonOutlineColor = 'accent';
112
+ this.ctasBorderColor = 'accent-base';
113
+ this.ctasIconColor = 'primary-dark';
114
+ this.breadcrumbFontWeight = '700';
115
+ break;
116
+ case Themes.MATERNIDADE:
117
+ this.labelTextColor = 'accent-base';
118
+ this.curaButtonColor = 'accent';
119
+ this.curaButtonOutlineColor = 'accent';
120
+ this.ctasBorderColor = 'accent-base';
121
+ this.ctasIconColor = 'accent-base';
122
+ break;
123
+ case Themes.RICHET:
124
+ this.labelTextColor = 'primary-dark';
125
+ this.curaButtonColor = 'primary';
126
+ this.curaButtonOutlineColor = 'primary';
127
+ this.ctasBorderColor = 'primary-darker';
128
+ this.ctasIconColor = 'primary-darker';
129
+ break;
130
+ case Themes.STAR:
131
+ this.labelTextColor = 'secondary-dark';
132
+ this.curaButtonColor = 'secondary';
133
+ this.curaButtonOutlineColor = 'secondary';
134
+ this.ctasBorderColor = 'secondary-base';
135
+ this.ctasIconColor = 'secondary-darker';
136
+ break;
137
+ }
138
+ }
139
+ reloadPage() {
140
+ if (window !== undefined) {
141
+ window.location.reload();
142
+ }
143
+ }
144
+ ngOnDestroy() {
145
+ this.ctasSubscription?.unsubscribe();
146
+ }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorComponent, deps: [{ token: i1.ErrorService }, { token: i2.CuraApiService }, { token: i3.LogService }, { token: i3.SeoService }, { token: i3.ServerResponseService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorComponent, isStandalone: true, selector: "rdsite-error", inputs: { theme: "theme", type: "type", returnRoute: "returnRoute", returnLabel: "returnLabel", pageTitle: "pageTitle", component: "component", breadcrumbsItems: "breadcrumbsItems" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div class=\"rdsite-error\">\r\n @if (ctasIconColor && breadcrumbsItems.length) {\r\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbsItems\" [labelIconColor]=\"ctasIconColor\" [fontWeight]=\"breadcrumbFontWeight\"></rdsite-breadcrumbs>\r\n }\r\n <div class=\"rdsite-error-container\">\r\n @if (labelTextColor) {\r\n <cura-label [color]=\"labelTextColor\">\r\n {{ type === 'server-response' ? '500' : '404' }}\r\n </cura-label>\r\n }\r\n\r\n <cura-heading color=\"neutral-black\" size=\"medium\" weight=\"bold\"> Algo deu errado :( </cura-heading>\r\n\r\n @if (responseText) {\r\n <cura-paragraph color=\"neutral-black\" size=\"large\">\r\n {{ responseText }}\r\n </cura-paragraph>\r\n }\r\n\r\n @if (type === error.NOT_FOUND && returnRoute && returnLabel) {\r\n <cura-button rdsitelink [href]=\"returnRoute\" size=\"medium\" type=\"button\" [color]=\"curaButtonColor\" fontColor=\"light\" iconName=\"arrowLeft\" target=\"_self\">\r\n Voltar para {{ returnLabel }}\r\n </cura-button>\r\n }\r\n\r\n @if (type === error.SERVER_RESPONSE) {\r\n @if (curaButtonColor) {\r\n <cura-button size=\"medium\" type=\"button\" (click)=\"reloadPage()\" [color]=\"curaButtonColor\" fontColor=\"light\" iconName=\"reload\" target=\"_self\">\r\n Atualizar p\u00E1gina novamente\r\n </cura-button>\r\n }\r\n\r\n @if (returnLabel && returnRoute) {\r\n <cura-paragraph color=\"neutral-black\" size=\"large\">ou</cura-paragraph>\r\n @if (curaButtonOutlineColor) {\r\n <cura-button-outline rdsitelink [href]=\"returnRoute\" size=\"medium\" type=\"button\" [color]=\"curaButtonOutlineColor\" iconName=\"arrowLeft\" target=\"_self\">\r\n Voltar para {{ returnLabel }}\r\n </cura-button-outline>\r\n }\r\n }\r\n }\r\n @if (ctasContent.ctas!.length > 0 && ctasBorderColor && ctasIconColor) {\r\n <cura-paragraph class=\"wrapper-text\" color=\"neutral-black\" size=\"large\"> Voc\u00EA pode tamb\u00E9m: </cura-paragraph>\r\n\r\n <rdsite-cta-wrapper [content]=\"ctasContent\" [showTitleAndText]=\"false\" [colors]=\"{ border: ctasBorderColor, icon: ctasIconColor }\"></rdsite-cta-wrapper>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".rdsite-error{width:100%;background-color:var(--backgroundColor)}.rdsite-error rdsite-breadcrumbs{display:block;padding-block:16px;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.rdsite-error rdsite-breadcrumbs.full-container{width:100%;max-width:100%}.rdsite-error-container{box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto;padding:20px 0 40px}.rdsite-error-container.full-container{width:100%;max-width:100%}.rdsite-error-container cura-label{width:fit-content;padding:var(--sizes-space-tiny, 4px);border-radius:var(--sizes-cornerRadius-nano, 2px);background:var(--labelColor)}.rdsite-error-container cura-heading{--margin-block: 40px}\n"], dependencies: [{ kind: "component", type: CtaWrapperComponent, selector: "rdsite-cta-wrapper", inputs: ["content", "showTitleAndText", "colors"], outputs: ["CtaWrapperItemClick"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: BreadcrumbsComponent, selector: "rdsite-breadcrumbs", inputs: ["labelIconColor", "fontWeight", "breadcrumbs"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraHeadingComponent, selector: "cura-heading", inputs: ["level", "size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraButtonComponent, selector: "cura-button", inputs: ["type", "size", "disabled", "isLoading", "iconName", "iconset", "iconPosition", "iconOnly", "href", "target", "color", "background", "fontColor", "textAlign", "justify", "ariaLabel"], outputs: ["buttonClick"] }, { kind: "component", type: CuraButtonOutlineComponent, selector: "cura-button-outline", inputs: ["type", "size", "disabled", "isLoading", "iconName", "iconset", "iconPosition", "iconOnly", "href", "target", "color", "background", "fontColor", "textAlign", "justify", "ariaLabel"], outputs: ["buttonClick"] }] }); }
149
+ }
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorComponent, decorators: [{
151
+ type: Component,
152
+ args: [{ selector: 'rdsite-error', standalone: true, imports: [
153
+ CtaWrapperComponent,
154
+ RdsiteLinkDirective,
155
+ BreadcrumbsComponent,
156
+ CuraLabelComponent,
157
+ CuraHeadingComponent,
158
+ CuraParagraphComponent,
159
+ CuraButtonComponent,
160
+ CuraButtonOutlineComponent,
161
+ ], template: "<div class=\"rdsite-error\">\r\n @if (ctasIconColor && breadcrumbsItems.length) {\r\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbsItems\" [labelIconColor]=\"ctasIconColor\" [fontWeight]=\"breadcrumbFontWeight\"></rdsite-breadcrumbs>\r\n }\r\n <div class=\"rdsite-error-container\">\r\n @if (labelTextColor) {\r\n <cura-label [color]=\"labelTextColor\">\r\n {{ type === 'server-response' ? '500' : '404' }}\r\n </cura-label>\r\n }\r\n\r\n <cura-heading color=\"neutral-black\" size=\"medium\" weight=\"bold\"> Algo deu errado :( </cura-heading>\r\n\r\n @if (responseText) {\r\n <cura-paragraph color=\"neutral-black\" size=\"large\">\r\n {{ responseText }}\r\n </cura-paragraph>\r\n }\r\n\r\n @if (type === error.NOT_FOUND && returnRoute && returnLabel) {\r\n <cura-button rdsitelink [href]=\"returnRoute\" size=\"medium\" type=\"button\" [color]=\"curaButtonColor\" fontColor=\"light\" iconName=\"arrowLeft\" target=\"_self\">\r\n Voltar para {{ returnLabel }}\r\n </cura-button>\r\n }\r\n\r\n @if (type === error.SERVER_RESPONSE) {\r\n @if (curaButtonColor) {\r\n <cura-button size=\"medium\" type=\"button\" (click)=\"reloadPage()\" [color]=\"curaButtonColor\" fontColor=\"light\" iconName=\"reload\" target=\"_self\">\r\n Atualizar p\u00E1gina novamente\r\n </cura-button>\r\n }\r\n\r\n @if (returnLabel && returnRoute) {\r\n <cura-paragraph color=\"neutral-black\" size=\"large\">ou</cura-paragraph>\r\n @if (curaButtonOutlineColor) {\r\n <cura-button-outline rdsitelink [href]=\"returnRoute\" size=\"medium\" type=\"button\" [color]=\"curaButtonOutlineColor\" iconName=\"arrowLeft\" target=\"_self\">\r\n Voltar para {{ returnLabel }}\r\n </cura-button-outline>\r\n }\r\n }\r\n }\r\n @if (ctasContent.ctas!.length > 0 && ctasBorderColor && ctasIconColor) {\r\n <cura-paragraph class=\"wrapper-text\" color=\"neutral-black\" size=\"large\"> Voc\u00EA pode tamb\u00E9m: </cura-paragraph>\r\n\r\n <rdsite-cta-wrapper [content]=\"ctasContent\" [showTitleAndText]=\"false\" [colors]=\"{ border: ctasBorderColor, icon: ctasIconColor }\"></rdsite-cta-wrapper>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".rdsite-error{width:100%;background-color:var(--backgroundColor)}.rdsite-error rdsite-breadcrumbs{display:block;padding-block:16px;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.rdsite-error rdsite-breadcrumbs.full-container{width:100%;max-width:100%}.rdsite-error-container{box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto;padding:20px 0 40px}.rdsite-error-container.full-container{width:100%;max-width:100%}.rdsite-error-container cura-label{width:fit-content;padding:var(--sizes-space-tiny, 4px);border-radius:var(--sizes-cornerRadius-nano, 2px);background:var(--labelColor)}.rdsite-error-container cura-heading{--margin-block: 40px}\n"] }]
162
+ }], ctorParameters: () => [{ type: i1.ErrorService }, { type: i2.CuraApiService }, { type: i3.LogService }, { type: i3.SeoService }, { type: i3.ServerResponseService }, { type: undefined, decorators: [{
163
+ type: Inject,
164
+ args: [PLATFORM_ID]
165
+ }] }], propDecorators: { theme: [{
166
+ type: Input
167
+ }], type: [{
168
+ type: Input
169
+ }], returnRoute: [{
170
+ type: Input
171
+ }], returnLabel: [{
172
+ type: Input
173
+ }], pageTitle: [{
174
+ type: Input
175
+ }], component: [{
176
+ type: Input
177
+ }], breadcrumbsItems: [{
178
+ type: Input
179
+ }], style: [{
180
+ type: HostBinding,
181
+ args: ['style']
182
+ }] } });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUszRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7QUFtQi9GLE1BQU0sT0FBTyxjQUFjO0lBd0J6QixJQUEwQixLQUFLO1FBQzdCLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25C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QUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3FCQUMzQjs7MEJBc0VFLE1BQU07MkJBQUMsV0FBVzt5Q0FoRVosS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFpQm9CLEtBQUs7c0JBQTlCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdGFXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY3RhLXdyYXBwZXIvY3RhLXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvci1zZXJ2aWNlL2Vycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VyYUFwaVNlcnZpY2UgfSBmcm9tICdAcmVkZWRvci9jdXJhLWFuZ3VsYXIvYXBpJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSwgU2VvU2VydmljZSwgU2VydmVyUmVzcG9uc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBSZHNpdGVMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1ic0NvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJzSXRlbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMtaXRlbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBFcnJvcnMsIFRoZW1lcyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgQ3RhV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVscy9jdGEtd3JhcHBlci5tb2RlbCc7XHJcbmltcG9ydCB7IEN1cmFMYWJlbENvbXBvbmVudCB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci9mb3Jtcy9jdXJhLWxhYmVsJztcclxuaW1wb3J0IHsgQ3VyYUhlYWRpbmdDb21wb25lbnQgfSBmcm9tICdAcmVkZWRvci9jdXJhLWFuZ3VsYXIvdGV4dHMvY3VyYS1oZWFkaW5nJztcclxuaW1wb3J0IHsgQ3VyYVBhcmFncmFwaENvbXBvbmVudCB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci90ZXh0cy9jdXJhLXBhcmFncmFwaCc7XHJcbmltcG9ydCB7IEN1cmFCdXR0b25Db21wb25lbnQgfSBmcm9tICdAcmVkZWRvci9jdXJhLWFuZ3VsYXIvYnV0dG9ucy9jdXJhLWJ1dHRvbic7XHJcbmltcG9ydCB7IEN1cmFCdXR0b25PdXRsaW5lQ29tcG9uZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2J1dHRvbnMvY3VyYS1idXR0b24tb3V0bGluZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1lcnJvcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDdGFXcmFwcGVyQ29tcG9uZW50LFxyXG4gICAgUmRzaXRlTGlua0RpcmVjdGl2ZSxcclxuICAgIEJyZWFkY3J1bWJzQ29tcG9uZW50LFxyXG4gICAgQ3VyYUxhYmVsQ29tcG9uZW50LFxyXG4gICAgQ3VyYUhlYWRpbmdDb21wb25lbnQsXHJcbiAgICBDdXJhUGFyYWdyYXBoQ29tcG9uZW50LFxyXG4gICAgQ3VyYUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEN1cmFCdXR0b25PdXRsaW5lQ29tcG9uZW50LFxyXG4gIF0sXHJcblxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHRoZW1lOiBUaGVtZXMgPSBUaGVtZXMuUkVERTtcclxuICBASW5wdXQoKSB0eXBlITogRXJyb3JzO1xyXG4gIEBJbnB1dCgpIHJldHVyblJvdXRlOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSByZXR1cm5MYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgcGFnZVRpdGxlID0gJ0RlZmF1bHQgY29tcG9uZW50JztcclxuICBASW5wdXQoKSBjb21wb25lbnQgPSAnRGVmYXVsdENvbXBvbmVudCc7XHJcbiAgQElucHV0KCkgYnJlYWRjcnVtYnNJdGVtczogQnJlYWRjcnVtYnNJdGVtc1tdID0gW107XHJcblxyXG4gIGN0YXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgY3Rhc0NvbnRlbnQhOiBDdGFXcmFwcGVyO1xyXG4gIHJlc3BvbnNlVGV4dCA9ICcnO1xyXG5cclxuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyA9ICcnO1xyXG4gIGJhY2tncm91bmRDb2xvckJhZGdlOiBzdHJpbmcgPSAnJztcclxuICBicmVhZGNydW1iRm9udFdlaWdodDogc3RyaW5nID0gJyc7XHJcbiAgbGFiZWxDb2xvcjogc3RyaW5nID0gJyc7XHJcbiAgbGFiZWxUZXh0Q29sb3I6IHN0cmluZyA9ICcnO1xyXG4gIGN1cmFCdXR0b25Db2xvcjogc3RyaW5nID0gJyc7XHJcbiAgY3VyYUJ1dHRvbk91dGxpbmVDb2xvcjogc3RyaW5nID0gJyc7XHJcbiAgY3Rhc0JvcmRlckNvbG9yOiBzdHJpbmcgPSAnJztcclxuICBjdGFzSWNvbkNvbG9yOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgZXJyb3IgPSBFcnJvcnM7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMudGhlbWUpIHtcclxuICAgICAgY2FzZSBUaGVtZXMuUkVERTpcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgJy0tYmFja2dyb3VuZENvbG9yJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ25ldXRyYWwtd2hpdGUnKSxcclxuICAgICAgICAgICctLWxhYmVsQ29sb3InOiB0aGlzLmN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcigncHJpbWFyeS1saWdodGVyJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgY2FzZSBUaGVtZXMuT05DTzpcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgJy0tYmFja2dyb3VuZENvbG9yJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ25ldXRyYWwtcGFsZScpLFxyXG4gICAgICAgICAgJy0tbGFiZWxDb2xvcic6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdzdWNjZXNzLWxpZ2h0ZXInKSxcclxuICAgICAgICB9O1xyXG4gICAgICBjYXNlIFRoZW1lcy5NQVRFUk5JREFERTpcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgJy0tYmFja2dyb3VuZENvbG9yJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ2FjY2VudC1saWdodGVyJyksXHJcbiAgICAgICAgICAnLS1sYWJlbENvbG9yJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ3ByaW1hcnktbGlnaHQnKSxcclxuICAgICAgICB9O1xyXG4gICAgICBjYXNlIFRoZW1lcy5SSUNIRVQ6XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICctLWJhY2tncm91bmRDb2xvcic6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLXdoaXRlJyksXHJcbiAgICAgICAgICAnLS1sYWJlbENvbG9yJzogdGhpcy5jdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ3ByaW1hcnktbGlnaHRlcicpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIGNhc2UgVGhlbWVzLlNUQVI6XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICctLWJhY2tncm91bmRDb2xvcic6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdzZWNvbmRhcnktbGlnaHRlcicpLFxyXG4gICAgICAgICAgJy0tbGFiZWxDb2xvcic6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdzZWNvbmRhcnktbGlnaHQnKSxcclxuICAgICAgICB9O1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAnLS1iYWNrZ3JvdW5kQ29sb3InOiB0aGlzLmN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcignbmV1dHJhbC13aGl0ZScpLFxyXG4gICAgICAgICAgJy0tbGFiZWxDb2xvcic6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdwcmltYXJ5LWxpZ2h0ZXInKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjdXJhU2VydmljZTogQ3VyYUFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlb1NlcnZpY2U6IFNlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZlclJlc3BvbnNlOiBTZXJ2ZXJSZXNwb25zZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gRXJyb3JzLk5PVF9GT1VORCkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNlVGV4dCA9ICdBIHDDoWdpbmEgcXVlIHZvY8OqIGFjZXNzb3UgbsOjbyBleGlzdGUgbWFpcyBvdSBmb2kgbW92aWRhIHBhcmEgb3V0cmEgVVJMJztcclxuICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICAgIHRoaXMuc2VydmVyUmVzcG9uc2Uuc2V0Tm90Rm91bmQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxvZ1NlcnZpY2UubG9nNDA0KHRoaXMuY29tcG9uZW50KTtcclxuICAgICAgdGhpcy5zZW9TZXJ2aWNlLnNldDQwNFRpdGxlKHRoaXMucGFnZVRpdGxlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSBFcnJvcnMuU0VSVkVSX1JFU1BPTlNFKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2VUZXh0ID0gJ1JlY29tZW5kYW1vcyBhdHVhbGl6YXIgYSBww6FnaW5hIG91IHRlbnRhciBub3ZhbWVudGUgbWFpcyB0YXJkZS4nO1xyXG4gICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgICAgdGhpcy5zZXJ2ZXJSZXNwb25zZS5zZXRFcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubG9nU2VydmljZS5sb2c1MDAodGhpcy5jb21wb25lbnQpO1xyXG4gICAgICB0aGlzLnNlb1NlcnZpY2Uuc2V0NTAwVGl0bGUodGhpcy5wYWdlVGl0bGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdGFzU3Vic2NyaXB0aW9uID0gdGhpcy5lcnJvclNlcnZpY2UuY3Rhcy5zdWJzY3JpYmUoKGN0YXMpID0+IHtcclxuICAgICAgdGhpcy5jdGFzQ29udGVudCA9IGN0YXM7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0VGhlbWUodGhpcy50aGVtZSk7XHJcbiAgfVxyXG5cclxuICBzZXRUaGVtZSh0aGVtZTogVGhlbWVzKSB7XHJcbiAgICBzd2l0Y2ggKHRoZW1lKSB7XHJcbiAgICAgIGNhc2UgVGhlbWVzLlJFREU6XHJcbiAgICAgICAgdGhpcy5sYWJlbFRleHRDb2xvciA9ICdwcmltYXJ5LWRhcmsnO1xyXG4gICAgICAgIHRoaXMuY3VyYUJ1dHRvbkNvbG9yID0gJ3ByaW1hcnknO1xyXG4gICAgICAgIHRoaXMuY3VyYUJ1dHRvbk91dGxpbmVDb2xvciA9ICdwcmltYXJ5JztcclxuICAgICAgICB0aGlzLmN0YXNCb3JkZXJDb2xvciA9ICdwcmltYXJ5LWRhcmtlcic7XHJcbiAgICAgICAgdGhpcy5jdGFzSWNvbkNvbG9yID0gJ3ByaW1hcnktZGFya2VyJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBUaGVtZXMuT05DTzpcclxuICAgICAgICB0aGlzLmxhYmVsVGV4dENvbG9yID0gJ3ByaW1hcnktZGFyayc7XHJcbiAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3JCYWRnZSA9ICdzdWNjZXNzLWxpZ2h0ZXInO1xyXG4gICAgICAgIHRoaXMuY3VyYUJ1dHRvbkNvbG9yID0gJ2FjY2VudCc7XHJcbiAgICAgICAgdGhpcy5jdXJhQnV0dG9uT3V0bGluZUNvbG9yID0gJ2FjY2VudCc7XHJcbiAgICAgICAgdGhpcy5jdGFzQm9yZGVyQ29sb3IgPSAnYWNjZW50LWJhc2UnO1xyXG4gICAgICAgIHRoaXMuY3Rhc0ljb25Db2xvciA9ICdwcmltYXJ5LWRhcmsnO1xyXG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYkZvbnRXZWlnaHQgPSAnNzAwJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBUaGVtZXMuTUFURVJOSURBREU6XHJcbiAgICAgICAgdGhpcy5sYWJlbFRleHRDb2xvciA9ICdhY2NlbnQtYmFzZSc7XHJcbiAgICAgICAgdGhpcy5jdXJhQnV0dG9uQ29sb3IgPSAnYWNjZW50JztcclxuICAgICAgICB0aGlzLmN1cmFCdXR0b25PdXRsaW5lQ29sb3IgPSAnYWNjZW50JztcclxuICAgICAgICB0aGlzLmN0YXNCb3JkZXJDb2xvciA9ICdhY2NlbnQtYmFzZSc7XHJcbiAgICAgICAgdGhpcy5jdGFzSWNvbkNvbG9yID0gJ2FjY2VudC1iYXNlJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBUaGVtZXMuUklDSEVUOlxyXG4gICAgICAgIHRoaXMubGFiZWxUZXh0Q29sb3IgPSAncHJpbWFyeS1kYXJrJztcclxuICAgICAgICB0aGlzLmN1cmFCdXR0b25Db2xvciA9ICdwcmltYXJ5JztcclxuICAgICAgICB0aGlzLmN1cmFCdXR0b25PdXRsaW5lQ29sb3IgPSAncHJpbWFyeSc7XHJcbiAgICAgICAgdGhpcy5jdGFzQm9yZGVyQ29sb3IgPSAncHJpbWFyeS1kYXJrZXInO1xyXG4gICAgICAgIHRoaXMuY3Rhc0ljb25Db2xvciA9ICdwcmltYXJ5LWRhcmtlcic7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgVGhlbWVzLlNUQVI6XHJcbiAgICAgICAgdGhpcy5sYWJlbFRleHRDb2xvciA9ICdzZWNvbmRhcnktZGFyayc7XHJcbiAgICAgICAgdGhpcy5jdXJhQnV0dG9uQ29sb3IgPSAnc2Vjb25kYXJ5JztcclxuICAgICAgICB0aGlzLmN1cmFCdXR0b25PdXRsaW5lQ29sb3IgPSAnc2Vjb25kYXJ5JztcclxuICAgICAgICB0aGlzLmN0YXNCb3JkZXJDb2xvciA9ICdzZWNvbmRhcnktYmFzZSc7XHJcbiAgICAgICAgdGhpcy5jdGFzSWNvbkNvbG9yID0gJ3NlY29uZGFyeS1kYXJrZXInO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVsb2FkUGFnZSgpIHtcclxuICAgIGlmICh3aW5kb3cgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3Rhc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJkc2l0ZS1lcnJvclwiPlxyXG4gIEBpZiAoY3Rhc0ljb25Db2xvciAmJiBicmVhZGNydW1ic0l0ZW1zLmxlbmd0aCkge1xyXG4gICAgPHJkc2l0ZS1icmVhZGNydW1icyBbYnJlYWRjcnVtYnNdPVwiYnJlYWRjcnVtYnNJdGVtc1wiIFtsYWJlbEljb25Db2xvcl09XCJjdGFzSWNvbkNvbG9yXCIgW2ZvbnRXZWlnaHRdPVwiYnJlYWRjcnVtYkZvbnRXZWlnaHRcIj48L3Jkc2l0ZS1icmVhZGNydW1icz5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cInJkc2l0ZS1lcnJvci1jb250YWluZXJcIj5cclxuICAgIEBpZiAobGFiZWxUZXh0Q29sb3IpIHtcclxuICAgICAgPGN1cmEtbGFiZWwgW2NvbG9yXT1cImxhYmVsVGV4dENvbG9yXCI+XHJcbiAgICAgICAge3sgdHlwZSA9PT0gJ3NlcnZlci1yZXNwb25zZScgPyAnNTAwJyA6ICc0MDQnIH19XHJcbiAgICAgIDwvY3VyYS1sYWJlbD5cclxuICAgIH1cclxuXHJcbiAgICA8Y3VyYS1oZWFkaW5nIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIHNpemU9XCJtZWRpdW1cIiB3ZWlnaHQ9XCJib2xkXCI+IEFsZ28gZGV1IGVycmFkbyA6KCA8L2N1cmEtaGVhZGluZz5cclxuXHJcbiAgICBAaWYgKHJlc3BvbnNlVGV4dCkge1xyXG4gICAgICA8Y3VyYS1wYXJhZ3JhcGggY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgc2l6ZT1cImxhcmdlXCI+XHJcbiAgICAgICAge3sgcmVzcG9uc2VUZXh0IH19XHJcbiAgICAgIDwvY3VyYS1wYXJhZ3JhcGg+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICh0eXBlID09PSBlcnJvci5OT1RfRk9VTkQgJiYgcmV0dXJuUm91dGUgJiYgcmV0dXJuTGFiZWwpIHtcclxuICAgICAgPGN1cmEtYnV0dG9uIHJkc2l0ZWxpbmsgW2hyZWZdPVwicmV0dXJuUm91dGVcIiBzaXplPVwibWVkaXVtXCIgdHlwZT1cImJ1dHRvblwiIFtjb2xvcl09XCJjdXJhQnV0dG9uQ29sb3JcIiBmb250Q29sb3I9XCJsaWdodFwiIGljb25OYW1lPVwiYXJyb3dMZWZ0XCIgdGFyZ2V0PVwiX3NlbGZcIj5cclxuICAgICAgICBWb2x0YXIgcGFyYSB7eyByZXR1cm5MYWJlbCB9fVxyXG4gICAgICA8L2N1cmEtYnV0dG9uPlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAodHlwZSA9PT0gZXJyb3IuU0VSVkVSX1JFU1BPTlNFKSB7XHJcbiAgICAgIEBpZiAoY3VyYUJ1dHRvbkNvbG9yKSB7XHJcbiAgICAgICAgPGN1cmEtYnV0dG9uIHNpemU9XCJtZWRpdW1cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInJlbG9hZFBhZ2UoKVwiIFtjb2xvcl09XCJjdXJhQnV0dG9uQ29sb3JcIiBmb250Q29sb3I9XCJsaWdodFwiIGljb25OYW1lPVwicmVsb2FkXCIgdGFyZ2V0PVwiX3NlbGZcIj5cclxuICAgICAgICAgIEF0dWFsaXphciBww6FnaW5hIG5vdmFtZW50ZVxyXG4gICAgICAgIDwvY3VyYS1idXR0b24+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAocmV0dXJuTGFiZWwgJiYgcmV0dXJuUm91dGUpIHtcclxuICAgICAgICA8Y3VyYS1wYXJhZ3JhcGggY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgc2l6ZT1cImxhcmdlXCI+b3U8L2N1cmEtcGFyYWdyYXBoPlxyXG4gICAgICAgIEBpZiAoY3VyYUJ1dHRvbk91dGxpbmVDb2xvcikge1xyXG4gICAgICAgICAgPGN1cmEtYnV0dG9uLW91dGxpbmUgcmRzaXRlbGluayBbaHJlZl09XCJyZXR1cm5Sb3V0ZVwiIHNpemU9XCJtZWRpdW1cIiB0eXBlPVwiYnV0dG9uXCIgW2NvbG9yXT1cImN1cmFCdXR0b25PdXRsaW5lQ29sb3JcIiBpY29uTmFtZT1cImFycm93TGVmdFwiIHRhcmdldD1cIl9zZWxmXCI+XHJcbiAgICAgICAgICAgIFZvbHRhciBwYXJhIHt7IHJldHVybkxhYmVsIH19XHJcbiAgICAgICAgICA8L2N1cmEtYnV0dG9uLW91dGxpbmU+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKGN0YXNDb250ZW50LmN0YXMhLmxlbmd0aCA+IDAgJiYgY3Rhc0JvcmRlckNvbG9yICYmIGN0YXNJY29uQ29sb3IpIHtcclxuICAgICAgPGN1cmEtcGFyYWdyYXBoIGNsYXNzPVwid3JhcHBlci10ZXh0XCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgc2l6ZT1cImxhcmdlXCI+IFZvY8OqIHBvZGUgdGFtYsOpbTogPC9jdXJhLXBhcmFncmFwaD5cclxuXHJcbiAgICAgIDxyZHNpdGUtY3RhLXdyYXBwZXIgW2NvbnRlbnRdPVwiY3Rhc0NvbnRlbnRcIiBbc2hvd1RpdGxlQW5kVGV4dF09XCJmYWxzZVwiIFtjb2xvcnNdPVwieyBib3JkZXI6IGN0YXNCb3JkZXJDb2xvciwgaWNvbjogY3Rhc0ljb25Db2xvciB9XCI+PC9yZHNpdGUtY3RhLXdyYXBwZXI+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=