@blateral/b.kit 2.3.0-beta.1.2 → 2.3.0-beta.1.4

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 (257) hide show
  1. package/cjs/Actions-6dd616e0.js +2 -0
  2. package/cjs/Actions-6dd616e0.js.map +1 -0
  3. package/cjs/Bdot-d898ba3b.js +2 -0
  4. package/cjs/Bdot-d898ba3b.js.map +1 -0
  5. package/cjs/Button-72747f63.js +2 -0
  6. package/cjs/Button-72747f63.js.map +1 -0
  7. package/cjs/ButtonGhost-046437c5.js +2 -0
  8. package/cjs/ButtonGhost-046437c5.js.map +1 -0
  9. package/cjs/Control-eead1a4c.js +2 -0
  10. package/cjs/Control-eead1a4c.js.map +1 -0
  11. package/cjs/EventBlock-10b9d78d.js +2 -0
  12. package/cjs/EventBlock-10b9d78d.js.map +1 -0
  13. package/cjs/FileUpload-ece8bb07.js +2 -0
  14. package/cjs/FileUpload-ece8bb07.js.map +1 -0
  15. package/cjs/Filter-d6d90b8b.js +2 -0
  16. package/cjs/Filter-d6d90b8b.js.map +1 -0
  17. package/cjs/FilterField-cf9e2f16.js +2 -0
  18. package/cjs/FilterField-cf9e2f16.js.map +1 -0
  19. package/cjs/Grid-39b12e21.js +2 -0
  20. package/cjs/Grid-39b12e21.js.map +1 -0
  21. package/cjs/Image-d9681be0.js +2 -0
  22. package/cjs/Image-d9681be0.js.map +1 -0
  23. package/cjs/InfoList-577f3c57.js +2 -0
  24. package/cjs/InfoList-577f3c57.js.map +1 -0
  25. package/cjs/LanguageSwitcher-47e25e95.js +2 -0
  26. package/cjs/LanguageSwitcher-47e25e95.js.map +1 -0
  27. package/cjs/Navigation-3f5d6088.js +2 -0
  28. package/cjs/{Navigation-ebb27a9b.js.map → Navigation-3f5d6088.js.map} +1 -1
  29. package/cjs/POICard-492bf8d0.js +2 -0
  30. package/cjs/POICard-492bf8d0.js.map +1 -0
  31. package/cjs/Pointer-3588eadf.js +2 -0
  32. package/cjs/Pointer-3588eadf.js.map +1 -0
  33. package/cjs/SocialList-da77e994.js +2 -0
  34. package/cjs/SocialList-da77e994.js.map +1 -0
  35. package/cjs/TableBlock-a5b16e8f.js +2 -0
  36. package/cjs/TableBlock-a5b16e8f.js.map +1 -0
  37. package/cjs/Tag-5c72cc0d.js +2 -0
  38. package/cjs/Tag-5c72cc0d.js.map +1 -0
  39. package/cjs/VideoBlock-301997a9.js +2 -0
  40. package/cjs/VideoBlock-301997a9.js.map +1 -0
  41. package/cjs/VideoCard-405b518a.js +2 -0
  42. package/cjs/VideoCard-405b518a.js.map +1 -0
  43. package/cjs/Wrapper-91748bdb.js +2 -0
  44. package/cjs/Wrapper-91748bdb.js.map +1 -0
  45. package/cjs/base.js +1 -1
  46. package/cjs/blocks.js +1 -1
  47. package/cjs/buttons.js +1 -1
  48. package/cjs/cookies.js +1 -1
  49. package/cjs/cookies.js.map +1 -1
  50. package/cjs/escape-1ef8dd83.js +2 -0
  51. package/cjs/escape-1ef8dd83.js.map +1 -0
  52. package/cjs/fields.js +1 -1
  53. package/cjs/fields.js.map +1 -1
  54. package/cjs/footer.js +2 -0
  55. package/cjs/footer.js.map +1 -0
  56. package/cjs/hooks.js +1 -1
  57. package/cjs/hooks.js.map +1 -1
  58. package/cjs/navigation.js +1 -1
  59. package/cjs/navigation.js.map +1 -1
  60. package/cjs/sections.js +1 -1
  61. package/cjs/sections.js.map +1 -1
  62. package/cjs/sections_events.js +2 -0
  63. package/cjs/sections_events.js.map +1 -0
  64. package/cjs/sections_forms.js +2 -0
  65. package/cjs/sections_forms.js.map +1 -0
  66. package/cjs/sections_jobs.js +2 -0
  67. package/cjs/sections_jobs.js.map +1 -0
  68. package/cjs/sections_news.js +2 -0
  69. package/cjs/sections_news.js.map +1 -0
  70. package/cjs/sections_pois.js +2 -0
  71. package/cjs/sections_pois.js.map +1 -0
  72. package/cjs/statusFormatter-0393122b.js +2 -0
  73. package/cjs/statusFormatter-0393122b.js.map +1 -0
  74. package/cjs/structuredData-0b1278a9.js +2 -0
  75. package/cjs/structuredData-0b1278a9.js.map +1 -0
  76. package/cjs/urlParams-7525f638.js +2 -0
  77. package/cjs/urlParams-7525f638.js.map +1 -0
  78. package/cjs/useEqualSheetHeight-cfd4176e.js +2 -0
  79. package/cjs/useEqualSheetHeight-cfd4176e.js.map +1 -0
  80. package/cjs/useGeolocation-d8946470.js +2 -0
  81. package/cjs/useGeolocation-d8946470.js.map +1 -0
  82. package/cjs/useIE-aef9decc.js +2 -0
  83. package/cjs/useIE-aef9decc.js.map +1 -0
  84. package/cjs/useLazyInput-f71c221b.js +2 -0
  85. package/cjs/useLazyInput-f71c221b.js.map +1 -0
  86. package/cjs/useLeafletMap-2e608b01.js +2 -0
  87. package/cjs/useLeafletMap-2e608b01.js.map +1 -0
  88. package/cjs/useScrollTo-fdd665da.js +2 -0
  89. package/cjs/useScrollTo-fdd665da.js.map +1 -0
  90. package/esm/Actions-3f06c2e9.js +57 -0
  91. package/esm/Actions-3f06c2e9.js.map +1 -0
  92. package/esm/Bdot-fae262fc.js +24 -0
  93. package/esm/Bdot-fae262fc.js.map +1 -0
  94. package/esm/Button-ab1a4e79.js +115 -0
  95. package/esm/Button-ab1a4e79.js.map +1 -0
  96. package/esm/ButtonGhost-5b498dba.js +112 -0
  97. package/esm/ButtonGhost-5b498dba.js.map +1 -0
  98. package/esm/{Callout-03ad4c6e.js → Callout-389fed95.js} +4 -4
  99. package/esm/{Callout-03ad4c6e.js.map → Callout-389fed95.js.map} +1 -1
  100. package/esm/{Checkbox-76c2576b.js → Checkbox-957d8f33.js} +5 -5
  101. package/esm/{Checkbox-76c2576b.js.map → Checkbox-957d8f33.js.map} +1 -1
  102. package/esm/{ClockFilled-cff5900e.js → ClockFilled-6bae80dc.js} +2 -2
  103. package/esm/{ClockFilled-cff5900e.js.map → ClockFilled-6bae80dc.js.map} +1 -1
  104. package/esm/Control-57a287dc.js +52 -0
  105. package/esm/Control-57a287dc.js.map +1 -0
  106. package/esm/{Copy-d2be4fb7.js → Copy-fb124972.js} +4 -4
  107. package/esm/{Copy-d2be4fb7.js.map → Copy-fb124972.js.map} +1 -1
  108. package/esm/EventBlock-0109da13.js +132 -0
  109. package/esm/EventBlock-0109da13.js.map +1 -0
  110. package/esm/{FilterField-b1a28df7.js → FileUpload-4ba0a672.js} +48 -164
  111. package/esm/FileUpload-4ba0a672.js.map +1 -0
  112. package/esm/Filter-fec6dc5c.js +32 -0
  113. package/esm/Filter-fec6dc5c.js.map +1 -0
  114. package/esm/FilterField-03097694.js +129 -0
  115. package/esm/FilterField-03097694.js.map +1 -0
  116. package/esm/{Wrapper-38c912a6.js → Grid-151498da.js} +7 -224
  117. package/esm/Grid-151498da.js.map +1 -0
  118. package/esm/Image-b538f659.js +193 -0
  119. package/esm/Image-b538f659.js.map +1 -0
  120. package/esm/InfoList-616d17fd.js +74 -0
  121. package/esm/InfoList-616d17fd.js.map +1 -0
  122. package/esm/LanguageSwitcher-058e0145.js +70 -0
  123. package/esm/LanguageSwitcher-058e0145.js.map +1 -0
  124. package/esm/{LibThemeProvider-17012395.js → LibThemeProvider-a38c5bf1.js} +3 -3
  125. package/esm/{LibThemeProvider-17012395.js.map → LibThemeProvider-a38c5bf1.js.map} +1 -1
  126. package/esm/{Link-42f0b80f.js → Link-0a1e35d6.js} +3 -3
  127. package/esm/{Link-42f0b80f.js.map → Link-0a1e35d6.js.map} +1 -1
  128. package/esm/{Navigation-fae92776.js → Navigation-13dce48c.js} +10 -9
  129. package/esm/{Navigation-fae92776.js.map → Navigation-13dce48c.js.map} +1 -1
  130. package/esm/POICard-392a2c3a.js +116 -0
  131. package/esm/POICard-392a2c3a.js.map +1 -0
  132. package/esm/Pointer-bc68154f.js +111 -0
  133. package/esm/Pointer-bc68154f.js.map +1 -0
  134. package/esm/SocialList-4396cad9.js +61 -0
  135. package/esm/SocialList-4396cad9.js.map +1 -0
  136. package/esm/TableBlock-26530c71.js +159 -0
  137. package/esm/TableBlock-26530c71.js.map +1 -0
  138. package/esm/Tag-72424779.js +67 -0
  139. package/esm/Tag-72424779.js.map +1 -0
  140. package/esm/VideoBlock-b3f4ae27.js +624 -0
  141. package/esm/VideoBlock-b3f4ae27.js.map +1 -0
  142. package/esm/VideoCard-3fd368ef.js +160 -0
  143. package/esm/VideoCard-3fd368ef.js.map +1 -0
  144. package/esm/Wrapper-29347885.js +224 -0
  145. package/esm/Wrapper-29347885.js.map +1 -0
  146. package/esm/base.js +4 -3
  147. package/esm/base.js.map +1 -1
  148. package/esm/blocks.js +20 -11
  149. package/esm/blocks.js.map +1 -1
  150. package/esm/buttons.js +6 -4
  151. package/esm/buttons.js.map +1 -1
  152. package/esm/cookies.js +9 -8
  153. package/esm/cookies.js.map +1 -1
  154. package/esm/escape-cbff9c25.js +6 -0
  155. package/esm/escape-cbff9c25.js.map +1 -0
  156. package/esm/fields.js +12 -8
  157. package/esm/fields.js.map +1 -1
  158. package/esm/footer.js +301 -0
  159. package/esm/footer.js.map +1 -0
  160. package/esm/hooks.js +14 -9
  161. package/esm/hooks.js.map +1 -1
  162. package/esm/icons.js +1 -1
  163. package/esm/index.js +3 -3
  164. package/esm/{navigation-e135836f.js → navigation-a2998143.js} +2 -2
  165. package/esm/{navigation-e135836f.js.map → navigation-a2998143.js.map} +1 -1
  166. package/esm/navigation.js +12 -10
  167. package/esm/navigation.js.map +1 -1
  168. package/esm/sections.js +2623 -7275
  169. package/esm/sections.js.map +1 -1
  170. package/esm/sections_events.js +573 -0
  171. package/esm/sections_events.js.map +1 -0
  172. package/esm/sections_forms.js +1405 -0
  173. package/esm/sections_forms.js.map +1 -0
  174. package/esm/sections_jobs.js +508 -0
  175. package/esm/sections_jobs.js.map +1 -0
  176. package/esm/sections_news.js +1023 -0
  177. package/esm/sections_news.js.map +1 -0
  178. package/esm/sections_pois.js +719 -0
  179. package/esm/sections_pois.js.map +1 -0
  180. package/esm/{Actions-59bdbbf7.js → statusFormatter-9be0fbff.js} +2 -57
  181. package/esm/statusFormatter-9be0fbff.js.map +1 -0
  182. package/esm/structuredData-87423414.js +117 -0
  183. package/esm/structuredData-87423414.js.map +1 -0
  184. package/esm/{styles-eca3acc8.js → styles-f6c54818.js} +2 -2
  185. package/esm/{styles-eca3acc8.js.map → styles-f6c54818.js.map} +1 -1
  186. package/esm/typography.js +6 -6
  187. package/esm/urlParams-9cfdaf71.js +51 -0
  188. package/esm/urlParams-9cfdaf71.js.map +1 -0
  189. package/esm/{useCookieConsent-cd262961.js → useCookieConsent-8caef116.js} +2 -2
  190. package/esm/{useCookieConsent-cd262961.js.map → useCookieConsent-8caef116.js.map} +1 -1
  191. package/esm/{urlParams-c16d7370.js → useEqualSheetHeight-c18cebd3.js} +4 -116
  192. package/esm/useEqualSheetHeight-c18cebd3.js.map +1 -0
  193. package/esm/useGeolocation-f9f073cc.js +95 -0
  194. package/esm/useGeolocation-f9f073cc.js.map +1 -0
  195. package/esm/useIE-a9c56989.js +15 -0
  196. package/esm/useIE-a9c56989.js.map +1 -0
  197. package/esm/useLazyInput-e66fc5be.js +85 -0
  198. package/esm/useLazyInput-e66fc5be.js.map +1 -0
  199. package/esm/{useGeolocation-c99d76bd.js → useLeafletMap-6dea7a8e.js} +4 -175
  200. package/esm/useLeafletMap-6dea7a8e.js.map +1 -0
  201. package/esm/{useMediaQuery-07eee3f4.js → useMediaQuery-0d473a9c.js} +2 -2
  202. package/esm/{useMediaQuery-07eee3f4.js.map → useMediaQuery-0d473a9c.js.map} +1 -1
  203. package/esm/useScrollTo-70af34bf.js +57 -0
  204. package/esm/useScrollTo-70af34bf.js.map +1 -0
  205. package/footer/package.json +7 -0
  206. package/package.json +2 -1
  207. package/sections/events/package.json +7 -0
  208. package/sections/forms/package.json +7 -0
  209. package/sections/jobs/package.json +7 -0
  210. package/sections/news/package.json +7 -0
  211. package/sections/pois/package.json +7 -0
  212. package/types/footer.d.ts +4 -0
  213. package/types/footer.d.ts.map +1 -0
  214. package/types/sections.d.ts +0 -23
  215. package/types/sections.d.ts.map +1 -1
  216. package/types/sections_events.d.ts +4 -0
  217. package/types/sections_events.d.ts.map +1 -0
  218. package/types/sections_forms.d.ts +3 -0
  219. package/types/sections_forms.d.ts.map +1 -0
  220. package/types/sections_jobs.d.ts +3 -0
  221. package/types/sections_jobs.d.ts.map +1 -0
  222. package/types/sections_news.d.ts +10 -0
  223. package/types/sections_news.d.ts.map +1 -0
  224. package/types/sections_pois.d.ts +4 -0
  225. package/types/sections_pois.d.ts.map +1 -0
  226. package/cjs/Actions-487104b2.js +0 -2
  227. package/cjs/Actions-487104b2.js.map +0 -1
  228. package/cjs/Bdot-760e0e3a.js +0 -2
  229. package/cjs/Bdot-760e0e3a.js.map +0 -1
  230. package/cjs/ButtonGhost-e9644acd.js +0 -2
  231. package/cjs/ButtonGhost-e9644acd.js.map +0 -1
  232. package/cjs/Control-23259241.js +0 -2
  233. package/cjs/Control-23259241.js.map +0 -1
  234. package/cjs/FilterField-569d60e5.js +0 -2
  235. package/cjs/FilterField-569d60e5.js.map +0 -1
  236. package/cjs/Navigation-ebb27a9b.js +0 -2
  237. package/cjs/SocialList-79ddf9d6.js +0 -2
  238. package/cjs/SocialList-79ddf9d6.js.map +0 -1
  239. package/cjs/Wrapper-3b9c9e89.js +0 -2
  240. package/cjs/Wrapper-3b9c9e89.js.map +0 -1
  241. package/cjs/urlParams-51ce7168.js +0 -2
  242. package/cjs/urlParams-51ce7168.js.map +0 -1
  243. package/cjs/useGeolocation-4d38150b.js +0 -2
  244. package/cjs/useGeolocation-4d38150b.js.map +0 -1
  245. package/esm/Actions-59bdbbf7.js.map +0 -1
  246. package/esm/Bdot-a103eeef.js +0 -1141
  247. package/esm/Bdot-a103eeef.js.map +0 -1
  248. package/esm/ButtonGhost-422fd723.js +0 -220
  249. package/esm/ButtonGhost-422fd723.js.map +0 -1
  250. package/esm/Control-52ff8784.js +0 -157
  251. package/esm/Control-52ff8784.js.map +0 -1
  252. package/esm/FilterField-b1a28df7.js.map +0 -1
  253. package/esm/SocialList-385cde53.js +0 -307
  254. package/esm/SocialList-385cde53.js.map +0 -1
  255. package/esm/Wrapper-38c912a6.js.map +0 -1
  256. package/esm/urlParams-c16d7370.js.map +0 -1
  257. package/esm/useGeolocation-c99d76bd.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sources":["../src/utils/filters.ts","../src/utils/structuredData.tsx","../src/components/sections/Accordion.tsx","../src/components/blocks/Alert.tsx","../src/components/sections/AlertList.tsx","../src/components/sections/Article.tsx","../src/components/sections/CallToAction.tsx","../src/components/sections/CardList.tsx","../src/components/sections/ComparisonSlider.tsx","../src/components/blocks/PromotionCard.tsx","../src/components/sections/CrossPromotion.tsx","../src/components/sections/form/renderer/locationRenderer.tsx","../src/components/sections/form/renderer/datepickerRenderer.tsx","../src/components/sections/form/renderer/fieldGroupRenderer.tsx","../src/components/sections/form/renderer/areaRenderer.tsx","../src/components/sections/form/renderer/fieldRenderer.tsx","../src/components/sections/form/renderer/selectRenderer.tsx","../src/components/sections/form/renderer/uploadRenderer.tsx","../src/components/sections/form/validators/fieldValidator.ts","../src/components/sections/form/validators/areaValidator.ts","../src/components/sections/form/validators/selectValidator.ts","../src/components/sections/form/validators/datepickerValidator.ts","../src/components/sections/form/validators/locationValidator.ts","../src/components/sections/form/validators/fieldGroupValidator.ts","../src/components/sections/form/validators/uploadValidator.ts","../src/components/sections/form/DynamicForm.tsx","../src/components/sections/NewsletterForm.tsx","../src/components/base/icons/Filter.tsx","../src/components/sections/events/EventOverview.tsx","../src/components/sections/events/EventList.tsx","../src/components/sections/events/EventDetail.tsx","../src/components/blocks/Fact.tsx","../src/components/sections/FactGrid.tsx","../src/components/sections/FactList.tsx","../src/components/blocks/Feature.tsx","../src/components/sections/FeatureList.tsx","../src/components/sections/Gallery.tsx","../src/components/sections/header/Header.tsx","../src/components/sections/IconList.tsx","../src/components/sections/IndexList.tsx","../src/components/sections/Intro.tsx","../src/components/sections/Map.tsx","../src/components/blocks/NavBlock.tsx","../src/components/sections/NavList.tsx","../src/components/sections/news/NewsAuthorCard.tsx","../src/components/blocks/NewsCard.tsx","../src/components/sections/news/NewsOverview.tsx","../src/components/sections/news/NewsFooter.tsx","../src/components/sections/news/NewsImages.tsx","../src/components/sections/news/NewsIntro.tsx","../src/components/sections/news/NewsList.tsx","../src/components/sections/news/NewsTable.tsx","../src/components/sections/news/NewsText.tsx","../src/components/blocks/VideoCard.tsx","../src/components/sections/news/NewsVideo.tsx","../src/components/sections/NumberList.tsx","../src/components/sections/ParallaxBackground.tsx","../src/components/sections/Poster.tsx","../src/components/sections/PriceList.tsx","../src/components/blocks/PriceTag.tsx","../src/components/sections/PriceTable.tsx","../src/components/sections/Quote.tsx","../src/components/sections/SimpleImage.tsx","../src/components/sections/SocialWall.tsx","../src/components/sections/Table.tsx","../src/components/sections/Teaser.tsx","../src/components/sections/TeaserWide.tsx","../src/components/sections/Timeline.tsx","../src/components/sections/Video.tsx","../src/components/sections/RawVideo.tsx","../src/components/blocks/JobCard.tsx","../src/utils/escape.ts","../src/components/sections/jobs/JobList.tsx","../src/components/sections/jobs/JobArticle.tsx","../src/components/sections/pois/PointOfInterestDetail.tsx","../src/components/sections/pois/PointOfInterestOverview.tsx","../src/components/sections/pois/PointOfInterestMap.tsx","../src/components/sections/footer/skeletons/FooterBottomGrid.tsx","../src/components/sections/footer/partials/FooterBottomBar.tsx","../src/components/sections/footer/Footer.tsx","../src/components/sections/footer/skeletons/FooterArticle.tsx","../src/components/sections/footer/partials/FooterColumn.tsx"],"sourcesContent":["export const distinct = <T>(value: T, index: number, array: T[]) => {\n return array.indexOf(value) === index;\n};\n","import React from 'react';\nimport { JsonLd } from 'react-schemaorg';\nimport { MapLocation } from 'components/sections/Map';\nimport { FAQPage, JobPosting, LocalBusiness, Place } from 'schema-dts';\nimport { OrganizationData } from 'components/sections/jobs/JobArticle';\nimport { distinct } from './filters';\nimport { JobLocation } from 'components/blocks/JobCard';\n\nexport const generateLocalBusiness = (locations: MapLocation[]) => {\n return locations?.map(\n ({ position, address, contact, companyName, image }, i) => {\n if (!companyName) return '';\n return (\n <JsonLd<LocalBusiness>\n key={i}\n item={{\n '@context': 'https://schema.org',\n '@type': 'LocalBusiness',\n name: companyName,\n\n geo: {\n '@type': 'GeoCoordinates',\n name: 'Coordinates',\n latitude: position[0],\n longitude: position[1],\n },\n\n address: {\n '@type': 'PostalAddress',\n streetAddress: address?.street,\n addressLocality: address?.city,\n addressRegion: address?.city,\n postalCode: address?.postalCode,\n addressCountry: address?.country,\n },\n\n image: image || [],\n\n telephone: `${contact?.telephone?.label}`,\n\n email: `${contact?.email?.label}`,\n }}\n />\n );\n }\n );\n};\n\nexport const generateFAQ = (\n items: {\n label?: string;\n text?: string;\n aside?: string;\n hasColumns?: boolean;\n }[]\n) => {\n return (\n <JsonLd<FAQPage>\n item={{\n '@context': 'https://schema.org',\n '@type': 'FAQPage',\n mainEntity: items.map(({ label, text }) => {\n return {\n '@type': 'Question',\n name: label,\n acceptedAnswer: {\n '@type': 'Answer',\n text: text,\n },\n };\n }),\n }}\n />\n );\n};\n\nexport type StructuredEmploymentType =\n | 'FULL_TIME'\n | 'PART_TIME'\n | 'CONTRACTOR'\n | 'TEMPORARY'\n | 'INTERN'\n | 'VOLUNTEER'\n | 'PER_DIEM'\n | 'OTHER';\n\nexport const generateJob = ({\n jobTitle,\n jobDesc,\n organization,\n directApply,\n locations,\n employmentTypes,\n datePosted,\n}: {\n jobTitle: string;\n jobDesc?: string;\n organization?: OrganizationData;\n directApply?: boolean;\n locations?: JobLocation[];\n employmentTypes?: StructuredEmploymentType[];\n datePosted?: Date;\n}) => {\n return (\n <JsonLd<JobPosting>\n item={{\n '@context': 'https://schema.org',\n '@type': 'JobPosting',\n title: jobTitle,\n description: jobDesc,\n datePosted: datePosted?.toISOString(),\n employmentType: employmentTypes?.filter(distinct),\n hiringOrganization: {\n '@type': 'Organization',\n name: organization?.name,\n url: organization?.url\n ? encodeURIComponent(organization?.url)\n : '',\n logo: organization?.logo,\n telephone: organization?.telephone,\n email: organization?.email,\n address: organization?.address?.streetAddress\n ? {\n '@type': 'PostalAddress',\n streetAddress:\n organization?.address?.streetAddress,\n addressLocality:\n organization?.address?.addressLocality,\n postalCode: organization?.address?.postalCode,\n addressCountry:\n organization?.address?.addressCountry,\n }\n : undefined,\n },\n jobLocation: locations?.map<Place>((loc) => ({\n '@type': 'Place',\n address: {\n '@type': 'PostalAddress',\n addressLocality: loc.addressLocality || loc.name,\n streetAddress: loc.streetAddress,\n addressRegion: loc.addressRegion,\n postalCode: loc.postalCode,\n addressCountry: loc.addressCountry,\n },\n })),\n directApply: directApply,\n }}\n />\n );\n};\n","import Plus from 'components/base/icons/Plus';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Minus from 'components/base/icons/Minus';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateFAQ } from 'utils/structuredData';\nimport Grid, { gridSettings } from 'components/base/Grid';\n\nconst AccordionContainer = styled.div`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst View = styled.details``;\n\nconst AccordionHead = styled.summary<{\n isInverted?: boolean;\n hasBg?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: ${spacings.nudge * 2}px;\n margin: 0;\n border: none;\n outline: none;\n background: none;\n user-select: none;\n list-style: none;\n\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n cursor: pointer;\n transition: background 0.2s ease-in-out;\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &::marker {\n display: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n }\n\n &:focus {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Column = styled(Copy)`\n flex: 1 1 0;\n`;\n\nconst AccordionText = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n hasAside?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n padding: ${spacings.nudge * 2}px;\n margin-top: 2px;\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n & > * {\n max-width: 880px;\n }\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\ninterface AccordionItem {\n label?: string;\n text?: string;\n aside?: string;\n}\n\nconst AccordionBlock: React.FC<\n AccordionItem & {\n isSelected?: boolean;\n onClick?: () => void;\n isInverted?: boolean;\n hasBg?: boolean;\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n className?: string;\n }\n> = ({\n label,\n text,\n aside,\n isSelected,\n onClick,\n hasBg,\n isInverted,\n itemIcon,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <View open={isSelected} onToggle={onClick} className={className}>\n <AccordionHead isInverted={isInverted} hasBg={hasBg}>\n <Copy renderAs=\"span\" size=\"big\" type=\"copy-b\">\n {label}\n </Copy>\n <span>\n {itemIcon ? (\n itemIcon({ isSelected: isSelected || false })\n ) : isSelected ? (\n <Minus iconColor={colors.text.default} />\n ) : (\n <Plus iconColor={colors.text.default} />\n )}\n </span>\n </AccordionHead>\n <AccordionText\n isInverted={isInverted}\n hasBg={hasBg}\n hasAside={!!aside}\n >\n {text && <Column type=\"copy\" innerHTML={text} />}\n {aside && <Column type=\"copy\" innerHTML={aside} />}\n </AccordionText>\n </View>\n );\n};\n\nconst Accordion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of accordion items */\n items?: AccordionItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom item state icon */\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, itemIcon }) => {\n const [currentItems, setCurrentItems] = React.useState<number[]>([]);\n\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {items && generateFAQ(items)}\n <Wrapper addWhitespace>\n <Grid.Row gutter={0}>\n <Grid.Col>\n <AccordionContainer aria-label=\"Accordion Control Group Buttons\">\n {items?.map(({ label, text, aside }, i) => {\n const isSelected =\n currentItems.indexOf(i) !== -1;\n return (\n <AccordionBlock\n key={`${label}_${i}`}\n isSelected={isSelected}\n label={label}\n text={text}\n aside={aside}\n onClick={() => {\n setCurrentItems((prev) => {\n const copy = [...prev];\n const index = copy.indexOf(i);\n if (index === -1) {\n copy.push(i);\n } else {\n copy.splice(index, 1);\n }\n return copy;\n });\n }}\n isInverted={isInverted}\n hasBg={hasBg}\n itemIcon={itemIcon}\n />\n );\n })}\n </AccordionContainer>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AccordionComponent = Accordion;\nexport default withLibTheme(Accordion);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport StatusFormatter from '../../utils/statusFormatter';\nimport Info from '../base/icons/Info';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n text-decoration: none;\n\n position: relative;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n padding: ${spacings.nudge * 3}px;\n\n text-align: left;\n width: 100%;\n cursor: pointer;\n\n transition: color ease-in-out 0.2s, border 0.2s ease-in-out;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst Content = styled.div`\n margin-top: ${spacings.nudge}px;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst ViewLink = styled(Link)`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n\n &:focus-within {\n outline: dotted 2px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nexport interface AlertProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Alert title text */\n title?: string;\n\n /** Alert date */\n date?: Date;\n\n /** Additional description text (richtext) */\n description?: string;\n\n /** Alert link that covers hole element */\n link?: LinkProps;\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Alert: React.FC<AlertProps & { className?: string }> = ({\n isInverted,\n title,\n date,\n description,\n link,\n customIcon,\n className,\n}) => {\n let formattedDate = '';\n if (date) {\n const formatter = new StatusFormatter(\n date.getTime(),\n '',\n 'dd. MMMM yyyy',\n 'hh:mm',\n 'de'\n );\n formattedDate = formatter.getFormattedDate();\n }\n\n return (\n <View isInverted={isInverted} data-sheet=\"alert\" className={className}>\n <Icon>{customIcon ? customIcon({ isInverted }) : <Info />}</Icon>\n <MainLabel>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n </Title>\n )}\n </MainLabel>\n <span />\n <Content>\n {description && (\n <Copy\n isInverted={isInverted}\n size=\"small\"\n innerHTML={description}\n />\n )}\n {date && (\n <Copy size=\"small\" isInverted={isInverted}>\n {formattedDate}\n </Copy>\n )}\n </Content>\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? title : undefined}\n />\n )}\n </View>\n );\n};\n\nexport default Alert;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Alert, { AlertProps } from '../blocks/Alert';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\n\nconst List = styled.ul`\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst ListItem = styled.li<{ itemsPerRow: number }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n flex: 1 1 100%;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 ${({ itemsPerRow }) => (1 / itemsPerRow) * 100}%;\n max-width: 600px;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n`;\n\nconst AlertList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of alert items */\n items?: Pick<AlertProps, 'title' | 'date' | 'description' | 'link'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const alertCount = items?.length || 0;\n const itemsPerRow = alertCount % 3 === 1 || alertCount === 2 ? 2 : 3;\n\n const { sheetRefs: alertRefs } = useEqualSheetHeight<HTMLLIElement>({\n listLength: alertCount,\n identifiers: ['[data-sheet=\"alert\"]'],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: itemsPerRow,\n xlarge: itemsPerRow,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem\n key={i}\n itemsPerRow={itemsPerRow}\n ref={alertRefs[i]}\n >\n <Alert\n {...item}\n isInverted={isInverted}\n customIcon={customIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AlertListComponent = AlertList;\nexport default withLibTheme(AlertList);\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Title, { TitleSize } from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings, mq } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\n\nconst StyledTitle = styled(Title)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 880px;\n }\n`;\n\nconst ContentText = styled(Copy)`\n text-align: left;\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Article: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Main title size */\n titleSize?: TitleSize;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold intro text underneath the title (limited richtext capabilites) */\n intro?: string;\n /** Main article richtext */\n text?: string;\n /** Additional article richtext in a second column */\n asideText?: string;\n /** Controls width of left text column (8/12 or 6/12) */\n halfAside?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n intro,\n text,\n asideText,\n halfAside,\n bgMode,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasContent = intro || text || asideText;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {(title || superTitle) && (\n <StyledTitle\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n )}\n {hasContent && (\n <Grid.Row valign=\"top\">\n <Grid.Col\n semilarge={{ span: halfAside ? 6 / 12 : 8 / 12 }}\n >\n {intro && (\n <ContentText\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {asideText && (\n <Grid.Col\n semilarge={{\n span: halfAside ? 6 / 12 : 4 / 12,\n }}\n >\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={asideText}\n />\n </Grid.Col>\n )}\n </Grid.Row>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ArticleComponent = Article;\nexport default withLibTheme(Article);\n","import React, { FC, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport {\n getColors as color,\n getGlobals as global,\n mq,\n spacings,\n} from 'utils/styles';\nimport Copy from 'components/typography/Copy';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport Actions from 'components/blocks/Actions';\nimport { withLibTheme } from 'utils/LibThemeProvider';\nimport { gridSettings, getGridWidth } from 'components/base/Grid';\n\nconst ContactView = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 0 auto;\n width: 100%;\n\n text-align: left;\n hyphens: auto;\n overflow-wrap: break-word;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\nconst Avatar = styled.img<{ isInverted?: boolean }>`\n align-self: center;\n display: block;\n border: solid 1px transparent;\n border-radius: 50%;\n width: 180px;\n height: 180px;\n\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n @media ${mq.semilarge} {\n display: block;\n width: 190px;\n height: 190px;\n }\n`;\n\nconst Description = styled(Copy)`\n text-align: center;\n\n .icon-label {\n flex-direction: column;\n }\n\n .icon-label > * + * {\n margin-left: 0;\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * {\n justify-content: center;\n }\n\n @media ${mq.semilarge} {\n text-align: left;\n\n & > * {\n justify-content: left;\n }\n\n .icon-label {\n flex-direction: row;\n }\n\n .icon-label > * + * {\n margin-left: ${spacings.nudge * 2}px;\n margin-top: 0;\n }\n }\n`;\n\nexport interface ContactBoxProps {\n isInverted?: boolean;\n description?: string;\n avatar?: { src: string; alt: string };\n}\n\nconst ContactBox: FC<ContactBoxProps & { className?: string }> = ({\n isInverted,\n description,\n avatar,\n className,\n}) => {\n return (\n <ContactView className={className}>\n <Avatar\n src={avatar?.src}\n alt={avatar?.alt}\n isInverted={isInverted}\n />\n {description && (\n <Description\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={description}\n />\n )}\n </ContactView>\n );\n};\n\nconst StyledIntro = styled(IntroBlock)<{ hasDecorator?: boolean }>`\n max-width: 880px;\n margin-right: auto;\n margin-left: auto;\n\n @media ${mq.xlarge} {\n & > *:first-child {\n min-height: ${({ hasDecorator }) => hasDecorator && '110px'};\n }\n }\n`;\n\nconst StyledContactBox = styled(ContactBox)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: ${getGridWidth({ cols: 8 })};\n margin-right: auto;\n margin-left: auto;\n }\n\n @media ${mq.large} {\n max-width: ${getGridWidth({ cols: 6 })};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: center;\n }\n`;\n\nconst NewsletterWrapper = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: 400px;\n }\n`;\n\nconst Badge = styled.div`\n display: none;\n position: relative;\n height: 241px;\n width: 241px;\n margin-left: auto;\n margin-bottom: -135px;\n z-index: 3;\n\n @media ${mq.xlarge} {\n display: block;\n margin-right: ${1440 * (1 / 28) + 'px'};\n }\n`;\n\nexport const CallToAction: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold text underneath the title (limited richtext capabilites) */\n text?: string;\n /** Props for contact area */\n contact?: ContactBoxProps;\n /** Show Newsletter defined by inject function newsFormMain. Only visible if React node is defined! */\n hasNewsletter?: boolean;\n /** Badge decorator visible only on large screens */\n badge?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject newsletter form */\n newsFormMain?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n superTitle,\n superTitleAs,\n text,\n contact,\n badge,\n primaryAction,\n secondaryAction,\n hasNewsletter,\n newsFormMain,\n bgMode,\n}) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : color(theme).sectionBg.medium\n }\n bgMode={bgMode ? mapToBgMode(bgMode, true) : 'full'}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n {badge && <Badge>{badge}</Badge>}\n {title && (\n <StyledIntro\n isCentered\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n hasDecorator={!!badge}\n text={text}\n />\n )}\n\n {contact && (\n <StyledContactBox\n isInverted={isInverted}\n description={contact.description}\n avatar={contact.avatar}\n />\n )}\n {newsFormMain && hasNewsletter && (\n <NewsletterWrapper>\n {newsFormMain(isInverted)}\n </NewsletterWrapper>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CallToActionComponent = CallToAction;\nexport default withLibTheme(CallToAction);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport {\n spacings,\n getColors as color,\n mq,\n getGlobals as global,\n} from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n cardColor?: string;\n hasLink?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n position: relative;\n color: ${({ theme }) => color(theme).text.inverted};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n min-height: 110px;\n\n overflow: hidden;\n\n @media ${mq.medium} {\n display: block;\n padding-top: 85%;\n }\n`;\n\nconst SolidView = styled(View)`\n background-color: ${({ theme, isInverted, cardColor }) =>\n cardColor\n ? cardColor\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n }\n `}\n`;\n\nconst ImageView = styled(View)`\n transition: box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n @media (hover: hover) and (pointer: fine) {\n cursor: pointer;\n\n img {\n -webkit-backface-visibility: hidden;\n -ms-transform: translateZ(0); /* IE 9 */\n -webkit-transform: translateZ(\n 0\n ); /* Chrome, Safari, Opera */\n transform: translateZ(0);\n transform-origin: center;\n transition: transform 0.2s ease-in-out;\n }\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n\n img {\n transform: scale(1.03);\n }\n }\n }\n `}\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n @media ${mq.medium} {\n padding-top: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n display: block;\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n object-position: center;\n\n @media ${mq.medium} {\n position: relative;\n }\n`;\n\nconst Content = styled.div<{ hasIcon?: boolean }>`\n z-index: 1;\n\n padding: ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n\n display: flex;\n flex-direction: ${({ hasIcon }) => (hasIcon ? 'column' : 'row')};\n justify-content: space-between;\n align-items: ${({ hasIcon }) => (hasIcon ? 'flex-start' : 'flex-end')};\n\n & > * + * {\n margin-left: 0;\n }\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n overflow: hidden;\n\n & > * + * {\n margin-top: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n max-width: 100%;\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nconst Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst SubLabel = styled(Copy)`\n display: inline-block;\n\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n`;\n\nconst Icon = styled.div`\n height: 100%;\n max-height: 60px;\n min-height: 40px;\n min-width: 40px;\n\n * {\n height: 100%;\n }\n\n svg,\n img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n svg,\n img {\n width: auto;\n }\n }\n`;\n\nconst CardLink = styled(Link)<{ isInverted?: boolean }>`\n z-index: 1;\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n outline-color: ${({ theme }) => color(theme).primary.default};\n\n &:focus {\n border: 2px dotted ${({ theme }) => color(theme).primary.invertedHover};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n`;\n\nexport interface CardProps {\n isInverted?: boolean;\n title?: string;\n subLabel?: string;\n image?: ImageProps;\n link?: LinkProps;\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n cardColor?: string;\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Card: React.FC<\n Omit<CardProps, 'coverSpace' | 'ratios'> & {\n className?: string;\n }\n> = ({\n isInverted,\n title,\n subLabel,\n image,\n link,\n decorator,\n cardColor,\n customIcon,\n}) => {\n const { colors } = useLibTheme();\n const CardView = image && image.small ? ImageView : SolidView;\n const defaultCardColor = isInverted\n ? colors.primary.inverted\n : colors.primary.default;\n\n return (\n <CardView\n isInverted={isInverted}\n cardColor={cardColor || defaultCardColor}\n hasLink={!!link?.href}\n >\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n ratios={{\n small: { w: 352, h: 108 },\n medium: { w: 286, h: 244 },\n }}\n />\n )}\n <Content hasIcon={!!customIcon}>\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <TextContainer>\n {title && (\n <Title size=\"big\" type=\"copy\" isInverted>\n {title}\n </Title>\n )}\n {subLabel && (\n <Footer>\n <SubLabel type=\"copy-b\" size=\"big\" isInverted>\n {subLabel}\n </SubLabel>\n {decorator ? decorator({ isInverted }) : undefined}\n </Footer>\n )}\n </TextContainer>\n </Content>\n {link?.href && (\n <CardLink\n isInverted={isInverted}\n {...link}\n ariaLabel={title || undefined}\n />\n )}\n </CardView>\n );\n};\n\nconst List = styled.ul`\n padding: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst CardItem = styled.li<{ isEqual?: boolean; threeCols?: boolean }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n width: 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 370px;\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex: 0 0 33.33%;\n }\n\n @media (min-width: 75em) {\n flex: ${({ isEqual, threeCols }) =>\n threeCols ? '0 0 33.33%' : isEqual && '0 0 25%'};\n }\n`;\n\nconst CardList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with card item settings */\n items?: Omit<CardProps, 'decorator' | 'isInverted'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom decoration icon */\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Force maximal three items per row */\n maxThreeCols?: boolean;\n}> = ({ anchorId, items, bgMode, decorator, maxThreeCols }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <CardItem\n key={i}\n isEqual={items.length % 2 === 0}\n threeCols={maxThreeCols}\n >\n <Card\n {...item}\n isInverted={isInverted}\n decorator={decorator}\n />\n </CardItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const CardListComponent = CardList;\nexport default withLibTheme(CardList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors as color, spacings } from 'utils/styles';\nimport ArrowLeftRight from 'components/base/icons/ArrowLeftRight';\nimport Copy from 'components/typography/Copy';\nimport useIE from 'utils/useIE';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst clamp = (num: number, min: number, max: number) => {\n return Math.min(Math.max(num, min), max);\n};\n\nconst Images = styled.div`\n position: relative;\n cursor: col-resize;\n & > * {\n pointer-events: none;\n user-select: none;\n }\n`;\n\nconst BackgroundImg = styled(Image)`\n position: relative;\n display: block;\n width: 100%;\n`;\n\nconst ForegroundContainer = styled.div<{\n hasTransition?: boolean;\n initalValue?: number;\n hasAnim?: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 50%;\n overflow: hidden;\n transition: width ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ForegroundAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ForegroundAnim {\n 0% {\n width: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n width: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n width: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n width: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst ForegroundImg = styled(Image)`\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n max-width: none;\n object-fit: cover;\n\n img {\n height: auto;\n width: auto;\n }\n`;\n\nconst ForegroundOverlay = styled.div<{ color: string }>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: ${({ color }) => color};\n`;\n\nconst ImageLabel = styled(Copy)<{ bgColor?: string }>`\n height: ${spacings.spacer}px;\n padding: ${spacings.nudge}px ${spacings.spacer}px ${spacings.spacer}px\n ${spacings.spacer}px;\n background: ${({ bgColor }) => bgColor && bgColor};\n`;\n\nconst ForegroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n left: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst BackgroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n right: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst ControlContainer = styled.div<{\n hasTransition?: boolean;\n hasAnim?: boolean;\n initalValue?: number;\n}>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n transition: left ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ControlAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ControlAnim {\n 0% {\n left: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n left: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n left: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n left: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst Control = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 54px;\n width: 54px;\n border: solid 2px ${({ theme }) => color(theme).elementBg.light};\n border-radius: 50%;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n`;\n\nconst ComparisonSlider: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgMode?: 'full' | 'inverted' | 'splitted';\n initialValue?: number;\n foregroundImg?: ImageProps;\n backgroundImg?: ImageProps;\n foregroundLabel?: string;\n backgroundLabel?: string;\n overlayColor?: string;\n labelColor?: string;\n dragControl?: React.ReactNode;\n enableControlAnim?: boolean;\n}> = ({\n anchorId,\n bgMode,\n initialValue,\n foregroundImg,\n backgroundImg,\n foregroundLabel,\n backgroundLabel,\n overlayColor = 'rgba(0, 0 , 0, 0.2)',\n labelColor = 'rgba(0, 0 , 0, 0.3)',\n dragControl,\n enableControlAnim,\n}) => {\n const isIE = useIE(true);\n const [slideValue, setSlideValue] = useState<number>(\n initialValue ? Math.min(Math.max(initialValue, 0), 1) : 0.5\n );\n const [isHolding, setIsHolding] = useState<boolean>(false);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [interacted, setInteracted] = useState<boolean>(true);\n const [sideOffset, setSideOffset] = useState<number>(0);\n const controlRef = useRef<HTMLDivElement | null>(null);\n const { colors } = useLibTheme();\n\n useEffect(() => {\n if (controlRef.current) {\n setSideOffset(controlRef.current.offsetWidth / 2);\n }\n }, []);\n\n useEffect(() => {\n const handleInitalLoad = () => {\n const options = {\n rootMargin: '0px',\n threshold: 1.0,\n };\n\n const observer = new IntersectionObserver((entries, observer) => {\n if (enableControlAnim && entries[0]?.isIntersecting) {\n // if control is first fully visible\n observer.unobserve(entries[0]?.target);\n setInteracted(false);\n }\n }, options);\n if (controlRef.current) observer.observe(controlRef.current);\n window.removeEventListener('load', handleInitalLoad);\n };\n\n // wait unitl user has scrolled once\n if (!isIE) {\n if (document.readyState === 'complete') handleInitalLoad();\n else window.addEventListener('load', handleInitalLoad);\n }\n\n return () => {\n window.removeEventListener('load', handleInitalLoad);\n };\n }, [enableControlAnim, isIE]);\n\n const setCurrentPos = (target: EventTarget & Element, clientX: number) => {\n if (target && clientX) {\n const relativeClientX = clientX - target.getBoundingClientRect().x;\n\n // check side offset\n if (\n relativeClientX >= sideOffset &&\n relativeClientX <=\n target.getBoundingClientRect().width - sideOffset\n ) {\n let percentage =\n relativeClientX / target.getBoundingClientRect().width;\n percentage = Math.min(Math.max(percentage, 0), 1);\n\n setSlideValue(percentage);\n }\n }\n };\n\n const handleClick = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX) {\n setCurrentPos(target, ev.clientX);\n setInteracted(true);\n }\n };\n\n const handleMouseMove = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX && isHolding) {\n setIsDragging(true);\n setInteracted(true);\n if (isDragging) setCurrentPos(target, ev.clientX);\n }\n };\n\n const handleTouchMove = (ev: React.TouchEvent<HTMLDivElement>) => {\n const target = ev.currentTarget;\n if (target && ev.touches[0]?.clientX) {\n setInteracted(true);\n setCurrentPos(target, ev.touches[0]?.clientX);\n }\n };\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper>\n {backgroundImg && foregroundImg && (\n <Images\n onClick={handleClick}\n onMouseMove={handleMouseMove}\n onMouseDown={() => {\n setIsDragging(false);\n setIsHolding(true);\n }}\n onMouseUp={() => {\n setIsDragging(false);\n setIsHolding(false);\n }}\n onMouseLeave={() => {\n setIsHolding(false);\n setIsDragging(false);\n }}\n onTouchMove={handleTouchMove}\n onTouchStart={() => setIsHolding(true)}\n onTouchEnd={() => setIsHolding(false)}\n >\n <BackgroundImg {...backgroundImg} />\n {backgroundLabel && (\n <BackgroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {backgroundLabel}\n </BackgroundLabel>\n )}\n <ForegroundContainer\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ width: slideValue * 100 + '%' }}\n >\n <ForegroundImg {...foregroundImg} />\n {foregroundLabel && (\n <ForegroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {foregroundLabel}\n </ForegroundLabel>\n )}\n <ForegroundOverlay color={overlayColor} />\n </ForegroundContainer>\n <ControlContainer\n ref={controlRef}\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ left: slideValue * 100 + '%' }}\n >\n {dragControl ? (\n dragControl\n ) : (\n <Control>\n <ArrowLeftRight\n iconColor={colors.elementBg.light}\n />\n </Control>\n )}\n </ControlContainer>\n </Images>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ComparisonSliderComponent = ComparisonSlider;\nexport default withLibTheme(ComparisonSlider);\n","import React, { forwardRef } from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport styled, { css } from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n mq,\n withRange,\n getColors as color,\n} from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Title from 'components/blocks/Title';\nimport External from 'components/base/icons/External';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nconst View = styled(Link)<{\n clickable?: boolean;\n}>`\n display: block;\n position: relative;\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n outline: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n ${({ clickable, theme, isInverted }) =>\n clickable &&\n css`\n transition: box-shadow 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n\n &:focus {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n outline: solid 2px\n ${isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n `}\n`;\n\nconst StyledImage = styled(Image)`\n width: 100%;\n height: 100%;\n min-height: 300px;\n\n img {\n height: 100%;\n }\n`;\n\nconst IntroContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 1;\n\n padding: ${spacings.spacer}px ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n\n /* required to align items at flex-end in ie11 */\n &:before {\n content: '';\n display: block;\n flex: 1 0 0px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 5}px ${spacings.spacer}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapper + 'px'};\n`;\n\nconst ExternalIconHolder = styled.span`\n margin-left: ${spacings.nudge * 2}px;\n\n & > * {\n display: inline-block;\n }\n`;\n\nconst Icon = styled.div`\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n\n position: absolute;\n top: ${spacings.nudge * 3}px;\n left: ${spacings.nudge * 3}px;\n\n & > * {\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n }\n\n color: ${({ theme }) => color(theme).text.inverted};\n`;\n\nexport interface PromotionCardProps {\n /** Setup Card for dark backgrounds */\n isInverted?: boolean;\n /** Card image settings */\n image: ImageProps;\n /** Card title */\n title?: string;\n /** Card title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior card title that stands above main title */\n superTitle?: string;\n /** Superior card title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Href path */\n href?: string;\n /** Advanced href options */\n link?: LinkProps;\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n\n /** Function to inject icon in top left corner */\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst PromotionCard = forwardRef<\n HTMLAnchorElement,\n PromotionCardProps & { className?: string }\n>(\n (\n {\n isInverted,\n image,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n href,\n link,\n externalLinkIcon,\n icon,\n className,\n },\n ref\n ) => {\n // fallback for older versions\n let linkObj = link;\n if (href && !link) {\n linkObj = {\n href: href,\n isExternal: false,\n };\n }\n\n const externalIconString = ReactDOMServer.renderToString(\n <ExternalIconHolder>\n {externalLinkIcon || <External />}\n </ExternalIconHolder>\n );\n\n return (\n <View\n ref={ref}\n clickable={!!href || !!link}\n {...linkObj}\n className={className}\n >\n <StyledImage {...image} isInverted={isInverted} coverSpace />\n {icon && <Icon>{icon({ isInverted })}</Icon>}\n {title && (\n <IntroContainer>\n <StyledTitle\n colorMode=\"onImage\"\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n title={\n linkObj?.isExternal\n ? title + externalIconString\n : title\n }\n titleAs={titleAs || 'div'}\n clampTitle\n />\n </IntroContainer>\n )}\n </View>\n );\n }\n);\n\nPromotionCard.displayName = 'PromotionCard';\n\nexport default PromotionCard;\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Grid, { gridSettings } from 'components/base/Grid';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport PromotionCard, {\n PromotionCardProps,\n} from 'components/blocks/PromotionCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Card = styled(PromotionCard)<{ isMain?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n\n height: ${({ isMain }) => isMain && '100%'};\n\n flex: 1 0 auto;\n\n & + & {\n margin-top: ${gridSettings.gutter}px;\n }\n`;\n\nconst CrossPromotion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Promotion card settings in main grid column (default: on right side). The size prop controls the width. */\n main?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Promotion card settings in second grid column (default: on left side). The size prop controls the width. */\n aside?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Switching order of main and aside columns */\n isMirrored?: boolean;\n\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n}> = ({ anchorId, main, aside, bgMode, isMirrored, externalLinkIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {aside ? (\n isMirrored ? (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n ) : (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n )\n ) : (\n main && (\n <Grid.Row>\n {main.map((card, i) => (\n <Grid.Col\n semilarge={{\n span:\n (card.size === 'half' ? 6 : 12) /\n 12,\n }}\n key={i}\n >\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n )\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CrossPromotionComponent = CrossPromotion;\nexport default withLibTheme(CrossPromotion);\n","import React from 'react';\n\nimport LocationField, { LocationData } from 'components/fields/LocationField';\nimport { FieldGenerationProps } from '../DynamicForm';\nimport { Location } from '../DynamicForm';\n\nconst renderLocationField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<Location>) => {\n const locationData = value as LocationData;\n const mappedData = {\n ...locationData,\n position:\n !locationData?.position?.[0] && !locationData?.position?.[1]\n ? undefined\n : locationData.position,\n };\n\n const handleChange = (location: LocationData) => {\n setField({\n key,\n value: { ...location },\n shouldValidate: true,\n });\n };\n\n return (\n <LocationField\n key={key}\n enableMemo\n name={`['${key}']`}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n initialMapCenter={field.initialMapCenter}\n zoom={field.zoom}\n isInverted={isInverted}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n value={mappedData}\n onChange={handleChange}\n customLocationControl={field.customLocationControl}\n customToggle={field.customToggle}\n customResetControl={field.customResetControl}\n toggleLabel={field.toggleLabel}\n trackLocationLabel={field.trackLocationLabel}\n />\n );\n};\n\nexport default renderLocationField;\n","import React from 'react';\nimport DatepickerCmp from 'components/fields/Datepicker';\nimport { Datepicker, FieldGenerationProps } from '../DynamicForm';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport Button from 'components/buttons/Button';\n\nconst renderDatepickerField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n}: FieldGenerationProps<Datepicker>) => {\n const dates = value as [Date | null, Date | null];\n\n const handleSubmit = async (start?: Date | null, end?: Date | null) => {\n await setTouched(key, true);\n await setField({\n key,\n value: [start || null, end || null],\n });\n validateField(key);\n };\n\n return (\n <DatepickerCmp\n key={key}\n enableMemo\n onSubmit={handleSubmit}\n onDataChange={handleSubmit}\n values={[dates?.[0] as Date, dates?.[1] as Date]}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n singleSelect={field.singleSelect}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n name={key}\n customIcon={field?.customIcon}\n isInverted={isInverted}\n minDate={field.minDate}\n maxDate={field.maxDate}\n deleteAction={(handleReset) =>\n field?.deleteAction ? (\n field.deleteAction(handleReset)\n ) : (\n <ButtonGhost.View onClick={handleReset}>\n delete\n </ButtonGhost.View>\n )\n }\n submitAction={(handleSubmit) =>\n field?.submitAction ? (\n field.submitAction(handleSubmit)\n ) : (\n <Button.View onClick={handleSubmit}>submit</Button.View>\n )\n }\n nextCtrlUrl={field.nextCtrlUrl}\n prevCtrlUrl={field.prevCtrlUrl}\n />\n );\n};\n\nexport default renderDatepickerField;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport RadioButton from 'components/fields/Radio';\nimport { FieldGenerationProps, FieldGroup } from '../DynamicForm';\nimport FieldWrapper from 'components/fields/FormField';\nimport { spacings } from 'utils/styles';\nimport Checkbox from 'components/fields/Checkbox';\n\nconst FieldSet = styled.fieldset`\n display: block;\n border: none;\n background: none;\n outline: none;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n`;\n\nconst Fields = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport const renderRadioGroupField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n info,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string;\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n <Fields>\n {group?.fields?.map((field, fi) => (\n <RadioButton\n key={fi}\n enableMemo\n name={key}\n value={field.text}\n label={field.text}\n isInverted={isInverted}\n isSelected={\n field.text ? groupData === field.text : false\n }\n onChange={(e) => {\n if (field.text) {\n setField({\n key,\n value: e.currentTarget.value,\n });\n }\n }}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n\nexport const renderCheckboxGroupField = ({\n field,\n key,\n isInverted,\n value,\n isTouched,\n error,\n info,\n setTouched,\n validateField,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string[];\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n\n <Fields>\n {group?.fields?.map((field, ci) => (\n <Checkbox\n key={ci}\n enableMemo\n isInverted={isInverted}\n onChange={(ev) => {\n const value = ev.currentTarget.value;\n\n // add key to form data array if not exists. Otherwise remove it\n if (value) {\n const cIndex = groupData.indexOf(value);\n if (cIndex === -1) {\n groupData.push(value);\n } else {\n groupData.splice(cIndex, 1);\n }\n // set formik values\n setField({\n key,\n value: groupData,\n });\n setTouched(key, true);\n validateField(key);\n }\n }}\n isSelected={\n field.text\n ? groupData.indexOf(field.text) !== -1\n : false\n }\n name={key}\n value={field.text}\n label={field.text}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n","import React from 'react';\n\nimport Textarea from 'components/fields/Textarea';\nimport { Area, FieldGenerationProps } from '../DynamicForm';\n\nconst renderAreaField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n handleChange,\n handleBlur,\n}: FieldGenerationProps<Area>) => (\n <Textarea\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n value={value as string}\n isInverted={isInverted}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderAreaField;\n","import React from 'react';\n\nimport Textfield from 'components/fields/Textfield';\nimport { Field, FieldGenerationProps } from '../DynamicForm';\n\nconst renderField = ({\n field,\n key,\n value,\n error,\n isTouched,\n handleChange,\n handleBlur,\n isInverted,\n}: FieldGenerationProps<Field>) => (\n <Textfield\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n type={field.inputType}\n isInverted={isInverted}\n value={value as string}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderField;\n","import React from 'react';\n\nimport SelectDropdown from 'components/fields/SelectDropdown';\nimport { Select, FieldGenerationProps } from '../DynamicForm';\n\nconst renderSelectField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n validateOnChange,\n validateOnBlur,\n}: FieldGenerationProps<Select>) => {\n const selectedItem = value as string;\n\n return (\n <SelectDropdown\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n placeholder={field.placeholder}\n errorMessage={error && isTouched ? error : undefined}\n items={field.dropdownItems\n ?.filter((item) => item.label)\n ?.map((item) => ({\n label: item.label || '',\n value: item.value || {},\n }))}\n selectedItem={selectedItem}\n onChange={async (selectedOption) => {\n setField({ key, value: selectedOption });\n await setTouched(key, true);\n if (validateOnChange) validateField(key);\n }}\n onBlur={() => setTouched(key, true, validateOnBlur)}\n indicator={field.indicator}\n isInverted={isInverted}\n />\n );\n};\n\nexport default renderSelectField;\n","import FileUploadCmp from 'components/fields/FileUpload';\nimport React from 'react';\n\nimport { FileUpload, FieldGenerationProps } from '../DynamicForm';\n\nconst renderUploadField = ({\n field,\n key,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<FileUpload>) => (\n <FileUploadCmp\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n infoMessage={field.info}\n uploadLabel={field.addBtnLabel}\n errorMessage={error && isTouched ? error : undefined}\n acceptedFormats={field.acceptedFormats}\n onUploadFiles={(files) => {\n setField({ key, value: files });\n }}\n customUploadIcon={field.customUploadIcon}\n customDeleteIcon={field.customDeleteIcon}\n isInverted={isInverted}\n />\n);\n\nexport default renderUploadField;\n","import { Field } from '../DynamicForm';\n\nconst fieldValidator = async (key: string, value: string, config: Field) => {\n const inputType = config.inputType;\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n switch (inputType) {\n case 'email':\n if (\n value &&\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)\n ) {\n error = config.errorMsg || 'Invalid Mail format';\n }\n break;\n case 'tel':\n if (value && /[A-Z]/gi.test(value)) {\n error = config.errorMsg || 'Ungültige Telefonnummer';\n }\n break;\n case 'number':\n if (value && !/^[+]?\\d+([.]\\d+)?$/gm.test(value as string)) {\n error = config.errorMsg || 'Zahlenformat ungültig';\n }\n break;\n }\n\n return error;\n};\n\nexport default fieldValidator;\n","import { Area } from '../DynamicForm';\n\nconst areaValidator = async (key: string, value: string, config: Area) => {\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default areaValidator;\n","import { Select } from '../DynamicForm';\n\nconst selectValidator = async (\n key: string,\n selectedItem: string,\n config: Select\n) => {\n let error = '';\n\n if (config.isRequired && !selectedItem) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default selectValidator;\n","import { Datepicker } from '../DynamicForm';\n\nconst datepickerValidator = async (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n) => {\n let error = '';\n const single = config.singleSelect;\n\n if (config.isRequired && !value) {\n error = single\n ? config.singleDateError || 'Please submit date!'\n : config.multiDateError || 'Please submit start- and enddate!';\n } else if (config.isRequired && single && !value[0]) {\n error = config.singleDateError || 'Please submit date!';\n } else if (config.isRequired && !single && (!value[0] || !value[1])) {\n error = config.multiDateError || 'Please submit start- and enddate!';\n }\n\n return error;\n};\n\nexport default datepickerValidator;\n","import { LocationData } from 'components/fields/LocationField';\nimport { Location } from '../DynamicForm';\n\nconst locationValidator = async (\n key: string,\n value: LocationData,\n config: Location\n) => {\n let error = '';\n\n if (\n config.isRequired &&\n !value.description &&\n !value.position?.[0] &&\n !value.position?.[1]\n ) {\n error = config.errorMsg || 'Please submit location info!';\n }\n\n return error;\n};\n\nexport default locationValidator;\n","import { FieldGroup } from '../DynamicForm';\n\nconst fieldGroupValidator = async (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n) => {\n const type = config.groupType;\n let error = '';\n\n if (type === 'Checkbox') {\n const selectValues = value as string[];\n if (config.isRequired && (!selectValues || selectValues?.length < 1)) {\n error = config.errorMsg || 'Please select at least one item!';\n }\n } else if (type === 'Radio') {\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Selection required';\n }\n }\n return error;\n};\n\nexport default fieldGroupValidator;\n","import { FileUpload } from '../DynamicForm';\n\nconst uploadValidator = async (\n key: string,\n files: Array<File>,\n config: FileUpload\n) => {\n let error = '';\n\n if (config.isRequired && (!files || files?.length < 1)) {\n error = config.errorMsg || 'Please submit at least one file!';\n }\n\n return error;\n};\n\nexport default uploadValidator;\n","import React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { Field, FormikErrors, useFormik } from 'formik';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport Button from 'components/buttons/Button';\n\nimport { LocationData } from 'components/fields/LocationField';\n\n/** Field Renderer */\nimport renderLocationField from './renderer/locationRenderer';\nimport renderDatepickerField from './renderer/datepickerRenderer';\nimport {\n renderCheckboxGroupField,\n renderRadioGroupField,\n} from './renderer/fieldGroupRenderer';\nimport renderAreaField from './renderer/areaRenderer';\nimport renderField from './renderer/fieldRenderer';\nimport renderSelectField from './renderer/selectRenderer';\nimport renderUploadField from './renderer/uploadRenderer';\nimport fieldValidator from './validators/fieldValidator';\nimport areaValidator from './validators/areaValidator';\nimport selectValidator from './validators/selectValidator';\nimport datepickerValidator from './validators/datepickerValidator';\nimport locationValidator from './validators/locationValidator';\nimport fieldGroupValidator from './validators/fieldGroupValidator';\nimport uploadValidator from './validators/uploadValidator';\nimport Copy from 'components/typography/Copy';\n\nconst StyledSection = styled(Section)`\n overflow: visible;\n`;\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media ${mq.semilarge} {\n flex-direction: row;\n }\n`;\n\nconst FieldContainer = styled.div`\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst FormFooter = styled.div`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Status = styled(Copy)`\n text-align: left;\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst ActionContainer = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer * 1.5}px;\n text-align: right;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nexport interface FormStructure {\n [key: string]:\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n}\n\nexport interface FormField {\n isRequired?: boolean;\n}\n\nexport interface Field extends FormField {\n type: 'Field';\n inputType?: 'text' | 'number' | 'email' | 'password' | 'tel';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Field) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Area extends FormField {\n type: 'Area';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Area) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Select extends FormField {\n type: 'Select';\n initialOption?: string;\n placeholder?: string;\n dropdownItems: {\n label?: string;\n value?: Record<string, string>;\n }[];\n info?: string;\n validate?: (\n key: string,\n selectedItem: string,\n config: Select\n ) => Promise<string>;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n errorMsg?: string;\n}\n\nexport interface Datepicker extends FormField {\n type: 'Datepicker';\n initialDates?: [Date, Date];\n placeholder?: string;\n minDate?: Date;\n maxDate?: Date;\n singleSelect?: boolean;\n info?: string;\n customIcon?: (props: {\n isInverted?: boolean;\n singleSelect?: boolean;\n }) => React.ReactNode;\n\n singleDateError?: string;\n multiDateError?: string;\n nextCtrlUrl?: React.ReactNode;\n prevCtrlUrl?: React.ReactNode;\n validate?: (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n ) => Promise<string>;\n deleteAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n submitAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n}\n\nexport interface Location extends FormField {\n type: 'Location';\n zoom?: number;\n initialMapCenter?: [number, number];\n placeholder?: string;\n info?: string;\n errorMsg?: string;\n customToggle?: (props: {\n isInverted?: boolean;\n viewState?: 'desc' | 'map';\n handleClick?: () => void;\n }) => React.ReactNode;\n customLocationControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n customResetControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n validate?: (\n key: string,\n value: LocationData,\n config: Location\n ) => Promise<string>;\n toggleLabel?: string;\n trackLocationLabel?: string;\n}\n\nexport interface FieldGroup extends FormField {\n type: 'FieldGroup';\n groupType: 'Radio' | 'Checkbox';\n fields: Array<{ initialChecked?: boolean; text?: string }>;\n validate?: (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n ) => Promise<string>;\n errorMsg?: string;\n infoMsg?: string;\n}\n\nexport interface FileUpload extends FormField {\n type: 'Upload';\n addBtnLabel?: string;\n removeBtnLabel?: string;\n info?: string;\n acceptedFormats?: string;\n customUploadIcon?: (isInverted?: boolean) => React.ReactNode;\n customDeleteIcon?: (isInverted?: boolean) => React.ReactNode;\n validate?: (\n key: string,\n value: Array<File>,\n config: FileUpload\n ) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface FormData {\n [key: string]: FormDataTypes | string;\n}\n\nexport type FormDataTypes =\n | string\n | boolean\n | Record<string, string>\n | Array<string>\n | [Date | null, Date | null]\n | Array<File>\n | LocationData;\n\ntype FieldTypes =\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n\nexport interface FieldGenerationProps<T extends FieldTypes> {\n field: T;\n value: FormDataTypes;\n error: string;\n info?: string;\n isTouched: boolean;\n key: string;\n isInverted: boolean;\n hasBg: boolean;\n theme: DefaultTheme;\n setField: (props: {\n key: string;\n value: any;\n shouldValidate?: boolean;\n }) => Promise<void | FormikErrors<FormData>>;\n validateField: (\n name: string\n ) => Promise<string | undefined> | Promise<void>;\n setTouched: (\n field: string,\n touched?: boolean | undefined,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n handleChange: {\n (e: React.ChangeEvent<any>): void;\n <T_1 = string | React.ChangeEvent<any>>(\n field: T_1\n ): T_1 extends React.ChangeEvent<any>\n ? void\n : (e: string | React.ChangeEvent<any>) => void;\n };\n handleBlur: {\n (e: React.FocusEvent<any>): void;\n <T = any>(fieldOrEvent: T): T extends string ? (e: any) => void : void;\n };\n validateOnBlur?: boolean;\n validateOnChange?: boolean;\n}\n\nexport type FormValues = FormData & {\n targetEmails: string[];\n subjectLine: string;\n};\n\nexport interface SubmitResponse {\n message?: string;\n isError?: boolean;\n}\n\nconst DynamicForm: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Field definitions */\n fields?: FormStructure;\n\n /** Callback on form submit */\n onSubmit?: (values: FormValues) => Promise<SubmitResponse>;\n\n /** Function to inject custom submit button */\n submitAction?: (props: {\n isInverted?: boolean;\n handleSubmit?: () => Promise<any>;\n isSubmitting?: boolean;\n }) => React.ReactNode;\n\n /** List of target emails */\n targetEmails?: string[];\n\n /** E-Mail subject */\n subjectLine?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Functions to inject custom field components (React nodes) */\n definitions?: {\n field?: (props: FieldGenerationProps<Field>) => React.ReactNode;\n area?: (props: FieldGenerationProps<Area>) => React.ReactNode;\n select?: (props: FieldGenerationProps<Select>) => React.ReactNode;\n datepicker?: (\n props: FieldGenerationProps<Datepicker>\n ) => React.ReactNode;\n location?: (props: FieldGenerationProps<Location>) => React.ReactNode;\n checkbox?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n radio?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n upload?: (props: FieldGenerationProps<FileUpload>) => React.ReactNode;\n };\n}> = ({\n anchorId,\n fields,\n onSubmit,\n submitAction,\n definitions,\n subjectLine,\n targetEmails,\n bgMode,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n const [submitReponse, setSubmitResponse] = useState<SubmitResponse>();\n\n // generate initial data and setup yup validation definition\n const initalData: FormData = {};\n\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field':\n initalData[key] = (fields[key] as Field).initialValue || '';\n break;\n case 'Area':\n initalData[key] = (fields[key] as Area).initialValue || '';\n break;\n case 'Select':\n initalData[key] = (fields[key] as Select).initialOption || '';\n break;\n case 'Datepicker':\n initalData[key] = (fields[key] as Datepicker).initialDates || [\n null,\n null,\n ];\n break;\n case 'Location': {\n initalData[key] = {\n description: '',\n position: [0, 0],\n };\n break;\n }\n case 'Upload':\n initalData[key] = [];\n break;\n case 'FieldGroup': {\n const group = fields[key] as FieldGroup;\n const type = (fields[key] as FieldGroup).groupType;\n if (type === 'Checkbox') {\n const initalArray: string[] = [];\n group.fields.forEach((field) => {\n if (field.initialChecked && field.text)\n initalArray.push(field.text);\n });\n initalData[key] = initalArray;\n } else if (type === 'Radio') {\n initalData[key] = '';\n group.fields.every((field) => {\n if (field.initialChecked && field.text) {\n initalData[key] = field.text;\n return false;\n }\n return true;\n });\n }\n break;\n }\n }\n }\n\n const validation = async (values: FormData) => {\n const errors: Partial<FormData> = {};\n\n // search for errors and set them\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field': {\n const config = fields[key] as Field;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Area': {\n const config = fields[key] as Area;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await areaValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Select': {\n const config = fields[key] as Select;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await selectValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Datepicker': {\n const config = fields[key] as Datepicker;\n const value = values[key] as [Date | null, Date | null];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await datepickerValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Location': {\n const config = fields[key] as Location;\n const value = values[key] as LocationData;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await locationValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'FieldGroup': {\n const config = fields[key] as FieldGroup;\n const value = values[key] as Array<string> | string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldGroupValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Upload': {\n const config = fields[key] as FileUpload;\n const files = values[key] as File[];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await uploadValidator(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n }\n }\n\n return errors;\n };\n\n // formik hook\n const {\n handleSubmit,\n handleChange,\n handleBlur,\n setFieldTouched,\n setSubmitting,\n validateField,\n submitForm,\n setValues,\n isSubmitting,\n touched,\n values,\n errors,\n dirty,\n validateOnBlur,\n validateOnChange,\n } = useFormik<FormData>({\n initialValues: {\n ...initalData,\n } as FormData,\n\n onSubmit: async (values, helpers) => {\n const valuesAndMails = {\n ...values,\n targetEmails: targetEmails || [],\n subjectLine: subjectLine || '',\n };\n\n if (!onSubmit) {\n setSubmitting(false);\n return;\n }\n\n const response = await onSubmit(valuesAndMails);\n helpers.resetForm({ values });\n setSubmitResponse(response);\n\n if (response.isError) {\n setSubmitting(false);\n }\n },\n validateOnBlur: true,\n validateOnChange: true,\n validate: validation,\n });\n\n // save last react state\n const latestValuesRef = useRef<FormData>({ ...initalData } as FormData);\n const { theme } = useLibTheme();\n\n // rewrite setFieldValue to prevent loadash feature of Formik: https://github.com/jaredpalmer/formik/issues/2262\n const setField = useCallback(\n (props: {\n key: string;\n value: any;\n prevValues: FormData;\n shouldValidate?: boolean;\n }) => {\n return setValues(\n { ...latestValuesRef.current, [props.key]: props.value },\n props.shouldValidate\n );\n },\n [setValues]\n );\n\n const fieldKeys = fields && Object.keys(fields);\n\n useEffect(() => {\n latestValuesRef.current = { ...values };\n }, [values]);\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : bgMode\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <Form noValidate onSubmit={handleSubmit}>\n <FieldContainer>\n {fields &&\n fieldKeys?.map((label, i) => {\n const props = {\n index: i,\n field: fields[label],\n key: label,\n value: values[label],\n error: errors[label],\n isTouched: touched[label] || false,\n isInverted: isInverted,\n hasBg: hasBg,\n setField: setField,\n setTouched: setFieldTouched,\n validateField: validateField,\n handleChange: handleChange,\n handleBlur: handleBlur,\n validateOnBlur,\n validateOnChange,\n theme: theme,\n } as FieldGenerationProps<any>;\n\n switch (fields[label].type) {\n case 'Field': {\n if (definitions?.field) {\n return definitions.field(props);\n } else {\n return renderField(props);\n }\n }\n\n case 'Area': {\n if (definitions?.area) {\n return definitions.area(props);\n } else {\n return renderAreaField(props);\n }\n }\n\n case 'Datepicker': {\n if (definitions?.datepicker) {\n return definitions.datepicker(\n props\n );\n } else {\n return renderDatepickerField(props);\n }\n }\n\n case 'Location': {\n if (definitions?.location) {\n return definitions.location(props);\n } else {\n return renderLocationField(props);\n }\n }\n\n case 'FieldGroup': {\n if (\n (fields[label] as FieldGroup)\n .groupType === 'Checkbox'\n ) {\n if (definitions?.checkbox) {\n return definitions.checkbox(\n props\n );\n } else {\n return renderCheckboxGroupField(\n props\n );\n }\n } else {\n if (definitions?.radio) {\n return definitions.radio(props);\n } else {\n return renderRadioGroupField(\n props\n );\n }\n }\n }\n\n case 'Select': {\n if (definitions?.select) {\n return definitions.select(props);\n } else {\n return renderSelectField(props);\n }\n }\n\n case 'Upload': {\n if (definitions?.upload) {\n return definitions.upload(props);\n } else {\n return renderUploadField(props);\n }\n }\n default:\n return null;\n }\n })}\n </FieldContainer>\n </Form>\n {(fields || submitReponse?.message) && (\n <FormFooter>\n {submitReponse?.message && !dirty && (\n <Status\n textColor={\n submitReponse?.isError\n ? color(theme).error\n : isInverted\n ? color(theme).text.copyInverted\n : color(theme).text.copy\n }\n >\n {submitReponse.message || ''}\n </Status>\n )}\n {fields && (\n <ActionContainer>\n <Actions\n primary={\n submitAction ? (\n submitAction({\n isInverted,\n isSubmitting,\n handleSubmit: submitForm,\n })\n ) : (\n <Button.View\n as=\"button\"\n onClick={submitForm}\n {...{\n type: 'submit',\n }}\n >\n <Button.Label>\n Send mail\n </Button.Label>\n </Button.View>\n )\n }\n />\n </ActionContainer>\n )}\n </FormFooter>\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const DynamicFormComponent = DynamicForm;\nexport default withLibTheme(DynamicForm);\n","import React, { FC, useCallback, useRef } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Textfield from 'components/fields/Textfield';\nimport { FormikErrors, useFormik } from 'formik';\nimport Actions from 'components/blocks/Actions';\nimport Button from 'components/buttons/Button';\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media ${mq.semilarge} {\n flex-direction: row;\n }\n`;\n\nconst FieldContainer = styled.div`\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ${spacings.nudge * 3}px;\n }\n\n &:last-child {\n padding-left: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst ActionContainer = styled.div`\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ${spacings.spacer * 2}px;\n\n text-align: center;\n`;\n\nexport interface FieldGenerationProps {\n field: NewsletterField;\n value: string;\n error: string;\n info?: string;\n isTouched: boolean;\n key: string;\n isInverted: boolean;\n theme: DefaultTheme;\n setField: (\n field: string,\n value: any,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n validateField: (\n name: string\n ) => Promise<string | undefined> | Promise<void>;\n setTouched: (\n field: string,\n touched?: boolean | undefined,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n handleChange: {\n (e: React.ChangeEvent<any>): void;\n <T_1 = string | React.ChangeEvent<any>>(\n field: T_1\n ): T_1 extends React.ChangeEvent<any>\n ? void\n : (e: string | React.ChangeEvent<any>) => void;\n };\n handleBlur: {\n (e: React.FocusEvent<any>): void;\n <T = any>(fieldOrEvent: T): T extends string ? (e: any) => void : void;\n };\n validateOnBlur?: boolean;\n validateOnChange?: boolean;\n}\n\nexport interface NewsletterFormStructure {\n [key: string]: NewsletterField;\n}\n\nexport interface FormData {\n [key: string]: string;\n}\n\nexport interface NewsletterField {\n inputType?: 'text' | 'number' | 'email' | 'password' | 'tel';\n isRequired?: boolean;\n label?: string;\n errorMsg?: string;\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (\n key: string,\n value: string,\n config: NewsletterField\n ) => Promise<string>;\n}\n\nconst NewsletterForm: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Structure to define fields of newsletter form */\n fields?: NewsletterFormStructure;\n\n /** Function to inject custom field definition */\n customField?: (props: FieldGenerationProps) => React.ReactNode;\n\n /** HTML form element action */\n action?: string;\n\n /** HTML form element method */\n method?: string;\n\n /** Form submission callback */\n onSubmit?: (values: FormData, element: HTMLFormElement) => Promise<void>;\n\n /** Function to inject custom submit button */\n submitAction?: (props: {\n isInverted?: boolean;\n handleSubmit?: () => Promise<any>;\n isDisabled?: boolean;\n }) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgMode,\n fields,\n customField,\n action,\n method,\n submitAction,\n onSubmit,\n}) => {\n const { theme } = useLibTheme();\n const formRef = useRef<HTMLFormElement>(null);\n const isInverted = bgMode === 'inverted';\n\n // generate initial data and setup yup validation definition\n const initialData: FormData = {};\n\n for (const key in fields) {\n initialData[key] = fields[key].initialValue || '';\n }\n\n const validation = async (values: FormData) => {\n const errors: Partial<FormData> = {};\n\n // search for errors and set them\n for (const key in fields) {\n const config = fields[key];\n const inputType = config.inputType;\n\n // default\n if (fields[key].isRequired && !values[key]) {\n errors[key] = fields[key].errorMsg || 'Required field';\n }\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(\n key,\n values[key] as string,\n config\n );\n if (error) errors[key] = error;\n break;\n }\n\n switch (inputType) {\n case 'email':\n if (\n values[key] &&\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(\n values[key] as string\n )\n ) {\n errors[key] =\n fields[key].errorMsg || 'Invalid Mail format';\n }\n break;\n case 'tel':\n if (values[key] && /[A-Z]/gi.test(values[key] as string)) {\n errors[key] =\n fields[key].errorMsg || 'Ungültige Telefonnummer';\n }\n break;\n case 'number':\n if (\n values[key] &&\n !/^[+]?\\d+([.]\\d+)?$/gm.test(values[key] as string)\n ) {\n errors[key] =\n fields[key].errorMsg || 'Zahlenformat ungültig';\n }\n break;\n }\n }\n\n return errors;\n };\n\n // formik hook\n const {\n handleSubmit,\n handleChange,\n handleBlur,\n setFieldTouched,\n setSubmitting,\n validateField,\n submitForm,\n setValues,\n isSubmitting,\n touched,\n values,\n errors,\n dirty,\n validateOnBlur,\n validateOnChange,\n } = useFormik<FormData>({\n initialValues: {\n ...initialData,\n } as FormData,\n\n onSubmit: async (values) => {\n if (!formRef.current) return;\n\n if (action && method) {\n formRef.current.submit();\n } else {\n onSubmit && (await onSubmit(values, formRef.current));\n }\n\n setSubmitting(false);\n },\n validateOnBlur: true,\n validateOnChange: true,\n validate: validation,\n });\n\n // rewrite setFieldValue to prevent loadash feature of Formik: https://github.com/jaredpalmer/formik/issues/2262\n const setField = useCallback(\n async (key: string, value: any, shouldValidate?: boolean) => {\n return setValues({ ...values, [key]: value }, shouldValidate);\n },\n [setValues, values]\n );\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : bgMode\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <Form\n ref={formRef}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n >\n <FieldContainer>\n {fields &&\n Object.keys(fields).map((key, i) => {\n const generationProps = {\n index: i,\n field: fields[key],\n key: key,\n value: values[key],\n error: errors[key],\n isTouched: touched[key] || false,\n isInverted: isInverted,\n setField: setField,\n setTouched: setFieldTouched,\n validateField: validateField,\n handleChange: handleChange,\n handleBlur: handleBlur,\n validateOnBlur,\n validateOnChange,\n theme: theme,\n } as FieldGenerationProps;\n\n return customField\n ? customField(generationProps)\n : generateTextField(generationProps);\n })}\n </FieldContainer>\n </Form>\n {fields && (\n <ActionContainer>\n <Actions\n primary={\n submitAction ? (\n submitAction({\n isInverted,\n isDisabled: isSubmitting || !dirty,\n handleSubmit: submitForm,\n })\n ) : (\n <Button.View\n as=\"button\"\n onClick={submitForm}\n isDisabled={isSubmitting || !dirty}\n {...{\n type: 'submit',\n }}\n >\n <Button.Label>send</Button.Label>\n </Button.View>\n )\n }\n />\n </ActionContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nconst generateTextField = ({\n key,\n field,\n isInverted,\n value,\n handleChange,\n handleBlur,\n error,\n isTouched,\n}: FieldGenerationProps) => (\n <Textfield\n key={key}\n label={`${field.label || key}${field.isRequired ? '*' : ''}`}\n placeholder={field.placeholder}\n name={`${key}`}\n isInverted={isInverted}\n value={value as string}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport const NewsletterFormComponent = NewsletterForm;\nexport default withLibTheme(NewsletterForm);\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nconst SVG = styled.svg`\n display: block;\n`;\n\nconst Filter: React.FC<{\n iconColor?: string;\n className?: string;\n ariaHidden?: boolean;\n}> = ({ iconColor = 'currentColor', className, ariaHidden = true }) => (\n <SVG\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n className={className}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden={ariaHidden}\n >\n <path\n d=\"M10 18h4v-2h-4v2ZM3 6v2h18V6H3Zm3 7h12v-2H6v2Z\"\n fill={iconColor}\n />\n </SVG>\n);\n\nexport default Filter;\n","import Filter from 'components/base/icons/Filter';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport Pointer from 'components/buttons/Pointer';\nimport Copy from 'components/typography/Copy';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst Events = styled.ul<{ hasBg?: boolean }>`\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst EventItem = styled.li`\n padding: ${spacings.nudge * 3}px 0;\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nexport const getEventFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url || !theme) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.eventFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Tags for events filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n tags,\n events,\n bgMode,\n anchorId,\n initial,\n showMoreText,\n onTagClick,\n customTag,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.eventFilterName;\n\n const [selectedTags, setSelectedTags] = React.useState<string[]>(\n initial?.activeTags || []\n );\n const [itemsPerRow] = React.useState(1);\n const [visibleRows, setVisibleRows] = React.useState(\n initial?.visibleRows || 3\n );\n\n const targetRef = React.useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n const isMounted = useMounted();\n\n const eventCount = events?.length || 0;\n const setNewPos = useScrollTo(800);\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n setVisibleRows(3);\n };\n\n const filteredEvents = useMemo(() => {\n const tagFilterFn = (item: EventItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(events) ? [...events] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [events, selectedTags]);\n\n const visibleEvents = useMemo(() => {\n return (\n filteredEvents?.filter((_, i) => i < visibleRows * itemsPerRow) ||\n []\n );\n }, [filteredEvents, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more events\n if (\n visibleRows <\n Math.ceil(filteredEvents.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n eventCount,\n visibleRows,\n observerSupported,\n filteredEvents.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <Events hasBg={hasBg}>\n {visibleEvents.map((item, i) => {\n let timespan = '';\n\n if (item.date) {\n const formatter = new StatusFormatter(\n item.date.getTime(),\n '',\n globals.sections.eventDateFormat(item.date),\n globals.sections.eventTimeFormat(item.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n item.date,\n item.duration\n ),\n item.duration\n );\n }\n\n const text = concat([timespan, item.address], ' | ');\n\n return (\n <EventItem key={`${i}_event_${item.title}`}>\n <EventBlock\n {...item}\n text={text}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick(\n { name: tag.name },\n true\n );\n }\n }}\n customTag={customTag}\n />\n </EventItem>\n );\n })}\n </Events>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {events && events.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={events.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredEvents.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredEvents.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventOverviewComponent = EventOverview;\nexport default withLibTheme(EventOverview);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport { getColors as color, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { concat } from 'utils/concat';\nimport { getEventFilterParams } from './EventOverview';\n\nconst List = styled.ul<{ hasBg?: boolean }>`\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst ListItem = styled.li`\n padding: ${spacings.nudge * 3}px 0;\n`;\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, events, bgMode, customTag }) => {\n const { colors, globals, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg}>\n {events?.map((event, i) => {\n let timespan = '';\n\n if (event.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n event.date,\n event.duration\n ),\n event.duration\n );\n }\n\n const text = concat([timespan, event.address], ' | ');\n\n return (\n <ListItem key={i}>\n <EventBlock\n {...event}\n tags={event.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getEventFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n text={text}\n customTag={customTag}\n />\n </ListItem>\n );\n })}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventListComponent = EventList;\nexport default withLibTheme(EventList);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { EventProps } from 'components/blocks/EventBlock';\nimport Image from 'components/blocks/Image';\nimport Tag from 'components/blocks/Tag';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { LinkProps } from 'components/typography/Link';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport StatusFormatter from 'utils/statusFormatter';\nimport InfoList from 'components/blocks/InfoList';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst TagContainer = styled.div`\n max-width: 880px;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst EventTitle = styled(Heading)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst EventDateTime = styled(Copy)`\n max-width: 880px;\n /* overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; */\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst EventAddress = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n ${EventDateTime} + & {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst EventText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nexport type DetailEventProps = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'link'\n>;\n\nexport interface EventInfoGroup {\n title?: string;\n items: EventInfo[];\n}\n\nexport interface EventInfo {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** Event info text (richtText) */\n text?: string;\n}\n\nconst EventDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n event: DetailEventProps & { address?: string; abstract?: string };\n\n /** Additional event infos */\n infos?: EventInfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, event, infos, bgMode, customTag }) => {\n const { colors, globals } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n let publishedAt = '';\n let timespan = '';\n\n if (event?.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(event.date, event.duration),\n event.duration\n );\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {event.image?.small && (\n <StyledImage\n {...event.image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {event.tags && (\n <TagContainer>\n {event.tags.map((tag, i) => (\n <TagWrapper key={'tag_' + i}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n })\n ) : (\n <Tag\n link={tag.link}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n {event.title && (\n <EventTitle\n size=\"heading-2\"\n isInverted={isInverted}\n >\n {event.title}\n </EventTitle>\n )}\n {publishedAt && (\n <EventDateTime size=\"big\" type=\"copy-b\">\n {publishedAt || ''}\n {publishedAt && timespan ? ' | ' : ''}\n {timespan}\n </EventDateTime>\n )}\n {event.address && (\n <EventAddress\n size=\"big\"\n type=\"copy\"\n innerHTML={event.address}\n />\n )}\n {event.abstract && (\n <EventText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {event.abstract}\n </EventText>\n )}\n {event.text && (\n <EventText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={event.text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventDetailComponent = EventDetail;\nexport default withLibTheme(EventDetail);\n","import React, { forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\n\nconst View = styled.div``;\n\nconst ImageContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n margin-bottom: ${spacings.nudge * 3}px;\n max-width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst Content = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Title = styled(Copy)``;\n\nconst SubTitle = styled(Copy)``;\n\nconst Text = styled(Copy)`\n ${SubTitle} + & {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport interface FactProps {\n isInverted?: boolean;\n isCentered?: boolean;\n title?: string;\n subTitle?: string;\n text?: string;\n image?: ImageProps;\n}\n\nconst Fact = forwardRef<\n HTMLDivElement,\n FactProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted = false,\n isCentered = false,\n title,\n subTitle,\n text,\n image,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} className={className}>\n {image?.small && (\n <ImageContainer isCentered={isCentered}>\n <StyledImage\n isInverted={isInverted}\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n coverSpace={image.coverSpace}\n ratios={image.ratios}\n showPlaceholder={image.showPlaceholder}\n />\n </ImageContainer>\n )}\n <Content isCentered={isCentered}>\n {title && (\n <Title\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n data-sheet=\"title\"\n >\n {title}\n </Title>\n )}\n {subTitle && (\n <SubTitle\n type=\"copy-b\"\n isInverted={isInverted}\n data-sheet=\"subtitle\"\n >\n {subTitle}\n </SubTitle>\n )}\n {text && (\n <Text\n type=\"copy\"\n isInverted={isInverted}\n data-sheet=\"text\"\n innerHTML={text}\n />\n )}\n </Content>\n </View>\n );\n }\n);\n\nFact.displayName = 'Fact';\n\nexport default Fact;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Fact, { FactProps } from 'components/blocks/Fact';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FactFill = styled.div`\n display: none;\n\n @media ${mq.large} {\n display: block;\n }\n`;\n\nconst FactGrid: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Controls amount columns on large screens */\n columns?: 3 | 4 | 6;\n\n /** Array with fact card data */\n facts?: Array<Omit<FactProps, 'isInverted' | 'isCentered'>>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Center text inside fact card items */\n isCentered?: boolean;\n}> = ({ anchorId, columns = 3, facts, bgMode, isCentered }) => {\n const { colors } = useLibTheme();\n const factCount = facts?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: factCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"subtitle\"]'],\n responsive: {\n small: 1,\n medium: columns < 3 ? columns : 3,\n semilarge: columns < 4 ? columns : 4,\n large: columns,\n xlarge: columns,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row>\n {facts &&\n facts.map((fact, i) => {\n if (\n fact?.title ||\n fact?.subTitle ||\n fact?.image ||\n fact?.text\n ) {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <Fact\n key={i}\n ref={cardRefs[i]}\n {...fact}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n );\n } else {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <FactFill ref={cardRefs[i]} key={i} />\n </Grid.Col>\n );\n }\n })}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactGridComponent = FactGrid;\nexport default withLibTheme(FactGrid);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\n\nconst FactsContainer = styled.ul`\n padding: 0;\n margin: 0;\n\n list-style-type: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FactItem = styled.li<{ hasText?: boolean; hasBack?: boolean }>`\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBack }) =>\n hasBack ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: row;\n align-items: ${({ hasText }) => (hasText ? 'flex-start' : 'center')};\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Icon = styled.img`\n margin-right: ${spacings.nudge * 3}px;\n display: block;\n max-width: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n margin-right: ${spacings.spacer}px;\n }\n`;\n\nconst ContentBlock = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nconst FactList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with fact item data */\n facts?: Array<{\n label?: string;\n text?: string;\n }>;\n\n /** Icon for each fact item */\n icon?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, facts, icon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {facts && (\n <FactsContainer>\n {facts.map(({ label, text }, i) => {\n return (\n <FactItem\n key={i}\n hasText={!!text}\n hasBack={hasBack}\n >\n {icon && (\n <Icon\n src={icon.src}\n alt={icon.alt || ''}\n />\n )}\n <ContentBlock>\n {label && (\n <Copy type=\"copy-b\">{label}</Copy>\n )}\n {text && (\n <Description\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </ContentBlock>\n </FactItem>\n );\n })}\n </FactsContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactListComponent = FactList;\nexport default withLibTheme(FactList);\n","import React, { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\n\nconst View = styled.div<{ isCentered?: boolean }>`\n min-width: 270px;\n padding-bottom: ${spacings.nudge}px;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TitleLink = styled(Link)<{ href?: string }>`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n\n ${({ href, isInverted, theme }) =>\n !href &&\n css`\n &:hover {\n color: ${isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n }\n `}\n`;\n\nconst ImageContainer = styled(Link)<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst ArticleContent = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n & > * {\n max-width: 95%;\n margin-right: ${({ isCentered }) => isCentered && 'auto'};\n margin-left: ${({ isCentered }) => isCentered && 'auto'};\n }\n }\n`;\n\nconst Action = styled.div`\n max-width: 100%;\n`;\n\nexport interface FeatureProps {\n /** Invert color and background for darker themes */\n isInverted?: boolean;\n\n /** Center all texts */\n isCentered?: boolean;\n\n /** Image on item's top */\n image?: ImageProps;\n\n /** Item title text underneath the image */\n title?: string;\n\n /** Small item description text (richtext) */\n description?: string;\n\n /** Item intro text (partial richtext cause it's always bold) */\n intro?: string;\n\n /** Item's main text (richtext) */\n text?: string;\n\n /** Item link settings */\n link?: LinkProps;\n\n /** Function to inject custom primary button */\n action?: (isInverted?: boolean) => React.ReactNode;\n}\n\nconst Feature = forwardRef<\n HTMLDivElement,\n FeatureProps & {\n className?: string;\n }\n>(\n (\n {\n title,\n description,\n intro,\n text,\n link,\n image,\n isInverted = false,\n isCentered = false,\n action,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} isCentered={isCentered} className={className}>\n {image?.small && (\n <ImageContainer {...link} isCentered={isCentered}>\n <StyledImage\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n ratios={image.ratios}\n coverSpace={\n image.coverSpace === undefined\n ? true\n : image.coverSpace\n }\n isInverted={isInverted}\n />\n </ImageContainer>\n )}\n <TitleLink\n {...link}\n isInverted={isInverted}\n ariaLabel={title}\n data-sheet=\"title\"\n >\n {title}\n </TitleLink>\n <Copy\n size=\"small\"\n isInverted={isInverted}\n data-sheet=\"desc\"\n innerHTML={description}\n />\n <ArticleContent isCentered={isCentered}>\n <Copy\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n data-sheet=\"intro\"\n />\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n data-sheet=\"text\"\n />\n </ArticleContent>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nFeature.displayName = 'Feature';\n\nexport default Feature;\n","import React, { useMemo } from 'react';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Feature, { FeatureProps } from 'components/blocks/Feature';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FeatureList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Center texts in every feature item */\n isCentered?: boolean;\n\n /** Array with feature item content */\n features?: FeatureProps[];\n\n /** If not defined the component falls back to legacy logic: Uneven items = max 3 per row, even items = max 2 per row */\n columns?: 2 | 3;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, features, bgMode, isCentered = false, columns }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const featureCount = features?.length || 0;\n\n const isHalf = useMemo(() => {\n if (columns) {\n return columns === 2;\n }\n\n // legacy logic\n return features && features.length % 2 === 0;\n }, [features, columns]);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: featureCount,\n identifiers: [\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n '[data-sheet=\"intro\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: isHalf ? 2 : 3,\n xlarge: isHalf ? 2 : 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row\n halign={isHalf || featureCount <= 2 ? 'center' : 'left'}\n >\n {features?.map((feature, i) => (\n <Grid.Col\n semilarge={{ span: 6 / 12 }}\n large={{\n span: isHalf ? 5 / 12 : 4 / 12,\n }}\n key={i}\n >\n <Feature\n ref={cardRefs[i]}\n {...feature}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FeatureListComponent = FeatureList;\nexport default withLibTheme(FeatureList);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getGlobals as global } from 'utils/styles';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst Gallery: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of image settings */\n images?: Array<ImageType>;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, bgMode, images }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Grid.Row>\n {images?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const GalleryComponent = Gallery;\nexport default withLibTheme(Gallery);\n","import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { CalloutTag } from 'components/typography/Callout';\nimport { mq, spacings, withRange } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport HeaderKenBurns from './HeaderKenBurns';\nimport HeaderPoster from './HeaderPoster';\nimport Actions from 'components/blocks/Actions';\nimport HeaderVideo from './HeaderVideo';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\n\nconst Poster: FC<{\n isInverted?: boolean;\n videoUrl?: string;\n images?: Omit<ImageProps, 'ratios' | 'coverSpace'>[];\n focus?: HeaderFocus;\n kenBurnsZoom?: number;\n kenBurnsZoomPoint?: [number, number];\n kenBurnsInterval?: number;\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n videoUrl,\n images,\n focus,\n kenBurnsZoom,\n kenBurnsZoomPoint,\n kenBurnsInterval,\n onImageChange,\n className,\n children,\n}) => {\n switch (true) {\n case !!videoUrl: {\n return (\n <HeaderVideo\n isInverted={isInverted}\n videoUrl={videoUrl}\n focus={focus}\n placeholderImg={images?.[0]}\n className={className}\n >\n {children}\n </HeaderVideo>\n );\n }\n\n case images && images.length > 1: {\n return (\n <HeaderKenBurns\n images={images || []}\n zoom={kenBurnsZoom}\n zoomPoint={kenBurnsZoomPoint}\n interval={kenBurnsInterval}\n onImageChange={onImageChange}\n className={className}\n >\n {children}\n </HeaderKenBurns>\n );\n }\n\n // single image\n case images && images.length === 1: {\n return (\n <HeaderPoster\n isInverted={isInverted}\n bgImage={images?.[0]}\n focus={focus}\n className={className}\n >\n {children}\n </HeaderPoster>\n );\n }\n\n default: {\n return <div>{children}</div>;\n }\n }\n};\n\nconst genHeightStyles = (isFull: boolean) => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = isFull ? '100vh' : '80vh';\n\n return css`\n & > ${StyledPoster} {\n min-height: 500px;\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst HeaderSection = styled(Section)`\n position: relative;\n ${genHeightStyles(true)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst HeaderSectionSmall = styled(Section)`\n position: relative;\n ${genHeightStyles(false)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst StyledPoster = styled(Poster)`\n position: relative;\n height: 100vh;\n max-height: 1300px;\n max-width: ${spacings.wrapperLarge}px;\n margin: 0 auto;\n`;\n\nconst Overlay = styled.div<{ bgValue?: string; textOnImage?: boolean }>`\n display: ${({ textOnImage }) => (textOnImage ? 'block' : 'none')};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgValue }) => bgValue && bgValue};\n z-index: 2;\n\n @media ${mq.medium} {\n display: block;\n }\n`;\n\nconst Content = styled.div<{ isCentered?: boolean; textOnImage?: boolean }>`\n display: none;\n max-width: ${spacings.wrapper}px;\n margin: 0 auto;\n\n ${({ textOnImage, isCentered }) =>\n textOnImage &&\n css`\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n `}\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${({ isCentered }) => isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst ContentMobile = styled.div`\n padding: ${spacings.spacer}px ${spacings.nudge * 2}px;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n display: none;\n }\n`;\n\nconst Title = styled(Heading)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n @media ${mq.medium} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3; /* number of lines to show */\n line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst Text = styled(Copy)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 4; /* number of lines to show */\n line-clamp: 4;\n -webkit-box-orient: vertical;\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport type HeaderSize = 'full' | 'small';\nexport type HeaderImage = Omit<ImageProps, 'ratios' | 'coverSpace'> & {\n zoomPoint?: [number, number];\n zoom?: number;\n};\nexport type HeaderFocus = [\n 'left' | 'center' | 'right',\n 'top' | 'center' | 'bottom'\n];\n\nconst Header: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Header image height size (full=100vh, small=80vh) */\n size?: HeaderSize;\n\n /** Focus point of header image / video */\n focusPoint?: HeaderFocus;\n\n /** Center content */\n isCentered?: boolean;\n\n /** Header title on image */\n title?: string;\n\n /** Header title HTML tag type (h2, h3, h4...) */\n titleAs?: CalloutTag;\n\n /** Header text on image */\n text?: string;\n\n /** Force text on image on all screen widths */\n textOnImage?: boolean;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Array of image settings */\n images?: HeaderImage[];\n\n /** CSS value of custom image overlay to help seperate the text from the background */\n customImgOverlay?: string;\n\n /** URL to header video. First image in images array can be used as fallback */\n videoUrl?: string;\n\n /** Ken burns effect zoom */\n kenBurnsZoom?: number;\n\n /** Global zoom point for all images with ken burns effect. x and y values in the range from 0 - 1 */\n kenBurnsZoomPoint?: [number, number];\n\n /** Time between each image in ken burns mode */\n kenBurnsInterval?: number;\n\n /** Callback called on image change */\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n size = 'full',\n focusPoint = ['center', 'center'],\n isCentered,\n title,\n titleAs,\n text,\n primaryAction,\n secondaryAction,\n videoUrl,\n images,\n customImgOverlay,\n kenBurnsZoom = 1.08,\n kenBurnsZoomPoint = [0.5, 0.5],\n kenBurnsInterval = 10000,\n onImageChange,\n bgMode,\n textOnImage,\n}) => {\n const { globals, colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasContent = title || text || primaryAction || secondaryAction;\n\n const overlay = hasContent\n ? customImgOverlay || globals.sections.imageTextGradient\n : undefined;\n\n const Section = size === 'full' ? HeaderSection : HeaderSectionSmall;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <StyledPoster\n isInverted={isInverted}\n images={images}\n videoUrl={videoUrl}\n kenBurnsInterval={kenBurnsInterval}\n kenBurnsZoom={kenBurnsZoom}\n kenBurnsZoomPoint={kenBurnsZoomPoint}\n onImageChange={onImageChange}\n focus={focusPoint}\n >\n {hasContent && (\n <React.Fragment>\n <Overlay bgValue={overlay} textOnImage={textOnImage} />\n <Content\n isCentered={isCentered}\n textOnImage={textOnImage}\n >\n {title && (\n <Title\n isInverted\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n />\n )}\n {text && (\n <Text\n isInverted\n isCentered={isCentered}\n type=\"copy-b\"\n size=\"big\"\n innerHTML={text}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={\n primaryAction && primaryAction(true)\n }\n secondary={\n secondaryAction && secondaryAction(true)\n }\n />\n )}\n </Content>\n </React.Fragment>\n )}\n </StyledPoster>\n {hasContent && !textOnImage && (\n <ContentMobile>\n {title && (\n <Title\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n isInverted={isInverted}\n />\n )}\n {text && (\n <Text\n type=\"copy-b\"\n size=\"big\"\n isCentered={isCentered}\n innerHTML={text}\n isInverted={isInverted}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </ContentMobile>\n )}\n </Section>\n );\n};\n\nexport const HeaderComponent = Header;\nexport default withLibTheme(Header);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport Pointer from 'components/buttons/Pointer';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image from 'components/blocks/Image';\n\nconst StyledSection = styled(Section)<{ isCentered?: boolean }>`\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n margin: ${({ isCentered }) => (isCentered ? '0 auto' : '0')};\n\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n }\n`;\n\nconst ItemContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n }\n`;\n\nconst Items = styled.ul<{ isVisible?: boolean; isCentered?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'block')};\n align-items: center;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n list-style: none;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 0 1 auto;\n }\n }\n`;\n\nconst Item = styled.li<{\n isVisible?: boolean;\n index: number;\n}>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n display: ${({ index, isVisible }) =>\n isVisible || index < 6 ? 'block' : 'none'};\n\n & > img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n\n & > img {\n width: auto;\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 10 ? 'block' : 'none'};\n }\n`;\n\nconst ItemLink = styled(Link)<{ isInverted?: boolean }>`\n display: block;\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n`;\n\nconst ShowMore = styled.div<{ itemCount?: number; isCentered?: boolean }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 6 ? 'block' : 'none'};\n\n background: none;\n border: none;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n @media ${mq.semilarge} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 10 ? 'block' : 'none'};\n }\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport interface IconListItem {\n src: string;\n alt?: string;\n link?: LinkProps;\n ratio?: { h: number; w: number };\n showPlaceholder?: boolean;\n}\n\nconst IconList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with icon items data */\n items?: Array<IconListItem>;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom toggle button */\n toggle?: (props: {\n isInverted?: boolean;\n isToggled?: boolean;\n showLessText?: string;\n showMoreText?: string;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n additionalProps?: Record<string, any>;\n }) => React.ReactNode;\n\n /** Custom text for toggle button in folded state */\n showMoreText?: string;\n\n /** Custom text for toggle button in expanded state */\n showLessText?: string;\n\n /** Center all icons and texts */\n isCentered?: boolean;\n\n /** Enable toggle feature */\n enableToggle?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n items,\n isCentered = false,\n primaryAction,\n secondaryAction,\n toggle,\n showLessText = 'show less',\n showMoreText = 'show more',\n enableToggle,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [showMore, setShowMore] = useState<boolean>(!enableToggle);\n\n const handleToggleClick = () => {\n setShowMore((prev) => !prev);\n };\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n isCentered={isCentered}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <ItemContainer isCentered={isCentered}>\n <Items\n isVisible={!showMore ? true : showMore === true}\n isCentered={isCentered}\n >\n {items?.map(\n ({ src, link, alt, ratio, showPlaceholder }, i) => (\n <Item isVisible={showMore} index={i} key={i}>\n <ItemLink\n {...link}\n isInverted={isInverted}\n ariaLabel={alt}\n >\n <Image\n data-img-loaded={false}\n isInverted={isInverted}\n small={src}\n alt={alt}\n ratios={\n ratio\n ? { small: ratio }\n : undefined\n }\n showPlaceholder={showPlaceholder}\n />\n </ItemLink>\n </Item>\n )\n )}\n </Items>\n </ItemContainer>\n {enableToggle && (\n <ShowMore\n isCentered={isCentered}\n itemCount={items?.length || 0}\n >\n {toggle ? (\n toggle({\n isInverted,\n showLessText,\n showMoreText,\n isToggled: showMore,\n clickHandler: handleToggleClick,\n additionalProps: { 'aria-pressed': showMore },\n })\n ) : (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n aria-pressed={showMore}\n onClick={() => handleToggleClick()}\n >\n <Pointer.Label>\n {showMore ? showLessText : showMoreText}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n )}\n\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const IconListComponent = IconList;\nexport default withLibTheme(IconList);\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { getColors as color, spacings } from 'utils/styles';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport ArrowDown from 'components/base/icons/ArrowDown';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport { getFullNavbarHeights, getNavbarState } from './navigation/Navigation';\nimport { useMediaQueries } from 'utils/useMediaQuery';\n\nconst List = styled.ul<{ hasBg?: boolean; isInverted?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n\n max-width: 880px;\n\n & > li + li {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:first-child {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:last-child {\n border-bottom: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst ListItem = styled.li``;\n\nconst IndexLink = styled(Link)<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n padding: ${spacings.nudge}px 0;\n\n ${copyStyle('copy', 'big')}\n`;\n\nconst LinkLabel = styled.span`\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst IconWrapper = styled.span`\n display: inline-block;\n\n margin-left: ${spacings.nudge * 2}px;\n`;\n\nexport interface IndexItem {\n label?: string;\n link?: LinkProps;\n}\n\nconst IndexList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of index item settings */\n items?: IndexItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom icon decorator */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Top offset for scroll to clicked item. Default: auto */\n scrollToOffset?: number;\n}> = ({ anchorId, items, bgMode, customIcon, scrollToOffset }) => {\n const { colors, theme } = useLibTheme();\n const setTargetPos = useScrollTo(500);\n const { semilarge } = useMediaQueries();\n\n const [topOffset, setTopOffset] = useState<number>(0);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const handleLinkClick = (ev: React.SyntheticEvent<HTMLAnchorElement>) => {\n if (!ev?.currentTarget) return;\n\n ev.preventDefault();\n const href = ev.currentTarget.getAttribute('href') as string;\n\n if (!href) return;\n\n const target = document.getElementById(href.split('#')?.[1] || href);\n if (target) {\n setTargetPos(\n target.getBoundingClientRect().top +\n window.scrollY -\n (scrollToOffset || topOffset)\n );\n }\n\n if (window) {\n const url = new URL(window.location as any);\n url.hash = href.split('#')[1];\n window.history.pushState({}, '', url as any);\n }\n };\n\n useEffect(() => {\n if (scrollToOffset) return;\n\n // if header is defined get navbar height and generate top offset\n const header = document.querySelector('header[data-navbar-ident]');\n const navbarIdent = header?.getAttribute('data-navbar-ident');\n if (!navbarIdent) return;\n\n const { isStickable } = getNavbarState(navbarIdent);\n if (!isStickable) return;\n\n // calculate offset from navbar height\n const navbarHeights = getFullNavbarHeights(theme, navbarIdent);\n\n if (semilarge) setTopOffset(navbarHeights.small[1] + spacings.spacer);\n else setTopOffset(navbarHeights.small[0] + spacings.spacer);\n }, [theme, semilarge, scrollToOffset]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg} isInverted={isInverted}>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <IndexLink\n {...item.link}\n isInverted={isInverted}\n onClick={handleLinkClick}\n >\n <LinkLabel>{item.label}</LinkLabel>\n <IconWrapper>\n {customIcon ? (\n customIcon({ isInverted })\n ) : (\n <ArrowDown />\n )}\n </IconWrapper>\n </IndexLink>\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const IndexListComponent = IndexList;\nexport default withLibTheme(IndexList);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { ImageProps } from 'components/blocks/Image';\nimport { TitleSize } from 'components/blocks/Title';\n\nconst Intro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Main title style */\n titleSize?: TitleSize;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Intro text under headline (richtext) */\n abstract?: string;\n\n /** Main text (richtext) */\n text?: string;\n\n /** Images for different screen sizes. coverSpace defaults to true */\n image?: ImageProps;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Center text and actions */\n isCentered?: boolean;\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Clamp title to a width of max 8 grid cols. */\n clampTitle?: boolean;\n\n /** Section background */\n bgMode?: 'inverted' | 'full' | 'splitted';\n className?: string;\n}> = ({\n anchorId,\n title,\n titleAs,\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n abstract,\n text,\n primaryAction,\n secondaryAction,\n isCentered = false,\n isStackable = false,\n bgMode,\n image,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n // set default ratio settings\n if (image && !image?.ratios) {\n image.ratios = {\n small: { h: 1, w: 1 },\n };\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <IntroBlock\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n abstract={abstract}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n isCentered={isCentered}\n image={image}\n clampTitle\n clampAbstract\n clampText\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const IntroComponent = Intro;\nexport default withLibTheme(Intro);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Grid, { getGridWidth, gridSettings } from 'components/base/Grid';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\n\nimport IntroBlock from 'components/blocks/IntroBlock';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nimport Phone from 'components/base/icons/Phone';\nimport Mail from 'components/base/icons/Mail';\n\nimport { generateLocalBusiness } from 'utils/structuredData';\nimport Link from 'components/typography/Link';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Control from 'components/buttons/Control';\nimport * as Icons from 'icons';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport useLeafletMap from 'utils/useLeafletMap';\nimport { isValidArray } from 'utils/arrays';\n\ninterface Address {\n street: string;\n postalCode: string;\n city?: string;\n country: string;\n}\n\nconst MapSection = styled(Section)`\n position: relative;\n min-height: 500px;\n z-index: 0;\n`;\n\nconst MapContainer = styled.div<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n z-index: 0;\n\n height: 100%;\n min-height: 230px;\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n width: calc(50% - ${gridSettings.gutter}px ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n width: calc(\n ${spacings.wrapperLarge / 2}px - ${gridSettings.gutter}px +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored\n ? `(100% + ${gridSettings.gutter}px) - `\n : `(-100% - ${gridSettings.gutter}px) + `}\n (${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst CardWrapper = styled(Wrapper)`\n pointer-events: none;\n`;\n\nconst CardContainer = styled.div<{ isMirrored?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n pointer-events: all;\n\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst InfoCardView = styled.div`\n min-height: 100px;\n pointer-events: all;\n\n flex: 1 0 80%;\n max-width: 80%;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst CardHeader = styled.div`\n display: flex;\n`;\n\nconst ContactList = styled.ul<{ isInverted?: boolean }>`\n padding: 0;\n list-style-type: none;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n li {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0;\n margin: 0;\n }\n\n li + li {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n span:first-child {\n flex: 0 0 30px;\n max-width: 30px;\n\n & > * {\n max-width: 100%;\n }\n }\n`;\n\nconst ContactListLink = styled(Link)`\n display: block;\n\n ${copyStyle('copy-b', 'big')}\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n\n * + & {\n margin-left: ${spacings.nudge * 1.5}px;\n }\n`;\n\nconst AddressContainer = styled.div<{ hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n ${({ hasIcon }) => css`\n -ms-grid-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-template-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n -ms-grid-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-auto-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n `}\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst CompanyInfo: FC<{\n isInverted?: boolean;\n companyName: string;\n address?: Address;\n customIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({ isInverted, companyName, address, customIcon }) => {\n return (\n <AddressContainer hasIcon={!!customIcon}>\n {customIcon && <span> {customIcon()} </span>}\n <div>\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n {companyName}\n </Copy>\n {address && (\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n <div>{address.street}</div>\n <div>{`${address.postalCode} ${address.city}`}</div>\n <div>{address.country}</div>\n </Copy>\n )}\n </div>\n </AddressContainer>\n );\n};\n\nconst Desc = styled(Copy)`\n @media ${mq.semilarge} {\n margin-top: ${spacings.spacer * 2.5}px;\n }\n`;\n\nconst LocationInfoCard: FC<\n MapLocation & {\n isInverted?: boolean;\n }\n> = ({\n isInverted,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n companyName,\n address,\n addressIcon,\n contact,\n description,\n}) => {\n const { colors } = useLibTheme();\n\n const addressIconContent = addressIcon ? (\n addressIcon({ isInverted })\n ) : (\n <LocationPin\n iconColor={isInverted ? colors.text.inverted : colors.text.default}\n />\n );\n\n const phoneIconContent = contact?.telephone?.icon ? (\n contact.telephone.icon({\n isInverted,\n })\n ) : (\n <Phone />\n );\n\n const mailIconContent = contact?.email?.icon ? (\n contact.email.icon({ isInverted })\n ) : (\n <Mail />\n );\n\n return (\n <InfoCardView>\n <CardHeader>\n <IntroBlock\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n />\n </CardHeader>\n {companyName && (\n <CompanyInfo\n companyName={companyName || ''}\n address={address}\n customIcon={\n addressIconContent\n ? () => addressIconContent\n : undefined\n }\n isInverted={isInverted}\n />\n )}\n {contact && (\n <ContactList isInverted={isInverted}>\n {contact?.telephone?.label && (\n <li>\n {phoneIconContent && (\n <span>{phoneIconContent}</span>\n )}\n <ContactListLink\n isInverted={isInverted}\n href={`tel:${\n contact.telephone.link ||\n contact.telephone.label\n }`}\n >\n {contact.telephone?.label}\n </ContactListLink>\n </li>\n )}\n {contact?.email?.label && (\n <li>\n {mailIconContent && <span>{mailIconContent}</span>}\n <ContactListLink\n isInverted={isInverted}\n href={`mailto:${\n contact?.email.link || contact.email.label\n }`}\n >\n {contact?.email.label}\n </ContactListLink>\n </li>\n )}\n </ContactList>\n )}\n\n <Desc isInverted={isInverted} innerHTML={description} />\n </InfoCardView>\n );\n};\n\nconst Controls = styled.div`\n flex: 1 0 20%;\n max-width: 20%;\n display: flex;\n flex-direction: column;\n align-self: flex-start;\n margin-left: auto;\n text-align: right;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FylToCtrlContainer = styled.button`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1000;\n background: none;\n border: none;\n margin: 0;\n padding: 0;\n\n margin-top: ${spacings.spacer}px;\n margin-right: ${spacings.spacer}px;\n color: ${({ theme }) => color(theme).elementBg.dark};\n\n cursor: pointer;\n`;\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapLocation {\n id: string;\n position: [number, number];\n icon?: LocationIcon;\n\n title?: string; // Rich Text\n titleAs?: HeadlineTag;\n superTitle?: string;\n superTitleAs?: HeadlineTag;\n\n companyName?: string;\n address?: Address;\n addressIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n contact?: {\n telephone?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n email?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n };\n image?: string[];\n description?: string;\n}\n\nconst Map: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Switch horizontal order of map and location info text */\n isMirrored?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialLocation?: string;\n\n /** Array of location settings */\n locations?: Array<MapLocation>;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Icon element for flight to the current active location */\n flyToControl?: React.ReactNode;\n\n /** Injection function to replace default control button */\n controlNext?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n\n /** Injection function to replace default control button */\n controlPrev?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n isMirrored = false,\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n flyToZoom,\n initialLocation,\n locations,\n allMarkersOnInit = false,\n fitBoundsPadding,\n flyToControl,\n controlNext,\n controlPrev,\n}) => {\n const { colors } = useLibTheme();\n\n const [activeLocationId, setActiveLocationId] = useState<string>(\n initialLocation || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n const activeLocation = useMemo(\n () => locations?.find((l) => l.id === activeLocationId),\n [activeLocationId, locations]\n );\n\n const hasBg = bgMode === 'full';\n const isInverted = bgMode === 'inverted';\n\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activeLocationId,\n markers: locations?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })),\n fitBoundsPadding,\n onMarkerClick: setActiveLocationId,\n });\n\n const goToNext = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex = (currentIndex + 1) % locations.length;\n return locations[newIndex].id;\n });\n };\n\n const goToPrevious = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex =\n currentIndex - 1 < 0 ? locations.length - 1 : currentIndex - 1;\n return locations[newIndex].id;\n });\n };\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n flyToActive(flyToZoom);\n }\n }, [\n activeLocationId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n initialLocation,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activeLocationId !== initialLocation) setIsDirty(true);\n }, [activeLocationId, initialLocation, isDirty]);\n\n return (\n <MapSection\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {locations && generateLocalBusiness(locations)}\n <MapContainer ref={setMapContainer} isMirrored={isMirrored}>\n {flyToControl && (\n <FylToCtrlContainer\n onClick={(ev) => {\n ev.stopPropagation();\n flyToActive(flyToZoom);\n }}\n >\n {flyToControl}\n </FylToCtrlContainer>\n )}\n </MapContainer>\n\n <CardWrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n >\n <CardContainer isMirrored={isMirrored}>\n {isValidArray(locations, false) && (\n <React.Fragment>\n {activeLocation && (\n <LocationInfoCard\n {...activeLocation}\n isInverted={isInverted}\n />\n )}\n {locations.length > 1 && (\n <Controls>\n {controlNext ? (\n controlNext({\n isInverted,\n isActive: true,\n clickHandler: goToNext,\n name: 'control_next_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToNext}\n >\n <Icons.ArrowRightGhost />\n </Control>\n )}\n {controlPrev ? (\n controlPrev({\n isInverted,\n isActive: true,\n clickHandler: goToPrevious,\n name: 'control_prev_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToPrevious}\n >\n <Icons.ArrowLeftGhost />\n </Control>\n )}\n </Controls>\n )}\n </React.Fragment>\n )}\n </CardContainer>\n </Grid.Col>\n </Grid.Row>\n </CardWrapper>\n </MapSection>\n );\n};\n\nexport const MapComponent = Map;\nexport default withLibTheme(Map);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nconst View = styled(Link)<{ isInverted?: boolean; hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: ${({ hasIcon }) => (hasIcon ? 'min-content 1fr' : '1fr')};\n grid-template-columns: ${({ hasIcon }) =>\n hasIcon ? 'min-content 1fr' : '1fr'};\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n cursor: pointer;\n text-decoration: none;\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: all ease-in-out 0.2s;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst MainLabel = styled.div<{ hasIcon?: boolean }>`\n display: flex;\n align-items: center;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Text = styled(Copy)<{ hasIcon?: boolean }>`\n margin-top: ${({ hasIcon }) =>\n hasIcon ? spacings.nudge : spacings.nudge * 2}px;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst TitleIcon = styled.span`\n display: inline-block;\n margin-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nexport interface NavBlockProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Navigation title */\n title?: string;\n\n /** Navigation text (richtext) */\n text?: string;\n\n /** Link settings */\n link?: LinkProps;\n\n /** Function to inject custom icon node */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Function to inject custom title icon decorator node */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n className?: string;\n}\n\nconst NavBlock: React.FC<NavBlockProps> = ({\n isInverted = false,\n title,\n text,\n link,\n customIcon,\n customTitleIcon,\n className,\n}) => {\n return (\n <View\n {...link}\n isInverted={isInverted}\n hasIcon={!!customIcon}\n className={className}\n >\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <MainLabel hasIcon={!!customIcon}>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n {title && customTitleIcon && (\n <TitleIcon>\n {customTitleIcon({ isInverted })}\n </TitleIcon>\n )}\n </Title>\n )}\n </MainLabel>\n {text && (\n <>\n <span />\n <Text\n size=\"small\"\n isInverted={isInverted}\n innerHTML={text}\n hasIcon={!!customIcon}\n />\n </>\n )}\n </View>\n );\n};\n\nexport default NavBlock;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NavBlock, { NavBlockProps } from 'components/blocks/NavBlock';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings } from 'utils/styles';\n\nconst List = styled.ul`\n margin: 0;\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer * 2}px;\n }\n`;\n\nconst ListItem = styled.li`\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n\n @media ${mq.large} {\n flex: 0 0 33.33%;\n max-width: 33.33%;\n }\n\n // print version\n @media print {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n`;\n\nexport type NavItem = Omit<\n NavBlockProps,\n 'isInverted' | 'customTitleIcon' | 'className'\n>;\n\nconst NavList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of navigation item settings */\n items?: NavItem[];\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom title decorator icon */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customTitleIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <NavBlock\n {...item}\n isInverted={isInverted}\n customTitleIcon={customTitleIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NavListComponent = NavList;\nexport default withLibTheme(NavList);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Seperator = styled.div<{ isInverted?: boolean; isTop?: boolean }>`\n border-bottom: solid 1px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n margin-top: ${({ isTop }) => !isTop && spacings.spacer}px;\n margin-bottom: ${({ isTop }) => isTop && spacings.spacer}px;\n`;\n\nconst AuthorContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.spacer}px;\n }\n }\n`;\n\nconst Avatar = styled.img`\n border-radius: 50%; ;\n`;\n\nconst Author = styled.div``;\n\nconst StyledCopy = styled(Copy)`\n text-transform: uppercase;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst NewsAuthorCard: React.FC<{\n /** Text above author name */\n label?: string;\n\n /** Article's author name */\n author?: string;\n\n /** Author avatar image */\n avatar?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ label, author, avatar, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {author && (\n <React.Fragment>\n <Seperator isTop isInverted={isInverted} />\n <AuthorContainer>\n {avatar && (\n <Avatar src={avatar.src} alt={avatar.alt} />\n )}\n <Author>\n {author && (\n <StyledCopy\n isInverted={isInverted}\n type=\"copy-b\"\n >\n {label || 'Written By'}\n </StyledCopy>\n )}\n <Heading\n isInverted={isInverted}\n size=\"heading-2\"\n >\n {author}\n </Heading>\n </Author>\n </AuthorContainer>\n </React.Fragment>\n )}\n <Seperator isInverted={isInverted} />\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsAuthorCardComponent = NewsAuthorCard;\nexport default withLibTheme(NewsAuthorCard);\n","import React, { forwardRef, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n getFonts as font,\n getColors,\n} from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport StatusFormatter from 'utils/statusFormatter';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div`\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ImageLink = styled(Link)`\n display: block;\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst BorderPlaceholder = styled.div<{ hasBg?: boolean }>`\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? getColors(theme).elementBg.light\n : getColors(theme).elementBg.medium};\n`;\n\nconst TitleLink = styled(Link)`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n`;\n\nconst Head = styled.div`\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Tags = styled.div`\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst PublishDate = styled(Copy)`\n &:only-child {\n margin-left: auto;\n }\n`;\n\nconst Main = styled.div`\n max-width: 95%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Text = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n`;\n\nconst Action = styled.div`\n margin-top: ${spacings.nudge * 3}px;\n`;\n\nexport interface NewsCardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** News tag name */\n tags?: TagProps[];\n\n /** News publish date */\n publishDate?: Date;\n\n /** News title */\n title?: string;\n\n /** News text */\n text?: string;\n\n /** News image settings */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** News link settings */\n link?: LinkProps;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n\n /** Function to inject primary action */\n action?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLAnchorElement>) => void;\n }) => React.ReactNode;\n\n hasBg?: boolean;\n}\n\nconst NewsCard = forwardRef<\n HTMLDivElement,\n NewsCardProps & {\n className?: string;\n }\n>(\n (\n {\n tags,\n onTagClick,\n publishDate,\n title,\n text,\n image,\n link,\n isInverted,\n action,\n customTag,\n className,\n hasBg,\n },\n ref\n ) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (publishDate) {\n const formatter = new StatusFormatter(\n publishDate.getTime(),\n '',\n globals.sections.newsDateFormat(publishDate),\n globals.sections.newsTimeFormat(publishDate),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLAnchorElement>) => {\n ev?.preventDefault();\n onTagClick(tag);\n }\n : undefined;\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag.name);\n }, [tags]);\n\n return (\n <View ref={ref} className={className}>\n {image ? (\n <ImageLink {...link} ariaLabel={title}>\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n />\n </ImageLink>\n ) : (\n <BorderPlaceholder hasBg={hasBg} />\n )}\n <Head data-sheet=\"head\">\n {isValidArray(filteredTags, false) && (\n <Tags>\n {filteredTags.map((tag, i) => {\n if (customTag) {\n return customTag({\n key: i,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n clickHandler: handleTagClick(tag),\n });\n } else {\n return (\n <Tag\n key={i}\n isInverted={isInverted}\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n );\n }\n })}\n </Tags>\n )}\n {publishedAt && (\n <PublishDate\n size=\"small\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {publishedAt}\n </PublishDate>\n )}\n </Head>\n <Main>\n {title && (\n <TitleLink\n {...link}\n ariaLabel={title}\n isInverted={isInverted}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n )}\n {text && (\n <Text\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n data-sheet=\"text\"\n size=\"medium\"\n />\n )}\n </Main>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nNewsCard.displayName = 'NewsCard';\n\nexport default NewsCard;\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport Copy from 'components/typography/Copy';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport Pointer from 'components/buttons/Pointer';\nimport { isValidArray } from 'utils/arrays';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport Filter from 'components/base/icons/Filter';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport useMounted from 'utils/useMounted';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nexport const getNewsFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.newsFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\ntype NewsOverviewMq = 'small' | 'semilarge' | 'large';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'customTag' | 'isInverted' | 'onTagClick'\n>;\n\nconst NewsOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news?: NewsItem[];\n\n /** Tags for news filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n news,\n tags,\n initial,\n showMoreText,\n bgMode,\n\n onTagClick,\n customTag,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.newsFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [selectedTags, setSelectedTags] = useState<string[]>(\n initial?.activeTags || []\n );\n\n const mqs: NewsOverviewMq[] = ['small', 'semilarge', 'large'];\n const currentMq = useMediaQuery(mqs) as NewsOverviewMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(3);\n const [visibleRows, setVisibleRows] = useState(initial?.visibleRows || 3);\n const isMounted = useMounted();\n\n const targetRef = useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n\n const newsCount = news?.length || 0;\n\n const setNewPos = useScrollTo(800);\n const { sheetRefs: cardRefs, triggerCalculation } =\n useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n const paramRows = parseInt(getUrlParams()['rows']);\n\n setVisibleRows(paramRows || 3);\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // trigger equal sheet height recalculation\n triggerCalculation();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n useEffect(() => {\n switch (currentMq) {\n case 'large':\n setItemsPerRow(3);\n break;\n\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n // trigger equal sheet height recalculation\n triggerCalculation();\n setVisibleRows(3);\n };\n\n const filteredNews = useMemo(() => {\n const tagFilterFn = (item: NewsItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(news) ? [...news] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [news, selectedTags]);\n\n const visibleNews: NewsItem[] = useMemo(() => {\n return (\n filteredNews?.filter((_, i) => i < visibleRows * itemsPerRow) || []\n );\n }, [filteredNews, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more news\n if (\n visibleRows <\n Math.ceil(filteredNews.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n newsCount,\n visibleRows,\n observerSupported,\n filteredNews.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <News>\n {visibleNews.map((item, i) => (\n <NewsItem key={`${i}_news_${item.title}`}>\n <NewsCard\n hasBg={hasBg || isInverted}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick({ name: tag.name }, true);\n }\n }}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {news && news.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={news.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredNews.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredNews.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsOverviewComponent = NewsOverview;\nexport default withLibTheme(NewsOverview);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { useEffect, useState } from 'react';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\ntype NewsFooterMq = 'small' | 'semilarge';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsFooter: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news: NewsItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n const newsCount = news?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const mqs: NewsFooterMq[] = ['small', 'semilarge'];\n const currentMq = useMediaQuery(mqs) as NewsFooterMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(2);\n const [visibleRows, setVisibleRows] = useState(1);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 2,\n xlarge: 2,\n },\n });\n\n useEffect(() => {\n switch (currentMq) {\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n <Grid.Row>\n {news\n ?.filter((_, i) => i < visibleRows * itemsPerRow)\n .map((item, i) => (\n <Grid.Col\n medium={{ span: 6 / 12 }}\n key={`${i}_news_${item.title}`}\n >\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n customTag={customTag}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsFooterComponent = NewsFooter;\nexport default withLibTheme(NewsFooter);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst NewsImages: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** List of gallery images */\n images?: ImageType[];\n\n /** Image style */\n isFull?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, images, bgMode }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Grid.Row>\n {images\n ?.filter((img) => img.small)\n ?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n {/* {images && (imageStyle === 'half' || images.length >= 2) ? (\n <Grid.Row>\n {images.map((img, i) => {\n return (\n <Grid.Col medium={{ span: 6 / 12 }} key={i}>\n <div>\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </div>\n </Grid.Col>\n );\n })}\n </Grid.Row>\n ) : (\n images && (\n <div>\n {images.map((img, i) => {\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n );\n })}\n </div>\n )\n )} */}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsImagesComponent = NewsImages;\nexport default withLibTheme(NewsImages);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Title from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { mq, spacings } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst IntroHead = styled(Copy)`\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst Tags = styled.div`\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n`;\n\nconst TagWrapper = styled.span`\n display: inline-block;\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst MetaBlock = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapperSmall + 'px'};\n`;\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapper + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsIntro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news tags */\n tags?: TagProps[];\n\n /** News article's meta informations */\n meta?: { date?: Date; author?: string };\n\n /** Title of news article */\n title?: string;\n\n /** Main image of news article */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** Text of news article (richtext) */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, tags, meta, title, text, image, bgMode, customTag }) => {\n const { globals, colors, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n let publishedAt = '';\n if (meta?.date) {\n const formatter = new StatusFormatter(\n meta.date.getTime(),\n '',\n globals.sections.newsDateFormat(meta.date),\n globals.sections.newsTimeFormat(meta.date),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Content>\n <IntroHead isInverted={isInverted}>\n <Tags>\n {tags?.map((tag, i) => {\n let tagLink: LinkProps | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagLink = {\n ...tag.link,\n href: getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n ),\n };\n }\n\n return (\n <TagWrapper key={`headtag-${i}`}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tagLink,\n })\n ) : (\n <Tag\n link={tagLink}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n );\n })}\n </Tags>\n {(publishedAt || meta?.author) && (\n <MetaBlock>\n {meta?.author && <div>{meta?.author}</div>}\n {publishedAt && <div>{publishedAt}</div>}\n </MetaBlock>\n )}\n </IntroHead>\n <div>\n <StyledTitle\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n />\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy-b\"\n innerHTML={text}\n />\n )}\n </div>\n {image?.small && (\n <Image\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsIntroComponent = NewsIntro;\nexport default withLibTheme(NewsIntro);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Show a short version of three or a expanded version of six news items */\n mode?: 'short' | 'expanded';\n\n /** Array of news card settings */\n news?: NewsItem[];\n\n /** Sections background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, mode = 'short', news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n\n const items = useMemo<NewsCardProps[]>(() => {\n if (!news) return [];\n if (mode === 'expanded') return news.slice(0, 6);\n else return news.slice(0, 3);\n }, [news, mode]);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items.length,\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <News>\n {items?.map((item, i) => (\n <NewsItem key={i}>\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsListComponent = NewsList;\nexport default withLibTheme(NewsList);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper clampWidth=\"small\">\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n {...item}\n key={i}\n hasBack={hasBg}\n isInverted={isInverted}\n />\n );\n })}\n </TableWrapper>\n </Section>\n );\n};\n\nexport const NewsTableComponent = NewsTable;\nexport default withLibTheme(NewsTable);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapperSmall + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.nudge * 5}px;\n }\n`;\n\nconst NewsText: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main text (RichText) */\n text: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, text, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsTextComponent = NewsText;\nexport default withLibTheme(NewsText);\n","import React, { FC, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport {\n CookieConsentData,\n selectors,\n} from 'utils/cookie-consent/useCookieConsent';\nimport { Cookie, getCookie } from 'utils/cookie-consent/cookie';\nimport Copy from 'components/typography/Copy';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport { useLibTheme } from 'utils/LibThemeProvider';\n\nconst View = styled.div<{\n bgImage?: ImageProps;\n isActive?: boolean;\n onClick?: () => void;\n}>`\n text-align: center;\n\n cursor: ${({ onClick }) => onClick && 'pointer'};\n position: relative;\n\n padding-bottom: 56.25%;\n\n background-image: url('${({ bgImage }) => (bgImage ? bgImage.small : '')}');\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:before {\n content: ${({ isActive, bgImage }) => !isActive && bgImage && '\"\"'};\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n opacity: ${({ bgImage }) => (bgImage ? '0.3' : '0')};\n\n pointer-events: none;\n }\n\n &:after {\n content: ${({ isActive, bgImage }) => !isActive && bgImage && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${View}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${View}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst ConsentOverlay = styled.div<{ isVisible?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'none')};\n justify-content: center;\n align-items: center;\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: rgba(0, 0, 0, 0.6);\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst ConsentContent = styled.div`\n max-width: 330px;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ConsentText = styled(Copy)``;\n\nconst Iframe = styled.iframe`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n border: none;\n`;\n\nexport interface VideoCardProps {\n bgImage: ImageProps;\n embedId: string;\n playIcon?: React.ReactNode;\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n}\n\nconst VideoCard: FC<VideoCardProps & { className?: string }> = ({\n bgImage,\n embedId,\n playIcon,\n consentText = 'Für die Wiedergabe von Videos muss der Nutzung von Cookies & Daten zugestimmt werden.',\n consentAction,\n className,\n}) => {\n const { globals } = useLibTheme();\n const [isActive, setIsActive] = useState(false);\n const [showConsent, setShowConsent] = useState(false);\n\n const handlePlayClick = () => {\n const cookie = getCookie(\n globals.cookie.name\n ) as Cookie<CookieConsentData>;\n\n const isAccepted =\n globals.cookie.videoCookieTypeRestrictions.reduce<boolean>(\n (acc, current) => {\n if (!acc) return acc;\n if (!cookie || !cookie?.data.types) return false;\n\n // set acc to false if type is not defined or set to false\n acc = !!cookie?.data?.types?.[current];\n return acc;\n },\n true\n );\n\n if (isAccepted) {\n setIsActive(true);\n setShowConsent(false);\n } else {\n setShowConsent(true);\n }\n };\n\n const handleConsentActionClick = () => {\n setShowConsent(false);\n };\n\n return (\n <View\n onClick={!showConsent ? handlePlayClick : undefined}\n bgImage={isActive ? undefined : bgImage}\n isActive={isActive}\n className={className}\n >\n {!isActive && !showConsent && (\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n )}\n {isActive && (\n <Iframe\n id=\"ytplayer\"\n src={`https://www.youtube.com/embed/${embedId}?autoplay=1`}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n />\n )}\n <ConsentOverlay isVisible={showConsent}>\n <ConsentContent>\n {consentText && (\n <ConsentText isInverted>{consentText}</ConsentText>\n )}\n {consentAction ? (\n consentAction({\n handleClick: handleConsentActionClick,\n consentProps: {\n [selectors.buttons.attribute]: '',\n },\n })\n ) : (\n <ButtonGhost.View\n as=\"button\"\n isInverted\n onClick={handleConsentActionClick}\n className={selectors.buttons.class}\n >\n <ButtonGhost.Label>\n Zustimmung ändern\n </ButtonGhost.Label>\n </ButtonGhost.View>\n )}\n </ConsentContent>\n </ConsentOverlay>\n </View>\n );\n};\n\nexport default VideoCard;\n","import React from 'react';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst NewsVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Placeholder image */\n bgImage?: ImageProps;\n\n /** Embed video ID. E.g. from Youtube */\n embedId?: string;\n\n /** Custom play icon */\n playIcon?: React.ReactNode;\n\n /** Text for cookie consent overlay */\n consentText?: string;\n\n /** Function to inject custom action on cookie consent overlay */\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n {embedId && bgImage && (\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsVideoComponent = NewsVideo;\nexport default withLibTheme(NewsVideo);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport Heading from 'components/typography/Heading';\nimport React, { useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport { getColors as color, mq, spacings, withRange } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst View = styled.div`\n text-align: center;\n\n & > * {\n margin: 0 auto;\n }\n\n @media ${mq.semilarge} {\n text-align: left;\n\n & > * {\n margin: 0;\n }\n }\n`;\n\nconst Icon = styled.img`\n display: block;\n max-width: 140px;\n max-height: 140px;\n\n margin-bottom: ${spacings.nudge * 2}px;\n`;\n\nconst NumberContainer = styled.div<{ height: number }>`\n max-width: max-content;\n min-height: 90px;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n\n @media ${mq.semilarge} {\n min-height: 100px;\n }\n\n /* margin-bottom: ${spacings.nudge * 2}px; */\n\n @media ${mq.large} {\n min-height: 120px;\n }\n`;\n\nconst Number = styled(Callout)<{ isInverted?: boolean; stringLength: number }>`\n max-height: 140px;\n ${({ stringLength }) =>\n stringLength <= 6\n ? withRange([72, 120], 'font-size')\n : stringLength >= 10\n ? withRange([33, 42], 'font-size')\n : withRange([52, 72], 'font-size')}\n\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n`;\n\nconst Label = styled(Heading)`\n max-width: 80%;\n`;\n\nconst IconBlock: React.FC<{\n icon?: { src: string; alt?: string };\n number?: string;\n label?: string;\n isInverted?: boolean;\n}> = ({ icon, label, number, isInverted }) => {\n const theme = useContext(ThemeContext);\n\n const stringLength = number ? number.length : 0;\n\n return (\n <View>\n {icon && <Icon src={icon.src} alt={icon.alt} />}\n <NumberContainer height={0}>\n <Number\n renderAs=\"div\"\n stringLength={stringLength}\n isInverted={isInverted}\n >\n {number}\n </Number>\n </NumberContainer>\n <Label\n size=\"super\"\n textColor={\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }\n >\n {label}\n </Label>\n </View>\n );\n};\n\nconst ContentContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n flex-wrap: wrap;\n\n margin: -${spacings.spacer}px;\n margin-top: -${spacings.spacer * 2}px;\n\n @media ${mq.semilarge} {\n margin-top: -${spacings.spacer}px;\n }\n\n & > * {\n padding: ${spacings.spacer}px;\n padding-top: ${spacings.spacer * 2}px;\n\n @media ${mq.semilarge} {\n padding-top: ${spacings.spacer}px;\n }\n\n flex-basis: 100%;\n\n @media ${mq.semilarge} {\n flex: 0 0 50%;\n }\n\n @media ${mq.large} {\n flex: 0 1 33.33%;\n }\n }\n`;\n\nconst NumberList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: {\n icon?: { src: string; alt?: string };\n number?: string;\n label?: string;\n }[];\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, bgMode }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <ContentContainer>\n {items?.map((item, i) => {\n return (\n <IconBlock\n {...item}\n key={i}\n isInverted={isInverted}\n />\n );\n })}\n </ContentContainer>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NumberListComponent = NumberList;\nexport default withLibTheme(NumberList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings } from 'utils/styles';\n\nconst View = styled.section`\n position: relative;\n width: 100vw;\n z-index: -1;\n`;\n\nconst Parallax = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 0;\n width: 100%;\n`;\n\nconst Content = styled.div<{\n contentWidth?: number;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n margin-left: ${({ hAlign }) =>\n (hAlign === 'right' || hAlign === 'center') && 'auto'};\n margin-right: ${({ hAlign }) =>\n (hAlign === 'left' || hAlign === 'center') && 'auto'};\n\n width: ${({ contentWidth }) =>\n contentWidth\n ? contentWidth === -1\n ? 'auto'\n : contentWidth * 100 + '%'\n : undefined};\n\n max-width: ${spacings.wrapperLarge}px;\n overflow: hidden;\n\n & > * {\n width: ${({ contentWidth }) => contentWidth !== -1 && '100%'};\n }\n`;\n\nconst StyledImage = styled(Image)<{\n coverSpace?: boolean;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n max-width: ${({ coverSpace }) => !coverSpace && 'none'};\n float: ${({ hAlign }) =>\n hAlign === 'left' || hAlign === 'right' ? hAlign : undefined};\n ${({ coverSpace, hAlign }) =>\n !coverSpace &&\n hAlign === 'center' &&\n css`\n transform: translateX(-50%);\n margin-left: 50%;\n `}\n`;\n\nexport type ParallaxWidth = '1/4' | 'half' | '3/4' | 'full' | 'auto';\n\nconst ParallaxBackground: FC<{\n image?: ImageProps;\n hAlign?: 'left' | 'center' | 'right';\n contentWidth?: ParallaxWidth | number;\n moveRatio?: number;\n direction?: 'down' | 'up';\n className?: string;\n}> = ({\n image,\n hAlign = 'left',\n contentWidth = 1,\n moveRatio = 0.2,\n direction = 'up',\n className,\n}) => {\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n const [yTransform, setYTransform] = useState<number>(0);\n // const cRef = useRef<HTMLDivElement>(null);\n const [cRef, setContainerRef] = useState<HTMLElement | null>(null);\n const parallaxRef = useRef<HTMLDivElement>(null);\n\n let width = 1;\n if (typeof contentWidth === 'string') {\n switch (contentWidth) {\n case '1/4': {\n width = 0.25;\n break;\n }\n\n case 'half': {\n width = 0.5;\n break;\n }\n\n case '3/4': {\n width = 0.75;\n break;\n }\n\n case 'auto': {\n width = -1;\n break;\n }\n\n default:\n case 'full': {\n width = 1;\n break;\n }\n }\n } else if (!isNaN(contentWidth)) {\n width = contentWidth;\n }\n\n useEffect(() => {\n setIsLoaded(true);\n }, []);\n\n useEffect(() => {\n const prevEl = cRef?.previousElementSibling;\n if (prevEl) {\n const bgIdent = (prevEl as HTMLElement).dataset.bgIdent;\n const stackIdent = (prevEl as HTMLElement).dataset.stackIdent;\n\n if (bgIdent) {\n // set data background from previous element\n cRef?.setAttribute('data-bg-ident', bgIdent);\n }\n\n if (stackIdent) {\n // set data stack flag from previous element\n cRef?.setAttribute('data-stack-ident', stackIdent);\n }\n }\n }, [cRef]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (!cRef) return;\n\n const containerPos = cRef.getBoundingClientRect().top;\n const ratio = containerPos * moveRatio;\n const offset = ratio * (direction === 'up' ? 1 : -1);\n\n setYTransform(offset);\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [cRef, direction, moveRatio]);\n\n return (\n <>\n {isLoaded && (\n <View ref={setContainerRef} data-bg-ident=\"transparent\">\n <Parallax\n ref={parallaxRef}\n style={{\n transform: `translate3d(0px, ${yTransform}px, 0px)`,\n }}\n className={className}\n >\n <Content hAlign={hAlign} contentWidth={width}>\n {image && (\n <StyledImage\n hAlign={hAlign}\n coverSpace={width !== -1}\n {...image}\n />\n )}\n </Content>\n </Parallax>\n </View>\n )}\n </>\n );\n};\n\nexport default ParallaxBackground;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst Container = styled.figure<{\n hasContent?: boolean;\n verticallyCentered?: boolean;\n}>`\n position: relative;\n width: 100%;\n max-height: 550px;\n padding: 0;\n margin: 0;\n\n &:after {\n content: ${({ hasContent }) => hasContent && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme, verticallyCentered }) =>\n verticallyCentered\n ? global(theme).sections.imageTextGradientCentered\n : global(theme).sections.imageTextGradient};\n pointer-events: none;\n z-index: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n img {\n height: 550px;\n }\n`;\n\nconst Intro = styled(IntroBlock)<{\n verticallyCentered?: boolean;\n horizontallyCentered?: boolean;\n}>`\n position: absolute;\n bottom: ${({ verticallyCentered }) => !verticallyCentered && '0'};\n top: ${({ verticallyCentered }) => verticallyCentered && '50%'};\n left: 50%;\n right: 0;\n max-height: 100%;\n max-width: ${spacings.wrapper}px;\n\n padding: ${wrapperWhitespace + spacings.nudge * 2}px;\n z-index: 1;\n\n transform: ${({ verticallyCentered }) =>\n verticallyCentered ? 'translate(-50%, -50%)' : 'translateX(-50%)'};\n`;\n\nconst Poster: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Clamp width of poster image to content wrapper or large wrapper */\n width?: 'full' | 'content';\n\n /** The poster image settings */\n image: Omit<ImageProps, 'coverSpace' | 'ratios'>;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Text underneath the title (richtext) */\n text?: string;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Align text and actions vertically */\n verticallyCentered?: boolean;\n\n /** Align text and actions horizontally */\n horizontallyCentered?: boolean;\n}> = ({\n anchorId,\n width = 'content',\n title,\n titleAs,\n superTitle,\n superTitleAs,\n text,\n primaryAction,\n secondaryAction,\n image,\n verticallyCentered,\n horizontallyCentered,\n}) => {\n const isCentered = verticallyCentered && horizontallyCentered;\n\n return (\n <Section anchorId={anchorId} bgColor=\"image\" bgMode=\"full\">\n <Wrapper clampWidth={width === 'content' ? 'normal' : 'large'}>\n <Container\n hasContent={!!title || !!text}\n verticallyCentered={verticallyCentered}\n >\n <StyledImage {...image} coverSpace ratios={undefined} />\n {title && (\n <Intro\n verticallyCentered={verticallyCentered}\n horizontallyCentered={horizontallyCentered}\n renderAs=\"figcaption\"\n colorMode=\"onImage\"\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n clampTitle\n maxTitleLines={3}\n clampText\n maxTextLines={4}\n isCentered={horizontallyCentered || isCentered}\n />\n )}\n </Container>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PosterComponent = Poster;\nexport default withLibTheme(Poster);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ItemList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst ItemBlock = styled.li<{ hasBg?: boolean }>`\n max-width: 100%;\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.semilarge} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ListHead = styled.div`\n display: flex;\n justify-content: space-between;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n max-width: 880px;\n`;\n\nconst Price = styled(Copy)`\n white-space: nowrap;\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nexport interface PriceItems {\n /** Title of the price item */\n title?: string;\n /** Description text of price item (richtext) */\n text?: string;\n /** The price value (Currency not included) */\n price?: string;\n}\n\nexport const PriceBlock: React.FC<PriceItems & { hasBg?: boolean }> = ({\n text,\n price,\n hasBg = false,\n title,\n}) => {\n return (\n <ItemBlock hasBg={hasBg}>\n <ListHead>\n {title && <Title type=\"copy-b\">{title}</Title>}\n {price && <Price type=\"copy-b\">{price}</Price>}\n </ListHead>\n {text && <Description type=\"copy\" innerHTML={text} />}\n </ItemBlock>\n );\n};\n\nconst PriceList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with price items */\n items?: PriceItems[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n}> = ({ anchorId, bgMode, items }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <ItemList>\n {items?.map((item, i) => (\n <PriceBlock key={i} {...item} hasBg={hasBack} />\n ))}\n </ItemList>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceListComponent = PriceList;\nexport default withLibTheme(PriceList);\n","import {\n spacings,\n getColors as color,\n getGlobals as global,\n} from 'utils/styles';\nimport React, { forwardRef } from 'react';\nimport styled from 'styled-components';\nimport Copy from 'components/typography/Copy';\nimport Actions from './Actions';\nimport Callout from 'components/typography/Callout';\n\nconst View = styled.div<{\n isInverted?: boolean;\n isCentered?: boolean;\n hasBg?: boolean;\n isHighlighted?: boolean;\n}>`\n padding: ${spacings.spacer}px;\n\n border: 1px solid transparent;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: ${({ theme, hasBg, isInverted, isHighlighted }) =>\n isInverted\n ? isHighlighted\n ? color(theme).primary.inverted\n : color(theme).elementBg.medium\n : isHighlighted\n ? color(theme).primary.default\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n display: block;\n margin-top: auto;\n padding-top: ${spacings.spacer}px;\n text-align: center;\n`;\n\nexport interface PriceTagProps {\n title?: string;\n superTitle?: string;\n text?: string;\n action?: (props: {\n isInverted?: boolean;\n isHighlighted?: boolean;\n }) => React.ReactNode;\n isInverted?: boolean;\n isCentered?: boolean;\n hasBackground?: boolean;\n isHighlighted?: boolean;\n}\n\nconst PriceTag = forwardRef<\n HTMLDivElement,\n PriceTagProps & { className?: string }\n>(\n (\n {\n superTitle,\n title,\n text,\n action,\n isInverted,\n isCentered,\n isHighlighted,\n hasBackground,\n className,\n },\n ref\n ) => {\n const inverted = isHighlighted ? !isInverted : false;\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n isCentered={isCentered}\n isHighlighted={isHighlighted}\n hasBg={hasBackground}\n className={className}\n >\n {superTitle && (\n <Copy\n type=\"copy-b\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={superTitle}\n data-sheet=\"superTitle\"\n />\n )}\n {title && (\n <Callout\n renderAs=\"div\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={title}\n data-sheet=\"title\"\n />\n )}\n {text && (\n <Copy\n size=\"medium\"\n isInverted={inverted}\n innerHTML={text}\n data-sheet=\"desc\"\n />\n )}\n <StyledActions\n mode=\"cover\"\n primary={\n action &&\n action({\n isInverted: inverted,\n isHighlighted: isHighlighted,\n })\n }\n />\n </View>\n );\n }\n);\n\nPriceTag.displayName = 'PriceTag';\n\nexport default PriceTag;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport PriceTag, { PriceTagProps } from 'components/blocks/PriceTag';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { gridSettings } from 'components/base/Grid';\nimport { mq } from 'utils/styles';\n\nconst Tag = styled(PriceTag)`\n min-height: 500px;\n`;\n\nconst Items = styled.div`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n margin-top: -${gridSettings.gutter}px;\n margin-left: -${gridSettings.gutter}px;\n\n & > * {\n flex: 1 1 25%;\n min-width: 286px;\n max-width: 320px;\n margin-top: ${gridSettings.gutter}px;\n margin-left: ${gridSettings.gutter}px;\n }\n\n @media ${mq.large} {\n & > * {\n max-width: 286px;\n }\n }\n`;\n\nconst PriceTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Array of PriceTag card items */\n items: Array<Omit<PriceTagProps, 'isInverted'>>;\n /** Center text inside card items */\n isCentered?: boolean;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, isCentered, bgMode }) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const priceTagCount = items?.length || 0;\n\n const { colors } = useLibTheme();\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: priceTagCount,\n identifiers: [\n '[data-sheet=\"superTitle\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Items>\n {items?.map((item, i) => (\n <Tag\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n isCentered={isCentered}\n hasBackground={hasBg}\n />\n ))}\n </Items>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceTableComponent = PriceTable;\nexport default withLibTheme(PriceTable);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Copy from 'components/typography/Copy';\n\nconst Content = styled.figure`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n max-width: 960px;\n margin: 0 auto;\n }\n`;\n\nconst Text = styled(Callout)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Source = styled(Copy)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Quote: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Text of the blockquote (richtext) */\n text?: string;\n\n /** Source of the quote e.g. author (richtext) */\n source?: string;\n\n /** URL for additional cite informations */\n citeUrl?: string;\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, text, source, citeUrl }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Content>\n {text && (\n <Text\n size=\"small\"\n renderAs=\"blockquote\"\n isInverted={isInverted}\n innerHTML={text}\n {...{ cite: citeUrl }}\n />\n )}\n {source && (\n <Source\n isInverted={isInverted}\n renderAs=\"figcaption\"\n innerHTML={source}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const QuoteComponent = Quote;\nexport default withLibTheme(Quote);\n","import React, { FC, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper from 'components/base/Wrapper';\nimport { getColors } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst ImageWrapper = styled(Wrapper)<{ hAlign?: 'left' | 'center' | 'right' }>`\n display: flex;\n justify-content: ${({ hAlign }) => {\n switch (hAlign) {\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n }};\n`;\n\nconst SimpleImage: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Image settings */\n image?: ImageProps;\n\n /** Horizontal alignment of the image */\n hAlign?: 'left' | 'center' | 'right';\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, image, hAlign = 'left', bgMode, isStackable }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? getColors(theme).sectionBg.dark\n : hasBg\n ? getColors(theme).sectionBg.medium\n : getColors(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <ImageWrapper hAlign={hAlign}>\n {image && <Image {...image} />}\n </ImageWrapper>\n </Section>\n );\n};\n\nexport const SimpleImageComponent = SimpleImage;\nexport default withLibTheme(SimpleImage);\n","import React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n mq,\n spacings,\n getGlobals as global,\n} from 'utils/styles';\n\nimport Instagram from 'components/base/icons/socials/Instagram';\nimport Heading from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { gridSettings } from 'components/base/Grid';\nimport Image, { ImageProps } from 'components/blocks/Image';\n\nconst Cards = styled.ul`\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style: none;\n\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 1 1 100%;\n margin-top: ${spacings.spacer}px;\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n & > * {\n flex: 1 1 calc(50% - ${gridSettings.gutter}px);\n max-width: calc(50% - ${gridSettings.gutter}px);\n }\n }\n\n @media ${mq.large} {\n & > * {\n flex: 1 1 calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n max-width: calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n }\n }\n`;\n\nconst Item = styled.li`\n display: block;\n position: relative;\n padding: 0;\n`;\n\nconst Card = styled(Link)<{ isInverted?: boolean }>`\n position: relative;\n display: block;\n text-decoration: none;\n color: '#fff';\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).secondary.inverted\n : color(theme).secondary.default};\n\n opacity: 0;\n pointer-events: none;\n z-index: 1;\n transition: opacity 0.2s ease-in-out;\n }\n\n &:hover {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n\n &:focus {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n display: block;\n height: 100%;\n z-index: 0;\n`;\n\nconst TextContainer = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100%;\n transform: translate(-50%, -50%);\n text-align: center;\n\n padding: ${spacings.nudge * 2}px;\n\n opacity: 0;\n pointer-events: none;\n z-index: 2;\n transition: opacity 0.2s ease-in-out;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n ${Card}:hover & {\n opacity: 1;\n pointer-events: all;\n }\n\n ${Card}:focus & {\n opacity: 1;\n pointer-events: all;\n }\n`;\n\nconst FollowUs = styled(Heading)`\n text-transform: uppercase;\n`;\n\nconst InstagramIcon = styled.div`\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: ${({ theme }) => color(theme).text.inverted};\n z-index: 2;\n\n & > * {\n fill: #fff;\n\n ${Card}:hover & {\n color: ${({ theme }) => color(theme).text.inverted};\n }\n }\n`;\n\nconst SocialWall: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with item settings */\n items?: Array<{\n link?: LinkProps;\n image?: Omit<ImageProps, 'coverSpace' | 'ratio'>;\n }>;\n\n /** Text for main social media follow call */\n followUs?: string;\n\n /** Text for e.g. social media hashtag */\n hashTag?: string;\n\n /** Function to inject custom social icon on bottom left corner */\n socialIcon?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, hashTag, followUs, socialIcon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <Cards>\n {items?.map((item, i) => (\n <Item key={i}>\n <Card\n isExternal\n {...item.link}\n isInverted={isInverted}\n ariaLabel={item?.image?.alt}\n >\n {item.image && (\n <StyledImage\n {...item.image}\n coverSpace\n ratios={{\n small: { w: 1, h: 1 },\n }}\n isInverted={isInverted}\n />\n )}\n <TextContainer>\n <FollowUs size=\"super\" isInverted>\n {followUs\n ? followUs\n : 'Follow Us On Instagram'}\n </FollowUs>\n {hashTag && (\n <Heading size=\"heading-2\" isInverted>\n {hashTag}\n </Heading>\n )}\n </TextContainer>\n <InstagramIcon>\n {socialIcon || <Instagram />}\n </InstagramIcon>\n </Card>\n </Item>\n ))}\n </Cards>\n </Wrapper>\n </Section>\n );\n};\n\nexport const SocialWallComponent = SocialWall;\nexport default withLibTheme(SocialWall);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Table: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper>\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n key={i}\n {...item}\n isInverted={isInverted}\n hasBack={hasBg}\n />\n );\n })}\n </TableWrapper>\n </Section>\n );\n};\n\nexport const TableComponent = Table;\nexport default withLibTheme(Table);\n","import React, { FC, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Grid from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { BgMode } from 'components/base/Section';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst Figure = styled.figure`\n display: flex;\n flex-direction: column;\n position: relative;\n height: 100%;\n width: 100%;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: relative;\n width: 100%;\n height: 100%;\n\n @media ${mq.semilarge} {\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n }\n`;\n\nconst Video = styled(VideoBlock)<{\n ratios?: VideoAspectRatios;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n width: 100%;\n height: 100%;\n`;\n\nconst Description = styled(Copy)<{\n isInverted?: boolean;\n isSplitted?: boolean;\n isMirrored?: boolean;\n}>`\n display: block;\n\n @media ${mq.semilarge} {\n padding-left: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n margin-left: ${({ isMirrored }) => isMirrored && 'auto'};\n margin-right: ${({ isMirrored }) => !isMirrored && 'auto'};\n max-width: ${({ isSplitted }) => isSplitted && '81.5%'};\n\n color: ${({ theme, isInverted, isSplitted }) =>\n isInverted && !isSplitted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n }\n\n @media ${mq.xlarge} {\n max-width: ${({ isSplitted }) => isSplitted && '69.5%'};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Teaser: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Image or video description text (richtext) */\n description?: string;\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted' | 'inverted-splitted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n bgMode,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n description,\n text,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted' || bgMode === 'inverted-splitted';\n const isSplitted = bgMode === 'splitted' || bgMode === 'inverted-splitted';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToTeaserBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n >\n {(image?.small || hasVideo) && (\n <Figure ref={viewRef}>\n {image?.small && (!video || !isLoaded) && (\n <StyledImage\n {...image}\n isInverted={isInverted}\n coverSpace\n />\n )}\n {hasVideo && (\n <Video\n urls={\n isVideoActive\n ? video?.urls\n : undefined\n }\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n ratios={video?.aspectRatios}\n isVisible={isLoaded}\n isInverted={isInverted}\n />\n )}\n {description && (\n <Description\n size=\"small\"\n renderAs=\"figcaption\"\n isInverted={isInverted}\n isSplitted={isSplitted}\n isMirrored={isMirrored}\n innerHTML={description}\n />\n )}\n </Figure>\n )}\n </Grid.Col>\n\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction && primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const mapToTeaserBgMode = (\n mode?: 'full' | 'splitted' | 'inverted' | 'inverted-splitted',\n preventSplit = false,\n isMirrored = false\n): BgMode | undefined => {\n switch (mode) {\n case 'full':\n return 'full';\n case 'inverted':\n return 'inverted';\n case 'splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n case 'inverted-splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n\n default:\n return undefined;\n }\n};\n\nexport const TeaserComponent = Teaser;\nexport default withLibTheme(Teaser);\n","import React, { FC, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Grid, { getGridWidth } from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { mq, spacings, withRange, getGlobals as global } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\n/**\n * calculate single grid col from relative content wrapper\n * (grid width = wrapper width without paddings)\n * */\nconst getGridColOfContent = () => {\n return css`\n ${getGridWidth({\n cols: 1,\n gridWidth: `${spacings.wrapper - wrapperWhitespace * 2}px `,\n })}\n `;\n};\n\nconst WideVideo = styled(VideoBlock)<{\n isMirrored?: boolean;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n\n min-height: 400px;\n object-fit: cover;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst WideImage = styled(Image)<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n\n height: 100%;\n min-height: 400px;\n\n img {\n height: 100%;\n }\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst Content = styled.div`\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TeaserWide: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n text,\n primaryAction,\n secondaryAction,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n ref={viewRef}\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {image?.small && (!video || !isLoaded) && (\n <WideImage\n coverSpace\n {...image}\n isMirrored={isMirrored}\n isInverted={isInverted}\n />\n )}\n {hasVideo && (\n <WideVideo\n urls={isVideoActive ? video?.urls : undefined}\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n isVisible={isLoaded}\n isInverted={isInverted}\n isMirrored={isMirrored}\n ratios={video?.aspectRatios}\n />\n )}\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <Content>\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction &&\n primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Content>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const TeaserWideComponent = TeaserWide;\nexport default withLibTheme(TeaserWide);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React, {\n createRef,\n MutableRefObject,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst TimelineBlock = styled.div<{\n isSwitched?: boolean;\n isActive?: boolean;\n isInverted?: boolean;\n}>`\n position: relative;\n\n @media ${mq.large} {\n text-align: ${({ isSwitched }) => (isSwitched ? 'left' : 'right')};\n }\n\n &:after {\n content: '';\n width: 10px;\n height: 10px;\n\n box-sizing: content-box;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: 50%;\n\n background: ${({ theme, isActive, isInverted }) =>\n isActive\n ? isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark\n : isInverted\n ? color(theme).elementBg.dark\n : color(theme).elementBg.light};\n\n position: absolute;\n top: 16px;\n left: 0px;\n\n transition: all 0.2s ease-in-out;\n\n @media ${mq.large} {\n left: ${({ isSwitched }) => (!isSwitched ? '50%' : 'auto')};\n right: ${({ isSwitched }) => isSwitched && '50%'};\n transform: translateX(\n ${({ isSwitched }) => (isSwitched ? '50%' : '-50%')}\n );\n }\n }\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n width: 2px;\n min-height: 160px;\n height: 100%;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n left: 5px;\n\n @media ${mq.large} {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &:first-child {\n padding-top: 0;\n\n &:before {\n top: 16px;\n }\n }\n`;\n\nconst TimelineText = styled.div<{\n isSwitched?: boolean;\n}>`\n position: relative;\n padding-left: ${spacings.nudge * 3 + 2}px;\n padding-bottom: ${spacings.spacer}px;\n\n @media ${mq.large} {\n max-width: 50%;\n\n margin-left: ${({ isSwitched }) => isSwitched && '50%'};\n margin-right: ${({ isSwitched }) => !isSwitched && '50%'};\n\n padding: ${({ isSwitched }) =>\n isSwitched\n ? `${spacings.spacer}px 0 ${spacings.spacer * 1.75}px ${\n spacings.spacer\n }px`\n : `${spacings.spacer}px ${spacings.spacer}px ${\n spacings.spacer * 1.75\n }px 0`};\n }\n\n &:first-child {\n padding-top: 0;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst ItemTitle = styled(Heading)``;\n\nconst ItemTextBlock = styled(Copy)``;\n\nconst Timeline: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: { label?: string; title?: string; text?: string }[];\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, items }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [targetRefs, setTargetRefs] = useState<\n MutableRefObject<HTMLDivElement>[]\n >([]);\n const observerSupported = useObserverSupport();\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const [activeItem, setActiveItem] = useState<number>(0);\n\n useEffect(() => {\n if (observerSupported && targetRefs && targetRefs.length > 0) {\n const options = {\n rootMargin: '-50% 0% -50% 0%',\n threshold: 0,\n };\n\n observerRef.current = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n const index = targetRefs?.findIndex(\n (t) => t.current === entry.target\n );\n setActiveItem(index);\n }\n });\n }, options);\n\n for (let i = 0; i < targetRefs.length; i++) {\n observerRef.current.observe(targetRefs[i].current);\n }\n }\n\n return () => {\n observerRef.current?.disconnect();\n };\n }, [targetRefs, observerSupported]);\n\n useEffect(() => {\n setTargetRefs(() =>\n Array(items?.length)\n .fill(null)\n .map((_, i) => targetRefs[i] || createRef())\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items?.length]);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n {items &&\n items.map((item, i) => {\n return (\n <TimelineBlock\n ref={targetRefs[i]}\n isActive={activeItem === i}\n isSwitched={i % 2 === 0}\n isInverted={isInverted}\n key={i}\n >\n <TimelineText isSwitched={i % 2 === 0}>\n <ItemTitle\n size=\"heading-2\"\n textColor={\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default\n }\n >\n {item.label}\n </ItemTitle>\n\n <ItemTextBlock\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n >\n {item.title}\n </ItemTextBlock>\n <ItemTextBlock\n innerHTML={item.text}\n isInverted={isInverted}\n />\n </TimelineText>\n </TimelineBlock>\n );\n })}\n </Wrapper>\n </Section>\n );\n};\n\nexport const TimelineComponent = Timeline;\nexport default withLibTheme(Timeline);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport { ImageProps } from 'components/blocks/Image';\n\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst Video: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgImage: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n embedId: string;\n\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n\n playIcon?: React.ReactNode;\n bgMode?: 'full' | 'inverted' | 'splitted';\n}> = ({\n anchorId,\n bgMode,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const VideoComponent = Video;\nexport default withLibTheme(Video);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, getGlobals as global, mq } from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoBlock from 'components/blocks/VideoBlock';\nimport { ImageProps } from 'components/blocks/Image';\nimport { isValidArray } from 'utils/arrays';\n\nconst VideoContainer = styled.div<{ isInverted?: boolean }>`\n position: relative;\n cursor: pointer;\n`;\n\nconst Overlay = styled.div<{ bgImage?: ImageProps; isInverted?: boolean }>`\n position: relative;\n padding-top: ${`calc(100% / (16 / 9))`};\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n background-image: ${({ bgImage }) =>\n bgImage?.small && `url(\"${bgImage.small}\")`};\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${Overlay}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${Overlay}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst Video = styled(VideoBlock)<{ isVisible?: boolean }>`\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst RawVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** URL to video sources */\n videoUrls?: string[];\n\n /** Placeholder image */\n placeholderImg?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n\n /** Enable autoplay without user interaction */\n autoplay?: boolean;\n\n /** Playing video in loop */\n loop?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Video play icon */\n playIcon?: React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n videoUrls,\n placeholderImg,\n playIcon,\n autoplay,\n loop,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [isStarted, setIsStarted] = useState<boolean>(autoplay || false);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoContainer\n onClick={() => {\n if (isValidArray(videoUrls, false)) {\n setIsStarted(true);\n }\n }}\n >\n {isStarted && (\n <Video\n isVisible={isStarted || !placeholderImg?.small}\n controls={!autoplay}\n autoPlay\n loop={loop}\n muted={autoplay}\n ratios={{ small: 16 / 9 }}\n urls={videoUrls}\n isInverted={isInverted}\n />\n )}\n {!isStarted && (\n <Overlay\n bgImage={placeholderImg}\n isInverted={isInverted}\n >\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n </Overlay>\n )}\n </VideoContainer>\n </Wrapper>\n </Section>\n );\n};\n\nexport const RawVideoComponent = RawVideo;\nexport default withLibTheme(RawVideo);\n","import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { StructuredEmploymentType } from 'utils/structuredData';\nimport { getColors as color, getGlobals, mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n clickable?: boolean;\n}>`\n position: relative;\n color: ${({ theme }) => color(theme).primary.default};\n background: ${({ theme, hasBg, isInverted }) =>\n isInverted\n ? color(theme).elementBg.medium\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n padding: ${spacings.spacer}px;\n\n border-radius: ${({ theme }) => getGlobals(theme).sections.edgeRadius};\n\n ${({ clickable, isInverted }) =>\n clickable &&\n css`\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.35)'};\n\n color: ${({ theme }) => color(theme).primary.hover};\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n\n @media ${mq.medium} {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 4}px;\n }\n\n color: ${({ theme }) => color(theme).primary.default};\n\n ${View}:hover & {\n color: ${({ theme }) => color(theme).primary.hover};\n }\n`;\n\nconst Info = styled.div`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst ViewLink = styled(Link)`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n`;\n\nexport interface JobLocation {\n name?: string;\n description?: string;\n streetAddress?: string;\n addressLocality?: string;\n addressRegion?: string;\n postalCode?: string;\n addressCountry?: string;\n}\n\nexport interface JobCardProps {\n /** Invert text and background color */\n isInverted?: boolean;\n\n /** For use on light backgrounds */\n hasBackground?: boolean;\n\n /** Job card title (richtext) */\n jobTitle: string;\n\n /** The employment type (important for structured data) */\n employmentTypes?: Array<{\n name: string;\n type: StructuredEmploymentType;\n }>;\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** List of job locations */\n locations?: JobLocation[];\n\n /** Total amount all locations */\n totalLocations?: number;\n\n /** Label to show if all location selected */\n allLocationsLabel?: string;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Job card link */\n link?: LinkProps;\n}\n\nconst JobCard = React.forwardRef<\n HTMLDivElement,\n JobCardProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted,\n hasBackground,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n className,\n link,\n },\n ref\n ) => {\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations &&\n allLocationsLabel\n ) {\n locationText = allLocationsLabel;\n } else {\n locationText = validLocations\n .map((loc) => loc.name)\n ?.join(', ');\n }\n }\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n hasBg={hasBackground}\n className={className}\n clickable={!!link}\n >\n <Heading\n textColor=\"inherit\"\n size=\"heading-2\"\n data-sheet=\"title\"\n innerHTML={jobTitle}\n hyphens\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos type=\"copy-b\" data-sheet=\"info\">\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? modelIcon() : <ClockFilled />}\n </Icon>\n <MainLabel>\n {employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ')}\n </MainLabel>\n </Info>\n )}\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel>{locationText}</MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? jobTitle : undefined}\n />\n )}\n </View>\n );\n }\n);\n\nJobCard.displayName = 'JobCard';\n\nexport default JobCard;\n","export const escapeRegExp = (value: string) => {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n};\n","import React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport JobCard, { JobCardProps } from 'components/blocks/JobCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { mq, spacings } from 'utils/styles';\nimport FilterField from 'components/fields/FilterField';\nimport { isValidArray } from 'utils/arrays';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport { escapeRegExp } from 'utils/escape';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\n\nconst List = styled.ul`\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst Item = styled.li`\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst Filter = styled(FilterField)`\n margin-top: ${spacings.nudge}px;\n margin-bottom: ${spacings.nudge * 5}px;\n\n min-width: 50%;\n`;\n\nexport interface CardProps extends JobCardProps {\n id: string;\n}\n\nexport type JobItem = Omit<\n CardProps,\n | 'isInverted'\n | 'hasBackground'\n | 'modelIcon'\n | 'locationIcon'\n | 'totalLocations'\n | 'allLocationsLabel'\n>;\n\nconst jobExactTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.jobTitle);\n};\n\nconst jobSoftTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const perparedJobTitle = value.jobTitle.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(perparedJobTitle);\n};\n\nconst jobLocationNameFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value.locations, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.locations.find((location) => {\n const preparedName = location.name?.toLowerCase().replace(/\\s/g, '');\n\n return regex.test(preparedName || '');\n });\n\n return !!result;\n};\n\nconst jobTypesFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value?.employmentTypes, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.employmentTypes.find((type) => {\n if (!type.name) return false;\n const preparedText = type.name.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n};\n\nconst removeMatchIntersections = (array: FilterMatch[], item?: JobItem[]) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\ninterface FilterMatch {\n item: JobItem;\n priority: number;\n}\n\nconst filterJobs = (filterQuery: string, jobs: JobItem[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n jobs?.filter((job) => job.jobTitle !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = jobs?.filter(jobExactTitleFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobSoftTitleFilter(filterQuery))\n );\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Location\n const locationNameMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobLocationNameFilter(filterQuery))\n );\n if (isValidArray(locationNameMatches, false)) {\n prioList.push(\n ...locationNameMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Job Type\n const typeMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobTypesFilter(filterQuery))\n );\n\n if (isValidArray(typeMatches, false)) {\n prioList.push(\n ...typeMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n return prioList;\n};\n\nconst JobList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of job item settings */\n jobs?: JobItem[];\n\n /** Total amount all locations */\n totalJobLocations?: number;\n\n /** Label to show if all location selected */\n allJobLocationsLabel?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Initial filter query on component render */\n initialFilterQuery?: string;\n\n /** Filter placeholder */\n filterPlaceholder?: string;\n\n /** Show filter input field */\n hasFilter?: boolean;\n\n /** Injection function for filter submit icon */\n filterSubmitIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Injection function for filter reset icon */\n filterClearIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n jobs,\n bgMode,\n modelIcon,\n locationIcon,\n totalJobLocations,\n allJobLocationsLabel,\n initialFilterQuery,\n filterPlaceholder,\n hasFilter,\n filterSubmitIcon,\n filterClearIcon,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.jobFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const jobCount = jobs?.length || 0;\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: jobCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"info\"]'],\n responsive: {\n small: 1,\n semilarge: 2,\n large: 3,\n },\n });\n\n const [filterQuery, setFilterQuery] = React.useState<string>(\n initialFilterQuery || ''\n );\n const isMounted = useMounted();\n\n const jobMatches: FilterMatch[] = React.useMemo(() => {\n const queryParts =\n filterQuery !== undefined\n ? filterQuery.split(' ').map((part) => part.trim())\n : [''];\n const searchMatches: Array<{\n match: FilterMatch;\n intersections: number;\n }> = [];\n\n // tracking matches of each query part\n for (const part of queryParts) {\n const matches = filterJobs(escapeRegExp(part), jobs || []);\n\n for (const match of matches) {\n const intersectionIndex = searchMatches.findIndex(\n (sItem) => sItem.match.item.id === match.item.id\n );\n\n if (intersectionIndex !== -1) {\n searchMatches[intersectionIndex].intersections += 1;\n } else {\n searchMatches.push({\n match,\n intersections: 1,\n });\n }\n }\n }\n\n // filter search matches by intersections so only matches with results for all search parts are shown\n return searchMatches\n .filter((m) => m.intersections >= queryParts.length)\n .map<FilterMatch>((m) => ({\n ...m.match,\n }));\n }, [filterQuery, jobs]);\n\n const getFilter = useCallback(() => {\n return getUrlParams()[filterName];\n }, [filterName]);\n\n useEffect(() => {\n const urlFilter = getFilter();\n\n if (\n urlFilter !== undefined &&\n urlFilter !== null &&\n typeof urlFilter === 'string'\n ) {\n setFilterQuery(urlFilter);\n }\n }, [getFilter]);\n\n useEffect(() => {\n if (isMounted) return;\n\n // set inital data into URL\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, filterQuery, isMounted]);\n\n useUpdateEffect(() => {\n // set filters to URL params\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterQuery]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {hasFilter && (\n <Filter\n placeholder={filterPlaceholder || 'Suche'}\n value={filterQuery}\n initialValue={initialFilterQuery}\n onSubmit={setFilterQuery}\n isInverted={isInverted}\n submitIcon={filterSubmitIcon}\n clearIcon={filterClearIcon}\n />\n )}\n <List>\n {jobMatches\n ?.sort((a, b) => a.priority - b.priority)\n .map((match, i) => (\n <Item key={i}>\n <JobCard\n ref={cardRefs[i]}\n {...match.item}\n isInverted={isInverted}\n hasBackground={hasBg}\n modelIcon={modelIcon}\n locationIcon={locationIcon}\n totalLocations={totalJobLocations}\n allLocationsLabel={allJobLocationsLabel}\n />\n </Item>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobListComponent = JobList;\nexport default withLibTheme(JobList);\n","import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport { JobCardProps } from 'components/blocks/JobCard';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateJob, StructuredEmploymentType } from 'utils/structuredData';\nimport { spacings } from 'utils/styles';\n\nconst ArticleHead = styled.div`\n & + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Info = styled.div`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.span`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.span`\n display: flex;\n align-items: center;\n`;\n\nconst Text = styled(Copy)`\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nexport interface OrganizationData {\n name?: string;\n url?: string;\n logo?: string;\n telephone?: string;\n email?: string;\n address?: {\n streetAddress?: string;\n addressLocality?: string;\n postalCode?: string;\n addressCountry?: string;\n };\n}\n\nexport type JobArticleProps = Omit<\n JobCardProps,\n 'isInverted' | 'hasBackground' | 'link'\n> & {\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Abstract text which summarizes the job */\n abstract?: string;\n\n /** Text that describes the job (richtext) */\n description?: string;\n\n /** The hiring organization (important for structured data) */\n organization?: OrganizationData;\n\n /** The date of posting the job tender (important for structured data) */\n datePosted?: Date;\n\n /** Function to inject primary action */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject secondary action */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n};\n\nconst JobArticle: React.FC<JobArticleProps> = ({\n anchorId,\n bgMode,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n abstract,\n description,\n organization,\n datePosted,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations\n ) {\n locationText = allLocationsLabel || '';\n } else {\n locationText = validLocations.map((loc) => loc.name)?.join(', ');\n }\n }\n\n const jsonLd = {\n jobTitle, // title\n locations, // jobLocation\n jobDesc: concat([abstract, description], ' - '), // description\n organization: organization, // hiringOrganization\n directApply: primaryAction || secondaryAction ? true : false, // directApply\n employmentTypes:\n (employmentTypes\n ?.filter((el) => el.type)\n .map((el) => el.type) as StructuredEmploymentType[]) || [],\n datePosted, // datePosted\n };\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {generateJob(jsonLd)}\n <Wrapper clampWidth=\"small\" addWhitespace>\n <ArticleHead>\n <Heading\n size=\"heading-2\"\n innerHTML={jobTitle}\n isInverted={isInverted}\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos\n type=\"copy-b\"\n data-sheet=\"info\"\n isInverted={isInverted}\n >\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? (\n modelIcon()\n ) : (\n <ClockFilled />\n )}\n </Icon>\n <MainLabel>\n {employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ')}\n </MainLabel>\n </Info>\n )}\n\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel>{locationText}</MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n </ArticleHead>\n {abstract && (\n <Text type=\"copy-b\" isInverted={isInverted}>\n {abstract}\n </Text>\n )}\n {description && (\n <Text innerHTML={description} isInverted={isInverted} />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobArticleComponent = JobArticle;\nexport default withLibTheme(JobArticle);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport InfoList, { InfoGroup } from 'components/blocks/InfoList';\nimport POIFacts from 'components/blocks/POIFacts';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst Facts = styled(POIFacts)`\n max-width: 880px;\n`;\n\nconst PoiTitle = styled(Heading)`\n max-width: 880px;\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PoiText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PointOfInterestDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** POI image */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** POI title */\n title?: string;\n\n /** POI intro text */\n intro?: string;\n\n /** POI text (richtext) */\n text?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Additional POI infos */\n infos?: InfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom feature node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n image,\n title,\n intro,\n text,\n facts,\n infos,\n bgMode,\n customFact,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {title && (\n <PoiTitle size=\"heading-2\" isInverted={isInverted}>\n {title}\n </PoiTitle>\n )}\n {isValidArray(facts, false) && (\n <Facts\n isInverted={isInverted}\n facts={facts}\n customFact={customFact}\n />\n )}\n {intro && (\n <PoiText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <PoiText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestDetailComponent = PointOfInterestDetail;\nexport default withLibTheme(PointOfInterestDetail);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { Info } from 'components/blocks/InfoList';\nimport POICard, { POICardProps } from 'components/blocks/POICard';\nimport FilterField from 'components/fields/FilterField';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings } from 'utils/styles';\nimport { escapeRegExp } from 'utils/escape';\nimport useMounted from 'utils/useMounted';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.large} {\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst Filter = styled(FilterField)`\n // margin to show prevent section overflow outline\n margin-top: 2px;\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 5}px;\n }\n`;\n\nconst poiExactNameFilter =\n (filterQuery: string) => (value: PointOfInterestOverviewItem) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.name);\n };\n\nconst poiSoftNameFilter =\n (filterQuery: string) => (value: PointOfInterestOverviewItem) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedName = value.name.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedName);\n };\n\nconst poiFactFilter =\n (filterQuery: string) => (value: PointOfInterestOverviewItem) => {\n if (!isValidArray(value.facts, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.facts.find((fact) => {\n const preparedFact = fact.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedFact);\n });\n\n return !!result;\n };\n\nconst poiInfoFilter =\n (filterQuery: string) => (value: PointOfInterestOverviewItem) => {\n if (!isValidArray(value?.infos, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.infos.find((info) => {\n if (!info.text) return false;\n const preparedText = info.text.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n };\n\nconst poiDescriptionFilter =\n (filterQuery: string) => (value: PointOfInterestOverviewItem) => {\n if (!value.shortDescription) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedDesc = value.shortDescription\n .toLowerCase()\n .replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedDesc);\n };\n\nconst removeMatchIntersections = (\n array: FilterMatch[],\n item?: PointOfInterestOverviewItem[]\n) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\nconst filterPois = (\n filterQuery: string,\n pois: PointOfInterestOverviewItem[]\n) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n pois?.filter((poi) => poi.id !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = pois?.filter(poiExactNameFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiSoftNameFilter(filterQuery))\n );\n\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Facts\n const factMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiFactFilter(filterQuery))\n );\n\n if (isValidArray(factMatches, false)) {\n prioList.push(\n ...factMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Description\n const infoMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiInfoFilter(filterQuery))\n );\n\n if (isValidArray(infoMatches, false)) {\n prioList.push(\n ...infoMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n // PRIO 5 Filter: Description\n const descMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiDescriptionFilter(filterQuery))\n );\n\n if (isValidArray(descMatches, false)) {\n prioList.push(\n ...descMatches.map((match) => ({\n item: match,\n priority: 5,\n }))\n );\n }\n\n return prioList;\n};\n\ninterface CardProps extends POICardProps {\n id: string;\n infos?: Array<Info & { allowFiltering?: boolean }>;\n}\n\nexport type PointOfInterestOverviewItem = Omit<CardProps, 'isInverted'>;\n\ninterface FilterMatch {\n item: PointOfInterestOverviewItem;\n priority: number;\n}\n\nconst PointOfInterestOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of POI card settings */\n pois?: PointOfInterestOverviewItem[];\n\n /** Enable/Disable filtering */\n enableFiltering?: boolean;\n\n /** Initial filter query on component render */\n initialFilterQuery?: string;\n\n /** Placeholder for filter input */\n filterPlaceholder?: string;\n\n /** Injection function for filter submit icon */\n filterSubmitIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Injection function for filter reset icon */\n filterClearIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgMode,\n pois,\n enableFiltering,\n initialFilterQuery,\n filterPlaceholder = 'Filter',\n filterSubmitIcon,\n filterClearIcon,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.poiFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [filterQuery, setFilterQuery] = useState<string>(\n initialFilterQuery || ''\n );\n const isMounted = useMounted();\n\n const poiMatches: FilterMatch[] = React.useMemo(() => {\n const queryParts = filterQuery.split(' ').map((part) => part.trim());\n const searchMatches: Array<{\n match: FilterMatch;\n intersections: number;\n }> = [];\n\n // tracking matches of each query part\n for (const part of queryParts) {\n const matches = filterPois(escapeRegExp(part), pois || []);\n\n for (const match of matches) {\n const intersectionIndex = searchMatches.findIndex(\n (sItem) => sItem.match.item.id === match.item.id\n );\n\n if (intersectionIndex !== -1) {\n searchMatches[intersectionIndex].intersections += 1;\n } else {\n searchMatches.push({\n match,\n intersections: 1,\n });\n }\n }\n }\n\n // filter search matches by intersections so only matches with results for all search parts are shown\n return searchMatches\n .filter((m) => m.intersections >= queryParts.length)\n .map<FilterMatch>((m) => ({\n ...m.match,\n }));\n }, [filterQuery, pois]);\n\n const getFilter = useCallback(() => {\n return getUrlParams()[filterName];\n }, [filterName]);\n\n useEffect(() => {\n const urlFilter = getFilter();\n\n if (\n urlFilter !== undefined &&\n urlFilter !== null &&\n typeof urlFilter === 'string'\n ) {\n setFilterQuery(urlFilter);\n }\n }, [getFilter]);\n\n useEffect(() => {\n if (isMounted) return;\n\n // set inital data into URL\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, filterQuery, isMounted]);\n\n useUpdateEffect(() => {\n // set filters to URL params\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterQuery]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {enableFiltering && (\n <Filter\n value={filterQuery}\n initialValue={initialFilterQuery}\n placeholder={filterPlaceholder}\n onSubmit={setFilterQuery}\n submitIcon={filterSubmitIcon}\n clearIcon={filterClearIcon}\n isInverted={isInverted}\n />\n )}\n <Content>\n {poiMatches\n ?.sort((a, b) => a.priority - b.priority)\n ?.map((poi, i) => (\n <POICard\n key={i}\n {...poi.item}\n isInverted={isInverted}\n />\n ))}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestOverviewComponent = PointOfInterestOverview;\nexport default withLibTheme(PointOfInterestOverview);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport useLeafletMap, { LeafletMapMarker } from 'utils/useLeafletMap';\nimport { mq, withRange, getColors as color, spacings } from 'utils/styles';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport POIFacts from 'components/blocks/POIFacts';\nimport InfoList, { Info } from 'components/blocks/InfoList';\nimport useGeolocation from 'utils/useGeolocation';\nimport CurrentLocation from 'components/base/icons/CurrentLocation';\nimport Cross from 'components/base/icons/Cross';\nimport MyLocation from 'components/base/icons/MyLocation';\n\nconst genHeightStyles = () => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = '100vh';\n\n return css`\n ${Map} {\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst PoiMapSection = styled(Section)<{ isLarge?: boolean }>`\n position: relative;\n ${({ isLarge }) => isLarge && genHeightStyles()}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst MapContainer = styled.div`\n position: relative;\n`;\n\nconst Map = styled.div<{ isLarge?: boolean }>`\n min-height: 360px;\n height: 360px;\n max-height: 1300px;\n z-index: 0;\n\n @media ${mq.medium} {\n height: 600px;\n min-height: 600px;\n }\n`;\n\nconst RequestGeolocationBtn = styled.button`\n position: absolute;\n top: ${spacings.nudge * 2}px;\n left: ${spacings.nudge * 2}px;\n\n background-color: transparent;\n border: none;\n padding: ${spacings.nudge}px;\n cursor: pointer;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n width: 30px;\n height: 30px;\n }\n`;\n\nconst CardStage = styled.div`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n\n pointer-events: all;\n background-color: rgba(255, 255, 255, 0.8);\n\n @media ${mq.medium} {\n position: absolute;\n background-color: transparent;\n padding: ${spacings.nudge * 2}px;\n padding-bottom: ${spacings.nudge * 3}px;\n\n pointer-events: none;\n }\n`;\n\nconst MapCardView = styled.div`\n max-height: 100%;\n width: 100%;\n padding: ${spacings.nudge * 2}px;\n overflow: auto;\n\n background: ${({ theme }) => color(theme).elementBg.light};\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n pointer-events: all;\n border-radius: 8px;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst MapCardHeader = styled.header`\n display: flex;\n align-items: center;\n`;\n\nconst CloseBtn = styled.button`\n display: inline-block;\n border: none;\n background-color: transparent;\n cursor: pointer;\n margin-left: auto;\n padding: ${spacings.nudge}px;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n`;\n\nconst MapCard: FC<{\n name?: string;\n facts?: string[];\n description?: string;\n infos?: Info[];\n\n action?: React.ReactNode;\n onClose?: () => void;\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n customClose?: React.ReactNode;\n\n className?: string;\n}> = ({\n name,\n facts,\n description,\n infos,\n action,\n customFact,\n customClose,\n onClose,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <MapCardView className={className}>\n <MapCardHeader>\n {name && (\n <Copy type=\"copy-b\" size=\"big\">\n {name}\n </Copy>\n )}\n <CloseBtn onClick={onClose}>\n {customClose || <Cross iconColor={colors.text.default} />}\n </CloseBtn>\n </MapCardHeader>\n {isValidArray(facts, false) && (\n <POIFacts facts={facts} customFact={customFact} />\n )}\n {description && (\n <Copy type=\"copy\" size=\"small\" innerHTML={description} />\n )}\n {isValidArray(infos, false) && (\n <InfoList\n items={[\n {\n items: infos,\n },\n ]}\n />\n )}\n {action && action}\n </MapCardView>\n );\n};\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapPOI {\n /** Unique ID */\n id: string;\n\n /** Latitude and Longitude of item position */\n position: [number, number];\n\n /** Marker icon settings */\n icon?: LocationIcon;\n\n /** POI name */\n name?: string;\n\n /** POI short description text */\n description?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Function to inject custom action node */\n action?: React.ReactNode;\n}\n\nconst PointOfInterestMap: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Size mode */\n size?: 'default' | 'large';\n\n /** Array of POI card settings */\n pois?: MapPOI[];\n\n /** Use geolocation for own position */\n showOwnPosition?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Min map zoom */\n minZoom?: number;\n\n /** Max map zoom */\n maxZoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialPointOfInterest?: string;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Restrict map to bounds of markers area */\n restrictToMarkersArea?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Function to inject custom fact node into MapCard */\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n\n /** Custom current position marker */\n currentPosMarker?: LocationIcon;\n\n /** Custom card close icon */\n customCardClose?: React.ReactNode;\n\n /** Custom icon for my location request button */\n customLocationRequest?: React.ReactNode;\n}> = ({\n anchorId,\n size,\n pois,\n initialPointOfInterest = '',\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n fitBoundsPadding,\n allMarkersOnInit = false,\n restrictToMarkersArea = true,\n showOwnPosition,\n flyToZoom,\n customFact,\n currentPosMarker,\n customCardClose,\n customLocationRequest,\n}) => {\n const isLarge = size === 'large';\n const { colors } = useLibTheme();\n\n const [activePoiId, setActivePoiId] = useState<string>(\n initialPointOfInterest || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n const activePOI = useMemo(() => {\n return pois?.find((poi) => poi.id === activePoiId);\n }, [activePoiId, pois]);\n\n const {\n isSupported: isGeolocationSupported,\n location,\n reset: resetGeolocation,\n // error,\n } = useGeolocation(true, false);\n\n const mapMarkers = useMemo(() => {\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n\n // marker of own position\n const defaultPosMarker: LocationIcon = {\n size: [24, 24],\n anchor: [12, 12],\n sizeActive: [24, 24],\n anchorActive: [12, 12],\n url: getSVGData(<CurrentLocation iconColor=\"#5383EC\" />),\n };\n\n const markers: LeafletMapMarker[] =\n pois\n ?.filter((poi) => poi.id !== undefined)\n ?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })) || [];\n\n if (\n isGeolocationSupported &&\n location?.coords.latitude &&\n location?.coords.longitude\n ) {\n markers.push({\n id: 'my-current-position-123456789',\n position: [location.coords.latitude, location.coords.longitude],\n icon: currentPosMarker || defaultPosMarker,\n });\n }\n\n return markers;\n }, [\n currentPosMarker,\n isGeolocationSupported,\n location?.coords.latitude,\n location?.coords.longitude,\n pois,\n ]);\n\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n flyToPosition,\n getCurrentZoom,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activePoiId,\n markers: mapMarkers,\n fitBoundsPadding,\n restrictToMarkersArea,\n showZoomControls: true,\n zoomControlPosition: 'bottomleft',\n onMarkerClick: (markerId) => {\n setActivePoiId((prev) => {\n if (prev === markerId) {\n return '';\n }\n return markerId;\n });\n },\n });\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToActive(zoom);\n }\n }, [\n activePoiId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n getCurrentZoom,\n initialPointOfInterest,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activePoiId !== initialPointOfInterest) {\n setIsDirty(true);\n }\n }, [activePoiId, initialPointOfInterest, isDirty]);\n\n const handleLocationRequest = async () => {\n if (location?.coords?.latitude && location?.coords?.longitude) {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToPosition(\n [location.coords.latitude, location.coords.longitude],\n zoom\n );\n } else {\n try {\n const position = await resetGeolocation();\n if (position) showAllMarkers();\n } catch (err) {\n // console.log(err);\n }\n }\n };\n\n return (\n <PoiMapSection\n anchorId={anchorId}\n bgColor=\"image\"\n bgMode=\"full\"\n isLarge={isLarge}\n >\n <Wrapper clampWidth={isLarge ? 'large' : 'normal'}>\n <MapContainer>\n <Map ref={setMapContainer} isLarge={size === 'large'} />\n {showOwnPosition && (\n <RequestGeolocationBtn onClick={handleLocationRequest}>\n {customLocationRequest || (\n <MyLocation iconColor={colors.text.default} />\n )}\n </RequestGeolocationBtn>\n )}\n {activePOI && activePOI.name && (\n <CardStage\n onClick={(ev) => {\n if (ev.target !== ev.currentTarget) return;\n setActivePoiId('');\n }}\n >\n <MapCard\n {...activePOI}\n onClose={() => setActivePoiId('')}\n customFact={customFact}\n customClose={customCardClose}\n />\n </CardStage>\n )}\n </MapContainer>\n </Wrapper>\n </PoiMapSection>\n );\n};\n\nexport const PointOfInterestMapComponent = PointOfInterestMap;\nexport default withLibTheme(PointOfInterestMap);\n","import React, { FC, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Bdot from 'components/blocks/Bdot';\nimport { copyStyle } from 'components/typography/Copy';\nimport Link from 'components/typography/Link';\n\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport { BottomLink } from '../Footer';\n\nconst View = styled.div`\n border-top: 1px solid ${({ theme }) => color(theme).elementBg.medium};\n padding: ${spacings.nudge * 2}px 0;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.semilarge} {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst LinkListView = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: center;\n\n margin-left: -${spacings.nudge}px;\n`;\n\nconst BottomLinkItem = styled.li`\n display: flex;\n align-items: center;\n\n padding-left: ${spacings.nudge}px;\n`;\n\nconst StyledLink = styled(Link)<{ isInverted?: boolean }>`\n display: block;\n text-decoration: none;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n`;\n\nconst LinkList: FC<{\n isInverted?: boolean;\n links?: BottomLink[];\n brandIcon?: (isInverted?: boolean) => React.ReactNode | null;\n className?: string;\n}> = ({ isInverted, links, brandIcon, className }) => {\n const brand = useMemo(\n () => brandIcon?.(isInverted),\n [brandIcon, isInverted]\n );\n\n return (\n <LinkListView className={className}>\n {links?.map((item, i) => (\n <BottomLinkItem key={i}>\n <StyledLink {...item.link} isInverted={isInverted}>\n {item.label}\n </StyledLink>\n </BottomLinkItem>\n ))}\n {brand !== null && (\n <BottomLinkItem>{brand || <Bdot />}</BottomLinkItem>\n )}\n </LinkListView>\n );\n};\n\nconst FooterBottomGrid: FC<{\n className?: string;\n children?: React.ReactNode;\n}> = ({ className, children }) => {\n return <View className={className}>{children}</View>;\n};\n\nexport default {\n View: FooterBottomGrid,\n LinkList: LinkList,\n};\n","import React, { FC } from 'react';\n\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport FooterBottomGrid from '../skeletons/FooterBottomGrid';\nimport { BottomLink } from '../Footer';\nimport * as Icons from 'icons';\nimport { isValidArray } from 'utils/arrays';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst LeftWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n padding-left: ${spacings.spacer}px;\n }\n`;\n\nconst FooterBottomBar: FC<{\n isInverted?: boolean;\n languages?: Language[];\n linksLeft?: BottomLink[];\n linksRight?: BottomLink[];\n brandIcon?: (isInverted?: boolean) => React.ReactNode;\n languageIcon?: (isInverted?: boolean) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted,\n languages,\n linksLeft,\n linksRight,\n brandIcon,\n languageIcon,\n className,\n}) => {\n return (\n <FooterBottomGrid.View className={className}>\n <LeftWrapper>\n {languages && (\n <LanguageSwitcher\n isInverted={isInverted}\n langs={languages}\n languageIcon={\n languageIcon\n ? languageIcon\n : () => <Icons.Language />\n }\n textSize=\"small\"\n />\n )}\n {isValidArray(linksLeft, false) && (\n <FooterBottomGrid.LinkList\n links={linksLeft}\n isInverted={isInverted}\n brandIcon={() => null}\n />\n )}\n </LeftWrapper>\n {isValidArray(linksRight) && (\n <FooterBottomGrid.LinkList\n links={linksRight}\n isInverted={isInverted}\n brandIcon={brandIcon}\n />\n )}\n </FooterBottomGrid.View>\n );\n};\n\nexport default FooterBottomBar;\n","import Grid from 'components/base/Grid';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { Language } from 'components/blocks/LanguageSwitcher';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { getColors as color, mq, spacings, withRange } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\nimport FooterBottomBar from './partials/FooterBottomBar';\nimport { isValidArray } from 'utils/arrays';\n\nconst FooterSection = styled(Section)`\n ${withRange([0], 'padding-bottom')}\n ${withRange([0], 'margin-bottom')}\n`;\n\nconst MainView = styled.div`\n & > * {\n margin-bottom: ${spacings.nudge * 2}px;\n }\n`;\n\nconst ColTitle = styled(Copy)`\n margin-bottom: ${spacings.nudge * 2}px;\n`;\n\nconst StyledLink = styled(Link)<{ isInverted?: boolean }>`\n display: inline-block;\n text-decoration: none;\n\n ${copyStyle('copy', 'medium')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n`;\n\nconst LinkList = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n`;\n\nconst LinkItem = styled.li`\n & + & {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst CustomCol = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.semilarge} {\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n }\n`;\n\nconst FootNote = styled(Copy)`\n margin-top: ${spacings.nudge * 5}px;\n\n @media ${mq.semilarge} {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nexport interface SiteLinkGroup {\n title?: string;\n links?: Array<{ label?: string; link?: LinkProps }>;\n}\n\nexport interface FooterState {\n isInverted?: boolean;\n siteLinks?: SiteLinkGroup[];\n bottomLinksLeft?: BottomLink[];\n bottomLinksRight?: BottomLink[];\n languages?: Language[];\n}\n\nexport interface BottomLink {\n label?: string;\n link?: LinkProps;\n}\n\nconst Footer: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Array of sitelink groups */\n siteLinks?: SiteLinkGroup[];\n\n /** Function to inject custom footer column content */\n customColumn?: (props: FooterState) => React.ReactNode;\n\n /** Footnote text of main section (richtext) */\n footNote?: string;\n\n /** Link list in left bottom bar */\n bottomLinksLeft?: BottomLink[];\n\n /** Link list in right bottom bar */\n bottomLinksRight?: BottomLink[];\n\n /** Language toggler settings */\n languages?: Language[];\n\n /** Inject function to suppress bottom bar or define a custom definition */\n bottomBar?: ((props: FooterState) => React.ReactNode | null) | null;\n}> = ({\n bgMode,\n siteLinks,\n customColumn,\n footNote,\n bottomBar,\n bottomLinksLeft,\n bottomLinksRight,\n languages,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n const customCol = useMemo(() => {\n return customColumn\n ? customColumn({\n isInverted,\n siteLinks,\n languages,\n bottomLinksLeft,\n bottomLinksRight,\n })\n : undefined;\n }, [\n bottomLinksLeft,\n bottomLinksRight,\n customColumn,\n isInverted,\n languages,\n siteLinks,\n ]);\n\n const bottom = useMemo(() => {\n return bottomBar\n ? bottomBar({\n isInverted,\n siteLinks,\n languages,\n bottomLinksLeft,\n bottomLinksRight,\n })\n : undefined;\n }, [\n bottomBar,\n bottomLinksLeft,\n bottomLinksRight,\n isInverted,\n languages,\n siteLinks,\n ]);\n\n const hasBottomBar = useMemo(() => {\n if (bottomBar === null) return false;\n if (bottom) return true;\n if (bottom === null) return false;\n\n return (\n isValidArray(languages, false) ||\n isValidArray(bottomLinksLeft, false) ||\n isValidArray(bottomLinksRight, false)\n );\n }, [bottom, bottomBar, bottomLinksLeft, bottomLinksRight, languages]);\n\n return (\n <FooterSection\n addSeperation\n renderAs=\"footer\"\n clampSolidBg={false}\n bgMode={mapToBgMode(bgMode, true)}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n >\n <Wrapper addWhitespace>\n <MainView>\n <Grid.Row\n gutter={spacings.nudge * 5}\n medium={{ gutter: spacings.spacer }}\n >\n {siteLinks?.map(({ title, links }, i) => {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 6 / 12 }}\n semilarge={{ span: 4 / 12 }}\n large={{ span: 3 / 12 }}\n valign=\"top\"\n >\n <ColTitle\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {title}\n </ColTitle>\n <LinkList>\n {links?.map(({ link, label }, ii) => (\n <LinkItem key={ii}>\n <StyledLink\n {...link}\n isInverted={isInverted}\n >\n {label}\n </StyledLink>\n </LinkItem>\n ))}\n </LinkList>\n </Grid.Col>\n );\n })}\n {customCol && (\n <Grid.Col\n large={{ span: 3 / 12 }}\n toRight\n valign=\"top\"\n >\n <CustomCol>{customCol}</CustomCol>\n </Grid.Col>\n )}\n </Grid.Row>\n {footNote && (\n <FootNote\n size=\"small\"\n isInverted={isInverted}\n innerHTML={footNote}\n />\n )}\n </MainView>\n {bottom ? (\n bottom\n ) : hasBottomBar ? (\n <FooterBottomBar\n isInverted={isInverted}\n linksLeft={bottomLinksLeft}\n linksRight={bottomLinksRight}\n languages={languages}\n />\n ) : null}\n </Wrapper>\n </FooterSection>\n );\n};\n\nexport const FooterComponent = Footer;\nexport default withLibTheme(Footer);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nimport Copy from 'components/typography/Copy';\n\nconst View = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst FooterArticle: FC<{\n isInverted?: boolean;\n title?: string;\n text?: string;\n action?: (props: { isInverted?: boolean }) => React.ReactNode;\n className?: string;\n}> = ({ isInverted, title, text, action, className }) => {\n return (\n <View className={className}>\n {title && (\n <Copy type=\"copy-b\" isInverted={isInverted}>\n {title}\n </Copy>\n )}\n {text && (\n <Copy size=\"small\" isInverted={isInverted} innerHTML={text} />\n )}\n {action && action({ isInverted })}\n </View>\n );\n};\n\nexport default FooterArticle;\n","import SocialList, { SocialItem } from 'components/blocks/SocialList';\nimport React, { FC } from 'react';\nimport FooterArticle from '../skeletons/FooterArticle';\n\nconst FooterColumn: FC<{\n isInverted?: boolean;\n title?: string;\n text?: string;\n action?: (props: { isInverted?: boolean }) => React.ReactNode;\n socialTitle?: string;\n socials?: SocialItem[];\n}> = ({ isInverted, title, text, action, socialTitle, socials }) => {\n return (\n <React.Fragment>\n {(title || text || action) && (\n <FooterArticle\n isInverted={isInverted}\n title={title}\n text={text}\n action={action}\n />\n )}\n {socials && socials.length > 0 && (\n <SocialList\n isInverted={isInverted}\n title={socialTitle}\n items={socials}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default FooterColumn;\n"],"names":["distinct","value","index","array","indexOf","generateLocalBusiness","locations","map","_a","i","position","address","contact","companyName","image","React","JsonLd","key","item","name","geo","latitude","longitude","streetAddress","street","addressLocality","city","addressRegion","postalCode","addressCountry","country","telephone","concat","_b","label","email","_c","generateFAQ","items","createElement","mainEntity","text","acceptedAnswer","generateJob","jobTitle","jobDesc","organization","directApply","employmentTypes","datePosted","title","description","toISOString","employmentType","filter","hiringOrganization","url","encodeURIComponent","logo","_d","_e","_f","undefined","jobLocation","loc","AccordionContainer","styled","div","templateObject_1","__makeTemplateObject","spacings","nudge","View","details","templateObject_2","AccordionHead","summary","templateObject_3","isInverted","hasBg","theme","color","elementBg","light","medium","mq","lightHover","mediumHover","Column","Copy","templateObject_4","AccordionText","templateObject_5","spacer","semilarge","gridSettings","gutter","AccordionBlock","aside","isSelected","onClick","itemIcon","className","colors","useLibTheme","open","onToggle","renderAs","size","type","Minus","iconColor","default","Plus","hasAside","innerHTML","Accordion","anchorId","bgMode","useState","currentItems","setCurrentItems","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","Wrapper","addWhitespace","Grid","Row","Col","prev","copy","__spreadArray","push","splice","withLibTheme","primary","inverted","global","sections","edgeRadius","invertedHover","hover","Icon","MainLabel","Content","Title","ViewLink","Link","templateObject_6","Alert","date","link","customIcon","formattedDate","formatter","StatusFormatter","getTime","getFormattedDate","Info","textColor","__assign","ariaLabel","href","List","ul","ListItem","li","large","itemsPerRow","AlertList","alertCount","length","alertRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","xlarge","ref","StyledTitle","ContentText","StyledActions","Actions","Article","titleAs","titleSize","superTitle","superTitleAs","intro","asideText","halfAside","primaryAction","secondaryAction","hasContent","clampWidth","colorMode","valign","span","secondary","ContactView","Avatar","img","imagePlaceholderBg","Description","ContactBox","avatar","src","alt","StyledIntro","IntroBlock","hasDecorator","StyledContactBox","getGridWidth","cols","NewsletterWrapper","templateObject_7","Badge","templateObject_8","CallToAction","badge","hasNewsletter","newsFormMain","useContext","ThemeContext","isCentered","SolidView","cardColor","hasLink","css","ImageView","imageTextGradient","StyledImage","Image","hasIcon","TextContainer","templateObject_9","Footer","SubLabel","templateObject_11","templateObject_12","CardLink","templateObject_13","Card","subLabel","decorator","CardView","defaultCardColor","coverSpace","ratios","w","h","templateObject_14","CardItem","templateObject_15","isEqual","threeCols","CardList","maxThreeCols","clamp","num","min","max","Math","Images","BackgroundImg","ForegroundContainer","hasTransition","hasAnim","initalValue","ForegroundImg","ForegroundOverlay","ImageLabel","ForegroundLabel","BackgroundLabel","ControlContainer","templateObject_10","Control","ComparisonSlider","initialValue","foregroundImg","backgroundImg","foregroundLabel","backgroundLabel","overlayColor","labelColor","dragControl","enableControlAnim","isIE","useIE","slideValue","setSlideValue","isHolding","setIsHolding","isDragging","setIsDragging","_g","interacted","setInteracted","_h","sideOffset","setSideOffset","controlRef","useRef","useEffect","current","offsetWidth","handleInitalLoad","options","rootMargin","threshold","observer","IntersectionObserver","entries","isIntersecting","unobserve","target","observe","window","removeEventListener","document","readyState","addEventListener","setCurrentPos","clientX","relativeClientX","getBoundingClientRect","x","width","percentage","handleClick","ev","currentTarget","handleMouseMove","handleTouchMove","touches","onMouseMove","onMouseDown","onMouseUp","onMouseLeave","onTouchMove","onTouchStart","onTouchEnd","style","left","ArrowLeftRight","clickable","IntroContainer","clampTitle","wrapper","ExternalIconHolder","withRange","PromotionCard","forwardRef","externalLinkIcon","icon","linkObj","isExternal","externalIconString","ReactDOMServer","renderToString","External","displayName","isMain","CrossPromotion","main","isMirrored","card","renderLocationField","field","error","isTouched","setField","locationData","mappedData","handleChange","location","shouldValidate","LocationField","enableMemo","isRequired","placeholder","initialMapCenter","zoom","infoMessage","info","errorMessage","onChange","customLocationControl","customToggle","customResetControl","toggleLabel","trackLocationLabel","renderDatepickerField","setTouched","validateField","dates","handleSubmit","start","end","__awaiter","sent","DatepickerCmp","onSubmit","onDataChange","values","singleSelect","minDate","maxDate","deleteAction","handleReset","ButtonGhost","submitAction","Button","nextCtrlUrl","prevCtrlUrl","FieldSet","fieldset","Fields","renderRadioGroupField","group","groupData","FieldWrapper","Head","fields","fi","RadioButton","e","Messages","renderCheckboxGroupField","ci","Checkbox","cIndex","renderAreaField","handleBlur","Textarea","onBlur","renderField","Textfield","inputType","renderSelectField","validateOnChange","validateOnBlur","selectedItem","SelectDropdown","dropdownItems","selectedOption","indicator","renderUploadField","FileUploadCmp","uploadLabel","addBtnLabel","acceptedFormats","onUploadFiles","files","customUploadIcon","customDeleteIcon","fieldValidator","config","errorMsg","test","areaValidator","selectValidator","datepickerValidator","single","singleDateError","multiDateError","locationValidator","fieldGroupValidator","groupType","selectValues","uploadValidator","StyledSection","Form","form","FieldContainer","FormFooter","Status","ActionContainer","DynamicForm","definitions","subjectLine","targetEmails","submitReponse","setSubmitResponse","initalData","initialOption","initialDates","initalArray_1","forEach","initialChecked","every","validation","errors","validate","error_1","error_2","error_3","error_4","error_5","error_6","error_7","useFormik","initialValues","helpers","valuesAndMails","setSubmitting","response","resetForm","isError","setFieldTouched","submitForm","setValues","isSubmitting","touched","dirty","latestValuesRef","useCallback","props","fieldKeys","Object","keys","noValidate","area","datepicker","checkbox","radio","select","upload","message","copyInverted","as","Label","NewsletterForm","customField","action","method","formRef","initialData","submit","generationProps","generateTextField","isDisabled","SVG","svg","Filter","ariaHidden","height","viewBox","fill","xmlns","d","TagContainer","TagWrapper","Events","FilterIcon","EventItem","ListFooter","ShowMore","itemCount","getEventFilterParams","tags","isValidArray","filterName","globals","eventFilterName","validUrl","URL","newParams","URLSearchParams","search","set","join","toString","err","EventOverview","events","initial","showMoreText","onTagClick","customTag","activeTags","selectedTags","setSelectedTags","visibleRows","setVisibleRows","targetRef","observerSupported","useObserverSupport","isMounted","useMounted","eventCount","setNewPos","useScrollTo","getFilters","filters","getUrlParams","tagsFilter","split","apply","paramTags","setUrlParam","deleteUrlParam","useUpdateEffect","handleTagClick","tag","enableToggling","prevCopy","itemIndex","filteredEvents","useMemo","tagFilterFn","hasTags","filtered","visibleEvents","_","element","entry","ceil","disconnect","filteredTags","isActive","clickHandler","preventDefault","Tag","timespan","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedTimespan","eventTimespanFormat","duration","EventBlock","Pointer","EventList","event","tagHref","EventTitle","Heading","EventDateTime","EventAddress","EventText","EventDetail","infos","hasInfos","publishedAt","allowEdgeRadius","abstract","InfoList","ImageContainer","SubTitle","Text","Fact","subTitle","showPlaceholder","FactFill","FactGrid","columns","facts","factCount","cardRefs","fact","FactsContainer","FactItem","hasBack","hasText","ContentBlock","FactList","TitleLink","copyStyle","font","big","colorInverted","ArticleContent","Action","Feature","FeatureList","features","featureCount","isHalf","halign","feature","Gallery","images","isFull","Poster","videoUrl","focus","kenBurnsZoom","kenBurnsZoomPoint","kenBurnsInterval","onImageChange","children","HeaderVideo","placeholderImg","HeaderKenBurns","zoomPoint","interval","HeaderPoster","bgImage","genHeightStyles","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","id","refHeight","StyledPoster","HeaderSection","HeaderSectionSmall","wrapperLarge","Overlay","textOnImage","bgValue","ContentMobile","Header","focusPoint","customImgOverlay","overlay","Fragment","ItemContainer","Items","isVisible","Item","ItemLink","IconList","toggle","showLessText","enableToggle","showMore","setShowMore","handleToggleClick","ratio","isToggled","additionalProps","IndexLink","LinkLabel","IconWrapper","IndexList","scrollToOffset","setTargetPos","useMediaQueries","topOffset","setTopOffset","handleLinkClick","getAttribute","getElementById","top","scrollY","hash","history","pushState","header","querySelector","navbarIdent","isStickable","getNavbarState","navbarHeights","getFullNavbarHeights","ArrowDown","Intro","isStackable","clampAbstract","clampText","MapSection","MapContainer","gridWidth","wrapperWhitespace","xxlarge","CardWrapper","CardContainer","seperation","padding","InfoCardView","CardHeader","ContactList","ContactListLink","AddressContainer","CompanyInfo","Desc","LocationInfoCard","addressIcon","addressIconContent","LocationPin","phoneIconContent","Phone","mailIconContent","Mail","Controls","FylToCtrlContainer","button","Map","provider","attribution","center","flyToZoom","initialLocation","allMarkersOnInit","fitBoundsPadding","flyToControl","controlNext","controlPrev","activeLocationId","setActiveLocationId","isDirty","setIsDirty","activeLocation","find","l","defaultMarker","anchor","sizeActive","anchorActive","getSVGData","useLeafletMap","activeMarkerId","markers","isInteractive","onMarkerClick","isLoaded","setMapContainer","setContainer","flyToActive","showAllMarkers","goToNext","currentIndex","findIndex","newIndex","goToPrevious","stopPropagation","move","Icons","TitleIcon","NavBlock","customTitleIcon","NavList","Seperator","isTop","AuthorContainer","Author","StyledCopy","NewsAuthorCard","author","ImageLink","BorderPlaceholder","getColors","Tags","PublishDate","Main","NewsCard","publishDate","newsDateFormat","newsTimeFormat","newsLocaleKey","dataSheet","News","NewsItem","getNewsFilterParams","newsFilterName","NewsOverview","news","mqs","currentMq","useMediaQuery","setItemsPerRow","newsCount","sheetRefs","triggerCalculation","paramRows","parseInt","filteredNews","visibleNews","NewsFooter","NewsImages","IntroHead","MetaBlock","wrapperSmall","NewsIntro","meta","tagLink","NewsList","mode","slice","TableWrapper","NewsTable","tableItems","TableBlock","NewsText","VideoControls","ConsentOverlay","ConsentContent","ConsentText","Iframe","iframe","VideoCard","embedId","playIcon","consentText","consentAction","setIsActive","showConsent","setShowConsent","handlePlayClick","cookie","getCookie","isAccepted","videoCookieTypeRestrictions","reduce","acc","data","types","handleConsentActionClick","Play","allow","consentProps","selectors","buttons","attribute","class","NewsVideo","NumberContainer","Number","Callout","stringLength","IconBlock","number","ContentContainer","NumberList","section","Parallax","hAlign","contentWidth","ParallaxBackground","moveRatio","direction","setIsLoaded","yTransform","setYTransform","cRef","setContainerRef","parallaxRef","isNaN","prevEl","previousElementSibling","bgIdent","dataset","stackIdent","setAttribute","handleScroll","containerPos","offset","transform","Container","figure","verticallyCentered","imageTextGradientCentered","horizontallyCentered","maxTitleLines","maxTextLines","ItemList","ItemBlock","ListHead","Price","PriceBlock","price","PriceList","isHighlighted","PriceTag","hasBackground","PriceTable","priceTagCount","Source","Quote","source","citeUrl","cite","ImageWrapper","SimpleImage","Cards","FollowUs","InstagramIcon","SocialWall","hashTag","followUs","socialIcon","Instagram","Table","Figure","Video","VideoBlock","isSplitted","Teaser","video","hasVideo","urls","viewRef","setLoaded","isVideoActive","setVideoActive","isObserverSupported","viewEl","mapToTeaserBgMode","muted","autoPlay","loop","onCanPlayThrough","aspectRatios","titleHyphens","preventSplit","getGridColOfContent","WideVideo","WideImage","TeaserWide","TimelineBlock","isSwitched","TimelineText","ItemTitle","ItemTextBlock","Timeline","targetRefs","setTargetRefs","observerRef","activeItem","setActiveItem","t","Array","createRef","VideoContainer","RawVideo","videoUrls","autoplay","isStarted","setIsStarted","controls","getGlobals","JobInfos","JobCard","totalLocations","allLocationsLabel","modelIcon","locationIcon","hasEmploymentType","validLocations","hasLocations","locationText","hyphens","ClockFilled","escapeRegExp","replace","FilterField","jobExactTitleFilter","filterQuery","regex","RegExp","jobSoftTitleFilter","preparedQuery","toLowerCase","perparedJobTitle","jobLocationNameFilter","result","preparedName","jobTypesFilter","preparedText","removeMatchIntersections","m","prioItem","filterJobs","jobs","prioList","job","exactNameMatches","match","priority","nameMatches","locationNameMatches","typeMatches","JobList","totalJobLocations","allJobLocationsLabel","initialFilterQuery","filterPlaceholder","hasFilter","filterSubmitIcon","filterClearIcon","jobFilterName","jobCount","setFilterQuery","jobMatches","queryParts","part","trim","searchMatches","queryParts_1","_i","matches","intersectionIndex","sItem","intersections","matches_1","getFilter","urlFilter","submitIcon","clearIcon","sort","a","b","ArticleHead","JobArticle","jsonLd","el","Facts","POIFacts","PoiTitle","PoiText","PointOfInterestDetail","customFact","poiExactNameFilter","poiSoftNameFilter","poiFactFilter","preparedFact","poiInfoFilter","poiDescriptionFilter","shortDescription","preparedDesc","filterPois","pois","poi","factMatches","infoMatches","descMatches","PointOfInterestOverview","enableFiltering","poiFilterName","poiMatches","POICard","PoiMapSection","isLarge","RequestGeolocationBtn","CardStage","MapCardView","MapCardHeader","CloseBtn","MapCard","customClose","onClose","Cross","PointOfInterestMap","initialPointOfInterest","restrictToMarkersArea","showOwnPosition","currentPosMarker","customCardClose","customLocationRequest","activePoiId","setActivePoiId","activePOI","_j","useGeolocation","isGeolocationSupported","isSupported","resetGeolocation","mapMarkers","defaultPosMarker","CurrentLocation","coords","_k","showZoomControls","zoomControlPosition","markerId","flyToPosition","getCurrentZoom","currentZoom","zoom_1","handleLocationRequest","zoom_2","MyLocation","LinkListView","BottomLinkItem","StyledLink","LinkList","links","brandIcon","brand","Bdot","FooterBottomGrid","LeftWrapper","FooterBottomBar","languages","linksLeft","linksRight","languageIcon","LanguageSwitcher","langs","textSize","FooterSection","MainView","ColTitle","LinkItem","CustomCol","FootNote","siteLinks","customColumn","footNote","bottomBar","bottomLinksLeft","bottomLinksRight","customCol","bottom","hasBottomBar","clampSolidBg","ii","toRight","FooterArticle","FooterColumn","socialTitle","socials","SocialList"],"mappings":"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"}
1
+ {"version":3,"file":"sections.js","sources":["../src/components/sections/Accordion.tsx","../src/components/blocks/Alert.tsx","../src/components/sections/AlertList.tsx","../src/components/sections/Article.tsx","../src/components/sections/CallToAction.tsx","../src/components/sections/CardList.tsx","../src/components/sections/ComparisonSlider.tsx","../src/components/blocks/PromotionCard.tsx","../src/components/sections/CrossPromotion.tsx","../src/components/blocks/Fact.tsx","../src/components/sections/FactGrid.tsx","../src/components/sections/FactList.tsx","../src/components/blocks/Feature.tsx","../src/components/sections/FeatureList.tsx","../src/components/sections/Gallery.tsx","../src/components/sections/header/Header.tsx","../src/components/sections/IconList.tsx","../src/components/sections/IndexList.tsx","../src/components/sections/Intro.tsx","../src/components/sections/Map.tsx","../src/components/blocks/NavBlock.tsx","../src/components/sections/NavList.tsx","../src/components/sections/NumberList.tsx","../src/components/sections/ParallaxBackground.tsx","../src/components/sections/Poster.tsx","../src/components/sections/PriceList.tsx","../src/components/blocks/PriceTag.tsx","../src/components/sections/PriceTable.tsx","../src/components/sections/Quote.tsx","../src/components/sections/SimpleImage.tsx","../src/components/sections/SocialWall.tsx","../src/components/sections/Table.tsx","../src/components/sections/Teaser.tsx","../src/components/sections/TeaserWide.tsx","../src/components/sections/Timeline.tsx","../src/components/sections/Video.tsx","../src/components/sections/RawVideo.tsx"],"sourcesContent":["import Plus from 'components/base/icons/Plus';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Minus from 'components/base/icons/Minus';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateFAQ } from 'utils/structuredData';\nimport Grid, { gridSettings } from 'components/base/Grid';\n\nconst AccordionContainer = styled.div`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst View = styled.details``;\n\nconst AccordionHead = styled.summary<{\n isInverted?: boolean;\n hasBg?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: ${spacings.nudge * 2}px;\n margin: 0;\n border: none;\n outline: none;\n background: none;\n user-select: none;\n list-style: none;\n\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n cursor: pointer;\n transition: background 0.2s ease-in-out;\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &::marker {\n display: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n }\n\n &:focus {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Column = styled(Copy)`\n flex: 1 1 0;\n`;\n\nconst AccordionText = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n hasAside?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n padding: ${spacings.nudge * 2}px;\n margin-top: 2px;\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n & > * {\n max-width: 880px;\n }\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\ninterface AccordionItem {\n label?: string;\n text?: string;\n aside?: string;\n}\n\nconst AccordionBlock: React.FC<\n AccordionItem & {\n isSelected?: boolean;\n onClick?: () => void;\n isInverted?: boolean;\n hasBg?: boolean;\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n className?: string;\n }\n> = ({\n label,\n text,\n aside,\n isSelected,\n onClick,\n hasBg,\n isInverted,\n itemIcon,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <View open={isSelected} onToggle={onClick} className={className}>\n <AccordionHead isInverted={isInverted} hasBg={hasBg}>\n <Copy renderAs=\"span\" size=\"big\" type=\"copy-b\">\n {label}\n </Copy>\n <span>\n {itemIcon ? (\n itemIcon({ isSelected: isSelected || false })\n ) : isSelected ? (\n <Minus iconColor={colors.text.default} />\n ) : (\n <Plus iconColor={colors.text.default} />\n )}\n </span>\n </AccordionHead>\n <AccordionText\n isInverted={isInverted}\n hasBg={hasBg}\n hasAside={!!aside}\n >\n {text && <Column type=\"copy\" innerHTML={text} />}\n {aside && <Column type=\"copy\" innerHTML={aside} />}\n </AccordionText>\n </View>\n );\n};\n\nconst Accordion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of accordion items */\n items?: AccordionItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom item state icon */\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, itemIcon }) => {\n const [currentItems, setCurrentItems] = React.useState<number[]>([]);\n\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {items && generateFAQ(items)}\n <Wrapper addWhitespace>\n <Grid.Row gutter={0}>\n <Grid.Col>\n <AccordionContainer aria-label=\"Accordion Control Group Buttons\">\n {items?.map(({ label, text, aside }, i) => {\n const isSelected =\n currentItems.indexOf(i) !== -1;\n return (\n <AccordionBlock\n key={`${label}_${i}`}\n isSelected={isSelected}\n label={label}\n text={text}\n aside={aside}\n onClick={() => {\n setCurrentItems((prev) => {\n const copy = [...prev];\n const index = copy.indexOf(i);\n if (index === -1) {\n copy.push(i);\n } else {\n copy.splice(index, 1);\n }\n return copy;\n });\n }}\n isInverted={isInverted}\n hasBg={hasBg}\n itemIcon={itemIcon}\n />\n );\n })}\n </AccordionContainer>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AccordionComponent = Accordion;\nexport default withLibTheme(Accordion);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport StatusFormatter from '../../utils/statusFormatter';\nimport Info from '../base/icons/Info';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n text-decoration: none;\n\n position: relative;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n padding: ${spacings.nudge * 3}px;\n\n text-align: left;\n width: 100%;\n cursor: pointer;\n\n transition: color ease-in-out 0.2s, border 0.2s ease-in-out;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst Content = styled.div`\n margin-top: ${spacings.nudge}px;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst ViewLink = styled(Link)`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n\n &:focus-within {\n outline: dotted 2px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nexport interface AlertProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Alert title text */\n title?: string;\n\n /** Alert date */\n date?: Date;\n\n /** Additional description text (richtext) */\n description?: string;\n\n /** Alert link that covers hole element */\n link?: LinkProps;\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Alert: React.FC<AlertProps & { className?: string }> = ({\n isInverted,\n title,\n date,\n description,\n link,\n customIcon,\n className,\n}) => {\n let formattedDate = '';\n if (date) {\n const formatter = new StatusFormatter(\n date.getTime(),\n '',\n 'dd. MMMM yyyy',\n 'hh:mm',\n 'de'\n );\n formattedDate = formatter.getFormattedDate();\n }\n\n return (\n <View isInverted={isInverted} data-sheet=\"alert\" className={className}>\n <Icon>{customIcon ? customIcon({ isInverted }) : <Info />}</Icon>\n <MainLabel>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n </Title>\n )}\n </MainLabel>\n <span />\n <Content>\n {description && (\n <Copy\n isInverted={isInverted}\n size=\"small\"\n innerHTML={description}\n />\n )}\n {date && (\n <Copy size=\"small\" isInverted={isInverted}>\n {formattedDate}\n </Copy>\n )}\n </Content>\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? title : undefined}\n />\n )}\n </View>\n );\n};\n\nexport default Alert;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Alert, { AlertProps } from '../blocks/Alert';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\n\nconst List = styled.ul`\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst ListItem = styled.li<{ itemsPerRow: number }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n flex: 1 1 100%;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 ${({ itemsPerRow }) => (1 / itemsPerRow) * 100}%;\n max-width: 600px;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n`;\n\nconst AlertList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of alert items */\n items?: Pick<AlertProps, 'title' | 'date' | 'description' | 'link'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const alertCount = items?.length || 0;\n const itemsPerRow = alertCount % 3 === 1 || alertCount === 2 ? 2 : 3;\n\n const { sheetRefs: alertRefs } = useEqualSheetHeight<HTMLLIElement>({\n listLength: alertCount,\n identifiers: ['[data-sheet=\"alert\"]'],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: itemsPerRow,\n xlarge: itemsPerRow,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem\n key={i}\n itemsPerRow={itemsPerRow}\n ref={alertRefs[i]}\n >\n <Alert\n {...item}\n isInverted={isInverted}\n customIcon={customIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AlertListComponent = AlertList;\nexport default withLibTheme(AlertList);\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Title, { TitleSize } from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings, mq } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\n\nconst StyledTitle = styled(Title)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 880px;\n }\n`;\n\nconst ContentText = styled(Copy)`\n text-align: left;\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Article: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Main title size */\n titleSize?: TitleSize;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold intro text underneath the title (limited richtext capabilites) */\n intro?: string;\n /** Main article richtext */\n text?: string;\n /** Additional article richtext in a second column */\n asideText?: string;\n /** Controls width of left text column (8/12 or 6/12) */\n halfAside?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n intro,\n text,\n asideText,\n halfAside,\n bgMode,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasContent = intro || text || asideText;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {(title || superTitle) && (\n <StyledTitle\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n )}\n {hasContent && (\n <Grid.Row valign=\"top\">\n <Grid.Col\n semilarge={{ span: halfAside ? 6 / 12 : 8 / 12 }}\n >\n {intro && (\n <ContentText\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {asideText && (\n <Grid.Col\n semilarge={{\n span: halfAside ? 6 / 12 : 4 / 12,\n }}\n >\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={asideText}\n />\n </Grid.Col>\n )}\n </Grid.Row>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ArticleComponent = Article;\nexport default withLibTheme(Article);\n","import React, { FC, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport {\n getColors as color,\n getGlobals as global,\n mq,\n spacings,\n} from 'utils/styles';\nimport Copy from 'components/typography/Copy';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport Actions from 'components/blocks/Actions';\nimport { withLibTheme } from 'utils/LibThemeProvider';\nimport { gridSettings, getGridWidth } from 'components/base/Grid';\n\nconst ContactView = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 0 auto;\n width: 100%;\n\n text-align: left;\n hyphens: auto;\n overflow-wrap: break-word;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\nconst Avatar = styled.img<{ isInverted?: boolean }>`\n align-self: center;\n display: block;\n border: solid 1px transparent;\n border-radius: 50%;\n width: 180px;\n height: 180px;\n\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n @media ${mq.semilarge} {\n display: block;\n width: 190px;\n height: 190px;\n }\n`;\n\nconst Description = styled(Copy)`\n text-align: center;\n\n .icon-label {\n flex-direction: column;\n }\n\n .icon-label > * + * {\n margin-left: 0;\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * {\n justify-content: center;\n }\n\n @media ${mq.semilarge} {\n text-align: left;\n\n & > * {\n justify-content: left;\n }\n\n .icon-label {\n flex-direction: row;\n }\n\n .icon-label > * + * {\n margin-left: ${spacings.nudge * 2}px;\n margin-top: 0;\n }\n }\n`;\n\nexport interface ContactBoxProps {\n isInverted?: boolean;\n description?: string;\n avatar?: { src: string; alt: string };\n}\n\nconst ContactBox: FC<ContactBoxProps & { className?: string }> = ({\n isInverted,\n description,\n avatar,\n className,\n}) => {\n return (\n <ContactView className={className}>\n <Avatar\n src={avatar?.src}\n alt={avatar?.alt}\n isInverted={isInverted}\n />\n {description && (\n <Description\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={description}\n />\n )}\n </ContactView>\n );\n};\n\nconst StyledIntro = styled(IntroBlock)<{ hasDecorator?: boolean }>`\n max-width: 880px;\n margin-right: auto;\n margin-left: auto;\n\n @media ${mq.xlarge} {\n & > *:first-child {\n min-height: ${({ hasDecorator }) => hasDecorator && '110px'};\n }\n }\n`;\n\nconst StyledContactBox = styled(ContactBox)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: ${getGridWidth({ cols: 8 })};\n margin-right: auto;\n margin-left: auto;\n }\n\n @media ${mq.large} {\n max-width: ${getGridWidth({ cols: 6 })};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: center;\n }\n`;\n\nconst NewsletterWrapper = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: 400px;\n }\n`;\n\nconst Badge = styled.div`\n display: none;\n position: relative;\n height: 241px;\n width: 241px;\n margin-left: auto;\n margin-bottom: -135px;\n z-index: 3;\n\n @media ${mq.xlarge} {\n display: block;\n margin-right: ${1440 * (1 / 28) + 'px'};\n }\n`;\n\nexport const CallToAction: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold text underneath the title (limited richtext capabilites) */\n text?: string;\n /** Props for contact area */\n contact?: ContactBoxProps;\n /** Show Newsletter defined by inject function newsFormMain. Only visible if React node is defined! */\n hasNewsletter?: boolean;\n /** Badge decorator visible only on large screens */\n badge?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject newsletter form */\n newsFormMain?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n superTitle,\n superTitleAs,\n text,\n contact,\n badge,\n primaryAction,\n secondaryAction,\n hasNewsletter,\n newsFormMain,\n bgMode,\n}) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : color(theme).sectionBg.medium\n }\n bgMode={bgMode ? mapToBgMode(bgMode, true) : 'full'}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n {badge && <Badge>{badge}</Badge>}\n {title && (\n <StyledIntro\n isCentered\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n hasDecorator={!!badge}\n text={text}\n />\n )}\n\n {contact && (\n <StyledContactBox\n isInverted={isInverted}\n description={contact.description}\n avatar={contact.avatar}\n />\n )}\n {newsFormMain && hasNewsletter && (\n <NewsletterWrapper>\n {newsFormMain(isInverted)}\n </NewsletterWrapper>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CallToActionComponent = CallToAction;\nexport default withLibTheme(CallToAction);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport {\n spacings,\n getColors as color,\n mq,\n getGlobals as global,\n} from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n cardColor?: string;\n hasLink?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n position: relative;\n color: ${({ theme }) => color(theme).text.inverted};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n min-height: 110px;\n\n overflow: hidden;\n\n @media ${mq.medium} {\n display: block;\n padding-top: 85%;\n }\n`;\n\nconst SolidView = styled(View)`\n background-color: ${({ theme, isInverted, cardColor }) =>\n cardColor\n ? cardColor\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n }\n `}\n`;\n\nconst ImageView = styled(View)`\n transition: box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n @media (hover: hover) and (pointer: fine) {\n cursor: pointer;\n\n img {\n -webkit-backface-visibility: hidden;\n -ms-transform: translateZ(0); /* IE 9 */\n -webkit-transform: translateZ(\n 0\n ); /* Chrome, Safari, Opera */\n transform: translateZ(0);\n transform-origin: center;\n transition: transform 0.2s ease-in-out;\n }\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n\n img {\n transform: scale(1.03);\n }\n }\n }\n `}\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n @media ${mq.medium} {\n padding-top: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n display: block;\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n object-position: center;\n\n @media ${mq.medium} {\n position: relative;\n }\n`;\n\nconst Content = styled.div<{ hasIcon?: boolean }>`\n z-index: 1;\n\n padding: ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n\n display: flex;\n flex-direction: ${({ hasIcon }) => (hasIcon ? 'column' : 'row')};\n justify-content: space-between;\n align-items: ${({ hasIcon }) => (hasIcon ? 'flex-start' : 'flex-end')};\n\n & > * + * {\n margin-left: 0;\n }\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n overflow: hidden;\n\n & > * + * {\n margin-top: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n max-width: 100%;\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nconst Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst SubLabel = styled(Copy)`\n display: inline-block;\n\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n`;\n\nconst Icon = styled.div`\n height: 100%;\n max-height: 60px;\n min-height: 40px;\n min-width: 40px;\n\n * {\n height: 100%;\n }\n\n svg,\n img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n svg,\n img {\n width: auto;\n }\n }\n`;\n\nconst CardLink = styled(Link)<{ isInverted?: boolean }>`\n z-index: 1;\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n outline-color: ${({ theme }) => color(theme).primary.default};\n\n &:focus {\n border: 2px dotted ${({ theme }) => color(theme).primary.invertedHover};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n`;\n\nexport interface CardProps {\n isInverted?: boolean;\n title?: string;\n subLabel?: string;\n image?: ImageProps;\n link?: LinkProps;\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n cardColor?: string;\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Card: React.FC<\n Omit<CardProps, 'coverSpace' | 'ratios'> & {\n className?: string;\n }\n> = ({\n isInverted,\n title,\n subLabel,\n image,\n link,\n decorator,\n cardColor,\n customIcon,\n}) => {\n const { colors } = useLibTheme();\n const CardView = image && image.small ? ImageView : SolidView;\n const defaultCardColor = isInverted\n ? colors.primary.inverted\n : colors.primary.default;\n\n return (\n <CardView\n isInverted={isInverted}\n cardColor={cardColor || defaultCardColor}\n hasLink={!!link?.href}\n >\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n ratios={{\n small: { w: 352, h: 108 },\n medium: { w: 286, h: 244 },\n }}\n />\n )}\n <Content hasIcon={!!customIcon}>\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <TextContainer>\n {title && (\n <Title size=\"big\" type=\"copy\" isInverted>\n {title}\n </Title>\n )}\n {subLabel && (\n <Footer>\n <SubLabel type=\"copy-b\" size=\"big\" isInverted>\n {subLabel}\n </SubLabel>\n {decorator ? decorator({ isInverted }) : undefined}\n </Footer>\n )}\n </TextContainer>\n </Content>\n {link?.href && (\n <CardLink\n isInverted={isInverted}\n {...link}\n ariaLabel={title || undefined}\n />\n )}\n </CardView>\n );\n};\n\nconst List = styled.ul`\n padding: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst CardItem = styled.li<{ isEqual?: boolean; threeCols?: boolean }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n width: 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 370px;\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex: 0 0 33.33%;\n }\n\n @media (min-width: 75em) {\n flex: ${({ isEqual, threeCols }) =>\n threeCols ? '0 0 33.33%' : isEqual && '0 0 25%'};\n }\n`;\n\nconst CardList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with card item settings */\n items?: Omit<CardProps, 'decorator' | 'isInverted'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom decoration icon */\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Force maximal three items per row */\n maxThreeCols?: boolean;\n}> = ({ anchorId, items, bgMode, decorator, maxThreeCols }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <CardItem\n key={i}\n isEqual={items.length % 2 === 0}\n threeCols={maxThreeCols}\n >\n <Card\n {...item}\n isInverted={isInverted}\n decorator={decorator}\n />\n </CardItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const CardListComponent = CardList;\nexport default withLibTheme(CardList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors as color, spacings } from 'utils/styles';\nimport ArrowLeftRight from 'components/base/icons/ArrowLeftRight';\nimport Copy from 'components/typography/Copy';\nimport useIE from 'utils/useIE';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst clamp = (num: number, min: number, max: number) => {\n return Math.min(Math.max(num, min), max);\n};\n\nconst Images = styled.div`\n position: relative;\n cursor: col-resize;\n & > * {\n pointer-events: none;\n user-select: none;\n }\n`;\n\nconst BackgroundImg = styled(Image)`\n position: relative;\n display: block;\n width: 100%;\n`;\n\nconst ForegroundContainer = styled.div<{\n hasTransition?: boolean;\n initalValue?: number;\n hasAnim?: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 50%;\n overflow: hidden;\n transition: width ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ForegroundAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ForegroundAnim {\n 0% {\n width: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n width: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n width: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n width: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst ForegroundImg = styled(Image)`\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n max-width: none;\n object-fit: cover;\n\n img {\n height: auto;\n width: auto;\n }\n`;\n\nconst ForegroundOverlay = styled.div<{ color: string }>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: ${({ color }) => color};\n`;\n\nconst ImageLabel = styled(Copy)<{ bgColor?: string }>`\n height: ${spacings.spacer}px;\n padding: ${spacings.nudge}px ${spacings.spacer}px ${spacings.spacer}px\n ${spacings.spacer}px;\n background: ${({ bgColor }) => bgColor && bgColor};\n`;\n\nconst ForegroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n left: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst BackgroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n right: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst ControlContainer = styled.div<{\n hasTransition?: boolean;\n hasAnim?: boolean;\n initalValue?: number;\n}>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n transition: left ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ControlAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ControlAnim {\n 0% {\n left: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n left: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n left: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n left: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst Control = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 54px;\n width: 54px;\n border: solid 2px ${({ theme }) => color(theme).elementBg.light};\n border-radius: 50%;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n`;\n\nconst ComparisonSlider: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgMode?: 'full' | 'inverted' | 'splitted';\n initialValue?: number;\n foregroundImg?: ImageProps;\n backgroundImg?: ImageProps;\n foregroundLabel?: string;\n backgroundLabel?: string;\n overlayColor?: string;\n labelColor?: string;\n dragControl?: React.ReactNode;\n enableControlAnim?: boolean;\n}> = ({\n anchorId,\n bgMode,\n initialValue,\n foregroundImg,\n backgroundImg,\n foregroundLabel,\n backgroundLabel,\n overlayColor = 'rgba(0, 0 , 0, 0.2)',\n labelColor = 'rgba(0, 0 , 0, 0.3)',\n dragControl,\n enableControlAnim,\n}) => {\n const isIE = useIE(true);\n const [slideValue, setSlideValue] = useState<number>(\n initialValue ? Math.min(Math.max(initialValue, 0), 1) : 0.5\n );\n const [isHolding, setIsHolding] = useState<boolean>(false);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [interacted, setInteracted] = useState<boolean>(true);\n const [sideOffset, setSideOffset] = useState<number>(0);\n const controlRef = useRef<HTMLDivElement | null>(null);\n const { colors } = useLibTheme();\n\n useEffect(() => {\n if (controlRef.current) {\n setSideOffset(controlRef.current.offsetWidth / 2);\n }\n }, []);\n\n useEffect(() => {\n const handleInitalLoad = () => {\n const options = {\n rootMargin: '0px',\n threshold: 1.0,\n };\n\n const observer = new IntersectionObserver((entries, observer) => {\n if (enableControlAnim && entries[0]?.isIntersecting) {\n // if control is first fully visible\n observer.unobserve(entries[0]?.target);\n setInteracted(false);\n }\n }, options);\n if (controlRef.current) observer.observe(controlRef.current);\n window.removeEventListener('load', handleInitalLoad);\n };\n\n // wait unitl user has scrolled once\n if (!isIE) {\n if (document.readyState === 'complete') handleInitalLoad();\n else window.addEventListener('load', handleInitalLoad);\n }\n\n return () => {\n window.removeEventListener('load', handleInitalLoad);\n };\n }, [enableControlAnim, isIE]);\n\n const setCurrentPos = (target: EventTarget & Element, clientX: number) => {\n if (target && clientX) {\n const relativeClientX = clientX - target.getBoundingClientRect().x;\n\n // check side offset\n if (\n relativeClientX >= sideOffset &&\n relativeClientX <=\n target.getBoundingClientRect().width - sideOffset\n ) {\n let percentage =\n relativeClientX / target.getBoundingClientRect().width;\n percentage = Math.min(Math.max(percentage, 0), 1);\n\n setSlideValue(percentage);\n }\n }\n };\n\n const handleClick = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX) {\n setCurrentPos(target, ev.clientX);\n setInteracted(true);\n }\n };\n\n const handleMouseMove = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX && isHolding) {\n setIsDragging(true);\n setInteracted(true);\n if (isDragging) setCurrentPos(target, ev.clientX);\n }\n };\n\n const handleTouchMove = (ev: React.TouchEvent<HTMLDivElement>) => {\n const target = ev.currentTarget;\n if (target && ev.touches[0]?.clientX) {\n setInteracted(true);\n setCurrentPos(target, ev.touches[0]?.clientX);\n }\n };\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper>\n {backgroundImg && foregroundImg && (\n <Images\n onClick={handleClick}\n onMouseMove={handleMouseMove}\n onMouseDown={() => {\n setIsDragging(false);\n setIsHolding(true);\n }}\n onMouseUp={() => {\n setIsDragging(false);\n setIsHolding(false);\n }}\n onMouseLeave={() => {\n setIsHolding(false);\n setIsDragging(false);\n }}\n onTouchMove={handleTouchMove}\n onTouchStart={() => setIsHolding(true)}\n onTouchEnd={() => setIsHolding(false)}\n >\n <BackgroundImg {...backgroundImg} />\n {backgroundLabel && (\n <BackgroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {backgroundLabel}\n </BackgroundLabel>\n )}\n <ForegroundContainer\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ width: slideValue * 100 + '%' }}\n >\n <ForegroundImg {...foregroundImg} />\n {foregroundLabel && (\n <ForegroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {foregroundLabel}\n </ForegroundLabel>\n )}\n <ForegroundOverlay color={overlayColor} />\n </ForegroundContainer>\n <ControlContainer\n ref={controlRef}\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ left: slideValue * 100 + '%' }}\n >\n {dragControl ? (\n dragControl\n ) : (\n <Control>\n <ArrowLeftRight\n iconColor={colors.elementBg.light}\n />\n </Control>\n )}\n </ControlContainer>\n </Images>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ComparisonSliderComponent = ComparisonSlider;\nexport default withLibTheme(ComparisonSlider);\n","import React, { forwardRef } from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport styled, { css } from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n mq,\n withRange,\n getColors as color,\n} from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Title from 'components/blocks/Title';\nimport External from 'components/base/icons/External';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nconst View = styled(Link)<{\n clickable?: boolean;\n}>`\n display: block;\n position: relative;\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n outline: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n ${({ clickable, theme, isInverted }) =>\n clickable &&\n css`\n transition: box-shadow 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n\n &:focus {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n outline: solid 2px\n ${isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n `}\n`;\n\nconst StyledImage = styled(Image)`\n width: 100%;\n height: 100%;\n min-height: 300px;\n\n img {\n height: 100%;\n }\n`;\n\nconst IntroContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 1;\n\n padding: ${spacings.spacer}px ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n\n /* required to align items at flex-end in ie11 */\n &:before {\n content: '';\n display: block;\n flex: 1 0 0px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 5}px ${spacings.spacer}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapper + 'px'};\n`;\n\nconst ExternalIconHolder = styled.span`\n margin-left: ${spacings.nudge * 2}px;\n\n & > * {\n display: inline-block;\n }\n`;\n\nconst Icon = styled.div`\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n\n position: absolute;\n top: ${spacings.nudge * 3}px;\n left: ${spacings.nudge * 3}px;\n\n & > * {\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n }\n\n color: ${({ theme }) => color(theme).text.inverted};\n`;\n\nexport interface PromotionCardProps {\n /** Setup Card for dark backgrounds */\n isInverted?: boolean;\n /** Card image settings */\n image: ImageProps;\n /** Card title */\n title?: string;\n /** Card title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior card title that stands above main title */\n superTitle?: string;\n /** Superior card title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Href path */\n href?: string;\n /** Advanced href options */\n link?: LinkProps;\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n\n /** Function to inject icon in top left corner */\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst PromotionCard = forwardRef<\n HTMLAnchorElement,\n PromotionCardProps & { className?: string }\n>(\n (\n {\n isInverted,\n image,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n href,\n link,\n externalLinkIcon,\n icon,\n className,\n },\n ref\n ) => {\n // fallback for older versions\n let linkObj = link;\n if (href && !link) {\n linkObj = {\n href: href,\n isExternal: false,\n };\n }\n\n const externalIconString = ReactDOMServer.renderToString(\n <ExternalIconHolder>\n {externalLinkIcon || <External />}\n </ExternalIconHolder>\n );\n\n return (\n <View\n ref={ref}\n clickable={!!href || !!link}\n {...linkObj}\n className={className}\n >\n <StyledImage {...image} isInverted={isInverted} coverSpace />\n {icon && <Icon>{icon({ isInverted })}</Icon>}\n {title && (\n <IntroContainer>\n <StyledTitle\n colorMode=\"onImage\"\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n title={\n linkObj?.isExternal\n ? title + externalIconString\n : title\n }\n titleAs={titleAs || 'div'}\n clampTitle\n />\n </IntroContainer>\n )}\n </View>\n );\n }\n);\n\nPromotionCard.displayName = 'PromotionCard';\n\nexport default PromotionCard;\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Grid, { gridSettings } from 'components/base/Grid';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport PromotionCard, {\n PromotionCardProps,\n} from 'components/blocks/PromotionCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Card = styled(PromotionCard)<{ isMain?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n\n height: ${({ isMain }) => isMain && '100%'};\n\n flex: 1 0 auto;\n\n & + & {\n margin-top: ${gridSettings.gutter}px;\n }\n`;\n\nconst CrossPromotion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Promotion card settings in main grid column (default: on right side). The size prop controls the width. */\n main?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Promotion card settings in second grid column (default: on left side). The size prop controls the width. */\n aside?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Switching order of main and aside columns */\n isMirrored?: boolean;\n\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n}> = ({ anchorId, main, aside, bgMode, isMirrored, externalLinkIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {aside ? (\n isMirrored ? (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n ) : (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n )\n ) : (\n main && (\n <Grid.Row>\n {main.map((card, i) => (\n <Grid.Col\n semilarge={{\n span:\n (card.size === 'half' ? 6 : 12) /\n 12,\n }}\n key={i}\n >\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n )\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CrossPromotionComponent = CrossPromotion;\nexport default withLibTheme(CrossPromotion);\n","import React, { forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\n\nconst View = styled.div``;\n\nconst ImageContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n margin-bottom: ${spacings.nudge * 3}px;\n max-width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst Content = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Title = styled(Copy)``;\n\nconst SubTitle = styled(Copy)``;\n\nconst Text = styled(Copy)`\n ${SubTitle} + & {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport interface FactProps {\n isInverted?: boolean;\n isCentered?: boolean;\n title?: string;\n subTitle?: string;\n text?: string;\n image?: ImageProps;\n}\n\nconst Fact = forwardRef<\n HTMLDivElement,\n FactProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted = false,\n isCentered = false,\n title,\n subTitle,\n text,\n image,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} className={className}>\n {image?.small && (\n <ImageContainer isCentered={isCentered}>\n <StyledImage\n isInverted={isInverted}\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n coverSpace={image.coverSpace}\n ratios={image.ratios}\n showPlaceholder={image.showPlaceholder}\n />\n </ImageContainer>\n )}\n <Content isCentered={isCentered}>\n {title && (\n <Title\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n data-sheet=\"title\"\n >\n {title}\n </Title>\n )}\n {subTitle && (\n <SubTitle\n type=\"copy-b\"\n isInverted={isInverted}\n data-sheet=\"subtitle\"\n >\n {subTitle}\n </SubTitle>\n )}\n {text && (\n <Text\n type=\"copy\"\n isInverted={isInverted}\n data-sheet=\"text\"\n innerHTML={text}\n />\n )}\n </Content>\n </View>\n );\n }\n);\n\nFact.displayName = 'Fact';\n\nexport default Fact;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Fact, { FactProps } from 'components/blocks/Fact';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FactFill = styled.div`\n display: none;\n\n @media ${mq.large} {\n display: block;\n }\n`;\n\nconst FactGrid: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Controls amount columns on large screens */\n columns?: 3 | 4 | 6;\n\n /** Array with fact card data */\n facts?: Array<Omit<FactProps, 'isInverted' | 'isCentered'>>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Center text inside fact card items */\n isCentered?: boolean;\n}> = ({ anchorId, columns = 3, facts, bgMode, isCentered }) => {\n const { colors } = useLibTheme();\n const factCount = facts?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: factCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"subtitle\"]'],\n responsive: {\n small: 1,\n medium: columns < 3 ? columns : 3,\n semilarge: columns < 4 ? columns : 4,\n large: columns,\n xlarge: columns,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row>\n {facts &&\n facts.map((fact, i) => {\n if (\n fact?.title ||\n fact?.subTitle ||\n fact?.image ||\n fact?.text\n ) {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <Fact\n key={i}\n ref={cardRefs[i]}\n {...fact}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n );\n } else {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <FactFill ref={cardRefs[i]} key={i} />\n </Grid.Col>\n );\n }\n })}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactGridComponent = FactGrid;\nexport default withLibTheme(FactGrid);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\n\nconst FactsContainer = styled.ul`\n padding: 0;\n margin: 0;\n\n list-style-type: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FactItem = styled.li<{ hasText?: boolean; hasBack?: boolean }>`\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBack }) =>\n hasBack ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: row;\n align-items: ${({ hasText }) => (hasText ? 'flex-start' : 'center')};\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Icon = styled.img`\n margin-right: ${spacings.nudge * 3}px;\n display: block;\n max-width: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n margin-right: ${spacings.spacer}px;\n }\n`;\n\nconst ContentBlock = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nconst FactList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with fact item data */\n facts?: Array<{\n label?: string;\n text?: string;\n }>;\n\n /** Icon for each fact item */\n icon?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, facts, icon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {facts && (\n <FactsContainer>\n {facts.map(({ label, text }, i) => {\n return (\n <FactItem\n key={i}\n hasText={!!text}\n hasBack={hasBack}\n >\n {icon && (\n <Icon\n src={icon.src}\n alt={icon.alt || ''}\n />\n )}\n <ContentBlock>\n {label && (\n <Copy type=\"copy-b\">{label}</Copy>\n )}\n {text && (\n <Description\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </ContentBlock>\n </FactItem>\n );\n })}\n </FactsContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactListComponent = FactList;\nexport default withLibTheme(FactList);\n","import React, { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\n\nconst View = styled.div<{ isCentered?: boolean }>`\n min-width: 270px;\n padding-bottom: ${spacings.nudge}px;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TitleLink = styled(Link)<{ href?: string }>`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n\n ${({ href, isInverted, theme }) =>\n !href &&\n css`\n &:hover {\n color: ${isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n }\n `}\n`;\n\nconst ImageContainer = styled(Link)<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst ArticleContent = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n & > * {\n max-width: 95%;\n margin-right: ${({ isCentered }) => isCentered && 'auto'};\n margin-left: ${({ isCentered }) => isCentered && 'auto'};\n }\n }\n`;\n\nconst Action = styled.div`\n max-width: 100%;\n`;\n\nexport interface FeatureProps {\n /** Invert color and background for darker themes */\n isInverted?: boolean;\n\n /** Center all texts */\n isCentered?: boolean;\n\n /** Image on item's top */\n image?: ImageProps;\n\n /** Item title text underneath the image */\n title?: string;\n\n /** Small item description text (richtext) */\n description?: string;\n\n /** Item intro text (partial richtext cause it's always bold) */\n intro?: string;\n\n /** Item's main text (richtext) */\n text?: string;\n\n /** Item link settings */\n link?: LinkProps;\n\n /** Function to inject custom primary button */\n action?: (isInverted?: boolean) => React.ReactNode;\n}\n\nconst Feature = forwardRef<\n HTMLDivElement,\n FeatureProps & {\n className?: string;\n }\n>(\n (\n {\n title,\n description,\n intro,\n text,\n link,\n image,\n isInverted = false,\n isCentered = false,\n action,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} isCentered={isCentered} className={className}>\n {image?.small && (\n <ImageContainer {...link} isCentered={isCentered}>\n <StyledImage\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n ratios={image.ratios}\n coverSpace={\n image.coverSpace === undefined\n ? true\n : image.coverSpace\n }\n isInverted={isInverted}\n />\n </ImageContainer>\n )}\n <TitleLink\n {...link}\n isInverted={isInverted}\n ariaLabel={title}\n data-sheet=\"title\"\n >\n {title}\n </TitleLink>\n <Copy\n size=\"small\"\n isInverted={isInverted}\n data-sheet=\"desc\"\n innerHTML={description}\n />\n <ArticleContent isCentered={isCentered}>\n <Copy\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n data-sheet=\"intro\"\n />\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n data-sheet=\"text\"\n />\n </ArticleContent>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nFeature.displayName = 'Feature';\n\nexport default Feature;\n","import React, { useMemo } from 'react';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Feature, { FeatureProps } from 'components/blocks/Feature';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FeatureList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Center texts in every feature item */\n isCentered?: boolean;\n\n /** Array with feature item content */\n features?: FeatureProps[];\n\n /** If not defined the component falls back to legacy logic: Uneven items = max 3 per row, even items = max 2 per row */\n columns?: 2 | 3;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, features, bgMode, isCentered = false, columns }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const featureCount = features?.length || 0;\n\n const isHalf = useMemo(() => {\n if (columns) {\n return columns === 2;\n }\n\n // legacy logic\n return features && features.length % 2 === 0;\n }, [features, columns]);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: featureCount,\n identifiers: [\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n '[data-sheet=\"intro\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: isHalf ? 2 : 3,\n xlarge: isHalf ? 2 : 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row\n halign={isHalf || featureCount <= 2 ? 'center' : 'left'}\n >\n {features?.map((feature, i) => (\n <Grid.Col\n semilarge={{ span: 6 / 12 }}\n large={{\n span: isHalf ? 5 / 12 : 4 / 12,\n }}\n key={i}\n >\n <Feature\n ref={cardRefs[i]}\n {...feature}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FeatureListComponent = FeatureList;\nexport default withLibTheme(FeatureList);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getGlobals as global } from 'utils/styles';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst Gallery: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of image settings */\n images?: Array<ImageType>;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, bgMode, images }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Grid.Row>\n {images?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const GalleryComponent = Gallery;\nexport default withLibTheme(Gallery);\n","import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { CalloutTag } from 'components/typography/Callout';\nimport { mq, spacings, withRange } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport HeaderKenBurns from './HeaderKenBurns';\nimport HeaderPoster from './HeaderPoster';\nimport Actions from 'components/blocks/Actions';\nimport HeaderVideo from './HeaderVideo';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\n\nconst Poster: FC<{\n isInverted?: boolean;\n videoUrl?: string;\n images?: Omit<ImageProps, 'ratios' | 'coverSpace'>[];\n focus?: HeaderFocus;\n kenBurnsZoom?: number;\n kenBurnsZoomPoint?: [number, number];\n kenBurnsInterval?: number;\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n videoUrl,\n images,\n focus,\n kenBurnsZoom,\n kenBurnsZoomPoint,\n kenBurnsInterval,\n onImageChange,\n className,\n children,\n}) => {\n switch (true) {\n case !!videoUrl: {\n return (\n <HeaderVideo\n isInverted={isInverted}\n videoUrl={videoUrl}\n focus={focus}\n placeholderImg={images?.[0]}\n className={className}\n >\n {children}\n </HeaderVideo>\n );\n }\n\n case images && images.length > 1: {\n return (\n <HeaderKenBurns\n images={images || []}\n zoom={kenBurnsZoom}\n zoomPoint={kenBurnsZoomPoint}\n interval={kenBurnsInterval}\n onImageChange={onImageChange}\n className={className}\n >\n {children}\n </HeaderKenBurns>\n );\n }\n\n // single image\n case images && images.length === 1: {\n return (\n <HeaderPoster\n isInverted={isInverted}\n bgImage={images?.[0]}\n focus={focus}\n className={className}\n >\n {children}\n </HeaderPoster>\n );\n }\n\n default: {\n return <div>{children}</div>;\n }\n }\n};\n\nconst genHeightStyles = (isFull: boolean) => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = isFull ? '100vh' : '80vh';\n\n return css`\n & > ${StyledPoster} {\n min-height: 500px;\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst HeaderSection = styled(Section)`\n position: relative;\n ${genHeightStyles(true)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst HeaderSectionSmall = styled(Section)`\n position: relative;\n ${genHeightStyles(false)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst StyledPoster = styled(Poster)`\n position: relative;\n height: 100vh;\n max-height: 1300px;\n max-width: ${spacings.wrapperLarge}px;\n margin: 0 auto;\n`;\n\nconst Overlay = styled.div<{ bgValue?: string; textOnImage?: boolean }>`\n display: ${({ textOnImage }) => (textOnImage ? 'block' : 'none')};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgValue }) => bgValue && bgValue};\n z-index: 2;\n\n @media ${mq.medium} {\n display: block;\n }\n`;\n\nconst Content = styled.div<{ isCentered?: boolean; textOnImage?: boolean }>`\n display: none;\n max-width: ${spacings.wrapper}px;\n margin: 0 auto;\n\n ${({ textOnImage, isCentered }) =>\n textOnImage &&\n css`\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n `}\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${({ isCentered }) => isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst ContentMobile = styled.div`\n padding: ${spacings.spacer}px ${spacings.nudge * 2}px;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n display: none;\n }\n`;\n\nconst Title = styled(Heading)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n @media ${mq.medium} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3; /* number of lines to show */\n line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst Text = styled(Copy)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 4; /* number of lines to show */\n line-clamp: 4;\n -webkit-box-orient: vertical;\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport type HeaderSize = 'full' | 'small';\nexport type HeaderImage = Omit<ImageProps, 'ratios' | 'coverSpace'> & {\n zoomPoint?: [number, number];\n zoom?: number;\n};\nexport type HeaderFocus = [\n 'left' | 'center' | 'right',\n 'top' | 'center' | 'bottom'\n];\n\nconst Header: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Header image height size (full=100vh, small=80vh) */\n size?: HeaderSize;\n\n /** Focus point of header image / video */\n focusPoint?: HeaderFocus;\n\n /** Center content */\n isCentered?: boolean;\n\n /** Header title on image */\n title?: string;\n\n /** Header title HTML tag type (h2, h3, h4...) */\n titleAs?: CalloutTag;\n\n /** Header text on image */\n text?: string;\n\n /** Force text on image on all screen widths */\n textOnImage?: boolean;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Array of image settings */\n images?: HeaderImage[];\n\n /** CSS value of custom image overlay to help seperate the text from the background */\n customImgOverlay?: string;\n\n /** URL to header video. First image in images array can be used as fallback */\n videoUrl?: string;\n\n /** Ken burns effect zoom */\n kenBurnsZoom?: number;\n\n /** Global zoom point for all images with ken burns effect. x and y values in the range from 0 - 1 */\n kenBurnsZoomPoint?: [number, number];\n\n /** Time between each image in ken burns mode */\n kenBurnsInterval?: number;\n\n /** Callback called on image change */\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n size = 'full',\n focusPoint = ['center', 'center'],\n isCentered,\n title,\n titleAs,\n text,\n primaryAction,\n secondaryAction,\n videoUrl,\n images,\n customImgOverlay,\n kenBurnsZoom = 1.08,\n kenBurnsZoomPoint = [0.5, 0.5],\n kenBurnsInterval = 10000,\n onImageChange,\n bgMode,\n textOnImage,\n}) => {\n const { globals, colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasContent = title || text || primaryAction || secondaryAction;\n\n const overlay = hasContent\n ? customImgOverlay || globals.sections.imageTextGradient\n : undefined;\n\n const Section = size === 'full' ? HeaderSection : HeaderSectionSmall;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <StyledPoster\n isInverted={isInverted}\n images={images}\n videoUrl={videoUrl}\n kenBurnsInterval={kenBurnsInterval}\n kenBurnsZoom={kenBurnsZoom}\n kenBurnsZoomPoint={kenBurnsZoomPoint}\n onImageChange={onImageChange}\n focus={focusPoint}\n >\n {hasContent && (\n <React.Fragment>\n <Overlay bgValue={overlay} textOnImage={textOnImage} />\n <Content\n isCentered={isCentered}\n textOnImage={textOnImage}\n >\n {title && (\n <Title\n isInverted\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n />\n )}\n {text && (\n <Text\n isInverted\n isCentered={isCentered}\n type=\"copy-b\"\n size=\"big\"\n innerHTML={text}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={\n primaryAction && primaryAction(true)\n }\n secondary={\n secondaryAction && secondaryAction(true)\n }\n />\n )}\n </Content>\n </React.Fragment>\n )}\n </StyledPoster>\n {hasContent && !textOnImage && (\n <ContentMobile>\n {title && (\n <Title\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n isInverted={isInverted}\n />\n )}\n {text && (\n <Text\n type=\"copy-b\"\n size=\"big\"\n isCentered={isCentered}\n innerHTML={text}\n isInverted={isInverted}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </ContentMobile>\n )}\n </Section>\n );\n};\n\nexport const HeaderComponent = Header;\nexport default withLibTheme(Header);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport Pointer from 'components/buttons/Pointer';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image from 'components/blocks/Image';\n\nconst StyledSection = styled(Section)<{ isCentered?: boolean }>`\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n margin: ${({ isCentered }) => (isCentered ? '0 auto' : '0')};\n\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n }\n`;\n\nconst ItemContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n }\n`;\n\nconst Items = styled.ul<{ isVisible?: boolean; isCentered?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'block')};\n align-items: center;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n list-style: none;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 0 1 auto;\n }\n }\n`;\n\nconst Item = styled.li<{\n isVisible?: boolean;\n index: number;\n}>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n display: ${({ index, isVisible }) =>\n isVisible || index < 6 ? 'block' : 'none'};\n\n & > img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n\n & > img {\n width: auto;\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 10 ? 'block' : 'none'};\n }\n`;\n\nconst ItemLink = styled(Link)<{ isInverted?: boolean }>`\n display: block;\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n`;\n\nconst ShowMore = styled.div<{ itemCount?: number; isCentered?: boolean }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 6 ? 'block' : 'none'};\n\n background: none;\n border: none;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n @media ${mq.semilarge} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 10 ? 'block' : 'none'};\n }\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport interface IconListItem {\n src: string;\n alt?: string;\n link?: LinkProps;\n ratio?: { h: number; w: number };\n showPlaceholder?: boolean;\n}\n\nconst IconList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with icon items data */\n items?: Array<IconListItem>;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom toggle button */\n toggle?: (props: {\n isInverted?: boolean;\n isToggled?: boolean;\n showLessText?: string;\n showMoreText?: string;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n additionalProps?: Record<string, any>;\n }) => React.ReactNode;\n\n /** Custom text for toggle button in folded state */\n showMoreText?: string;\n\n /** Custom text for toggle button in expanded state */\n showLessText?: string;\n\n /** Center all icons and texts */\n isCentered?: boolean;\n\n /** Enable toggle feature */\n enableToggle?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n items,\n isCentered = false,\n primaryAction,\n secondaryAction,\n toggle,\n showLessText = 'show less',\n showMoreText = 'show more',\n enableToggle,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [showMore, setShowMore] = useState<boolean>(!enableToggle);\n\n const handleToggleClick = () => {\n setShowMore((prev) => !prev);\n };\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n isCentered={isCentered}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <ItemContainer isCentered={isCentered}>\n <Items\n isVisible={!showMore ? true : showMore === true}\n isCentered={isCentered}\n >\n {items?.map(\n ({ src, link, alt, ratio, showPlaceholder }, i) => (\n <Item isVisible={showMore} index={i} key={i}>\n <ItemLink\n {...link}\n isInverted={isInverted}\n ariaLabel={alt}\n >\n <Image\n data-img-loaded={false}\n isInverted={isInverted}\n small={src}\n alt={alt}\n ratios={\n ratio\n ? { small: ratio }\n : undefined\n }\n showPlaceholder={showPlaceholder}\n />\n </ItemLink>\n </Item>\n )\n )}\n </Items>\n </ItemContainer>\n {enableToggle && (\n <ShowMore\n isCentered={isCentered}\n itemCount={items?.length || 0}\n >\n {toggle ? (\n toggle({\n isInverted,\n showLessText,\n showMoreText,\n isToggled: showMore,\n clickHandler: handleToggleClick,\n additionalProps: { 'aria-pressed': showMore },\n })\n ) : (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n aria-pressed={showMore}\n onClick={() => handleToggleClick()}\n >\n <Pointer.Label>\n {showMore ? showLessText : showMoreText}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n )}\n\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const IconListComponent = IconList;\nexport default withLibTheme(IconList);\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { getColors as color, spacings } from 'utils/styles';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport ArrowDown from 'components/base/icons/ArrowDown';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport { getFullNavbarHeights, getNavbarState } from './navigation/Navigation';\nimport { useMediaQueries } from 'utils/useMediaQuery';\n\nconst List = styled.ul<{ hasBg?: boolean; isInverted?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n\n max-width: 880px;\n\n & > li + li {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:first-child {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:last-child {\n border-bottom: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst ListItem = styled.li``;\n\nconst IndexLink = styled(Link)<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n padding: ${spacings.nudge}px 0;\n\n ${copyStyle('copy', 'big')}\n`;\n\nconst LinkLabel = styled.span`\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst IconWrapper = styled.span`\n display: inline-block;\n\n margin-left: ${spacings.nudge * 2}px;\n`;\n\nexport interface IndexItem {\n label?: string;\n link?: LinkProps;\n}\n\nconst IndexList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of index item settings */\n items?: IndexItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom icon decorator */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Top offset for scroll to clicked item. Default: auto */\n scrollToOffset?: number;\n}> = ({ anchorId, items, bgMode, customIcon, scrollToOffset }) => {\n const { colors, theme } = useLibTheme();\n const setTargetPos = useScrollTo(500);\n const { semilarge } = useMediaQueries();\n\n const [topOffset, setTopOffset] = useState<number>(0);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const handleLinkClick = (ev: React.SyntheticEvent<HTMLAnchorElement>) => {\n if (!ev?.currentTarget) return;\n\n ev.preventDefault();\n const href = ev.currentTarget.getAttribute('href') as string;\n\n if (!href) return;\n\n const target = document.getElementById(href.split('#')?.[1] || href);\n if (target) {\n setTargetPos(\n target.getBoundingClientRect().top +\n window.scrollY -\n (scrollToOffset || topOffset)\n );\n }\n\n if (window) {\n const url = new URL(window.location as any);\n url.hash = href.split('#')[1];\n window.history.pushState({}, '', url as any);\n }\n };\n\n useEffect(() => {\n if (scrollToOffset) return;\n\n // if header is defined get navbar height and generate top offset\n const header = document.querySelector('header[data-navbar-ident]');\n const navbarIdent = header?.getAttribute('data-navbar-ident');\n if (!navbarIdent) return;\n\n const { isStickable } = getNavbarState(navbarIdent);\n if (!isStickable) return;\n\n // calculate offset from navbar height\n const navbarHeights = getFullNavbarHeights(theme, navbarIdent);\n\n if (semilarge) setTopOffset(navbarHeights.small[1] + spacings.spacer);\n else setTopOffset(navbarHeights.small[0] + spacings.spacer);\n }, [theme, semilarge, scrollToOffset]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg} isInverted={isInverted}>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <IndexLink\n {...item.link}\n isInverted={isInverted}\n onClick={handleLinkClick}\n >\n <LinkLabel>{item.label}</LinkLabel>\n <IconWrapper>\n {customIcon ? (\n customIcon({ isInverted })\n ) : (\n <ArrowDown />\n )}\n </IconWrapper>\n </IndexLink>\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const IndexListComponent = IndexList;\nexport default withLibTheme(IndexList);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { ImageProps } from 'components/blocks/Image';\nimport { TitleSize } from 'components/blocks/Title';\n\nconst Intro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Main title style */\n titleSize?: TitleSize;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Intro text under headline (richtext) */\n abstract?: string;\n\n /** Main text (richtext) */\n text?: string;\n\n /** Images for different screen sizes. coverSpace defaults to true */\n image?: ImageProps;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Center text and actions */\n isCentered?: boolean;\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Clamp title to a width of max 8 grid cols. */\n clampTitle?: boolean;\n\n /** Section background */\n bgMode?: 'inverted' | 'full' | 'splitted';\n className?: string;\n}> = ({\n anchorId,\n title,\n titleAs,\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n abstract,\n text,\n primaryAction,\n secondaryAction,\n isCentered = false,\n isStackable = false,\n bgMode,\n image,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n // set default ratio settings\n if (image && !image?.ratios) {\n image.ratios = {\n small: { h: 1, w: 1 },\n };\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <IntroBlock\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n abstract={abstract}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n isCentered={isCentered}\n image={image}\n clampTitle\n clampAbstract\n clampText\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const IntroComponent = Intro;\nexport default withLibTheme(Intro);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Grid, { getGridWidth, gridSettings } from 'components/base/Grid';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\n\nimport IntroBlock from 'components/blocks/IntroBlock';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nimport Phone from 'components/base/icons/Phone';\nimport Mail from 'components/base/icons/Mail';\n\nimport { generateLocalBusiness } from 'utils/structuredData';\nimport Link from 'components/typography/Link';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Control from 'components/buttons/Control';\nimport * as Icons from 'icons';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport useLeafletMap from 'utils/useLeafletMap';\nimport { isValidArray } from 'utils/arrays';\n\ninterface Address {\n street: string;\n postalCode: string;\n city?: string;\n country: string;\n}\n\nconst MapSection = styled(Section)`\n position: relative;\n min-height: 500px;\n z-index: 0;\n`;\n\nconst MapContainer = styled.div<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n z-index: 0;\n\n height: 100%;\n min-height: 230px;\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n width: calc(50% - ${gridSettings.gutter}px ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n width: calc(\n ${spacings.wrapperLarge / 2}px - ${gridSettings.gutter}px +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored\n ? `(100% + ${gridSettings.gutter}px) - `\n : `(-100% - ${gridSettings.gutter}px) + `}\n (${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst CardWrapper = styled(Wrapper)`\n pointer-events: none;\n`;\n\nconst CardContainer = styled.div<{ isMirrored?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n pointer-events: all;\n\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst InfoCardView = styled.div`\n min-height: 100px;\n pointer-events: all;\n\n flex: 1 0 80%;\n max-width: 80%;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst CardHeader = styled.div`\n display: flex;\n`;\n\nconst ContactList = styled.ul<{ isInverted?: boolean }>`\n padding: 0;\n list-style-type: none;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n li {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0;\n margin: 0;\n }\n\n li + li {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n span:first-child {\n flex: 0 0 30px;\n max-width: 30px;\n\n & > * {\n max-width: 100%;\n }\n }\n`;\n\nconst ContactListLink = styled(Link)`\n display: block;\n\n ${copyStyle('copy-b', 'big')}\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n\n * + & {\n margin-left: ${spacings.nudge * 1.5}px;\n }\n`;\n\nconst AddressContainer = styled.div<{ hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n ${({ hasIcon }) => css`\n -ms-grid-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-template-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n -ms-grid-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-auto-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n `}\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst CompanyInfo: FC<{\n isInverted?: boolean;\n companyName: string;\n address?: Address;\n customIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({ isInverted, companyName, address, customIcon }) => {\n return (\n <AddressContainer hasIcon={!!customIcon}>\n {customIcon && <span> {customIcon()} </span>}\n <div>\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n {companyName}\n </Copy>\n {address && (\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n <div>{address.street}</div>\n <div>{`${address.postalCode} ${address.city}`}</div>\n <div>{address.country}</div>\n </Copy>\n )}\n </div>\n </AddressContainer>\n );\n};\n\nconst Desc = styled(Copy)`\n @media ${mq.semilarge} {\n margin-top: ${spacings.spacer * 2.5}px;\n }\n`;\n\nconst LocationInfoCard: FC<\n MapLocation & {\n isInverted?: boolean;\n }\n> = ({\n isInverted,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n companyName,\n address,\n addressIcon,\n contact,\n description,\n}) => {\n const { colors } = useLibTheme();\n\n const addressIconContent = addressIcon ? (\n addressIcon({ isInverted })\n ) : (\n <LocationPin\n iconColor={isInverted ? colors.text.inverted : colors.text.default}\n />\n );\n\n const phoneIconContent = contact?.telephone?.icon ? (\n contact.telephone.icon({\n isInverted,\n })\n ) : (\n <Phone />\n );\n\n const mailIconContent = contact?.email?.icon ? (\n contact.email.icon({ isInverted })\n ) : (\n <Mail />\n );\n\n return (\n <InfoCardView>\n <CardHeader>\n <IntroBlock\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n />\n </CardHeader>\n {companyName && (\n <CompanyInfo\n companyName={companyName || ''}\n address={address}\n customIcon={\n addressIconContent\n ? () => addressIconContent\n : undefined\n }\n isInverted={isInverted}\n />\n )}\n {contact && (\n <ContactList isInverted={isInverted}>\n {contact?.telephone?.label && (\n <li>\n {phoneIconContent && (\n <span>{phoneIconContent}</span>\n )}\n <ContactListLink\n isInverted={isInverted}\n href={`tel:${\n contact.telephone.link ||\n contact.telephone.label\n }`}\n >\n {contact.telephone?.label}\n </ContactListLink>\n </li>\n )}\n {contact?.email?.label && (\n <li>\n {mailIconContent && <span>{mailIconContent}</span>}\n <ContactListLink\n isInverted={isInverted}\n href={`mailto:${\n contact?.email.link || contact.email.label\n }`}\n >\n {contact?.email.label}\n </ContactListLink>\n </li>\n )}\n </ContactList>\n )}\n\n <Desc isInverted={isInverted} innerHTML={description} />\n </InfoCardView>\n );\n};\n\nconst Controls = styled.div`\n flex: 1 0 20%;\n max-width: 20%;\n display: flex;\n flex-direction: column;\n align-self: flex-start;\n margin-left: auto;\n text-align: right;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FylToCtrlContainer = styled.button`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1000;\n background: none;\n border: none;\n margin: 0;\n padding: 0;\n\n margin-top: ${spacings.spacer}px;\n margin-right: ${spacings.spacer}px;\n color: ${({ theme }) => color(theme).elementBg.dark};\n\n cursor: pointer;\n`;\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapLocation {\n id: string;\n position: [number, number];\n icon?: LocationIcon;\n\n title?: string; // Rich Text\n titleAs?: HeadlineTag;\n superTitle?: string;\n superTitleAs?: HeadlineTag;\n\n companyName?: string;\n address?: Address;\n addressIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n contact?: {\n telephone?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n email?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n };\n image?: string[];\n description?: string;\n}\n\nconst Map: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Switch horizontal order of map and location info text */\n isMirrored?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialLocation?: string;\n\n /** Array of location settings */\n locations?: Array<MapLocation>;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Icon element for flight to the current active location */\n flyToControl?: React.ReactNode;\n\n /** Injection function to replace default control button */\n controlNext?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n\n /** Injection function to replace default control button */\n controlPrev?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n isMirrored = false,\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n flyToZoom,\n initialLocation,\n locations,\n allMarkersOnInit = false,\n fitBoundsPadding,\n flyToControl,\n controlNext,\n controlPrev,\n}) => {\n const { colors } = useLibTheme();\n\n const [activeLocationId, setActiveLocationId] = useState<string>(\n initialLocation || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n const activeLocation = useMemo(\n () => locations?.find((l) => l.id === activeLocationId),\n [activeLocationId, locations]\n );\n\n const hasBg = bgMode === 'full';\n const isInverted = bgMode === 'inverted';\n\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activeLocationId,\n markers: locations?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })),\n fitBoundsPadding,\n onMarkerClick: setActiveLocationId,\n });\n\n const goToNext = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex = (currentIndex + 1) % locations.length;\n return locations[newIndex].id;\n });\n };\n\n const goToPrevious = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex =\n currentIndex - 1 < 0 ? locations.length - 1 : currentIndex - 1;\n return locations[newIndex].id;\n });\n };\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n flyToActive(flyToZoom);\n }\n }, [\n activeLocationId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n initialLocation,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activeLocationId !== initialLocation) setIsDirty(true);\n }, [activeLocationId, initialLocation, isDirty]);\n\n return (\n <MapSection\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {locations && generateLocalBusiness(locations)}\n <MapContainer ref={setMapContainer} isMirrored={isMirrored}>\n {flyToControl && (\n <FylToCtrlContainer\n onClick={(ev) => {\n ev.stopPropagation();\n flyToActive(flyToZoom);\n }}\n >\n {flyToControl}\n </FylToCtrlContainer>\n )}\n </MapContainer>\n\n <CardWrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n >\n <CardContainer isMirrored={isMirrored}>\n {isValidArray(locations, false) && (\n <React.Fragment>\n {activeLocation && (\n <LocationInfoCard\n {...activeLocation}\n isInverted={isInverted}\n />\n )}\n {locations.length > 1 && (\n <Controls>\n {controlNext ? (\n controlNext({\n isInverted,\n isActive: true,\n clickHandler: goToNext,\n name: 'control_next_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToNext}\n >\n <Icons.ArrowRightGhost />\n </Control>\n )}\n {controlPrev ? (\n controlPrev({\n isInverted,\n isActive: true,\n clickHandler: goToPrevious,\n name: 'control_prev_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToPrevious}\n >\n <Icons.ArrowLeftGhost />\n </Control>\n )}\n </Controls>\n )}\n </React.Fragment>\n )}\n </CardContainer>\n </Grid.Col>\n </Grid.Row>\n </CardWrapper>\n </MapSection>\n );\n};\n\nexport const MapComponent = Map;\nexport default withLibTheme(Map);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nconst View = styled(Link)<{ isInverted?: boolean; hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: ${({ hasIcon }) => (hasIcon ? 'min-content 1fr' : '1fr')};\n grid-template-columns: ${({ hasIcon }) =>\n hasIcon ? 'min-content 1fr' : '1fr'};\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n cursor: pointer;\n text-decoration: none;\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: all ease-in-out 0.2s;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst MainLabel = styled.div<{ hasIcon?: boolean }>`\n display: flex;\n align-items: center;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Text = styled(Copy)<{ hasIcon?: boolean }>`\n margin-top: ${({ hasIcon }) =>\n hasIcon ? spacings.nudge : spacings.nudge * 2}px;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst TitleIcon = styled.span`\n display: inline-block;\n margin-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nexport interface NavBlockProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Navigation title */\n title?: string;\n\n /** Navigation text (richtext) */\n text?: string;\n\n /** Link settings */\n link?: LinkProps;\n\n /** Function to inject custom icon node */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Function to inject custom title icon decorator node */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n className?: string;\n}\n\nconst NavBlock: React.FC<NavBlockProps> = ({\n isInverted = false,\n title,\n text,\n link,\n customIcon,\n customTitleIcon,\n className,\n}) => {\n return (\n <View\n {...link}\n isInverted={isInverted}\n hasIcon={!!customIcon}\n className={className}\n >\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <MainLabel hasIcon={!!customIcon}>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n {title && customTitleIcon && (\n <TitleIcon>\n {customTitleIcon({ isInverted })}\n </TitleIcon>\n )}\n </Title>\n )}\n </MainLabel>\n {text && (\n <>\n <span />\n <Text\n size=\"small\"\n isInverted={isInverted}\n innerHTML={text}\n hasIcon={!!customIcon}\n />\n </>\n )}\n </View>\n );\n};\n\nexport default NavBlock;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NavBlock, { NavBlockProps } from 'components/blocks/NavBlock';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings } from 'utils/styles';\n\nconst List = styled.ul`\n margin: 0;\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer * 2}px;\n }\n`;\n\nconst ListItem = styled.li`\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n\n @media ${mq.large} {\n flex: 0 0 33.33%;\n max-width: 33.33%;\n }\n\n // print version\n @media print {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n`;\n\nexport type NavItem = Omit<\n NavBlockProps,\n 'isInverted' | 'customTitleIcon' | 'className'\n>;\n\nconst NavList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of navigation item settings */\n items?: NavItem[];\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom title decorator icon */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customTitleIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <NavBlock\n {...item}\n isInverted={isInverted}\n customTitleIcon={customTitleIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NavListComponent = NavList;\nexport default withLibTheme(NavList);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport Heading from 'components/typography/Heading';\nimport React, { useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport { getColors as color, mq, spacings, withRange } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst View = styled.div`\n text-align: center;\n\n & > * {\n margin: 0 auto;\n }\n\n @media ${mq.semilarge} {\n text-align: left;\n\n & > * {\n margin: 0;\n }\n }\n`;\n\nconst Icon = styled.img`\n display: block;\n max-width: 140px;\n max-height: 140px;\n\n margin-bottom: ${spacings.nudge * 2}px;\n`;\n\nconst NumberContainer = styled.div<{ height: number }>`\n max-width: max-content;\n min-height: 90px;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n\n @media ${mq.semilarge} {\n min-height: 100px;\n }\n\n /* margin-bottom: ${spacings.nudge * 2}px; */\n\n @media ${mq.large} {\n min-height: 120px;\n }\n`;\n\nconst Number = styled(Callout)<{ isInverted?: boolean; stringLength: number }>`\n max-height: 140px;\n ${({ stringLength }) =>\n stringLength <= 6\n ? withRange([72, 120], 'font-size')\n : stringLength >= 10\n ? withRange([33, 42], 'font-size')\n : withRange([52, 72], 'font-size')}\n\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n`;\n\nconst Label = styled(Heading)`\n max-width: 80%;\n`;\n\nconst IconBlock: React.FC<{\n icon?: { src: string; alt?: string };\n number?: string;\n label?: string;\n isInverted?: boolean;\n}> = ({ icon, label, number, isInverted }) => {\n const theme = useContext(ThemeContext);\n\n const stringLength = number ? number.length : 0;\n\n return (\n <View>\n {icon && <Icon src={icon.src} alt={icon.alt} />}\n <NumberContainer height={0}>\n <Number\n renderAs=\"div\"\n stringLength={stringLength}\n isInverted={isInverted}\n >\n {number}\n </Number>\n </NumberContainer>\n <Label\n size=\"super\"\n textColor={\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }\n >\n {label}\n </Label>\n </View>\n );\n};\n\nconst ContentContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n flex-wrap: wrap;\n\n margin: -${spacings.spacer}px;\n margin-top: -${spacings.spacer * 2}px;\n\n @media ${mq.semilarge} {\n margin-top: -${spacings.spacer}px;\n }\n\n & > * {\n padding: ${spacings.spacer}px;\n padding-top: ${spacings.spacer * 2}px;\n\n @media ${mq.semilarge} {\n padding-top: ${spacings.spacer}px;\n }\n\n flex-basis: 100%;\n\n @media ${mq.semilarge} {\n flex: 0 0 50%;\n }\n\n @media ${mq.large} {\n flex: 0 1 33.33%;\n }\n }\n`;\n\nconst NumberList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: {\n icon?: { src: string; alt?: string };\n number?: string;\n label?: string;\n }[];\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, bgMode }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <ContentContainer>\n {items?.map((item, i) => {\n return (\n <IconBlock\n {...item}\n key={i}\n isInverted={isInverted}\n />\n );\n })}\n </ContentContainer>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NumberListComponent = NumberList;\nexport default withLibTheme(NumberList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings } from 'utils/styles';\n\nconst View = styled.section`\n position: relative;\n width: 100vw;\n z-index: -1;\n`;\n\nconst Parallax = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 0;\n width: 100%;\n`;\n\nconst Content = styled.div<{\n contentWidth?: number;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n margin-left: ${({ hAlign }) =>\n (hAlign === 'right' || hAlign === 'center') && 'auto'};\n margin-right: ${({ hAlign }) =>\n (hAlign === 'left' || hAlign === 'center') && 'auto'};\n\n width: ${({ contentWidth }) =>\n contentWidth\n ? contentWidth === -1\n ? 'auto'\n : contentWidth * 100 + '%'\n : undefined};\n\n max-width: ${spacings.wrapperLarge}px;\n overflow: hidden;\n\n & > * {\n width: ${({ contentWidth }) => contentWidth !== -1 && '100%'};\n }\n`;\n\nconst StyledImage = styled(Image)<{\n coverSpace?: boolean;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n max-width: ${({ coverSpace }) => !coverSpace && 'none'};\n float: ${({ hAlign }) =>\n hAlign === 'left' || hAlign === 'right' ? hAlign : undefined};\n ${({ coverSpace, hAlign }) =>\n !coverSpace &&\n hAlign === 'center' &&\n css`\n transform: translateX(-50%);\n margin-left: 50%;\n `}\n`;\n\nexport type ParallaxWidth = '1/4' | 'half' | '3/4' | 'full' | 'auto';\n\nconst ParallaxBackground: FC<{\n image?: ImageProps;\n hAlign?: 'left' | 'center' | 'right';\n contentWidth?: ParallaxWidth | number;\n moveRatio?: number;\n direction?: 'down' | 'up';\n className?: string;\n}> = ({\n image,\n hAlign = 'left',\n contentWidth = 1,\n moveRatio = 0.2,\n direction = 'up',\n className,\n}) => {\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n const [yTransform, setYTransform] = useState<number>(0);\n // const cRef = useRef<HTMLDivElement>(null);\n const [cRef, setContainerRef] = useState<HTMLElement | null>(null);\n const parallaxRef = useRef<HTMLDivElement>(null);\n\n let width = 1;\n if (typeof contentWidth === 'string') {\n switch (contentWidth) {\n case '1/4': {\n width = 0.25;\n break;\n }\n\n case 'half': {\n width = 0.5;\n break;\n }\n\n case '3/4': {\n width = 0.75;\n break;\n }\n\n case 'auto': {\n width = -1;\n break;\n }\n\n default:\n case 'full': {\n width = 1;\n break;\n }\n }\n } else if (!isNaN(contentWidth)) {\n width = contentWidth;\n }\n\n useEffect(() => {\n setIsLoaded(true);\n }, []);\n\n useEffect(() => {\n const prevEl = cRef?.previousElementSibling;\n if (prevEl) {\n const bgIdent = (prevEl as HTMLElement).dataset.bgIdent;\n const stackIdent = (prevEl as HTMLElement).dataset.stackIdent;\n\n if (bgIdent) {\n // set data background from previous element\n cRef?.setAttribute('data-bg-ident', bgIdent);\n }\n\n if (stackIdent) {\n // set data stack flag from previous element\n cRef?.setAttribute('data-stack-ident', stackIdent);\n }\n }\n }, [cRef]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (!cRef) return;\n\n const containerPos = cRef.getBoundingClientRect().top;\n const ratio = containerPos * moveRatio;\n const offset = ratio * (direction === 'up' ? 1 : -1);\n\n setYTransform(offset);\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [cRef, direction, moveRatio]);\n\n return (\n <>\n {isLoaded && (\n <View ref={setContainerRef} data-bg-ident=\"transparent\">\n <Parallax\n ref={parallaxRef}\n style={{\n transform: `translate3d(0px, ${yTransform}px, 0px)`,\n }}\n className={className}\n >\n <Content hAlign={hAlign} contentWidth={width}>\n {image && (\n <StyledImage\n hAlign={hAlign}\n coverSpace={width !== -1}\n {...image}\n />\n )}\n </Content>\n </Parallax>\n </View>\n )}\n </>\n );\n};\n\nexport default ParallaxBackground;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst Container = styled.figure<{\n hasContent?: boolean;\n verticallyCentered?: boolean;\n}>`\n position: relative;\n width: 100%;\n max-height: 550px;\n padding: 0;\n margin: 0;\n\n &:after {\n content: ${({ hasContent }) => hasContent && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme, verticallyCentered }) =>\n verticallyCentered\n ? global(theme).sections.imageTextGradientCentered\n : global(theme).sections.imageTextGradient};\n pointer-events: none;\n z-index: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n img {\n height: 550px;\n }\n`;\n\nconst Intro = styled(IntroBlock)<{\n verticallyCentered?: boolean;\n horizontallyCentered?: boolean;\n}>`\n position: absolute;\n bottom: ${({ verticallyCentered }) => !verticallyCentered && '0'};\n top: ${({ verticallyCentered }) => verticallyCentered && '50%'};\n left: 50%;\n right: 0;\n max-height: 100%;\n max-width: ${spacings.wrapper}px;\n\n padding: ${wrapperWhitespace + spacings.nudge * 2}px;\n z-index: 1;\n\n transform: ${({ verticallyCentered }) =>\n verticallyCentered ? 'translate(-50%, -50%)' : 'translateX(-50%)'};\n`;\n\nconst Poster: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Clamp width of poster image to content wrapper or large wrapper */\n width?: 'full' | 'content';\n\n /** The poster image settings */\n image: Omit<ImageProps, 'coverSpace' | 'ratios'>;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Text underneath the title (richtext) */\n text?: string;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Align text and actions vertically */\n verticallyCentered?: boolean;\n\n /** Align text and actions horizontally */\n horizontallyCentered?: boolean;\n}> = ({\n anchorId,\n width = 'content',\n title,\n titleAs,\n superTitle,\n superTitleAs,\n text,\n primaryAction,\n secondaryAction,\n image,\n verticallyCentered,\n horizontallyCentered,\n}) => {\n const isCentered = verticallyCentered && horizontallyCentered;\n\n return (\n <Section anchorId={anchorId} bgColor=\"image\" bgMode=\"full\">\n <Wrapper clampWidth={width === 'content' ? 'normal' : 'large'}>\n <Container\n hasContent={!!title || !!text}\n verticallyCentered={verticallyCentered}\n >\n <StyledImage {...image} coverSpace ratios={undefined} />\n {title && (\n <Intro\n verticallyCentered={verticallyCentered}\n horizontallyCentered={horizontallyCentered}\n renderAs=\"figcaption\"\n colorMode=\"onImage\"\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n clampTitle\n maxTitleLines={3}\n clampText\n maxTextLines={4}\n isCentered={horizontallyCentered || isCentered}\n />\n )}\n </Container>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PosterComponent = Poster;\nexport default withLibTheme(Poster);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ItemList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst ItemBlock = styled.li<{ hasBg?: boolean }>`\n max-width: 100%;\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.semilarge} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ListHead = styled.div`\n display: flex;\n justify-content: space-between;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n max-width: 880px;\n`;\n\nconst Price = styled(Copy)`\n white-space: nowrap;\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nexport interface PriceItems {\n /** Title of the price item */\n title?: string;\n /** Description text of price item (richtext) */\n text?: string;\n /** The price value (Currency not included) */\n price?: string;\n}\n\nexport const PriceBlock: React.FC<PriceItems & { hasBg?: boolean }> = ({\n text,\n price,\n hasBg = false,\n title,\n}) => {\n return (\n <ItemBlock hasBg={hasBg}>\n <ListHead>\n {title && <Title type=\"copy-b\">{title}</Title>}\n {price && <Price type=\"copy-b\">{price}</Price>}\n </ListHead>\n {text && <Description type=\"copy\" innerHTML={text} />}\n </ItemBlock>\n );\n};\n\nconst PriceList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with price items */\n items?: PriceItems[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n}> = ({ anchorId, bgMode, items }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <ItemList>\n {items?.map((item, i) => (\n <PriceBlock key={i} {...item} hasBg={hasBack} />\n ))}\n </ItemList>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceListComponent = PriceList;\nexport default withLibTheme(PriceList);\n","import {\n spacings,\n getColors as color,\n getGlobals as global,\n} from 'utils/styles';\nimport React, { forwardRef } from 'react';\nimport styled from 'styled-components';\nimport Copy from 'components/typography/Copy';\nimport Actions from './Actions';\nimport Callout from 'components/typography/Callout';\n\nconst View = styled.div<{\n isInverted?: boolean;\n isCentered?: boolean;\n hasBg?: boolean;\n isHighlighted?: boolean;\n}>`\n padding: ${spacings.spacer}px;\n\n border: 1px solid transparent;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: ${({ theme, hasBg, isInverted, isHighlighted }) =>\n isInverted\n ? isHighlighted\n ? color(theme).primary.inverted\n : color(theme).elementBg.medium\n : isHighlighted\n ? color(theme).primary.default\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n display: block;\n margin-top: auto;\n padding-top: ${spacings.spacer}px;\n text-align: center;\n`;\n\nexport interface PriceTagProps {\n title?: string;\n superTitle?: string;\n text?: string;\n action?: (props: {\n isInverted?: boolean;\n isHighlighted?: boolean;\n }) => React.ReactNode;\n isInverted?: boolean;\n isCentered?: boolean;\n hasBackground?: boolean;\n isHighlighted?: boolean;\n}\n\nconst PriceTag = forwardRef<\n HTMLDivElement,\n PriceTagProps & { className?: string }\n>(\n (\n {\n superTitle,\n title,\n text,\n action,\n isInverted,\n isCentered,\n isHighlighted,\n hasBackground,\n className,\n },\n ref\n ) => {\n const inverted = isHighlighted ? !isInverted : false;\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n isCentered={isCentered}\n isHighlighted={isHighlighted}\n hasBg={hasBackground}\n className={className}\n >\n {superTitle && (\n <Copy\n type=\"copy-b\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={superTitle}\n data-sheet=\"superTitle\"\n />\n )}\n {title && (\n <Callout\n renderAs=\"div\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={title}\n data-sheet=\"title\"\n />\n )}\n {text && (\n <Copy\n size=\"medium\"\n isInverted={inverted}\n innerHTML={text}\n data-sheet=\"desc\"\n />\n )}\n <StyledActions\n mode=\"cover\"\n primary={\n action &&\n action({\n isInverted: inverted,\n isHighlighted: isHighlighted,\n })\n }\n />\n </View>\n );\n }\n);\n\nPriceTag.displayName = 'PriceTag';\n\nexport default PriceTag;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport PriceTag, { PriceTagProps } from 'components/blocks/PriceTag';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { gridSettings } from 'components/base/Grid';\nimport { mq } from 'utils/styles';\n\nconst Tag = styled(PriceTag)`\n min-height: 500px;\n`;\n\nconst Items = styled.div`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n margin-top: -${gridSettings.gutter}px;\n margin-left: -${gridSettings.gutter}px;\n\n & > * {\n flex: 1 1 25%;\n min-width: 286px;\n max-width: 320px;\n margin-top: ${gridSettings.gutter}px;\n margin-left: ${gridSettings.gutter}px;\n }\n\n @media ${mq.large} {\n & > * {\n max-width: 286px;\n }\n }\n`;\n\nconst PriceTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Array of PriceTag card items */\n items: Array<Omit<PriceTagProps, 'isInverted'>>;\n /** Center text inside card items */\n isCentered?: boolean;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, isCentered, bgMode }) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const priceTagCount = items?.length || 0;\n\n const { colors } = useLibTheme();\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: priceTagCount,\n identifiers: [\n '[data-sheet=\"superTitle\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Items>\n {items?.map((item, i) => (\n <Tag\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n isCentered={isCentered}\n hasBackground={hasBg}\n />\n ))}\n </Items>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceTableComponent = PriceTable;\nexport default withLibTheme(PriceTable);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Copy from 'components/typography/Copy';\n\nconst Content = styled.figure`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n max-width: 960px;\n margin: 0 auto;\n }\n`;\n\nconst Text = styled(Callout)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Source = styled(Copy)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Quote: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Text of the blockquote (richtext) */\n text?: string;\n\n /** Source of the quote e.g. author (richtext) */\n source?: string;\n\n /** URL for additional cite informations */\n citeUrl?: string;\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, text, source, citeUrl }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Content>\n {text && (\n <Text\n size=\"small\"\n renderAs=\"blockquote\"\n isInverted={isInverted}\n innerHTML={text}\n {...{ cite: citeUrl }}\n />\n )}\n {source && (\n <Source\n isInverted={isInverted}\n renderAs=\"figcaption\"\n innerHTML={source}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const QuoteComponent = Quote;\nexport default withLibTheme(Quote);\n","import React, { FC, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper from 'components/base/Wrapper';\nimport { getColors } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst ImageWrapper = styled(Wrapper)<{ hAlign?: 'left' | 'center' | 'right' }>`\n display: flex;\n justify-content: ${({ hAlign }) => {\n switch (hAlign) {\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n }};\n`;\n\nconst SimpleImage: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Image settings */\n image?: ImageProps;\n\n /** Horizontal alignment of the image */\n hAlign?: 'left' | 'center' | 'right';\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, image, hAlign = 'left', bgMode, isStackable }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? getColors(theme).sectionBg.dark\n : hasBg\n ? getColors(theme).sectionBg.medium\n : getColors(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <ImageWrapper hAlign={hAlign}>\n {image && <Image {...image} />}\n </ImageWrapper>\n </Section>\n );\n};\n\nexport const SimpleImageComponent = SimpleImage;\nexport default withLibTheme(SimpleImage);\n","import React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n mq,\n spacings,\n getGlobals as global,\n} from 'utils/styles';\n\nimport Instagram from 'components/base/icons/socials/Instagram';\nimport Heading from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { gridSettings } from 'components/base/Grid';\nimport Image, { ImageProps } from 'components/blocks/Image';\n\nconst Cards = styled.ul`\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style: none;\n\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 1 1 100%;\n margin-top: ${spacings.spacer}px;\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n & > * {\n flex: 1 1 calc(50% - ${gridSettings.gutter}px);\n max-width: calc(50% - ${gridSettings.gutter}px);\n }\n }\n\n @media ${mq.large} {\n & > * {\n flex: 1 1 calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n max-width: calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n }\n }\n`;\n\nconst Item = styled.li`\n display: block;\n position: relative;\n padding: 0;\n`;\n\nconst Card = styled(Link)<{ isInverted?: boolean }>`\n position: relative;\n display: block;\n text-decoration: none;\n color: '#fff';\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).secondary.inverted\n : color(theme).secondary.default};\n\n opacity: 0;\n pointer-events: none;\n z-index: 1;\n transition: opacity 0.2s ease-in-out;\n }\n\n &:hover {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n\n &:focus {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n display: block;\n height: 100%;\n z-index: 0;\n`;\n\nconst TextContainer = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100%;\n transform: translate(-50%, -50%);\n text-align: center;\n\n padding: ${spacings.nudge * 2}px;\n\n opacity: 0;\n pointer-events: none;\n z-index: 2;\n transition: opacity 0.2s ease-in-out;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n ${Card}:hover & {\n opacity: 1;\n pointer-events: all;\n }\n\n ${Card}:focus & {\n opacity: 1;\n pointer-events: all;\n }\n`;\n\nconst FollowUs = styled(Heading)`\n text-transform: uppercase;\n`;\n\nconst InstagramIcon = styled.div`\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: ${({ theme }) => color(theme).text.inverted};\n z-index: 2;\n\n & > * {\n fill: #fff;\n\n ${Card}:hover & {\n color: ${({ theme }) => color(theme).text.inverted};\n }\n }\n`;\n\nconst SocialWall: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with item settings */\n items?: Array<{\n link?: LinkProps;\n image?: Omit<ImageProps, 'coverSpace' | 'ratio'>;\n }>;\n\n /** Text for main social media follow call */\n followUs?: string;\n\n /** Text for e.g. social media hashtag */\n hashTag?: string;\n\n /** Function to inject custom social icon on bottom left corner */\n socialIcon?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, hashTag, followUs, socialIcon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <Cards>\n {items?.map((item, i) => (\n <Item key={i}>\n <Card\n isExternal\n {...item.link}\n isInverted={isInverted}\n ariaLabel={item?.image?.alt}\n >\n {item.image && (\n <StyledImage\n {...item.image}\n coverSpace\n ratios={{\n small: { w: 1, h: 1 },\n }}\n isInverted={isInverted}\n />\n )}\n <TextContainer>\n <FollowUs size=\"super\" isInverted>\n {followUs\n ? followUs\n : 'Follow Us On Instagram'}\n </FollowUs>\n {hashTag && (\n <Heading size=\"heading-2\" isInverted>\n {hashTag}\n </Heading>\n )}\n </TextContainer>\n <InstagramIcon>\n {socialIcon || <Instagram />}\n </InstagramIcon>\n </Card>\n </Item>\n ))}\n </Cards>\n </Wrapper>\n </Section>\n );\n};\n\nexport const SocialWallComponent = SocialWall;\nexport default withLibTheme(SocialWall);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Table: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper>\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n key={i}\n {...item}\n isInverted={isInverted}\n hasBack={hasBg}\n />\n );\n })}\n </TableWrapper>\n </Section>\n );\n};\n\nexport const TableComponent = Table;\nexport default withLibTheme(Table);\n","import React, { FC, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Grid from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { BgMode } from 'components/base/Section';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst Figure = styled.figure`\n display: flex;\n flex-direction: column;\n position: relative;\n height: 100%;\n width: 100%;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: relative;\n width: 100%;\n height: 100%;\n\n @media ${mq.semilarge} {\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n }\n`;\n\nconst Video = styled(VideoBlock)<{\n ratios?: VideoAspectRatios;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n width: 100%;\n height: 100%;\n`;\n\nconst Description = styled(Copy)<{\n isInverted?: boolean;\n isSplitted?: boolean;\n isMirrored?: boolean;\n}>`\n display: block;\n\n @media ${mq.semilarge} {\n padding-left: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n margin-left: ${({ isMirrored }) => isMirrored && 'auto'};\n margin-right: ${({ isMirrored }) => !isMirrored && 'auto'};\n max-width: ${({ isSplitted }) => isSplitted && '81.5%'};\n\n color: ${({ theme, isInverted, isSplitted }) =>\n isInverted && !isSplitted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n }\n\n @media ${mq.xlarge} {\n max-width: ${({ isSplitted }) => isSplitted && '69.5%'};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Teaser: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Image or video description text (richtext) */\n description?: string;\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted' | 'inverted-splitted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n bgMode,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n description,\n text,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted' || bgMode === 'inverted-splitted';\n const isSplitted = bgMode === 'splitted' || bgMode === 'inverted-splitted';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToTeaserBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n >\n {(image?.small || hasVideo) && (\n <Figure ref={viewRef}>\n {image?.small && (!video || !isLoaded) && (\n <StyledImage\n {...image}\n isInverted={isInverted}\n coverSpace\n />\n )}\n {hasVideo && (\n <Video\n urls={\n isVideoActive\n ? video?.urls\n : undefined\n }\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n ratios={video?.aspectRatios}\n isVisible={isLoaded}\n isInverted={isInverted}\n />\n )}\n {description && (\n <Description\n size=\"small\"\n renderAs=\"figcaption\"\n isInverted={isInverted}\n isSplitted={isSplitted}\n isMirrored={isMirrored}\n innerHTML={description}\n />\n )}\n </Figure>\n )}\n </Grid.Col>\n\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction && primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const mapToTeaserBgMode = (\n mode?: 'full' | 'splitted' | 'inverted' | 'inverted-splitted',\n preventSplit = false,\n isMirrored = false\n): BgMode | undefined => {\n switch (mode) {\n case 'full':\n return 'full';\n case 'inverted':\n return 'inverted';\n case 'splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n case 'inverted-splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n\n default:\n return undefined;\n }\n};\n\nexport const TeaserComponent = Teaser;\nexport default withLibTheme(Teaser);\n","import React, { FC, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Grid, { getGridWidth } from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { mq, spacings, withRange, getGlobals as global } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\n/**\n * calculate single grid col from relative content wrapper\n * (grid width = wrapper width without paddings)\n * */\nconst getGridColOfContent = () => {\n return css`\n ${getGridWidth({\n cols: 1,\n gridWidth: `${spacings.wrapper - wrapperWhitespace * 2}px `,\n })}\n `;\n};\n\nconst WideVideo = styled(VideoBlock)<{\n isMirrored?: boolean;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n\n min-height: 400px;\n object-fit: cover;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst WideImage = styled(Image)<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n\n height: 100%;\n min-height: 400px;\n\n img {\n height: 100%;\n }\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst Content = styled.div`\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TeaserWide: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n text,\n primaryAction,\n secondaryAction,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n ref={viewRef}\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {image?.small && (!video || !isLoaded) && (\n <WideImage\n coverSpace\n {...image}\n isMirrored={isMirrored}\n isInverted={isInverted}\n />\n )}\n {hasVideo && (\n <WideVideo\n urls={isVideoActive ? video?.urls : undefined}\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n isVisible={isLoaded}\n isInverted={isInverted}\n isMirrored={isMirrored}\n ratios={video?.aspectRatios}\n />\n )}\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <Content>\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction &&\n primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Content>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const TeaserWideComponent = TeaserWide;\nexport default withLibTheme(TeaserWide);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React, {\n createRef,\n MutableRefObject,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst TimelineBlock = styled.div<{\n isSwitched?: boolean;\n isActive?: boolean;\n isInverted?: boolean;\n}>`\n position: relative;\n\n @media ${mq.large} {\n text-align: ${({ isSwitched }) => (isSwitched ? 'left' : 'right')};\n }\n\n &:after {\n content: '';\n width: 10px;\n height: 10px;\n\n box-sizing: content-box;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: 50%;\n\n background: ${({ theme, isActive, isInverted }) =>\n isActive\n ? isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark\n : isInverted\n ? color(theme).elementBg.dark\n : color(theme).elementBg.light};\n\n position: absolute;\n top: 16px;\n left: 0px;\n\n transition: all 0.2s ease-in-out;\n\n @media ${mq.large} {\n left: ${({ isSwitched }) => (!isSwitched ? '50%' : 'auto')};\n right: ${({ isSwitched }) => isSwitched && '50%'};\n transform: translateX(\n ${({ isSwitched }) => (isSwitched ? '50%' : '-50%')}\n );\n }\n }\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n width: 2px;\n min-height: 160px;\n height: 100%;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n left: 5px;\n\n @media ${mq.large} {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &:first-child {\n padding-top: 0;\n\n &:before {\n top: 16px;\n }\n }\n`;\n\nconst TimelineText = styled.div<{\n isSwitched?: boolean;\n}>`\n position: relative;\n padding-left: ${spacings.nudge * 3 + 2}px;\n padding-bottom: ${spacings.spacer}px;\n\n @media ${mq.large} {\n max-width: 50%;\n\n margin-left: ${({ isSwitched }) => isSwitched && '50%'};\n margin-right: ${({ isSwitched }) => !isSwitched && '50%'};\n\n padding: ${({ isSwitched }) =>\n isSwitched\n ? `${spacings.spacer}px 0 ${spacings.spacer * 1.75}px ${\n spacings.spacer\n }px`\n : `${spacings.spacer}px ${spacings.spacer}px ${\n spacings.spacer * 1.75\n }px 0`};\n }\n\n &:first-child {\n padding-top: 0;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst ItemTitle = styled(Heading)``;\n\nconst ItemTextBlock = styled(Copy)``;\n\nconst Timeline: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: { label?: string; title?: string; text?: string }[];\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, items }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [targetRefs, setTargetRefs] = useState<\n MutableRefObject<HTMLDivElement>[]\n >([]);\n const observerSupported = useObserverSupport();\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const [activeItem, setActiveItem] = useState<number>(0);\n\n useEffect(() => {\n if (observerSupported && targetRefs && targetRefs.length > 0) {\n const options = {\n rootMargin: '-50% 0% -50% 0%',\n threshold: 0,\n };\n\n observerRef.current = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n const index = targetRefs?.findIndex(\n (t) => t.current === entry.target\n );\n setActiveItem(index);\n }\n });\n }, options);\n\n for (let i = 0; i < targetRefs.length; i++) {\n observerRef.current.observe(targetRefs[i].current);\n }\n }\n\n return () => {\n observerRef.current?.disconnect();\n };\n }, [targetRefs, observerSupported]);\n\n useEffect(() => {\n setTargetRefs(() =>\n Array(items?.length)\n .fill(null)\n .map((_, i) => targetRefs[i] || createRef())\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items?.length]);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n {items &&\n items.map((item, i) => {\n return (\n <TimelineBlock\n ref={targetRefs[i]}\n isActive={activeItem === i}\n isSwitched={i % 2 === 0}\n isInverted={isInverted}\n key={i}\n >\n <TimelineText isSwitched={i % 2 === 0}>\n <ItemTitle\n size=\"heading-2\"\n textColor={\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default\n }\n >\n {item.label}\n </ItemTitle>\n\n <ItemTextBlock\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n >\n {item.title}\n </ItemTextBlock>\n <ItemTextBlock\n innerHTML={item.text}\n isInverted={isInverted}\n />\n </TimelineText>\n </TimelineBlock>\n );\n })}\n </Wrapper>\n </Section>\n );\n};\n\nexport const TimelineComponent = Timeline;\nexport default withLibTheme(Timeline);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport { ImageProps } from 'components/blocks/Image';\n\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst Video: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgImage: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n embedId: string;\n\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n\n playIcon?: React.ReactNode;\n bgMode?: 'full' | 'inverted' | 'splitted';\n}> = ({\n anchorId,\n bgMode,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const VideoComponent = Video;\nexport default withLibTheme(Video);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, getGlobals as global, mq } from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoBlock from 'components/blocks/VideoBlock';\nimport { ImageProps } from 'components/blocks/Image';\nimport { isValidArray } from 'utils/arrays';\n\nconst VideoContainer = styled.div<{ isInverted?: boolean }>`\n position: relative;\n cursor: pointer;\n`;\n\nconst Overlay = styled.div<{ bgImage?: ImageProps; isInverted?: boolean }>`\n position: relative;\n padding-top: ${`calc(100% / (16 / 9))`};\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n background-image: ${({ bgImage }) =>\n bgImage?.small && `url(\"${bgImage.small}\")`};\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${Overlay}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${Overlay}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst Video = styled(VideoBlock)<{ isVisible?: boolean }>`\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst RawVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** URL to video sources */\n videoUrls?: string[];\n\n /** Placeholder image */\n placeholderImg?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n\n /** Enable autoplay without user interaction */\n autoplay?: boolean;\n\n /** Playing video in loop */\n loop?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Video play icon */\n playIcon?: React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n videoUrls,\n placeholderImg,\n playIcon,\n autoplay,\n loop,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [isStarted, setIsStarted] = useState<boolean>(autoplay || false);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoContainer\n onClick={() => {\n if (isValidArray(videoUrls, false)) {\n setIsStarted(true);\n }\n }}\n >\n {isStarted && (\n <Video\n isVisible={isStarted || !placeholderImg?.small}\n controls={!autoplay}\n autoPlay\n loop={loop}\n muted={autoplay}\n ratios={{ small: 16 / 9 }}\n urls={videoUrls}\n isInverted={isInverted}\n />\n )}\n {!isStarted && (\n <Overlay\n bgImage={placeholderImg}\n isInverted={isInverted}\n >\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n </Overlay>\n )}\n </VideoContainer>\n </Wrapper>\n </Section>\n );\n};\n\nexport const RawVideoComponent = RawVideo;\nexport default withLibTheme(RawVideo);\n"],"names":["AccordionContainer","styled","div","templateObject_1","__makeTemplateObject","spacings","nudge","View","details","templateObject_2","AccordionHead","summary","templateObject_3","_a","isInverted","hasBg","theme","color","elementBg","light","medium","mq","lightHover","mediumHover","Column","Copy","templateObject_4","AccordionText","templateObject_5","spacer","semilarge","gridSettings","gutter","AccordionBlock","label","text","aside","isSelected","onClick","itemIcon","className","colors","useLibTheme","React","createElement","open","onToggle","renderAs","size","type","Minus","iconColor","default","Plus","hasAside","innerHTML","Accordion","anchorId","items","bgMode","_b","useState","currentItems","setCurrentItems","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","generateFAQ","Wrapper","addWhitespace","Grid","Row","Col","map","i","indexOf","key","concat","prev","copy","__spreadArray","index","push","splice","withLibTheme","primary","inverted","global","sections","edgeRadius","invertedHover","hover","Icon","MainLabel","Content","Title","ViewLink","Link","templateObject_6","Alert","title","date","description","link","customIcon","formattedDate","formatter","StatusFormatter","getTime","getFormattedDate","Info","textColor","__assign","ariaLabel","href","undefined","List","ul","ListItem","li","large","itemsPerRow","AlertList","alertCount","length","alertRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","xlarge","item","ref","StyledTitle","ContentText","StyledActions","Actions","Article","titleAs","_c","titleSize","superTitle","superTitleAs","intro","asideText","halfAside","primaryAction","secondaryAction","hasContent","clampWidth","colorMode","valign","span","secondary","ContactView","Avatar","img","imagePlaceholderBg","Description","ContactBox","avatar","src","alt","StyledIntro","IntroBlock","hasDecorator","StyledContactBox","getGridWidth","cols","NewsletterWrapper","templateObject_7","Badge","templateObject_8","CallToAction","contact","badge","hasNewsletter","newsFormMain","useContext","ThemeContext","isCentered","SolidView","cardColor","hasLink","css","ImageView","imageTextGradient","StyledImage","Image","hasIcon","TextContainer","templateObject_9","Footer","SubLabel","templateObject_11","templateObject_12","CardLink","templateObject_13","Card","subLabel","image","decorator","CardView","defaultCardColor","coverSpace","ratios","w","h","templateObject_14","CardItem","templateObject_15","isEqual","threeCols","CardList","maxThreeCols","clamp","num","min","max","Math","Images","BackgroundImg","ForegroundContainer","hasTransition","hasAnim","initalValue","ForegroundImg","ForegroundOverlay","ImageLabel","ForegroundLabel","BackgroundLabel","ControlContainer","templateObject_10","Control","ComparisonSlider","initialValue","foregroundImg","backgroundImg","foregroundLabel","backgroundLabel","overlayColor","labelColor","dragControl","enableControlAnim","isIE","useIE","_d","slideValue","setSlideValue","_e","isHolding","setIsHolding","_f","isDragging","setIsDragging","_g","interacted","setInteracted","_h","sideOffset","setSideOffset","controlRef","useRef","useEffect","current","offsetWidth","handleInitalLoad","options","rootMargin","threshold","observer","IntersectionObserver","entries","isIntersecting","unobserve","target","observe","window","removeEventListener","document","readyState","addEventListener","setCurrentPos","clientX","relativeClientX","getBoundingClientRect","x","width","percentage","handleClick","ev","currentTarget","handleMouseMove","handleTouchMove","touches","onMouseMove","onMouseDown","onMouseUp","onMouseLeave","onTouchMove","onTouchStart","onTouchEnd","style","left","ArrowLeftRight","clickable","IntroContainer","clampTitle","wrapper","ExternalIconHolder","withRange","PromotionCard","forwardRef","externalLinkIcon","icon","linkObj","isExternal","externalIconString","ReactDOMServer","renderToString","External","displayName","isMain","CrossPromotion","main","isMirrored","card","ImageContainer","SubTitle","Text","Fact","subTitle","showPlaceholder","FactFill","FactGrid","columns","facts","factCount","cardRefs","fact","FactsContainer","FactItem","hasBack","hasText","ContentBlock","FactList","TitleLink","copyStyle","font","big","colorInverted","ArticleContent","Action","Feature","action","FeatureList","features","featureCount","isHalf","useMemo","halign","feature","Gallery","images","isFull","Poster","videoUrl","focus","kenBurnsZoom","kenBurnsZoomPoint","kenBurnsInterval","onImageChange","children","HeaderVideo","placeholderImg","HeaderKenBurns","zoom","zoomPoint","interval","HeaderPoster","bgImage","genHeightStyles","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","id","join","refHeight","StyledPoster","split","HeaderSection","HeaderSectionSmall","wrapperLarge","Overlay","textOnImage","bgValue","ContentMobile","Heading","Header","focusPoint","customImgOverlay","globals","overlay","Fragment","StyledSection","ItemContainer","Items","isVisible","Item","ItemLink","ShowMore","itemCount","IconList","toggle","showLessText","showMoreText","enableToggle","showMore","setShowMore","handleToggleClick","ratio","isToggled","clickHandler","additionalProps","Pointer","as","Label","IndexLink","LinkLabel","IconWrapper","IndexList","scrollToOffset","setTargetPos","useScrollTo","useMediaQueries","topOffset","setTopOffset","handleLinkClick","preventDefault","getAttribute","getElementById","top","scrollY","url","URL","location","hash","history","pushState","header","querySelector","navbarIdent","isStickable","getNavbarState","navbarHeights","getFullNavbarHeights","ArrowDown","Intro","abstract","isStackable","clampAbstract","clampText","MapSection","MapContainer","gridWidth","wrapperWhitespace","xxlarge","CardWrapper","CardContainer","seperation","padding","InfoCardView","CardHeader","ContactList","ContactListLink","AddressContainer","CompanyInfo","companyName","address","street","postalCode","city","country","Desc","LocationInfoCard","addressIcon","addressIconContent","LocationPin","phoneIconContent","telephone","Phone","mailIconContent","email","Mail","Controls","FylToCtrlContainer","button","Map","provider","attribution","center","flyToZoom","initialLocation","locations","allMarkersOnInit","fitBoundsPadding","flyToControl","controlNext","controlPrev","activeLocationId","setActiveLocationId","isDirty","setIsDirty","activeLocation","find","l","defaultMarker","anchor","sizeActive","anchorActive","getSVGData","useLeafletMap","activeMarkerId","markers","position","isInteractive","onMarkerClick","isLoaded","setMapContainer","setContainer","flyToActive","showAllMarkers","goToNext","currentIndex","findIndex","newIndex","goToPrevious","generateLocalBusiness","stopPropagation","move","isValidArray","isActive","name","isDisabled","Icons","TitleIcon","NavBlock","customTitleIcon","NavList","NumberContainer","Number","Callout","stringLength","IconBlock","number","height","ContentContainer","NumberList","section","Parallax","hAlign","contentWidth","ParallaxBackground","moveRatio","direction","setIsLoaded","yTransform","setYTransform","cRef","setContainerRef","parallaxRef","isNaN","prevEl","previousElementSibling","bgIdent","dataset","stackIdent","setAttribute","handleScroll","containerPos","offset","transform","Container","figure","verticallyCentered","imageTextGradientCentered","horizontallyCentered","maxTitleLines","maxTextLines","ItemList","ItemBlock","ListHead","Price","PriceBlock","price","PriceList","isHighlighted","PriceTag","hasBackground","mode","Tag","PriceTable","priceTagCount","Source","Quote","source","citeUrl","cite","ImageWrapper","SimpleImage","getColors","Cards","FollowUs","InstagramIcon","SocialWall","hashTag","followUs","socialIcon","Instagram","TableWrapper","Table","tableItems","TableBlock","Figure","Video","VideoBlock","isSplitted","Teaser","video","hasVideo","urls","viewRef","setLoaded","isVideoActive","setVideoActive","isObserverSupported","useObserverSupport","useUpdateEffect","entry","viewEl","mapToTeaserBgMode","muted","autoPlay","loop","onCanPlayThrough","aspectRatios","titleHyphens","preventSplit","getGridColOfContent","WideVideo","WideImage","TeaserWide","TimelineBlock","isSwitched","TimelineText","ItemTitle","ItemTextBlock","Timeline","targetRefs","setTargetRefs","observerSupported","observerRef","activeItem","setActiveItem","forEach","t","disconnect","Array","fill","_","createRef","embedId","playIcon","consentText","consentAction","VideoCard","VideoContainer","VideoControls","RawVideo","videoUrls","autoplay","isStarted","setIsStarted","controls","Play"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,kBAAkB,GAAGC,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,+BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAaC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,4EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,4EAAA,EAKD,cALC,CAAA,CAAA,CAAb,EAKFC,QAAQ,CAACC,KALP,CAAxB,CAAA;AASA,IAAMC,MAAI,GAAGN,MAAM,CAACO,OAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAiBC,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAjB,CAAV,CAAA;AAEA,IAAMM,aAAa,GAAGT,MAAM,CAACU,OAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,0BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAGjBC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,gIAAA,EAAA,sJAAA,EAAA,wFAAA,EAAA,uBAAA,EAAA,gOAAA,EAAA,4DAAA,EAAA,gFAAA,CAAA,EAAA,CAAA,gIAAA,EAM+B,sJAN/B,EAiByC,wFAjBzC,EAsBoB,uBAtBpB,EAuBmC,gOAvBnC,EAuCsD,4DAvCtD,EA+CkD,gFA/ClD,CAAA,CAAA,CAHiB,EASJC,QAAQ,CAACC,KAAT,GAAiB,CATb,EAiBD,UAACO,EAAD,EAA6B;AAA1B,EAAA,IAAAC,UAAU,gBAAV;AAAA,MAAYC,KAAK,GAAAF,EAAA,CAAAE,KAAjB;AAAA,MAAmBC,KAAK,GAAAH,EAAA,CAAAG,KAAxB,CAAA;AACb,EAAAF,OAAAA,UAAU,IAAIC,KAAd,GACME,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAD7B,GAEMF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAF7B,CAAA;AAEmC,CApBxB,EAyBNC,EAAE,CAACD,MAzBG,EA0BAf,QAAQ,CAACC,KAAT,GAAiB,CA1BjB,EAuCO,UAACO,EAAD,EAA6B;AAA1B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOF,UAAU,GAAAD,EAAA,CAAAC,UAAjB;AAAA,MAAmBC,KAAK,GAAAF,EAAA,CAAAE,KAAxB,CAAA;AACb,EAAAD,OAAAA,UAAU,IAAIC,KAAd,GACME,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBI,UAD7B,GAEML,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBK,WAF7B,CAAA;AAEwC,CA1CrC,EA+CG,UAACV,EAAD,EAA6B;AAA1B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOF,UAAU,GAAAD,EAAA,CAAAC,UAAjB;AAAA,MAAmBC,KAAK,GAAAF,EAAA,CAAAE,KAAxB,CAAA;AACb,EAAAD,OAAAA,UAAU,IAAIC,KAAd,GACME,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBI,UAD7B,GAEML,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBK,WAF7B,CAAA;AAEwC,CAlDjC,CAAnB,CAAA;AA0DA,IAAMC,MAAM,GAAGvB,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAeC,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,sBAAA,CAAA,CAAA,CAAf,CAAZ,CAAA;AAIA,IAAMuB,aAAa,GAAG1B,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,0BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAa0B,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,kEAAA,EAAA,6CAAA,EAAA,6FAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,kHAAA,EAAA,yBAAA,CAAA,EAAA,CAI9B,kEAJ8B,EAOC,6CAPD,EAYW,6FAZX,EAmBK,2BAnBL,EAsBV,uBAtBU,EAuBK,2BAvBL,EA0BP,kHA1BO,EA+Bc,yBA/Bd,CAAA,CAAA,CAAb,EAOJC,QAAQ,CAACC,KAAT,GAAiB,CAPb,EASD,UAACO,EAAD,EAA6B;AAA1B,EAAA,IAAAC,UAAU,gBAAV;AAAA,MAAYC,KAAK,GAAAF,EAAA,CAAAE,KAAjB;AAAA,MAAmBC,KAAK,GAAAH,EAAA,CAAAG,KAAxB,CAAA;AACb,EAAAF,OAAAA,UAAU,IAAIC,KAAd,GACME,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAD7B,GAEMF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAF7B,CAAA;AAEmC,CAZxB,EAmBGf,QAAQ,CAACwB,MAnBZ,EAsBNR,EAAE,CAACD,MAtBG,EAuBAf,QAAQ,CAACC,KAAT,GAAiB,CAvBjB,EA0BNe,EAAE,CAACS,SA1BG,EA+BQC,YAAY,CAACC,MA/BrB,CAAnB,CAAA;;AA0CA,IAAMC,cAAc,GAShB,UAACpB,EAAD,EAUH;MATGqB,KAAK,GAAArB,EAAA,CAAAqB;MACLC,IAAI,GAAAtB,EAAA,CAAAsB;MACJC,KAAK,GAAAvB,EAAA,CAAAuB;MACLC,UAAU,GAAAxB,EAAA,CAAAwB;MACVC,OAAO;MACPvB,KAAK,GAAAF,EAAA,CAAAE;MACLD,UAAU,GAAAD,EAAA,CAAAC;MACVyB,QAAQ,GAAA1B,EAAA,CAAA0B;MACRC,SAAS,GAAA3B,EAAA,CAAA2B;AAED,EAAA,IAAAC,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,OACIC,cAAA,CAAAC,aAAA,CAACrC,MAAD,EAAK;AAACsC,IAAAA,IAAI,EAAER,UAAP;AAAmBS,IAAAA,QAAQ,EAAER,OAA7B;AAAsCE,IAAAA,SAAS,EAAEA,SAAAA;AAAjD,GAAL,EACIG,cAAC,CAAAC,aAAD,CAAClC,aAAD;AAAeI,IAAAA,UAAU,EAAEA;AAAYC,IAAAA,KAAK,EAAEA,KAAAA;GAA9C,EACI4B,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AAACsB,IAAAA,QAAQ,EAAC,MAAV;AAAiBC,IAAAA,IAAI,EAAC,KAAtB;AAA4BC,IAAAA,IAAI,EAAC,QAAA;AAAjC,GAAL,EACKf,KADL,CADJ,EAIIS,cACK,CAAAC,aADL,CACK,MADL,EACK,IADL,EACKL,QAAQ,GACLA,QAAQ,CAAC;AAAEF,IAAAA,UAAU,EAAEA,UAAU,IAAI,KAAA;AAA5B,GAAD,CADH,GAELA,UAAU,GACVM,cAAC,CAAAC,aAAD,CAACM,KAAD;AAAOC,IAAAA,SAAS,EAAEV,MAAM,CAACN,IAAP,CAAYiB,OAAAA;GAA9B,CADU,GAGVT,4BAAA,CAACU,IAAD,EAAK;AAACF,IAAAA,SAAS,EAAEV,MAAM,CAACN,IAAP,CAAYiB,OAAAA;AAAxB,GAAL,CANR,CAJJ,CADJ,EAeIT,cAAA,CAAAC,aAAA,CAACjB,aAAD,EAAc;AACVb,IAAAA,UAAU,EAAEA,UADF;AAEVC,IAAAA,KAAK,EAAEA,KAFG;AAGVuC,IAAAA,QAAQ,EAAE,CAAC,CAAClB,KAAAA;AAHF,GAAd,EAKKD,IAAI,IAAIQ,cAAC,CAAAC,aAAD,CAACpB,MAAD,EAAQ;AAAAyB,IAAAA,IAAI,EAAC,MAAL;AAAYM,IAAAA,SAAS,EAAEpB,IAAAA;AAAvB,GAAR,CALb,EAMKC,KAAK,IAAIO,cAAA,CAAAC,aAAA,CAACpB,MAAD,EAAO;AAACyB,IAAAA,IAAI,EAAC,MAAN;AAAaM,IAAAA,SAAS,EAAEnB,KAAAA;AAAxB,GAAP,CANd,CAfJ,CADJ,CAAA;AA0BH,CAhDD,CAAA;;AAkDA,IAAMoB,SAAS,GAYV,UAAC3C,EAAD,EAAsC;MAAnC4C,QAAQ,GAAA5C,EAAA,CAAA4C;MAAEC,KAAK,GAAA7C,EAAA,CAAA6C;MAAEC,MAAM,GAAA9C,EAAA,CAAA8C;MAAEpB,QAAQ,GAAA1B,EAAA,CAAA0B;;AAC/B,EAAA,IAAAqB,EAAkC,GAAAjB,cAAK,CAACkB,QAAN,CAAyB,EAAzB,CAAlC;AAAA,MAACC,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeG,eAAe,QAA9B,CAAA;;AAEE,EAAA,IAAAtB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYKD,KAAK,IAAIY,WAAW,CAACZ,KAAD,CAZzB,EAaIf,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAU;AAAA1C,IAAAA,MAAM,EAAE,CAAA;AAAR,GAAV,EACIW,cAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN,EAAS,IAAT,EACIhC,cAAA,CAAAC,aAAA,CAAC5C,kBAAD,EAAmB;AAAA,IAAY,YAAA,EAAA,iCAAA;AAAZ,GAAnB,EACK0D,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC/D,EAAD,EAAyBgE,CAAzB,EAA0B;AAAvB,IAAA,IAAA3C,KAAK,WAAL;AAAA,QAAOC,IAAI,GAAAtB,EAAA,CAAAsB,IAAX;AAAA,QAAaC,KAAK,GAAAvB,EAAA,CAAAuB,KAAlB,CAAA;AACX,IAAMC,IAAAA,UAAU,GACZyB,YAAY,CAACgB,OAAb,CAAqBD,CAArB,CAA4B,KAAA,CAAC,CADjC,CAAA;AAEA,IAAA,OACIlC,cAAA,CAAAC,aAAA,CAACX,cAAD,EAAe;AACX8C,MAAAA,GAAG,EAAE,EAAGC,CAAAA,MAAH,CAAG9C,KAAH,EAAY,GAAZ,CAAY8C,CAAAA,MAAZ,CAAYH,CAAZ,CADM;AAEXxC,MAAAA,UAAU,EAAEA,UAFD;AAGXH,MAAAA,KAAK,EAAEA,KAHI;AAIXC,MAAAA,IAAI,EAAEA,IAJK;AAKXC,MAAAA,KAAK,EAAEA,KALI;AAMXE,MAAAA,OAAO,EAAE,YAAA;AACLyB,QAAAA,eAAe,CAAC,UAACkB,IAAD,EAAK;AACjB,UAAMC,IAAAA,IAAI,GAAAC,aAAA,CAAA,EAAA,EAAOF,IAAP,EAAW,IAAX,CAAV,CAAA;;AACA,UAAA,IAAMG,KAAK,GAAGF,IAAI,CAACJ,OAAL,CAAaD,CAAb,CAAd,CAAA;;AACA,UAAA,IAAIO,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdF,YAAAA,IAAI,CAACG,IAAL,CAAUR,CAAV,CAAA,CAAA;AACH,WAFD,MAEO;AACHK,YAAAA,IAAI,CAACI,MAAL,CAAYF,KAAZ,EAAmB,CAAnB,CAAA,CAAA;AACH,WAAA;;AACD,UAAA,OAAOF,IAAP,CAAA;AACH,SATc,CAAf,CAAA;AAUH,OAjBU;AAkBXpE,MAAAA,UAAU,EAAEA,UAlBD;AAmBXC,MAAAA,KAAK,EAAEA,KAnBI;AAoBXwB,MAAAA,QAAQ,EAAEA,QAAAA;AApBC,KAAf,CADJ,CAAA;AAwBH,GA3BA,CADL,CADJ,CADJ,CADJ,CAbJ,CADJ,CAAA;AAoDH,CAvED,CAAA;AA0EA,kBAAegD,YAAY,CAAC/B,SAAD,CAA3B,CAAA;;;AC/OA,IAAMjD,MAAI,GAAGN,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAuCC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,0SAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oLAAA,EAAA,mIAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,0SAAA,EAgBH,wBAhBG,EAiBoB,kBAjBpB,EAsBP,oBAtBO,EAwBhB,oLAxBgB,EAiCR,mIAjCQ,EA0CG,wBA1CH,EA8CD,uBA9CC,CAAA,CAAA,CAAvC,EAaA,UAACS,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAClB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CAhBpC,EAiBW,UAACvC,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAjB3D,EAmBG,UAAC/E,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CAtBhC,EAwBK/C,QAAQ,CAACC,KAAT,GAAiB,CAxBtB,EAiCaD,QAAQ,CAACC,KAAT,GAAiB,CAjC9B,EAuCQ,UAACO,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAClB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBK,aADjB,GAEJ5E,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBM,KAF3B,CAAA;AAEgC,CA1C1C,EA2CW,UAACjF,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBK,aADjB,GAEJ5E,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBM,KAF3B,CAAA;AAEgC,CA9CtC,CAAV,CAAA;AAmDA,IAAMC,MAAI,GAAG9F,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAaO,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,qHAAA,CAAA,EAAA,CAAA,qHAAA,CAAA,CAAA,CAAb,CAAV,CAAA;AAUA,IAAM4F,WAAS,GAAG/F,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAaU,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,kDAAA,CAAA,EAAA,CAAA,kDAAA,CAAA,CAAA,CAAb,CAAf,CAAA;AAKA,IAAM6F,SAAO,GAAGhG,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAawB,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,oBAAA,EAAA,8CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,oBAAA,EACM,8CADN,EAIU,cAJV,CAAA,CAAA,CAAb,EACKC,QAAQ,CAACC,KADd,EAISD,QAAQ,CAACC,KAJlB,CAAb,CAAA;AAQA,IAAM4F,OAAK,GAAGjG,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAeG,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,gCAAA,CAAA,EAAA,CAAA,gCAAA,CAAA,CAAA,CAAf,CAAX,CAAA;AAIA,IAAM+F,QAAQ,GAAGlG,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAeC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,+LAAA,EAAA,yIAAA,CAAA,EAAA,CAAA,+LAAA,EAgBqB,yIAhBrB,CAAA,CAAA,CAAf,EAaA,UAACS,EAAD,EAAsB;MAAnBC,UAAU,GAAAD,EAAA,CAAAC;MAAEE,KAAK,GAAAH,EAAA,CAAAG;AAClB,EAAA,OAAAF,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CAhBpC,CAAd,CAAA;;AA8CA,IAAMkD,KAAK,GAAkD,UAACzF,EAAD,EAQ5D;AAPG,EAAA,IAAAC,UAAU,gBAAV;AAAA,MACAyF,KAAK,WADL;AAAA,MAEAC,IAAI,UAFJ;AAAA,MAGAC,WAAW,GAAA5F,EAAA,CAAA4F,WAHX;AAAA,MAIAC,IAAI,GAAA7F,EAAA,CAAA6F,IAJJ;AAAA,MAKAC,UAAU,GAAA9F,EAAA,CAAA8F,UALV;AAAA,MAMAnE,SAAS,GAAA3B,EAAA,CAAA2B,SANT,CAAA;AAQA,EAAIoE,IAAAA,aAAa,GAAG,EAApB,CAAA;;AACA,EAAA,IAAIJ,IAAJ,EAAU;AACN,IAAA,IAAMK,SAAS,GAAG,IAAIC,eAAJ,CACdN,IAAI,CAACO,OAAL,EADc,EAEd,EAFc,EAGd,eAHc,EAId,OAJc,EAKd,IALc,CAAlB,CAAA;AAOAH,IAAAA,aAAa,GAAGC,SAAS,CAACG,gBAAV,EAAhB,CAAA;AACH,GAAA;;AAED,EAAA,OACIrE,cAAA,CAAAC,aAAA,CAACrC,MAAD,EAAK;AAACO,IAAAA,UAAU,EAAEA,UAAb;AAAuB,IAAA,YAAA,EAAa,OAApC;AAA4C0B,IAAAA,SAAS,EAAEA,SAAAA;AAAvD,GAAL,EACIG,cAAA,CAAAC,aAAA,CAACmD,MAAD,EAAO,IAAP,EAAOY,UAAU,GAAGA,UAAU,CAAC;AAAE7F,IAAAA,UAAU,EAAAA,UAAAA;AAAZ,GAAD,CAAb,GAAgC6B,cAAC,CAAAC,aAAD,CAACqE,IAAD,MAAA,CAAjD,CADJ,EAEItE,cAAC,CAAAC,aAAD,CAACoD,WAAD,MAAA,EACKO,KAAK,IACF5D,cAAC,CAAAC,aAAD,CAACsD,OAAD,EAAO;AAAAgB,IAAAA,SAAS,EAAC,SAAV;AAAoBlE,IAAAA,IAAI,EAAC,QAAzB;AAAkCC,IAAAA,IAAI,EAAC,QAAA;AAAvC,GAAP,EACKsD,KADL,CAFR,CAFJ,EASI5D,cAAQ,CAAAC,aAAR,CAAQ,MAAR,EAAQ,IAAR,CATJ,EAUID,cAAA,CAAAC,aAAA,CAACqD,SAAD,EAAQ,IAAR,EACKQ,WAAW,IACR9D,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AACDX,IAAAA,UAAU,EAAEA,UADX;AAEDkC,IAAAA,IAAI,EAAC,OAFJ;AAGDO,IAAAA,SAAS,EAAEkD,WAAAA;AAHV,GAAL,CAFR,EAQKD,IAAI,IACD7D,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AAACuB,IAAAA,IAAI,EAAC,OAAN;AAAclC,IAAAA,UAAU,EAAEA,UAAAA;AAA1B,GAAL,EACK8F,aADL,CATR,CAVJ,EAwBKF,IAAI,IACD/D,cAAC,CAAAC,aAAD,CAACuD,QAAD,EACQgB,QAAA,CAAA,EAAA,EAAAT,IAAA,EACJ;AAAAU,IAAAA,SAAS,EAAE,CAAAV,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEW,IAAN,IAAad,KAAb,GAAqBe,SAAAA;AAAhC,GADI,CADR,CAzBR,CADJ,CAAA;AAiCH,CAtDD,CAAA;;;AC9HA,IAAMC,MAAI,GAAGtH,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAYrH,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,qBAAA,EAAA,yBAAA,EAAA,8LAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,cAAA,CAAA,EAAA,CAAA,qBAAA,EACe,yBADf,EAEgB,8LAFhB,EAYA,2BAZA,EAagB,6BAbhB,EAciB,cAdjB,CAAA,CAAA,CAAZ,EACSC,QAAQ,CAACC,KAAT,GAAiB,CAD1B,EAEUD,QAAQ,CAACC,KAAT,GAAiB,CAF3B,EAYGe,EAAE,CAACD,MAZN,EAaaf,QAAQ,CAACwB,MAbtB,EAccxB,QAAQ,CAACwB,MAdvB,CAAV,CAAA;AAkBA,IAAM4F,UAAQ,GAAGxH,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,ibAAqC,uBACd,2BACC,2CAGhB,gFAIgB,+BACC,6BAGlB,0BAC2C,0DAG1B,+BACC,iBAlBzB,EACKrH,QAAQ,CAACC,KAAT,GAAiB,CADtB,EAEMD,QAAQ,CAACC,KAAT,GAAiB,CAFvB,EAKDe,EAAE,CAACD,MALF,EASSf,QAAQ,CAACwB,MATlB,EAUUxB,QAAQ,CAACwB,MAVnB,EAaDR,EAAE,CAACsG,KAbF,EAcM,UAAC9G,EAAD,EAAgB;AAAb,EAAA,IAAA+G,WAAW,GAAA/G,EAAA,CAAA+G,WAAX,CAAA;AAAkB,EAAC,OAAA,CAAA,GAAIA,WAAL,GAAoB,GAApB,CAAA;AAAuB,CAdlD,EAiBSvH,QAAQ,CAACwB,MAjBlB,EAkBUxB,QAAQ,CAACwB,MAlBnB,CAAd,CAAA;;AAsBA,IAAMgG,SAAS,GAYV,UAAChH,EAAD,EAAwC;MAArC4C,QAAQ,GAAA5C,EAAA,CAAA4C;MAAEC,KAAK,GAAA7C,EAAA,CAAA6C;MAAEC,MAAM,GAAA9C,EAAA,CAAA8C;MAAEgD,UAAU,GAAA9F,EAAA,CAAA8F;AAC/B,EAAA,IAAAlE,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AACA,EAAA,IAAMmE,UAAU,GAAG,CAAApE,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEqE,MAAP,KAAiB,CAApC,CAAA;AACA,EAAA,IAAMH,WAAW,GAAGE,UAAU,GAAG,CAAb,KAAmB,CAAnB,IAAwBA,UAAU,KAAK,CAAvC,GAA2C,CAA3C,GAA+C,CAAnE,CAAA;AAEQ,EAAWE,IAAAA,SAAS,GAAKC,mBAAmB,CAAgB;AAChEC,IAAAA,UAAU,EAAEJ,UADoD;AAEhEK,IAAAA,WAAW,EAAE,CAAC,sBAAD,CAFmD;AAGhEC,IAAAA,UAAU,EAAE;AACRC,MAAAA,KAAK,EAAE,CADC;AAERjH,MAAAA,MAAM,EAAE,CAFA;AAGRU,MAAAA,SAAS,EAAE,CAHH;AAIR6F,MAAAA,KAAK,EAAEC,WAJC;AAKRU,MAAAA,MAAM,EAAEV,WAAAA;AALA,KAAA;AAHoD,GAAhB,CAAnB,UAAzB,CAAA;AAYR,EAAA,OACIjF,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAAC2E,MAAD,EAAK,IAAL,EACK7D,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAa;AAAA,IAAA,OACrBlC,cAAA,CAAAC,aAAA,CAAC6E,UAAD,EAAS;AACL1C,MAAAA,GAAG,EAAEF,CADA;AAEL+C,MAAAA,WAAW,EAAEA,WAFR;AAGLY,MAAAA,GAAG,EAAER,SAAS,CAACnD,CAAD,CAAA;AAHT,KAAT,EAKIlC,cAAC,CAAAC,aAAD,CAAC0D,KAAD,eACQiC,MAAI;AACRzH,MAAAA,UAAU,EAAEA,UADJ;AAER6F,MAAAA,UAAU,EAAEA,UAAAA;AAFJ,MADZ,CALJ,CADqB,CAAA;AAYxB,GAZA,CADL,CADJ,CAZJ,CADJ,CAAA;AAgCH,CAhED,CAAA;AAmEA,kBAAepB,YAAY,CAACsC,SAAD,CAA3B,CAAA;;;ACxGA,IAAMY,aAAW,GAAGxI,MAAM,CAACiG,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAgB/F,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,qDAAA,EAAA,2BAAA,EAAA,wCAAA,CAAA,EAAA,CAAA,qDAAA,EAEO,2BAFP,EAKR,wCALQ,CAAA,CAAA,CAAhB,EAEQC,QAAQ,CAACwB,MAFjB,EAKJR,EAAE,CAACS,SALC,CAAjB,CAAA;AAUA,IAAM4G,WAAW,GAAGzI,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAehB,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,2BAAA,CAAA,EAAA,CAAA,2BAAA,CAAA,CAAA,CAAf,CAAjB,CAAA;AAIA,IAAMuI,eAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,wBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAkBhI,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,oBAAA,EAAA,OAAA,CAAA,EAAA,CAAA,oBAAA,EACJ,OADI,CAAA,CAAA,CAAlB,EACDC,QAAQ,CAACwB,MADR,CAAnB,CAAA;;AAIA,IAAMgH,OAAO,GA6BR,UAAChI,EAAD,EAcJ;MAbG4C,QAAQ,GAAA5C,EAAA,CAAA4C;MACR8C,KAAK,GAAA1F,EAAA,CAAA0F;MACL3C,EAAc,GAAA/C,EAAA,CAAAiI;MAAdA,OAAO,GAAGlF,EAAA,KAAA,KAAA,CAAA,GAAA,IAAA;MACVmF,EAAA,GAAAlI,EAAA,CAAAmI;MAAAA,SAAS,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,WAAH,GAAcA;MACvBE,UAAU,GAAApI,EAAA,CAAAoI;MACVC,YAAY,GAAArI,EAAA,CAAAqI;MACZC,KAAK,GAAAtI,EAAA,CAAAsI;MACLhH,IAAI,GAAAtB,EAAA,CAAAsB;MACJiH,SAAS,GAAAvI,EAAA,CAAAuI;MACTC,SAAS,GAAAxI,EAAA,CAAAwI;MACT1F,MAAM,GAAA9C,EAAA,CAAA8C;MACN2F,aAAa,GAAAzI,EAAA,CAAAyI;MACbC,eAAe,GAAA1I,EAAA,CAAA0I;AAEP,EAAA,IAAA9G,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM6F,UAAU,GAAGL,KAAK,IAAIhH,IAAT,IAAiBiH,SAApC,CAAA;AAEA,EAAA,OACIzG,KAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVf,GAAR,EAYIhB,KAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAkF,IAAAA,UAAU,EAAC,QAAX;AAAoBjF,IAAAA,aAAa,EAAA,IAAA;AAAjC,GAAT,EACK,CAAC+B,KAAK,IAAI0C,UAAV,KACGtG,mBAAA,CAAC8F,aAAD,EAAY;AACRlC,IAAAA,KAAK,EAAEA,KADC;AAERuC,IAAAA,OAAO,EAAEA,OAFD;AAGRE,IAAAA,SAAS,EAAEA,SAHH;AAIRC,IAAAA,UAAU,EAAEA,UAJJ;AAKRC,IAAAA,YAAY,EAAEA,YALN;AAMRQ,IAAAA,SAAS,EAAE5I,UAAU,GAAG,UAAH,GAAgB,SAAA;AAN7B,GAAZ,CAFR,EAWK0I,UAAU,IACP7G,KAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACC,GAAN,EAAS;AAACiF,IAAAA,MAAM,EAAC,KAAA;AAAR,GAAT,EACIhH,KAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AAAE8H,MAAAA,IAAI,EAAEP,SAAS,GAAG,CAAI,GAAA,EAAP,GAAY,CAAI,GAAA,EAAA;AAAjC,KAAA;AADN,GAAT,EAGKF,KAAK,IACFxG,KAAA,CAAAC,aAAA,CAAC8F,WAAD,EAAY;AACRzF,IAAAA,IAAI,EAAC,QADG;AAERnC,IAAAA,UAAU,EAAEA,UAFJ;AAGRyC,IAAAA,SAAS,EAAE4F,KAAAA;AAHH,GAAZ,CAJR,EAUKhH,IAAI,IACDQ,KAAA,CAAAC,aAAA,CAAC8F,WAAD,EACI;AAAAzF,IAAAA,IAAI,EAAC,MAAL;AACAnC,IAAAA,UAAU,EAAEA,UADZ;AAEAyC,IAAAA,SAAS,EAAEpB,IAAAA;AAFX,GADJ,CAXR,CADJ,EAmBKiH,SAAS,IACNzG,KAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAEP,SAAS,GAAG,CAAI,GAAA,EAAP,GAAY,CAAI,GAAA,EAAA;AADxB,KAAA;AADN,GAAT,EAKI1G,KAAA,CAAAC,aAAA,CAAC8F,WAAD,EACI;AAAAzF,IAAAA,IAAI,EAAC,MAAL;AACAnC,IAAAA,UAAU,EAAEA,UADZ;AAEAyC,IAAAA,SAAS,EAAE6F,SAAAA;AAFX,GADJ,CALJ,CApBR,CAZR,EA8CK,CAACE,aAAa,IAAIC,eAAlB,KACG5G,KAAC,CAAAC,aAAD,CAAC+F,eAAD,EACI;AAAAnD,IAAAA,OAAO,EAAE8D,aAAa,IAAIA,aAAa,CAACxI,UAAD,CAAvC;AACA+I,IAAAA,SAAS,EACLN,eAAe,IAAIA,eAAe,CAACzI,UAAD,CAAA;AAFtC,GADJ,CA/CR,CAZJ,CADJ,CAAA;AAsEH,CAvHD,CAAA;AA0HA,gBAAeyE,YAAY,CAACsD,OAAD,CAA3B,CAAA;;;ACvIA,IAAMiB,WAAW,GAAG7J,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAaC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,0OAAA,EAAA,2BAAA,EAAA,kHAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,0OAAA,EAYO,2BAZP,EAeL,kHAfK,EAoBgB,yBApBhB,CAAA,CAAA,CAAb,EAYKC,QAAQ,CAACwB,MAZd,EAeJR,EAAE,CAACS,SAfC,EAoBUC,YAAY,CAACC,MApBvB,CAAjB,CAAA;AAyBA,IAAM+H,MAAM,GAAG9J,MAAM,CAAC+J,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAavJ,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,wKAAA,EAAA,kBAAA,EAAA,qFAAA,CAAA,EAAA,CAA0B,wKAA1B,EAWsC,kBAXtC,EAaA,qFAbA,CAAA,CAAA,CAAb,EAQM,UAACS,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAC9B,EAAAA,OAAAA,UAAU,GACJ4E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBsE,kBAAvB,CAA0CxE,QADtC,GAEJC,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBsE,kBAAvB,CAA0C7G,OAFhD,CAAA;AAEuD,CAXnD,EAaC/B,EAAE,CAACS,SAbJ,CAAZ,CAAA;AAoBA,IAAMoI,aAAW,GAAGjK,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAeb,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,oKAAA,EAAA,mFAAA,EAAA,mOAAA,EAAA,qDAAA,CAAA,EAAA,CAAA,oKAAA,EASQ,mFATR,EAgBP,mOAhBO,EA4Ba,qDA5Bb,CAAA,CAAA,CAAf,EASKC,QAAQ,CAACC,KAAT,GAAiB,CATtB,EAgBJe,EAAE,CAACS,SAhBC,EA4BUzB,QAAQ,CAACC,KAAT,GAAiB,CA5B3B,CAAjB,CAAA;;AAwCA,IAAM6J,UAAU,GAAiD,UAACtJ,EAAD,EAKhE;MAJGC,UAAU,GAAAD,EAAA,CAAAC;MACV2F,WAAW,GAAA5F,EAAA,CAAA4F;MACX2D,MAAM,GAAAvJ,EAAA,CAAAuJ;MACN5H,SAAS,GAAA3B,EAAA,CAAA2B;AAET,EAAA,OACIG,cAAC,CAAAC,aAAD,CAACkH,WAAD,EAAa;AAAAtH,IAAAA,SAAS,EAAEA,SAAAA;AAAX,GAAb,EACIG,cAAC,CAAAC,aAAD,CAACmH,MAAD,EACI;AAAAM,IAAAA,GAAG,EAAED,MAAM,SAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEC,GAAb;AACAC,IAAAA,GAAG,EAAEF,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEE,GADb;AAEAxJ,IAAAA,UAAU,EAAEA,UAAAA;AAFZ,GADJ,CADJ,EAMK2F,WAAW,IACR9D,cAAC,CAAAC,aAAD,CAACsH,aAAD;AACIjH,IAAAA,IAAI,EAAC;AACLnC,IAAAA,UAAU,EAAEA;AACZyC,IAAAA,SAAS,EAAEkD,WAAAA;GAHf,CAPR,CADJ,CAAA;AAgBH,CAtBD,CAAA;;AAwBA,IAAM8D,WAAW,GAAGtK,MAAM,CAACuK,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,sPAAiD,2FAK5C,6DAEiD,0BAPtD,EAKJnJ,EAAE,CAACiH,MALC,EAOS,UAACzH,EAAD,EAAiB;AAAd,EAAA,IAAA4J,YAAY,GAAA5J,EAAA,CAAA4J,YAAZ,CAAA;AAAmB,EAAAA,OAAAA,YAAY,IAAI,OAAhB,CAAA;AAAuB,CAPtD,CAAjB,CAAA;AAYA,IAAMC,gBAAgB,GAAGzK,MAAM,CAACkK,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gCAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAqBvI,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,kFAAA,EAAA,yBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,oBAAA,EACV,oBADU,EAGlB,yBAHkB,EAIG,kFAJH,EAStB,yBATsB,EAUG,YAVH,CAAA,CAAA,CAArB,EACJC,QAAQ,CAACwB,MADL,EAGTR,EAAE,CAACS,SAHM,EAID6I,YAAY,CAAC;AAAEC,EAAAA,IAAI,EAAE,CAAA;AAAR,CAAD,CAJX,EASTvJ,EAAE,CAACsG,KATM,EAUDgD,YAAY,CAAC;AAAEC,EAAAA,IAAI,EAAE,CAAA;AAAR,CAAD,CAVX,CAAtB,CAAA;AAcA,IAAMjC,eAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,6BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAkBvC,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mEAAA,CAAA,EAAA,CAAA,oBAAA,EACJ,oBADI,EAGf,mEAHe,CAAA,CAAA,CAAlB,EACDC,QAAQ,CAACwB,MADR,EAGNR,EAAE,CAACD,MAHG,CAAnB,CAAA;AASA,IAAMyJ,iBAAiB,GAAG5K,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iCAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAa4K,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,2DAAA,EAAA,oBAAA,EAAA,wCAAA,CAAA,EAAA,CAAA,2DAAA,EAGH,oBAHG,EAKX,wCALW,CAAA,CAAA,CAAb,EAGLC,QAAQ,CAACwB,MAHJ,EAKVR,EAAE,CAACS,SALO,CAAvB,CAAA;AAUA,IAAMiJ,KAAK,GAAG9K,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAa8K,kBAAA,KAAAA,kBAAA,GAAA5K,oBAAA,CAAA,CAAA,0KAAA,EAAA,qDAAA,EAAA,YAAA,CAAA,EAAA,CAAA,0KAAA,EASF,qDATE,EAWsB,YAXtB,CAAA,CAAA,CAAb,EASEiB,EAAE,CAACiH,MATL,EAWa,IAAQ,IAAA,CAAA,GAAI,EAAZ,CAAA,GAAkB,IAX/B,CAAX,CAAA;AAeO,IAAM2C,YAAY,GA6BpB,UAACpK,EAAD,EAcJ;AAbG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACA8C,KAAK,WADL;AAAA,MAEA3C,EAAA,GAAA/C,EAAA,CAAAiI,OAFA;AAAA,MAEAA,OAAO,GAAAlF,EAAA,KAAA,KAAA,CAAA,GAAG,IAAH,GAAOA,EAFd;AAAA,MAGAqF,UAAU,GAAApI,EAAA,CAAAoI,UAHV;AAAA,MAIAC,YAAY,GAAArI,EAAA,CAAAqI,YAJZ;AAAA,MAKA/G,IAAI,GAAAtB,EAAA,CAAAsB,IALJ;AAAA,MAMA+I,OAAO,aANP;AAAA,MAOAC,KAAK,WAPL;AAAA,MAQA7B,aAAa,mBARb;AAAA,MASAC,eAAe,GAAA1I,EAAA,CAAA0I,eATf;AAAA,MAUA6B,aAAa,GAAAvK,EAAA,CAAAuK,aAVb;AAAA,MAWAC,YAAY,GAAAxK,EAAA,CAAAwK,YAXZ;AAAA,MAYA1H,MAAM,GAAA9C,EAAA,CAAA8C,MAZN,CAAA;AAcA,EAAA,IAAM3C,KAAK,GAAGsK,UAAU,CAACC,YAAD,CAAxB,CAAA;AACA,EAAA,IAAMzK,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuBC,IADnB,GAEJnD,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuB/C,MAN7B;AAQJuC,IAAAA,MAAM,EAAEA,MAAM,GAAGU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAd,GAA+B,MAAA;AARzC,GAAR,EAUIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAC,IAAAA,aAAa,EAAC,IAAd;AAAciF,IAAAA,UAAU,EAAC,QAAA;AAAzB,GAAT,EACK0B,KAAK,IAAIxI,cAAA,CAAAC,aAAA,CAACmI,KAAD,EAAM,IAAN,EAAQI,KAAR,CADd,EAEK5E,KAAK,IACF5D,cAAC,CAAAC,aAAD,CAAC2H,WAAD;AACIiB,IAAAA,UAAU,EAAA;AACV9B,IAAAA,SAAS,EAAE5I,UAAU,GAAG,UAAH,GAAgB;AACrCyF,IAAAA,KAAK,EAAEA;AACPuC,IAAAA,OAAO,EAAEA;AACTG,IAAAA,UAAU,EAAEA;AACZC,IAAAA,YAAY,EAAEA;AACduB,IAAAA,YAAY,EAAE,CAAC,CAACU;AAChBhJ,IAAAA,IAAI,EAAEA,IAAAA;GARV,CAHR,EAeK+I,OAAO,IACJvI,cAAC,CAAAC,aAAD,CAAC8H,gBAAD;AACI5J,IAAAA,UAAU,EAAEA;AACZ2F,IAAAA,WAAW,EAAEyE,OAAO,CAACzE;AACrB2D,IAAAA,MAAM,EAAEc,OAAO,CAACd,MAAAA;GAHpB,CAhBR,EAsBKiB,YAAY,IAAID,aAAhB,IACGzI,cAAC,CAAAC,aAAD,CAACiI,iBAAD,EACK,IADL,EACKQ,YAAY,CAACvK,UAAD,CADjB,CAvBR,EA2BK,CAACwI,aAAa,IAAIC,eAAlB,KACG5G,cAAC,CAAAC,aAAD,CAAC+F,eAAD,EACI;AAAAnD,IAAAA,OAAO,EAAE8D,aAAa,IAAIA,aAAa,CAACxI,UAAD,CAAvC;AACA+I,IAAAA,SAAS,EACLN,eAAe,IAAIA,eAAe,CAACzI,UAAD,CAAA;AAFtC,GADJ,CA5BR,CAVJ,CADJ,CAAA;AAiDH,CA/FM,CAAA;AAkGP,qBAAeyE,YAAY,CAAC0F,YAAD,CAA3B,CAAA;;;AC9QA,IAAM1K,MAAI,GAAGN,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAIRC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,uHAAA,EAAA,wBAAA,EAAA,mEAAA,EAAA,iEAAA,CAAA,EAAA,CAAA,uHAAA,EAKoD,wBALpD,EAMmE,mEANnE,EAWoB,iEAXpB,CAAA,CAAA,CAJQ,EASG,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBsD,QAAlB,CAAA;AAA0B,CAT5C,EAUW,UAAC5E,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAV3D,EAeGvE,EAAE,CAACD,MAfN,CAAV,CAAA;AAqBA,IAAMqK,SAAS,GAAGxL,MAAM,CAACM,MAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAeK,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,0BAAA,EAAA,8FAAA,EAAA,IAAA,CAAA,EAAA,CAAA,0BAAA,EAMY,8FANZ,EAoBrB,IApBqB,CAAA,CAAA,CAAf,EACS,UAACS,EAAD,EAAiC;AAA9B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOF,UAAU,GAAAD,EAAA,CAAAC,UAAjB;AAAA,MAAmB4K,SAAS,GAAA7K,EAAA,CAAA6K,SAA5B,CAAA;AACnB,EAAAA,OAAAA,SAAS,GACHA,SADG,GAEH5K,UAAU,GACVG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADX,GAEVxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAJ3B,CAAA;AAIkC,CAN3B,EAUT,UAACvC,EAAD,EAAY;AAAT,EAAA,IAAA8K,OAAO,GAAA9K,EAAA,CAAA8K,OAAP,CAAA;AACD,EAAA,OAAAA,OAAO,IACPC,GAAG,CAAAnL,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,qOAAA,CAAA,EAAA,CAAA,qOAAA,CAAA,CAAA,CAAA,CADH,CAAA;AASC,CApBM,CAAf,CAAA;AAuBA,IAAMyL,SAAS,GAAG5L,MAAM,CAACM,MAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAeqB,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,wDAAA,EAAA,+LAAA,EAAA,wDAAA,EAAA,sCAAA,CAAA,EAAA,CAAA,wDAAA,EA4BrB,+LA5BqB,EAsC+C,wDAtC/C,EA0CR,sCA1CQ,CAAA,CAAA,CAAf,EAGT,UAACS,EAAD,EAAY;AAAT,EAAA,IAAA8K,OAAO,GAAA9K,EAAA,CAAA8K,OAAP,CAAA;AACD,EAAA,OAAAA,OAAO,IACPC,GAAG,CAAAlK,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,gxBAAA,CAAA,EAAA,CAAA,gxBAAA,CAAA,CAAA,CAAA,CADH,CAAA;AAwBC,CA5BM,EAsCO,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBmG,iBAAvB,CAAA;AAAwC,CAtC9D,EA0CFzK,EAAE,CAACD,MA1CD,CAAf,CAAA;AA+CA,IAAM2K,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAgB3F,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,wNAAA,EAAA,0CAAA,CAAA,EAAA,CAAA,wNAAA,EAcX,0CAdW,CAAA,CAAA,CAAhB,EAcJiB,EAAE,CAACD,MAdC,CAAjB,CAAA;AAmBA,IAAM6E,SAAO,GAAGhG,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAoC4K,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,oCAAA,EAAA,yHAAA,EAAA,2BAAA,EAAA,0LAAA,EAAA,mEAAA,EAAA,2EAAA,CAAA,EAAA,CAAA,oCAAA,EAGhB,yHAHgB,EAUX,2BAVW,EAa3B,0LAb2B,EAsBsB,mEAtBtB,EAwB4B,2EAxB5B,CAAA,CAAA,CAApC,EAGEC,QAAQ,CAACC,KAAT,GAAiB,CAHnB,EAUUD,QAAQ,CAACwB,MAVnB,EAaAR,EAAE,CAACD,MAbH,EAsBa,UAACP,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AAAc,EAAA,OAACA,OAAO,GAAG,QAAH,GAAc,KAAtB,CAAA;AAA4B,CAtB1D,EAwBU,UAACpL,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AAAc,EAAA,OAACA,OAAO,GAAG,YAAH,GAAkB,UAA1B,CAAA;AAAqC,CAxBhE,CAAb,CAAA;AAgCA,IAAMC,eAAa,GAAGjM,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,6KAAa,sFAKQ,iBALrB,EAKGG,QAAQ,CAACC,KAAT,GAAiB,CALpB,CAAnB,CAAA;AASA,IAAM4F,OAAK,GAAGjG,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAe0K,kBAAA,KAAAA,kBAAA,GAAA/L,oBAAA,CAAA,CAAA,uMAAA,CAAA,EAAA,CAAA,uMAAA,CAAA,CAAA,CAAf,CAAX,CAAA;AAWA,IAAMgM,MAAM,GAAGnM,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,0NAAa,iIAMgB,iBAN7B,EAMWG,QAAQ,CAACC,KAAT,GAAiB,CAN5B,CAAZ,CAAA;AAUA,IAAM+L,QAAQ,GAAGpM,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAe6K,mBAAA,KAAAA,mBAAA,GAAAlM,oBAAA,CAAA,CAAA,mJAAA,CAAA,EAAA,CAAA,mJAAA,CAAA,CAAA,CAAf,CAAd,CAAA;AASA,IAAM2F,MAAI,GAAG9F,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAaqM,CAAAA,CAAAA,mBAAA,KAAAA,mBAAA,GAAAnM,oBAAA,CAAA,CAAA,qMAAA,EAAA,+EAAA,CAAA,EAAA,CAAA,qMAAA,EAeD,+EAfC,CAAA,CAAA,CAAb,EAeGiB,EAAE,CAACD,MAfN,CAAV,CAAA;AAuBA,IAAMoL,QAAQ,GAAGvM,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,CAAA,CAAA,CAAyCqG,mBAAA,KAAAA,mBAAA,GAAArM,oBAAA,CAAA,CAAA,kJAAA,EAAA,iDAAA,EAAA,oDAAA,EAAA,YAAA,CAAA,EAAA,CAAA,kJAAA,EASS,iDATT,EAYuB,oDAZvB,EAkBX,YAlBW,CAAA,CAAA,CAAzC,EASO,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAArB,CAAA;AAA4B,CATlD,EAYe,UAACvC,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBK,aAArB,CAAA;AAAkC,CAZhE,EAeG,UAAChF,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBK,aADjB,GAEJ5E,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBM,KAF3B,CAAA;AAEgC,CAlB9B,CAAd,CAAA;;AAiCA,IAAM4G,MAAI,GAIN,UAAC7L,EAAD,EASH;MARGC,UAAU,GAAAD,EAAA,CAAAC;MACVyF,KAAK,GAAA1F,EAAA,CAAA0F;MACLoG,QAAQ,GAAA9L,EAAA,CAAA8L;MACRC,KAAK,GAAA/L,EAAA,CAAA+L;MACLlG,IAAI,GAAA7F,EAAA,CAAA6F;MACJmG,SAAS,GAAAhM,EAAA,CAAAgM;MACTnB,SAAS,GAAA7K,EAAA,CAAA6K;MACT/E,UAAU,GAAA9F,EAAA,CAAA8F;AAEF,EAAA,IAAAlE,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAMoK,IAAAA,QAAQ,GAAGF,KAAK,IAAIA,KAAK,CAACvE,KAAf,GAAuBwD,SAAvB,GAAmCJ,SAApD,CAAA;AACA,EAAA,IAAMsB,gBAAgB,GAAGjM,UAAU,GAC7B2B,MAAM,CAAC+C,OAAP,CAAeC,QADc,GAE7BhD,MAAM,CAAC+C,OAAP,CAAepC,OAFrB,CAAA;AAIA,EAAA,OACIT,cAAC,CAAAC,aAAD,CAACkK,QAAD,EACI;AAAAhM,IAAAA,UAAU,EAAEA,UAAZ;AACA4K,IAAAA,SAAS,EAAEA,SAAS,IAAIqB,gBADxB;AAEApB,IAAAA,OAAO,EAAE,CAAC,EAACjF,IAAI,KAAJ,IAAA,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAEW,IAAP,CAAA;AAFV,GADJ,EAKK,CAAAuF,KAAK,SAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAP,KACG1F,cAAA,CAAAC,aAAA,CAACmJ,aAAD,EACQ5E,QAAA,CAAA,EAAA,EAAAyF,KAAA;AACJI,IAAAA,UAAU,EAAA;AACVlM,IAAAA,UAAU,EAAEA;AACZmM,IAAAA,MAAM,EAAE;AACJ5E,MAAAA,KAAK,EAAE;AAAE6E,QAAAA,CAAC,EAAE,GAAL;AAAUC,QAAAA,CAAC,EAAE,GAAA;AAAb,OADH;AAEJ/L,MAAAA,MAAM,EAAE;AAAE8L,QAAAA,CAAC,EAAE,GAAL;AAAUC,QAAAA,CAAC,EAAE,GAAA;AAAb,OAAA;AAFJ,KAAA;GAHJ,CADR,CANR,EAgBIxK,cAAA,CAAAC,aAAA,CAACqD,SAAD,EAAS;AAAAgG,IAAAA,OAAO,EAAE,CAAC,CAACtF,UAAAA;AAAX,GAAT,EACKA,UAAU,GAAGhE,cAAA,CAAAC,aAAA,CAACmD,MAAD,EAAO,IAAP,EAAOY,UAAU,CAAC,EAAD,CAAjB,CAAH,GAAmC,EADlD,EAEIhE,cAAA,CAAAC,aAAA,CAACsJ,eAAD,EAAc,IAAd,EACK3F,KAAK,IACF5D,cAAA,CAAAC,aAAA,CAACsD,OAAD,EAAM;AAAClD,IAAAA,IAAI,EAAC,KAAN;AAAYC,IAAAA,IAAI,EAAC,MAAjB;AAAwBnC,IAAAA,UAAU,EACnC,IAAA;AADC,GAAN,EACKyF,KADL,CAFR,EAMKoG,QAAQ,IACLhK,cAAA,CAAAC,aAAA,CAACwJ,MAAD,EAAO,IAAP,EACIzJ,cAAA,CAAAC,aAAA,CAACyJ,QAAD,EAAS;AAACpJ,IAAAA,IAAI,EAAC,QAAN;AAAeD,IAAAA,IAAI,EAAC,KAApB;AAA0BlC,IAAAA,UAAU,EAAA,IAAA;AAApC,GAAT,EACK6L,QADL,CADJ,EAIKE,SAAS,GAAGA,SAAS,CAAC;AAAE/L,IAAAA,UAAU,EAAAA,UAAAA;AAAZ,GAAD,CAAZ,GAA+BwG,SAJ7C,CAPR,CAFJ,CAhBJ,EAkCK,CAAAZ,IAAI,KAAJ,IAAA,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAEW,IAAN,KACG1E,cAAC,CAAAC,aAAD,CAAC4J,QAAD,EACIrF,QAAA,CAAA;AAAArG,IAAAA,UAAU,EAAEA,UAAAA;AAAZ,GAAA,EACI4F,IADJ,EAEA;AAAAU,IAAAA,SAAS,EAAEb,KAAK,IAAIe,SAAAA;AAApB,GAFA,CADJ,CAnCR,CADJ,CAAA;AA4CH,CAhED,CAAA;;AAkEA,IAAMC,MAAI,GAAGtH,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,CAAY4F,CAAAA,CAAAA,mBAAA,KAAAA,mBAAA,GAAAhN,oBAAA,CAAA,CAAA,sCAAA,EAAA,yBAAA,EAAA,6KAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,cAAA,CAAA,EAAA,CAAA,sCAAA,EAEe,yBAFf,EAGgB,6KAHhB,EAYA,2BAZA,EAagB,6BAbhB,EAciB,cAdjB,CAAA,CAAA,CAAZ,EAESC,QAAQ,CAACC,KAAT,GAAiB,CAF1B,EAGUD,QAAQ,CAACC,KAAT,GAAiB,CAH3B,EAYGe,EAAE,CAACD,MAZN,EAaaf,QAAQ,CAACwB,MAbtB,EAccxB,QAAQ,CAACwB,MAdvB,CAAV,CAAA;AAkBA,IAAMwL,QAAQ,GAAGpN,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,CAAA,CAAA,CAAwD4F,iBAAA,KAAAA,iBAAA,GAAAlN,oBAAA,CAAA,CAAA,qBAAA,EAAA,yBAAA,EAAA,wCAAA,EAAA,8EAAA,EAAA,6BAAA,EAAA,2BAAA,EAAA,wFAAA,EAAA,YAAA,CAAA,EAAA,CAAA,qBAAA,EACjC,yBADiC,EAEhC,wCAFgC,EAMhD,8EANgD,EAShC,6BATgC,EAU/B,2BAV+B,EAa7C,wFAb6C,EAmBX,YAnBW,CAAA,CAAA,CAAxD,EACKC,QAAQ,CAACC,KAAT,GAAiB,CADtB,EAEMD,QAAQ,CAACC,KAAT,GAAiB,CAFvB,EAMDe,EAAE,CAACD,MANF,EASSf,QAAQ,CAACwB,MATlB,EAUUxB,QAAQ,CAACwB,MAVnB,EAaDR,EAAE,CAACS,SAbF,EAkBE,UAACjB,EAAD,EAAuB;MAApB0M,OAAO,GAAA1M,EAAA,CAAA0M;MAAEC,SAAS,GAAA3M,EAAA,CAAA2M;AACzB,EAAA,OAAAA,SAAS,GAAG,YAAH,GAAkBD,OAAO,IAAI,SAAtC,CAAA;AAA+C,CAnB7C,CAAd,CAAA;;AAuBA,IAAME,QAAQ,GAeT,UAAC5M,EAAD,EAAqD;AAAlD,EAAA,IAAA4C,QAAQ,GAAA5C,EAAA,CAAA4C,QAAR;AAAA,MAAUC,KAAK,GAAA7C,EAAA,CAAA6C,KAAf;AAAA,MAAiBC,MAAM,GAAA9C,EAAA,CAAA8C,MAAvB;AAAA,MAAyBkJ,SAAS,GAAAhM,EAAA,CAAAgM,SAAlC;AAAA,MAAoCa,YAAY,GAAA7M,EAAA,CAAA6M,YAAhD,CAAA;AACI,EAAA,IAAAjL,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,OACIhB,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAP,IAAAA,QAAQ,EAAEA,QAAV;AACAS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KAN3B;AAQAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CARnB;AASAM,IAAAA,aAAa,EAAA,IAAA;AATb,GADJ,EAYItB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAAC2E,MAAD,EACK,IADL,EACK7D,KAAK,KAAL,IAAA,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;AAAK,IAAA,OACrBlC,cAAA,CAAAC,aAAA,CAACyK,QAAD,EAAS;AACLtI,MAAAA,GAAG,EAAEF,CADA;AAEL0I,MAAAA,OAAO,EAAE7J,KAAK,CAACqE,MAAN,GAAe,CAAf,KAAqB,CAFzB;AAGLyF,MAAAA,SAAS,EAAEE,YAAAA;AAHN,KAAT,EAKI/K,cAAC,CAAAC,aAAD,CAAC8J,MAAD,eACQnE,MAAI;AACRzH,MAAAA,UAAU,EAAEA,UADJ;AAER+L,MAAAA,SAAS,EAAEA,SAAAA;AAFH,MADZ,CALJ,CADqB,CAAA;AAYxB,GAZA,CADL,CADJ,CAZJ,CADJ,CAAA;AAgCH,CAnDD,CAAA;AAsDA,iBAAetH,YAAY,CAACkI,QAAD,CAA3B,CAAA;;;ACjZA,IAAME,KAAK,GAAG,UAACC,GAAD,EAAcC,GAAd,EAA2BC,GAA3B,EAAsC;AAChD,EAAA,OAAOC,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASF,GAAT,EAAcC,GAAd,CAAT,EAA6BC,GAA7B,CAAP,CAAA;AACH,CAFD,CAAA;;AAIA,IAAME,MAAM,GAAG/N,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,0BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,qIAAA,CAAA,EAAA,CAAA,qIAAA,CAAA,CAAA,CAAb,CAAZ,CAAA;AASA,IAAM6N,aAAa,GAAGhO,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBvL,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,oEAAA,CAAA,EAAA,CAAA,oEAAA,CAAA,CAAA,CAAhB,CAAnB,CAAA;AAMA,IAAM8N,mBAAmB,GAAGjO,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAawB,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,sIAAA,EAAA,+BAAA,EAAA,IAAA,CAAA,EAAA,CAIpC,sIAJoC,EAWkC,+BAXlC,EAyC7B,IAzC6B,CAAA,CAAA,CAAb,EAWD,UAACS,EAAD,EAAkB;AAAf,EAAA,IAAAsN,aAAa,GAAAtN,EAAA,CAAAsN,aAAb,CAAA;AAAoB,EAAA,OAACA,aAAa,GAAG,GAAH,GAAS,CAAvB,CAAA;AAAyB,CAX/C,EAanB,UAACtN,EAAD,EAAyB;MAAtBuN,OAAO,GAAAvN,EAAA,CAAAuN;MAAEC,WAAW,GAAAxN,EAAA,CAAAwN;AACrB,EAAAD,OAAAA,OAAO,IACPxC,GAAG,CAAAhL,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,mKAAA,EAAA,oJAAA,EAAA,0EAAA,EAAA,0EAAA,EAAA,2EAAA,EAAA,+CAAA,CAAA,EAAA,CAAA,mKAAA,EAI6C,oJAJ7C,EAUoB,0EAVpB,EAeoB,0EAfpB,EAoBoB,2EApBpB,EAuB+D,+CAvB/D,CAAA,CAAA,CAAA,EAIyBgO,OAAO,IAAI,SAJpC,EAQkBC,WAAW,GACdV,KAAK,CAACU,WAAW,GAAG,GAAf,EAAoB,CAApB,EAAuB,GAAvB,CAAL,GAAmC,GADrB,GAEd,KAVf,EAakBA,WAAW,GACdV,KAAK,CAACU,WAAW,GAAG,GAAd,GAAoB,EAArB,EAAyB,CAAzB,EAA4B,GAA5B,CAAL,GAAwC,GAD1B,GAEd,KAff,EAkBkBA,WAAW,GACdV,KAAK,CAACU,WAAW,GAAG,GAAd,GAAoB,EAArB,EAAyB,CAAzB,EAA4B,GAA5B,CAAL,GAAwC,GAD1B,GAEd,KApBf,EAuBkBA,WAAW,GAAGA,WAAW,GAAG,GAAd,GAAoB,GAAvB,GAA6B,KAvB1D,CADH,CAAA;AA2BC,CAzCgB,CAAzB,CAAA;AA4CA,IAAMC,aAAa,GAAGrO,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBpK,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,+NAAA,CAAA,EAAA,CAAA,+NAAA,CAAA,CAAA,CAAhB,CAAnB,CAAA;AAgBA,IAAMmO,iBAAiB,GAAGtO,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAgCmG,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,6GAAA,EAAA,KAAA,CAAA,EAAA,CAAA,6GAAA,EAMX,KANW,CAAA,CAAA,CAAhC,EAMC,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAI,KAAK,GAAAJ,EAAA,CAAAI,KAAL,CAAA;AAAY,EAAA,OAAAA,KAAA,CAAA;AAAK,CANrB,CAAvB,CAAA;AASA,IAAMuN,UAAU,GAAGvO,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,8BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,2KAAqC,kBACxB,sBACA,OAAqB,OAAqB,gBAC9C,yBAC4B,QAJrC,EACFpB,QAAQ,CAACwB,MADP,EAEDxB,QAAQ,CAACC,KAFR,EAEmBD,QAAQ,CAACwB,MAF5B,EAEwCxB,QAAQ,CAACwB,MAFjD,EAGNxB,QAAQ,CAACwB,MAHH,EAIE,UAAChB,EAAD,EAAY;AAAT,EAAA,IAAAqD,OAAO,GAAArD,EAAA,CAAAqD,OAAP,CAAA;AAAc,EAAAA,OAAAA,OAAO,IAAIA,OAAX,CAAA;AAAkB,CAJrC,CAAhB,CAAA;AAOA,IAAMuK,eAAe,GAAGxO,MAAM,CAACuO,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAqBxD,kBAAA,KAAAA,kBAAA,GAAA5K,oBAAA,CAAA,CAAA,yCAAA,EAAA,iBAAA,EAAA,4DAAA,CAAA,EAAA,CAAA,yCAAA,EAEb,iBAFa,EAGf,4DAHe,CAAA,CAAA,CAArB,EAEPC,QAAQ,CAACwB,MAFF,EAGTxB,QAAQ,CAACwB,MAHA,CAArB,CAAA;AAQA,IAAM6M,eAAe,GAAGzO,MAAM,CAACuO,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAqBrC,kBAAA,KAAAA,kBAAA,GAAA/L,oBAAA,CAAA,CAAA,yCAAA,EAAA,kBAAA,EAAA,4DAAA,CAAA,EAAA,CAAA,yCAAA,EAEb,kBAFa,EAGd,4DAHc,CAAA,CAAA,CAArB,EAEPC,QAAQ,CAACwB,MAFF,EAGRxB,QAAQ,CAACwB,MAHD,CAArB,CAAA;AAQA,IAAM8M,gBAAgB,GAAG1O,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAaoM,CAAAA,CAAAA,mBAAA,KAAAA,mBAAA,GAAAlM,oBAAA,CAAA,CAAA,wHAAA,EAAA,+BAAA,EAAA,IAAA,CAAA,EAAA,CAIjC,wHAJiC,EASoC,+BATpC,EAuC1B,IAvC0B,CAAA,CAAA,CAAb,EASC,UAACS,EAAD,EAAkB;AAAf,EAAA,IAAAsN,aAAa,GAAAtN,EAAA,CAAAsN,aAAb,CAAA;AAAoB,EAAA,OAACA,aAAa,GAAG,GAAH,GAAS,CAAvB,CAAA;AAAyB,CATjD,EAWhB,UAACtN,EAAD,EAAyB;MAAtBuN,OAAO,GAAAvN,EAAA,CAAAuN;MAAEC,WAAW,GAAAxN,EAAA,CAAAwN;AACrB,EAAAD,OAAAA,OAAO,IACPxC,GAAG,CAAAgD,mBAAA,KAAAA,mBAAA,GAAAxO,oBAAA,CAAA,CAAA,gKAAA,EAAA,gJAAA,EAAA,yEAAA,EAAA,yEAAA,EAAA,0EAAA,EAAA,+CAAA,CAAA,EAAA,CAAA,gKAAA,EAI6C,gJAJ7C,EAUoB,yEAVpB,EAeoB,yEAfpB,EAoBoB,0EApBpB,EAuB8D,+CAvB9D,CAAA,CAAA,CAAA,EAIyBgO,OAAO,IAAI,SAJpC,EAQiBC,WAAW,GACbV,KAAK,CAACU,WAAW,GAAG,GAAf,EAAoB,CAApB,EAAuB,GAAvB,CAAL,GAAmC,GADtB,GAEb,KAVf,EAaiBA,WAAW,GACbV,KAAK,CAACU,WAAW,GAAG,GAAd,GAAoB,EAArB,EAAyB,CAAzB,EAA4B,GAA5B,CAAL,GAAwC,GAD3B,GAEb,KAff,EAkBiBA,WAAW,GACbV,KAAK,CAACU,WAAW,GAAG,GAAd,GAAoB,EAArB,EAAyB,CAAzB,EAA4B,GAA5B,CAAL,GAAwC,GAD3B,GAEb,KApBf,EAuBiBA,WAAW,GAAGA,WAAW,GAAG,GAAd,GAAoB,GAAvB,GAA6B,KAvBzD,CADH,CAAA;AA2BC,CAvCa,CAAtB,CAAA;AA0CA,IAAMQ,OAAO,GAAG5O,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAaqM,CAAAA,CAAAA,mBAAA,KAAAA,mBAAA,GAAAnM,oBAAA,CAAA,CAAA,2IAAA,EAAA,oDAAA,EAAA,KAAA,CAAA,EAAA,CAAA,2IAAA,EAMyC,oDANzC,EAQ0C,KAR1C,CAAA,CAAA,CAAb,EAMW,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAAvB,CAAA;AAA4B,CANtD,EAQW,UAACN,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAAvB,CAAA;AAA6B,CARvD,CAAb,CAAA;;AAWA,IAAM0N,gBAAgB,GAcjB,UAACjO,EAAD,EAYJ;AAXG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAE,MAAM,GAAA9C,EAAA,CAAA8C,MADN;AAAA,MAEAoL,YAAY,GAAAlO,EAAA,CAAAkO,YAFZ;AAAA,MAGAC,aAAa,GAAAnO,EAAA,CAAAmO,aAHb;AAAA,MAIAC,aAAa,GAAApO,EAAA,CAAAoO,aAJb;AAAA,MAKAC,eAAe,GAAArO,EAAA,CAAAqO,eALf;AAAA,MAMAC,eAAe,GAAAtO,EAAA,CAAAsO,eANf;AAAA,MAOAvL,EAAA,GAAA/C,EAAA,CAAAuO,YAPA;AAAA,MAOAA,YAAY,GAAAxL,EAAA,KAAA,KAAA,CAAA,GAAG,qBAAH,GAAwBA,EAPpC;AAAA,MAQAmF,EAAkC,GAAAlI,EAAA,CAAAwO,UARlC;AAAA,MAQAA,UAAU,GAAAtG,EAAA,KAAA,KAAA,CAAA,GAAG,qBAAH,GAAwBA,EARlC;AAAA,MASAuG,WAAW,GAAAzO,EAAA,CAAAyO,WATX;AAAA,MAUAC,iBAAiB,GAAA1O,EAAA,CAAA0O,iBAVjB,CAAA;AAYA,EAAA,IAAMC,IAAI,GAAGC,KAAK,CAAC,IAAD,CAAlB,CAAA;;AACM,EAAAC,IAAAA,EAA8B,GAAA7L,QAAQ,CACxCkL,YAAY,GAAGhB,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASiB,YAAT,EAAuB,CAAvB,CAAT,EAAoC,CAApC,CAAH,GAA4C,GADhB,CAAtC;AAAA,MAACY,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,aAAa,QAA1B,CAAA;;AAGA,EAAA,IAAAC,EAAA,GAA4BhM,QAAQ,CAAU,KAAV,CAApC;AAAA,MAACiM,SAAS,GAAAD,EAAA,CAAA,CAAA,CAAV;AAAA,MAAYE,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAxB,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA8BnM,QAAQ,CAAU,KAAV,CAAtC;AAAA,MAACoM,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,aAAa,GAAAF,EAAA,CAAA,CAAA,CAA1B,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA8BtM,QAAQ,CAAU,IAAV,CAAtC;AAAA,MAACuM,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,aAAa,GAAAF,EAAA,CAAA,CAAA,CAA1B,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA8BzM,QAAQ,CAAS,CAAT,CAAtC;AAAA,MAAC0M,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,aAAa,GAAAF,EAAA,CAAA,CAAA,CAA1B,CAAA;;AACN,EAAA,IAAMG,UAAU,GAAGC,MAAM,CAAwB,IAAxB,CAAzB,CAAA;AACQ,EAAA,IAAAjO,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAERiO,EAAAA,SAAS,CAAC,YAAA;AACN,IAAIF,IAAAA,UAAU,CAACG,OAAf,EAAwB;AACpBJ,MAAAA,aAAa,CAACC,UAAU,CAACG,OAAX,CAAmBC,WAAnB,GAAiC,CAAlC,CAAb,CAAA;AACH,KAAA;AACJ,GAJQ,EAIN,EAJM,CAAT,CAAA;AAMAF,EAAAA,SAAS,CAAC,YAAA;AACN,IAAMG,IAAAA,gBAAgB,GAAG,YAAA;AACrB,MAAA,IAAMC,OAAO,GAAG;AACZC,QAAAA,UAAU,EAAE,KADA;AAEZC,QAAAA,SAAS,EAAE,GAAA;AAFC,OAAhB,CAAA;AAKA,MAAMC,IAAAA,QAAQ,GAAG,IAAIC,oBAAJ,CAAyB,UAACC,OAAD,EAAUF,QAAV,EAAkB;;;AACxD,QAAI3B,IAAAA,iBAAiB,KAAI,CAAA1O,EAAA,GAAAuQ,OAAO,CAAC,CAAD,CAAP,MAAU,IAAV,IAAUvQ,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAUA,EAAA,CAAEwQ,cAAhB,CAArB,EAAqD;AACjD;AACAH,UAAAA,QAAQ,CAACI,SAAT,CAAmB,CAAA1N,EAAA,GAAAwN,OAAO,CAAC,CAAD,CAAP,MAAU,IAAV,IAAUxN,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAUA,EAAA,CAAE2N,MAA/B,CAAA,CAAA;AACAlB,UAAAA,aAAa,CAAC,KAAD,CAAb,CAAA;AACH,SAAA;AACJ,OANgB,EAMdU,OANc,CAAjB,CAAA;AAOA,MAAIN,IAAAA,UAAU,CAACG,OAAf,EAAwBM,QAAQ,CAACM,OAAT,CAAiBf,UAAU,CAACG,OAA5B,CAAA,CAAA;AACxBa,MAAAA,MAAM,CAACC,mBAAP,CAA2B,MAA3B,EAAmCZ,gBAAnC,CAAA,CAAA;AACH,KAfD,CADM;;;AAmBN,IAAI,IAAA,CAACtB,IAAL,EAAW;AACP,MAAA,IAAImC,QAAQ,CAACC,UAAT,KAAwB,UAA5B,EAAwCd,gBAAgB,EAAxD,CAAA,KACKW,MAAM,CAACI,gBAAP,CAAwB,MAAxB,EAAgCf,gBAAhC,CAAA,CAAA;AACR,KAAA;;AAED,IAAA,OAAO,YAAA;AACHW,MAAAA,MAAM,CAACC,mBAAP,CAA2B,MAA3B,EAAmCZ,gBAAnC,CAAA,CAAA;AACH,KAFD,CAAA;AAGH,GA3BQ,EA2BN,CAACvB,iBAAD,EAAoBC,IAApB,CA3BM,CAAT,CAAA;;AA6BA,EAAA,IAAMsC,aAAa,GAAG,UAACP,MAAD,EAAgCQ,OAAhC,EAA+C;AACjE,IAAIR,IAAAA,MAAM,IAAIQ,OAAd,EAAuB;AACnB,MAAMC,IAAAA,eAAe,GAAGD,OAAO,GAAGR,MAAM,CAACU,qBAAP,EAAA,CAA+BC,CAAjE,CADmB;;AAInB,MAAA,IACIF,eAAe,IAAIzB,UAAnB,IACAyB,eAAe,IACXT,MAAM,CAACU,qBAAP,EAAA,CAA+BE,KAA/B,GAAuC5B,UAH/C,EAIE;AACE,QAAI6B,IAAAA,UAAU,GACVJ,eAAe,GAAGT,MAAM,CAACU,qBAAP,GAA+BE,KADrD,CAAA;AAEAC,QAAAA,UAAU,GAAGrE,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASsE,UAAT,EAAqB,CAArB,CAAT,EAAkC,CAAlC,CAAb,CAAA;AAEAxC,QAAAA,aAAa,CAACwC,UAAD,CAAb,CAAA;AACH,OAAA;AACJ,KAAA;AACJ,GAjBD,CAAA;;AAmBA,EAAA,IAAMC,WAAW,GAAG,UAACC,EAAD,EAAqB;AACrC,IAAA,IAAMf,MAAM,GAAGe,EAAE,CAACC,aAAlB,CAAA;;AACA,IAAA,IAAIhB,MAAM,IAAIe,EAAE,CAACP,OAAjB,EAA0B;AACtBD,MAAAA,aAAa,CAACP,MAAD,EAASe,EAAE,CAACP,OAAZ,CAAb,CAAA;AACA1B,MAAAA,aAAa,CAAC,IAAD,CAAb,CAAA;AACH,KAAA;AACJ,GAND,CAAA;;AAQA,EAAA,IAAMmC,eAAe,GAAG,UAACF,EAAD,EAAqB;AACzC,IAAA,IAAMf,MAAM,GAAGe,EAAE,CAACC,aAAlB,CAAA;;AACA,IAAA,IAAIhB,MAAM,IAAIe,EAAE,CAACP,OAAb,IAAwBjC,SAA5B,EAAuC;AACnCI,MAAAA,aAAa,CAAC,IAAD,CAAb,CAAA;AACAG,MAAAA,aAAa,CAAC,IAAD,CAAb,CAAA;AACA,MAAIJ,IAAAA,UAAJ,EAAgB6B,aAAa,CAACP,MAAD,EAASe,EAAE,CAACP,OAAZ,CAAb,CAAA;AACnB,KAAA;AACJ,GAPD,CAAA;;AASA,EAAA,IAAMU,eAAe,GAAG,UAACH,EAAD,EAAqC;;;AACzD,IAAA,IAAMf,MAAM,GAAGe,EAAE,CAACC,aAAlB,CAAA;;AACA,IAAIhB,IAAAA,MAAM,KAAI,CAAA1Q,EAAA,GAAAyR,EAAE,CAACI,OAAH,CAAW,CAAX,CAAA,MAAa,IAAb,IAAa7R,EAAA,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAaA,EAAA,CAAEkR,OAAnB,CAAV,EAAsC;AAClC1B,MAAAA,aAAa,CAAC,IAAD,CAAb,CAAA;AACAyB,MAAAA,aAAa,CAACP,MAAD,EAAS,CAAA3N,EAAA,GAAA0O,EAAE,CAACI,OAAH,CAAW,CAAX,CAAA,MAAe,IAAf,IAAe9O,EAAA,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAeA,EAAA,CAAAmO,OAAxB,CAAb,CAAA;AACH,KAAA;AACJ,GAND,CAAA;;AAQA,EAAA,IAAMjR,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVf,GAAR,EAYIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EACK,IADL,EACK0K,aAAa,IAAID,aAAjB,IACGrM,cAAC,CAAAC,aAAD,CAACoL,MAAD;AACI1L,IAAAA,OAAO,EAAE+P;AACTM,IAAAA,WAAW,EAAEH;AACbI,IAAAA,WAAW,EAAE,YAAA;AACT1C,MAAAA,aAAa,CAAC,KAAD,CAAb,CAAA;AACAH,MAAAA,YAAY,CAAC,IAAD,CAAZ,CAAA;AACH;AACD8C,IAAAA,SAAS,EAAE,YAAA;AACP3C,MAAAA,aAAa,CAAC,KAAD,CAAb,CAAA;AACAH,MAAAA,YAAY,CAAC,KAAD,CAAZ,CAAA;AACH;AACD+C,IAAAA,YAAY,EAAE,YAAA;AACV/C,MAAAA,YAAY,CAAC,KAAD,CAAZ,CAAA;AACAG,MAAAA,aAAa,CAAC,KAAD,CAAb,CAAA;AACH;AACD6C,IAAAA,WAAW,EAAEN;AACbO,IAAAA,YAAY,EAAE,YAAA;AAAM,MAAAjD,OAAAA,YAAY,CAAC,IAAD,CAAZ,CAAA;AAAkB;AACtCkD,IAAAA,UAAU,EAAE,YAAA;AAAM,MAAAlD,OAAAA,YAAY,CAAC,KAAD,CAAZ,CAAA;AAAmB,KAAA;GAjBzC,EAmBIpN,cAAC,CAAAC,aAAD,CAACqL,aAAD,EAAmB9G,QAAA,CAAA,EAAA,EAAA8H,aAAA,CAAnB,CAnBJ,EAoBKE,eAAe,IACZxM,cAAA,CAAAC,aAAA,CAAC8L,eAAD,EACI;AAAAxH,IAAAA,SAAS,EAAEzE,MAAM,CAACN,IAAP,CAAYsD,QAAvB;AACAvB,IAAAA,OAAO,EAAEmL,UAAAA;AADT,GADJ,EAIKF,eAJL,CArBR,EA4BIxM,cAAC,CAAAC,aAAD,CAACsL,mBAAD,EACI;AAAAC,IAAAA,aAAa,EAAE,CAAC2B,SAAhB;AACA1B,IAAAA,OAAO,EAAE,CAACgC,UADV;AAEA/B,IAAAA,WAAW,EAAEU,YAFb;AAGAmE,IAAAA,KAAK,EAAE;AAAEf,MAAAA,KAAK,EAAExC,UAAU,GAAG,GAAb,GAAmB,GAAA;AAA5B,KAAA;AAHP,GADJ,EAMIhN,cAAC,CAAAC,aAAD,CAAC0L,aAAD,EAAmBnH,QAAA,CAAA,EAAA,EAAA6H,aAAA,CAAnB,CANJ,EAOKE,eAAe,IACZvM,cAAA,CAAAC,aAAA,CAAC6L,eAAD,EACI;AAAAvH,IAAAA,SAAS,EAAEzE,MAAM,CAACN,IAAP,CAAYsD,QAAvB;AACAvB,IAAAA,OAAO,EAAEmL,UAAAA;AADT,GADJ,EAIKH,eAJL,CARR,EAeIvM,cAAA,CAAAC,aAAA,CAAC2L,iBAAD,EAAmB;AAAAtN,IAAAA,KAAK,EAAEmO,YAAAA;AAAP,GAAnB,CAfJ,CA5BJ,EA6CIzM,cAAC,CAAAC,aAAD,CAAC+L,gBAAD;AACInG,IAAAA,GAAG,EAAEiI;AACLtC,IAAAA,aAAa,EAAE,CAAC2B;AAChB1B,IAAAA,OAAO,EAAE,CAACgC;AACV/B,IAAAA,WAAW,EAAEU;AACbmE,IAAAA,KAAK,EAAE;AAAEC,MAAAA,IAAI,EAAExD,UAAU,GAAG,GAAb,GAAmB,GAAA;AAA3B,KAAA;GALX,EAOKL,WAAW,GACRA,WADQ,GAGR3M,4BAAA,CAACkM,OAAD,EAAQ,IAAR,EACIlM,cAAA,CAAAC,aAAA,CAACwQ,cAAD,EACI;AAAAjQ,IAAAA,SAAS,EAAEV,MAAM,CAACvB,SAAP,CAAiBC,KAAAA;AAA5B,GADJ,CADJ,CAVR,CA7CJ,CAFR,CAZJ,CADJ,CAAA;AAkFH,CAzMD,CAAA;AA4MA,yBAAeoE,YAAY,CAACuJ,gBAAD,CAA3B,CAAA;;;AC3WA,IAAMvO,MAAI,GAAGN,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAER3F,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,uFAAA,EAAA,2OAAA,EAAA,iDAAA,EAAA,IAAA,CAAA,EAAA,CAAA,uFAAA,EAImE,2OAJnE,EAgB2E,iDAhB3E,EA+CO,IA/CP,CAAA,CAAA,CAFQ,EAMW,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAN3D,EAkBY,UAAC/E,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBmG,iBAAvB,CAAA;AAAwC,CAlBnE,EAsBJ,UAACjL,EAAD,EAAiC;AAA9B,EAAA,IAAAwS,SAAS,eAAT;AAAA,MAAWrS,KAAK,GAAAH,EAAA,CAAAG,KAAhB;AAAA,MAAkBF,UAAU,GAAAD,EAAA,CAAAC,UAA5B,CAAA;AACD,EAAA,OAAAuS,SAAS,IACTzH,GAAG,CAAAzL,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,+UAAA,EAAA,oEAAA,EAAA,2JAAA,CAAA,EAAA,CAAA,+UAAA,EAa2C,oEAb3C,EAkBqC,2JAlBrC,CAAA,CAAA,CAAA,EAWWU,UAAU,GACNG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADf,GAENxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAbpC,EAgBctC,UAAU,GACbG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBK,aADR,GAEb5E,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBM,KAlBhC,CADH,CAAA;AA0BC,CAjDC,CAAV,CAAA;AAoDA,IAAMiG,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,4BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAgBpL,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,4GAAA,CAAA,EAAA,CAAA,4GAAA,CAAA,CAAA,CAAhB,CAAjB,CAAA;AAUA,IAAMkT,cAAc,GAAGrT,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,+BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAawB,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,4IAAA,EAAA,KAAA,EAAA,8RAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,cAAA,CAAA,EAAA,CAAA,4IAAA,EASH,KATG,EASqB,8RATrB,EAuBX,uBAvBW,EAwBI,KAxBJ,EAwByB,cAxBzB,CAAA,CAAA,CAAb,EASLC,QAAQ,CAACwB,MATJ,EASgBxB,QAAQ,CAACC,KAAT,GAAiB,CATjC,EAuBPe,EAAE,CAACD,MAvBI,EAwBDf,QAAQ,CAACC,KAAT,GAAiB,CAxBhB,EAwBuBD,QAAQ,CAACwB,MAxBhC,CAApB,CAAA;AA4BA,IAAM4G,WAAW,GAAGxI,MAAM,CAACiG,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,4BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAA0CtE,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,mBAAA,EAAA,KAAA,CAAA,EAAA,CAAA,mBAAA,EAEF,KAFE,CAAA,CAAA,CAA1C,EACA,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA0S,UAAU,GAAA1S,EAAA,CAAA0S,UAAV,CAAA;AACZ,EAAAA,OAAAA,UAAU,IAAK,EAAK,GAAA,EAAN,GAAYlT,QAAQ,CAACmT,OAArB,GAA+B,IAA7C,CAAA;AAAiD,CAFxC,CAAjB,CAAA;AAKA,IAAMC,kBAAkB,GAAGxT,MAAM,CAAC2J,IAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mCAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,6JAAc,uBACD,gEADb,EACLvJ,QAAQ,CAACC,KAAT,GAAiB,CADZ,CAAxB,CAAA;AAQA,IAAMyF,MAAI,GAAG9F,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,2OAAa,UACa,WACD,2CAGN,mBACC,gCAGU,eACD,2BAGe,QAb5C,EACJwT,SAAS,CAAC,CAAC,EAAD,EAAK,GAAL,CAAD,EAAY,QAAZ,CADL,EAEJA,SAAS,CAAC,CAAC,EAAD,EAAK,GAAL,CAAD,EAAY,OAAZ,CAFL,EAKCrT,QAAQ,CAACC,KAAT,GAAiB,CALlB,EAMED,QAAQ,CAACC,KAAT,GAAiB,CANnB,EASAoT,SAAS,CAAC,CAAC,EAAD,EAAK,GAAL,CAAD,EAAY,QAAZ,CATT,EAUAA,SAAS,CAAC,CAAC,EAAD,EAAK,GAAL,CAAD,EAAY,OAAZ,CAVT,EAaG,UAAC7S,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBsD,QAAlB,CAAA;AAA0B,CAb5C,CAAV,CAAA;AAwCA,IAAMkO,aAAa,GAAGC,UAAU,CAI5B,UACI/S,EADJ,EAcI2H,GAdJ,EAcO;AAZC,EAAA,IAAA1H,UAAU,GAAAD,EAAA,CAAAC,UAAV;AAAA,MACA8L,KAAK,GAAA/L,EAAA,CAAA+L,KADL;AAAA,MAEArG,KAAK,GAAA1F,EAAA,CAAA0F,KAFL;AAAA,MAGAuC,OAAO,GAAAjI,EAAA,CAAAiI,OAHP;AAAA,MAIAG,UAAU,gBAJV;AAAA,MAKAC,YAAY,GAAArI,EAAA,CAAAqI,YALZ;AAAA,MAMA7B,IAAI,GAAAxG,EAAA,CAAAwG,IANJ;AAAA,MAOAX,IAAI,GAAA7F,EAAA,CAAA6F,IAPJ;AAAA,MAQAmN,gBAAgB,GAAAhT,EAAA,CAAAgT,gBARhB;AAAA,MASAC,IAAI,GAAAjT,EAAA,CAAAiT,IATJ;AAAA,MAUAtR,SAAS,GAAA3B,EAAA,CAAA2B,SAVT,CAYD;;AAGH,EAAIuR,IAAAA,OAAO,GAAGrN,IAAd,CAAA;;AACA,EAAA,IAAIW,IAAI,IAAI,CAACX,IAAb,EAAmB;AACfqN,IAAAA,OAAO,GAAG;AACN1M,MAAAA,IAAI,EAAEA,IADA;AAEN2M,MAAAA,UAAU,EAAE,KAAA;AAFN,KAAV,CAAA;AAIH,GAAA;;AAED,EAAMC,IAAAA,kBAAkB,GAAGC,cAAc,CAACC,cAAf,CACvBxR,cAAC,CAAAC,aAAD,CAAC6Q,kBAAD,EACK,IADL,EACKI,gBAAgB,IAAIlR,cAAC,CAAAC,aAAD,CAACwR,QAAD,EAAY,IAAZ,CADzB,CADuB,CAA3B,CAAA;AAMA,EAAA,OACIzR,4BAAA,CAACpC,MAAD,EAAK4G,QAAA,CAAA;AACDqB,IAAAA,GAAG,EAAEA,GADJ;AAED6K,IAAAA,SAAS,EAAE,CAAC,CAAChM,IAAF,IAAU,CAAC,CAACX,IAAAA;AAFtB,GAAA,EAGGqN,OAHH,EAGU;AACXvR,IAAAA,SAAS,EAAEA,SAAAA;AADA,GAHV,CAAL,EAMIG,cAAC,CAAAC,aAAD,CAACmJ,aAAD,eAAiBa,OAAK;AAAE9L,IAAAA,UAAU,EAAEA,UAAd;AAA0BkM,IAAAA,UAAU,EAAG,IAAA;AAAvC,IAAtB,CANJ,EAOK8G,IAAI,IAAInR,cAAC,CAAAC,aAAD,CAACmD,MAAD,EAAO,IAAP,EAAO+N,IAAI,CAAC;AAAEhT,IAAAA,UAAU,EAAAA,UAAAA;AAAZ,GAAD,CAAX,CAPb,EAQKyF,KAAK,IACF5D,cAAA,CAAAC,aAAA,CAAC0Q,cAAD,EAAe,IAAf,EACI3Q,cAAC,CAAAC,aAAD,CAAC6F,WAAD;AACIiB,IAAAA,SAAS,EAAC;AACVT,IAAAA,UAAU,EAAEA;AACZC,IAAAA,YAAY,EAAEA;AACd3C,IAAAA,KAAK,EACD,CAAAwN,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEC,UAAT,IACMzN,KAAK,GAAG0N,kBADd,GAEM1N;AAEVuC,IAAAA,OAAO,EAAEA,OAAO,IAAI;AACpByK,IAAAA,UAAU,EACZ,IAAA;GAXF,CADJ,CATR,CADJ,CAAA;AA2BH,CA9D2B,CAAhC,CAAA;AAiEAI,aAAa,CAACU,WAAd,GAA4B,eAA5B,CAAA;;;ACrNA,IAAM3H,MAAI,GAAGzM,MAAM,CAAC0T,aAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAwBxT,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,wFAAA,EAAA,+DAAA,EAAA,cAAA,CAAA,EAAA,CAAsB,wFAAtB,EAKY,+DALZ,EAUO,cAVP,CAAA,CAAA,CAAxB,EAKI,UAACS,EAAD,EAAW;AAAR,EAAA,IAAAyT,MAAM,GAAAzT,EAAA,CAAAyT,MAAN,CAAA;AAAa,EAAAA,OAAAA,MAAM,IAAI,MAAV,CAAA;AAAgB,CALpC,EAUYvS,YAAY,CAACC,MAVzB,CAAV,CAAA;;AAcA,IAAMuS,cAAc,GA0Bf,UAAC1T,EAAD,EAAgE;AAA7D,EAAA,IAAA4C,QAAQ,GAAA5C,EAAA,CAAA4C,QAAR;AAAA,MAAU+Q,IAAI,GAAA3T,EAAA,CAAA2T,IAAd;AAAA,MAAgBpS,KAAK,GAAAvB,EAAA,CAAAuB,KAArB;AAAA,MAAuBuB,MAAM,YAA7B;AAAA,MAA+B8Q,UAAU,GAAA5T,EAAA,CAAA4T,UAAzC;AAAA,MAA2CZ,gBAAgB,GAAAhT,EAAA,CAAAgT,gBAA3D,CAAA;AACI,EAAA,IAAApR,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,OACIhB,KAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,KAAT,EAAgB8Q,UAAhB,CAAA;AAVf,GAAR,EAYI9R,KAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASkF,IAAAA,UAAU,EAAC;AAASjF,IAAAA,aAAa;GAA1C,EACKpC,KAAK,GACFqS,UAAU,GACN9R,KAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAS,IAAT,EACI/B,KAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AAAC7C,IAAAA,SAAS,EAAE;AAAE8H,MAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ,KAAA;AAAZ,GAAT,EACK4K,IAAI,IACDA,IAAI,CAAC5P,GAAL,CAAS,UAAC8P,IAAD,EAAO7P,CAAP,EAAa;AAAA,IAAA,OAClBlC,KAAA,CAAAC,aAAA,CAAC8J,MAAD,EAAKvF,QAAA,CAAA;AACDpC,MAAAA,GAAG,EAAEF,CADJ;AAEDyP,MAAAA,MAAM,EACF,IAAA;AAHH,KAAA,EAGGI,IAHH,EAID;AAAAb,MAAAA,gBAAgB,EAAEA,gBAAlB;AACA/S,MAAAA,UAAU,EAAEA,UAAAA;AADZ,KAJC,CAAL,CADkB,CAAA;AAQrB,GARD,CAFR,CADJ,EAaI6B,KAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN,EAAU;AAAA7C,IAAAA,SAAS,EAAE;AAAE8H,MAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ,KAAA;AAAX,GAAV,EACKxH,KAAK,CAACwC,GAAN,CAAU,UAAC8P,IAAD,EAAO7P,CAAP,EAAa;AAAA,IAAA,OACpBlC,KAAA,CAAAC,aAAA,CAAC8J,MAAD,EAAKvF,QAAA,CAAA;AACDpC,MAAAA,GAAG,EAAEF,CAAAA;AADJ,KAAA,EAEG6P,IAFH,EAGD;AAAAb,MAAAA,gBAAgB,EAAEA,gBAAlB;AACA/S,MAAAA,UAAU,EAAEA,UAAAA;AADZ,KAHC,CAAL,CADoB,CAAA;AAOvB,GAPA,CADL,CAbJ,CADM,GA0BN6B,KAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAS,IAAT,EACI/B,KAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN,EAAS;AAAC7C,IAAAA,SAAS,EAAE;AAAE8H,MAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ,KAAA;AAAZ,GAAT,EACKxH,KAAK,CAACwC,GAAN,CAAU,UAAC8P,IAAD,EAAO7P,CAAP,EAAQ;AAAK,IAAA,OACpBlC,KAAA,CAAAC,aAAA,CAAC8J,MAAD,EACIvF,QAAA,CAAA;AAAApC,MAAAA,GAAG,EAAEF,CAAAA;AAAL,KAAA,EACI6P,IADJ,EAEA;AAAAb,MAAAA,gBAAgB,EAAEA,gBAAlB;AACA/S,MAAAA,UAAU,EAAEA,UAAAA;AADZ,KAFA,CADJ,CADoB,CAAA;AAOvB,GAPA,CADL,CADJ,EAWI6B,KAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AAAC7C,IAAAA,SAAS,EAAE;AAAE8H,MAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ,KAAA;AAAZ,GAAT,EACK4K,IAAI,IACDA,IAAI,CAAC5P,GAAL,CAAS,UAAC8P,IAAD,EAAO7P,CAAP,EAAQ;AAAK,IAAA,OAClBlC,KAAC,CAAAC,aAAD,CAAC8J,MAAD;AACI3H,MAAAA,GAAG,EAAEF;AACLyP,MAAAA,MAAM,EAAA,IAAA;OACFI,MAAI;AACRb,MAAAA,gBAAgB,EAAEA,gBADV;AAER/S,MAAAA,UAAU,EAAEA,UAAAA;AAFJ,MAHZ,CADkB,CAAA;AAQrB,GARD,CAFR,CAXJ,CA3BF,GAqDF0T,IAAI,IACA7R,KAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EACK,IADL,EACK8P,IAAI,CAAC5P,GAAL,CAAS,UAAC8P,IAAD,EAAO7P,CAAP,EAAa;AAAA,IAAA,OACnBlC,KAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,MAAAA,SAAS,EAAE;AACP8H,QAAAA,IAAI,EACA,CAAC8K,IAAI,CAAC1R,IAAL,KAAc,MAAd,GAAuB,CAAvB,GAA2B,EAA5B,IACA,EAAA;AAHG,OADN;AAML+B,MAAAA,GAAG,EAAEF,CAAAA;AANA,KAAT,EAQIlC,KAAC,CAAAC,aAAD,CAAC8J,MAAD,EACIvF,QAAA,CAAA;AAAApC,MAAAA,GAAG,EAAEF,CAAAA;AAAL,KAAA,EACI6P,IADJ,EAEA;AAAAb,MAAAA,gBAAgB,EAAEA,gBAAlB;AACA/S,MAAAA,UAAU,EAAEA,UAAAA;AADZ,KAFA,CADJ,CARJ,CADmB,CAAA;AAgBtB,GAhBA,CADL,CAvDZ,CAZJ,CADJ,CAAA;AA4FH,CA3HD,CAAA;AA8HA,uBAAeyE,YAAY,CAACgP,cAAD,CAA3B,CAAA;;;ACjJA,IAAMhU,MAAI,GAAGN,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,YAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAb,CAAV,CAAA;AAEA,IAAMuU,gBAAc,GAAG1U,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAaO,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,6CAAA,EAAA,wBAAA,EAAA,6BAAA,CAAA,EAAA,CAA0B,6CAA1B,EAGW,wBAHX,EAIM,6BAJN,CAAA,CAAA,CAAb,EAEG,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAClB,EAAA,OAAAA,UAAU,GAAG,QAAH,GAAc,YAAxB,CAAA;AAAoC,CAHxB,EAICnL,QAAQ,CAACC,KAAT,GAAiB,CAJlB,CAApB,CAAA;AAQA,IAAMyL,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAgBpL,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,8CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,8CAAA,EAEoC,KAFpC,CAAA,CAAA,CAAhB,EAEI,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAFpD,CAAjB,CAAA;AAKA,IAAMK,SAAO,GAAGhG,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAawB,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,oBAAA,EAAA,4CAAA,EAAA,cAAA,CAAA,EAAA,CAA0B,oBAA1B,EACkC,4CADlC,EAIc,cAJd,CAAA,CAAA,CAAb,EACK,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CAD/C,EAISnL,QAAQ,CAACC,KAAT,GAAiB,CAJ1B,CAAb,CAAA;AAQA,IAAM4F,OAAK,GAAGjG,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeG,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAf,CAAX,CAAA;AAEA,IAAMwU,QAAQ,GAAG3U,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAe4E,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAf,CAAd,CAAA;AAEA,IAAMyU,MAAI,GAAG5U,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,YAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,+HAAe,UACX,gCACsB,iBAF1B,EACJmT,QADI,EAEYvU,QAAQ,CAACC,KAFrB,CAAV,CAAA;AAeA,IAAMwU,IAAI,GAAGlB,UAAU,CAMnB,UACI/S,EADJ,EAUI2H,GAVJ,EAUO;MARC5E,EAAkB,GAAA/C,EAAA,CAAAC;MAAlBA,UAAU,GAAA8C,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA;MAClBmF,EAAA,GAAAlI,EAAA,CAAA2K;MAAAA,UAAU,GAAGzC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;MAClBxC,KAAK,GAAA1F,EAAA,CAAA0F;MACLwO,QAAQ,GAAAlU,EAAA,CAAAkU;MACR5S,IAAI,GAAAtB,EAAA,CAAAsB;MACJyK,KAAK,GAAA/L,EAAA,CAAA+L;MACLpK,SAAS,GAAA3B,EAAA,CAAA2B;AAIb,EAAA,OACIG,cAAC,CAAAC,aAAD,CAACrC,MAAD,EAAM;AAAAiI,IAAAA,GAAG,EAAEA,GAAL;AAAUhG,IAAAA,SAAS,EAAEA,SAAAA;AAArB,GAAN,EACK,CAAAoK,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAP,KACG1F,cAAC,CAAAC,aAAD,CAAC+R,gBAAD,EAAgB;AAAAnJ,IAAAA,UAAU,EAAEA,UAAAA;AAAZ,GAAhB,EACI7I,cAAA,CAAAC,aAAA,CAACmJ,aAAD,EAAY;AACRjL,IAAAA,UAAU,EAAEA,UADJ;AAERuH,IAAAA,KAAK,EAAEuE,KAAK,CAACvE,KAFL;AAGRjH,IAAAA,MAAM,EAAEwL,KAAK,CAACxL,MAHN;AAIRU,IAAAA,SAAS,EAAE8K,KAAK,CAAC9K,SAJT;AAKR6F,IAAAA,KAAK,EAAEiF,KAAK,CAACjF,KALL;AAMRW,IAAAA,MAAM,EAAEsE,KAAK,CAACtE,MANN;AAORgC,IAAAA,GAAG,EAAEsC,KAAK,CAACtC,GAPH;AAQR0C,IAAAA,UAAU,EAAEJ,KAAK,CAACI,UARV;AASRC,IAAAA,MAAM,EAAEL,KAAK,CAACK,MATN;AAUR+H,IAAAA,eAAe,EAAEpI,KAAK,CAACoI,eAAAA;AAVf,GAAZ,CADJ,CAFR,EAiBIrS,cAAA,CAAAC,aAAA,CAACqD,SAAD,EAAQ;AAACuF,IAAAA,UAAU,EAAEA,UAAAA;AAAb,GAAR,EACKjF,KAAK,IACF5D,cAAC,CAAAC,aAAD,CAACsD,OAAD;AACIjD,IAAAA,IAAI,EAAC;AACLD,IAAAA,IAAI,EAAC;AACLlC,IAAAA,UAAU,EAAEA;IACD,YAAA,EAAA,OAAA;GAJf,EAMKyF,KANL,CAFR,EAWKwO,QAAQ,IACLpS,cAAA,CAAAC,aAAA,CAACgS,QAAD,EAAS;AACL3R,IAAAA,IAAI,EAAC,QADA;AAELnC,IAAAA,UAAU,EAAEA,UAFP;AAEiB,IACX,YAAA,EAAA,UAAA;AAHN,GAAT,EAKKiU,QALL,CAZR,EAoBK5S,IAAI,IACDQ,cAAC,CAAAC,aAAD,CAACiS,MAAD;AACI5R,IAAAA,IAAI,EAAC;AACLnC,IAAAA,UAAU,EAAEA;AACD,IAAA,YAAA,EAAA;AACXyC,IAAAA,SAAS,EAAEpB,IAAAA;GAJf,CArBR,CAjBJ,CADJ,CAAA;AAiDH,CAnEkB,CAAvB,CAAA;AAsEA2S,IAAI,CAACT,WAAL,GAAmB,MAAnB,CAAA;;;AC5GA,IAAMY,QAAQ,GAAGhV,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAaC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,qCAAA,EAAA,sCAAA,CAAA,EAAA,CAAA,qCAAA,EAGN,sCAHM,CAAA,CAAA,CAAb,EAGDiB,EAAE,CAACsG,KAHF,CAAd,CAAA;;AAQA,IAAMuN,QAAQ,GAeT,UAACrU,EAAD,EAAqD;AAAlD,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUG,EAAA,GAAA/C,EAAA,CAAAsU,OAAV;AAAA,MAAUA,OAAO,mBAAG,IAACvR,EAArB;AAAA,MAAuBwR,KAAK,WAA5B;AAAA,MAA8BzR,MAAM,GAAA9C,EAAA,CAAA8C,MAApC;AAAA,MAAsC6H,UAAU,GAAA3K,EAAA,CAAA2K,UAAhD,CAAA;AACI,EAAA,IAAA/I,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM2S,SAAS,GAAG,CAAAD,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAErN,MAAP,KAAiB,CAAnC,CAAA;AAEA,EAAA,IAAMjH,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEQ,EAAW2R,IAAAA,QAAQ,GAAKrN,mBAAmB,CAAiB;AAChEC,IAAAA,UAAU,EAAEmN,SADoD;AAEhElN,IAAAA,WAAW,EAAE,CAAC,sBAAD,EAAyB,yBAAzB,CAFmD;AAGhEC,IAAAA,UAAU,EAAE;AACRC,MAAAA,KAAK,EAAE,CADC;AAERjH,MAAAA,MAAM,EAAE+T,OAAO,GAAG,CAAV,GAAcA,OAAd,GAAwB,CAFxB;AAGRrT,MAAAA,SAAS,EAAEqT,OAAO,GAAG,CAAV,GAAcA,OAAd,GAAwB,CAH3B;AAIRxN,MAAAA,KAAK,EAAEwN,OAJC;AAKR7M,MAAAA,MAAM,EAAE6M,OAAAA;AALA,KAAA;AAHoD,GAAjB,CAAnB,UAAxB,CAAA;AAYR,EAAA,OACIxS,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVf,GAAR,EAYIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAkF,IAAAA,UAAU,EAAC,QAAX;AAAoBjF,IAAAA,aAAa,EAAA,IAAA;AAAjC,GAAT,EACI7B,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAS,IAAT,EACK0Q,KAAK,IACFA,KAAK,CAACxQ,GAAN,CAAU,UAAC2Q,IAAD,EAAO1Q,CAAP,EAAQ;AACd,IAAA,IACI,CAAA0Q,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAEhP,KAAN,MACAgP,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAER,QADN,CAEAQ,KAAAA,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAE3I,KAFN,CAAA,KAGA2I,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEpT,IAHN,CADJ,EAKE;AACE,MAAA,OACIQ,cAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN;AACII,QAAAA,GAAG,EAAEF;AACLzD,QAAAA,MAAM,EAAE;AAAEwI,UAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ;AACR9H,QAAAA,SAAS,EACLqT,OAAO,GAAG,CAAV,GACM;AAAEvL,UAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ,SADN,GAEM;AAAEA,UAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ;AAEVjC,QAAAA,KAAK,EAAE;AAAEiC,UAAAA,IAAI,EAAE,EAAKuL,GAAAA,OAAL,GAAe,EAAA;AAAvB,SAAA;OARX,EAUIxS,cAAC,CAAAC,aAAD,CAACkS,IAAD,EACI3N,QAAA,CAAA;AAAApC,QAAAA,GAAG,EAAEF,CAAL;AACA2D,QAAAA,GAAG,EAAE8M,QAAQ,CAACzQ,CAAD,CAAA;AADb,OAAA,EAEI0Q,IAFJ,EAEQ;AACR/J,QAAAA,UAAU,EAAEA,UADJ;AAER1K,QAAAA,UAAU,EAAEA,UAAAA;AAFJ,OAFR,CADJ,CAVJ,CADJ,CAAA;AAoBH,KA1BD,MA0BO;AACH,MAAA,OACI6B,cAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN;AACII,QAAAA,GAAG,EAAEF;AACLzD,QAAAA,MAAM,EAAE;AAAEwI,UAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ;AACR9H,QAAAA,SAAS,EACLqT,OAAO,GAAG,CAAV,GACM;AAAEvL,UAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ,SADN,GAEM;AAAEA,UAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ;AAEVjC,QAAAA,KAAK,EAAE;AAAEiC,UAAAA,IAAI,EAAE,EAAKuL,GAAAA,OAAL,GAAe,EAAA;AAAvB,SAAA;OARX,EAUIxS,cAAA,CAAAC,aAAA,CAACqS,QAAD,EAAS;AAACzM,QAAAA,GAAG,EAAE8M,QAAQ,CAACzQ,CAAD,CAAd;AAAmBE,QAAAA,GAAG,EAAEF,CAAAA;AAAxB,OAAT,CAVJ,CADJ,CAAA;AAcH,KAAA;AACJ,GA3CD,CAFR,CADJ,CAZJ,CADJ,CAAA;AAgEH,CAjGD,CAAA;AAoGA,iBAAeU,YAAY,CAAC2P,QAAD,CAA3B,CAAA;;;AC/GA,IAAMM,cAAc,GAAGvV,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,0BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAYrH,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,0GAAA,EAAA,cAAA,CAAA,EAAA,CAAA,0GAAA,EAOI,cAPJ,CAAA,CAAA,CAAZ,EAOEC,QAAQ,CAACC,KAPX,CAApB,CAAA;AAWA,IAAMmV,QAAQ,GAAGxV,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,0PAAsD,mBACnC,2BAG6C,wEAIP,oBAEjD,yBACe,iBAXvB,EACCrH,QAAQ,CAACC,KAAT,GAAiB,CADlB,EAGI,UAACO,EAAD,EAAmB;MAAhBG,KAAK,GAAAH,EAAA,CAAAG;MAAE0U,OAAO,GAAA7U,EAAA,CAAA6U;AAC3B,EAAA,OAAAA,OAAO,GAAGzU,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAA1B,GAAkCF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAAhE,CAAA;AAAsE,CAJhE,EAQK,UAACP,EAAD,EAAY;AAAT,EAAA,IAAA8U,OAAO,GAAA9U,EAAA,CAAA8U,OAAP,CAAA;AAAc,EAAA,OAACA,OAAO,GAAG,YAAH,GAAkB,QAA1B,CAAA;AAAmC,CARzD,EAUDtU,EAAE,CAACD,MAVF,EAWKf,QAAQ,CAACC,KAAT,GAAiB,CAXtB,CAAd,CAAA;AAeA,IAAMyF,MAAI,GAAG9F,MAAM,CAAC+J,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,gNAAa,wBACe,6CAEH,sBAEb,8BACiB,iBAN7B,EACU3J,QAAQ,CAACC,KAAT,GAAiB,CAD3B,EAGOD,QAAQ,CAACC,KAAT,GAAiB,CAHxB,EAKGe,EAAE,CAACD,MALN,EAMcf,QAAQ,CAACwB,MANvB,CAAV,CAAA;AAUA,IAAM+T,YAAY,GAAG3V,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,wBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,kIAAa,2CAES,iBAFtB,EAEIG,QAAQ,CAACC,KAAT,GAAiB,CAFrB,CAAlB,CAAA;AAMA,IAAM4J,aAAW,GAAGjK,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeG,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,2BAAA,CAAA,EAAA,CAAA,2BAAA,CAAA,CAAA,CAAf,CAAjB,CAAA;;AAIA,IAAMyV,QAAQ,GAeT,UAAChV,EAAD,EAAkC;MAA/B4C,QAAQ,GAAA5C,EAAA,CAAA4C;MAAE2R,KAAK,GAAAvU,EAAA,CAAAuU;MAAEtB,IAAI,GAAAjT,EAAA,CAAAiT;MAAEnQ,MAAM,GAAA9C,EAAA,CAAA8C;AACzB,EAAA,IAAAlB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM+R,OAAO,GAAG5U,UAAU,IAAI6C,MAAM,KAAK,MAAzC,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,KAAK,MAAX,GACAlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADjB,GAEAqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASkF,IAAAA,UAAU,EAAC;AAASjF,IAAAA,aAAa;GAA1C,EACK4Q,KAAK,IACFzS,cAAC,CAAAC,aAAD,CAAC4S,cAAD,MAAA,EACKJ,KAAK,CAACxQ,GAAN,CAAU,UAAC/D,EAAD,EAAkBgE,CAAlB,EAAmB;QAAhB3C,KAAK,GAAArB,EAAA,CAAAqB;QAAEC,IAAI,GAAAtB,EAAA,CAAAsB;AACrB,IAAA,OACIQ,cAAC,CAAAC,aAAD,CAAC6S,QAAD,EACI;AAAA1Q,MAAAA,GAAG,EAAEF,CAAL;AACA8Q,MAAAA,OAAO,EAAE,CAAC,CAACxT,IADX;AAEAuT,MAAAA,OAAO,EAAEA,OAAAA;AAFT,KADJ,EAKK5B,IAAI,IACDnR,cAAA,CAAAC,aAAA,CAACmD,MAAD,EACI;AAAAsE,MAAAA,GAAG,EAAEyJ,IAAI,CAACzJ,GAAV;AACAC,MAAAA,GAAG,EAAEwJ,IAAI,CAACxJ,GAAL,IAAY,EAAA;AADjB,KADJ,CANR,EAWI3H,cAAA,CAAAC,aAAA,CAACgT,YAAD,EAAa,IAAb,EACK1T,KAAK,IACFS,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AAACwB,MAAAA,IAAI,EAAC,QAAA;AAAN,KAAL,EAAqBf,KAArB,CAFR,EAIKC,IAAI,IACDQ,cAAA,CAAAC,aAAA,CAACsH,aAAD,EAAY;AACRjH,MAAAA,IAAI,EAAC,MADG;AAERM,MAAAA,SAAS,EAAEpB,IAAAA;AAFH,KAAZ,CALR,CAXJ,CADJ,CAAA;AAyBH,GA1BA,CADL,CAFR,CAZJ,CADJ,CAAA;AAgDH,CApED,CAAA;AAuEA,iBAAeoD,YAAY,CAACsQ,QAAD,CAA3B,CAAA;;;AChHA,IAAMtV,MAAI,GAAGN,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,+CAAA,EAAA,uBAAA,EAAA,4CAAA,EAAA,cAAA,CAAA,EAAA,CAA0B,+CAA1B,EAEa,uBAFb,EAGqC,4CAHrC,EAMc,cANd,CAAA,CAAA,CAAb,EAEYC,QAAQ,CAACC,KAFrB,EAGQ,UAACO,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CAHlD,EAMYnL,QAAQ,CAACwB,MANrB,CAAV,CAAA;AAUA,IAAMiU,SAAS,GAAG7V,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAexF,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,oCAAA,EAAA,iBAAA,EAAA,uCAAA,EAAA,IAAA,CAAA,EAAA,CAAmB,oCAAnB,EAEE,iBAFF,EAOe,uCAPf,EAkBrB,IAlBqB,CAAA,CAAA,CAAf,EAET2V,SAAS,CAAC,QAAD,EAAW,KAAX,CAFA,EAIF,UAAClV,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAAA,OAAAA,UAAU,GACJkV,QAAI,CAAChV,KAAD,CAAJ,CAAY,QAAZ,CAAA,CAAsBiV,GAAtB,CAA0BC,aADtB,GAEJF,QAAI,CAAChV,KAAD,CAAJ,CAAY,QAAZ,CAAA,CAAsBiV,GAAtB,CAA0BhV,KAFhC,CAAA;AAEqC,CAP9B,EAUT,UAACJ,EAAD,EAA4B;AAAzB,EAAA,IAAAwG,IAAI,UAAJ;AAAA,MAAMvG,UAAU,GAAAD,EAAA,CAAAC,UAAhB;AAAA,MAAkBE,KAAK,GAAAH,EAAA,CAAAG,KAAvB,CAAA;AACD,EAAA,OAAA,CAACqG,IAAD,IACAuE,GAAG,uJAAA,oDAI0C,+BAJ1C,EAEc9K,UAAU,GACbkV,QAAI,CAAChV,KAAD,CAAJ,CAAY,QAAZ,CAAsBiV,CAAAA,GAAtB,CAA0BC,aADb,GAEbF,QAAI,CAAChV,KAAD,CAAJ,CAAY,QAAZ,CAAsBiV,CAAAA,GAAtB,CAA0BhV,KAJrC,CADH,CAAA;AAOC,CAlBM,CAAf,CAAA;AAqBA,IAAM0T,cAAc,GAAG1U,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAyC1E,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,6CAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,6CAAA,EAGjB,uBAHiB,CAAA,CAAA,CAAzC,EAEG,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAClB,EAAA,OAAAA,UAAU,GAAG,QAAH,GAAc,YAAxB,CAAA;AAAoC,CAHxB,CAApB,CAAA;AAOA,IAAMO,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAgBpK,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,8CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,8CAAA,EAEoC,KAFpC,CAAA,CAAA,CAAhB,EAEI,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAFpD,CAAjB,CAAA;AAKA,IAAMuQ,cAAc,GAAGlW,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAamG,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,oBAAA,EAAA,4CAAA,EAAA,2BAAA,EAAA,8EAAA,EAAA,8BAAA,EAAA,uBAAA,CAAA,EAAA,CAA0B,oBAA1B,EAC2B,4CAD3B,EAIO,2BAJP,EAOX,8EAPW,EAUmC,8BAVnC,EAWkC,uBAXlC,CAAA,CAAA,CAAb,EACF,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CADxC,EAIEnL,QAAQ,CAACC,KAAT,GAAiB,CAJnB,EAOPe,EAAE,CAACD,MAPI,EAUQ,UAACP,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,MAAd,CAAA;AAAoB,CAVhD,EAWO,UAAC3K,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,MAAd,CAAA;AAAoB,CAX/C,CAApB,CAAA;AAgBA,IAAM4K,MAAM,GAAGnW,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAa4K,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,0BAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,CAAA,CAAb,CAAZ,CAAA;AAiCA,IAAMiW,OAAO,GAAGzC,UAAU,CAMtB,UACI/S,EADJ,EAaI2H,GAbJ,EAaO;AAXC,EAAA,IAAAjC,KAAK,GAAA1F,EAAA,CAAA0F,KAAL;AAAA,MACAE,WAAW,GAAA5F,EAAA,CAAA4F,WADX;AAAA,MAEA0C,KAAK,GAAAtI,EAAA,CAAAsI,KAFL;AAAA,MAGAhH,IAAI,UAHJ;AAAA,MAIAuE,IAAI,GAAA7F,EAAA,CAAA6F,IAJJ;AAAA,MAKAkG,KAAK,GAAA/L,EAAA,CAAA+L,KALL;AAAA,MAMAhJ,EAAkB,GAAA/C,EAAA,CAAAC,UANlB;AAAA,MAMAA,UAAU,GAAG8C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EANlB;AAAA,MAOAmF,kBAPA;AAAA,MAOAyC,UAAU,GAAGzC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,KAPb;AAAA,MAQAuN,MAAM,GAAAzV,EAAA,CAAAyV,MARN;AAAA,MASA9T,SAAS,GAAA3B,EAAA,CAAA2B,SATT,CAAA;AAaJ,EAAA,OACIG,cAAA,CAAAC,aAAA,CAACrC,MAAD,EAAK;AAACiI,IAAAA,GAAG,EAAEA,GAAN;AAAWgD,IAAAA,UAAU,EAAEA,UAAvB;AAAmChJ,IAAAA,SAAS,EAAEA,SAAAA;AAA9C,GAAL,EACK,CAAAoK,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEvE,KAAP,KACG1F,cAAA,CAAAC,aAAA,CAAC+R,cAAD,EAAoBxN,QAAA,CAAA,EAAA,EAAAT,IAAA,EAAM;AAAA8E,IAAAA,UAAU,EAAEA,UAAAA;AAAZ,GAAN,CAApB,EACI7I,cAAC,CAAAC,aAAD,CAACmJ,aAAD;AACI1D,IAAAA,KAAK,EAAEuE,KAAK,CAACvE;AACbjH,IAAAA,MAAM,EAAEwL,KAAK,CAACxL;AACdU,IAAAA,SAAS,EAAE8K,KAAK,CAAC9K;AACjB6F,IAAAA,KAAK,EAAEiF,KAAK,CAACjF;AACbW,IAAAA,MAAM,EAAEsE,KAAK,CAACtE;AACdgC,IAAAA,GAAG,EAAEsC,KAAK,CAACtC;AACX2C,IAAAA,MAAM,EAAEL,KAAK,CAACK;AACdD,IAAAA,UAAU,EACNJ,KAAK,CAACI,UAAN,KAAqB1F,SAArB,GACM,IADN,GAEMsF,KAAK,CAACI;AAEhBlM,IAAAA,UAAU,EAAEA,UAAAA;GAbhB,CADJ,CAFR,EAoBI6B,cAAA,CAAAC,aAAA,CAACkT,SAAD,EAAU3O,QAAA,CAAA,EAAA,EACFT,IADE,EACE;AACR5F,IAAAA,UAAU,EAAEA,UADJ;AAERsG,IAAAA,SAAS,EAAEb,KAFH;AAEQ,IACL,YAAA,EAAA,OAAA;AAHH,GADF,CAAV,EAMKA,KANL,CApBJ,EA4BI5D,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AACDuB,IAAAA,IAAI,EAAC,OADJ;AAEDlC,IAAAA,UAAU,EAAEA,UAFX;kBAGU,MAHV;AAIDyC,IAAAA,SAAS,EAAEkD,WAAAA;AAJV,GAAL,CA5BJ,EAkCI9D,cAAA,CAAAC,aAAA,CAACuT,cAAD,EAAe;AAAC3K,IAAAA,UAAU,EAAEA,UAAAA;AAAb,GAAf,EACI7I,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AACDwB,IAAAA,IAAI,EAAC,QADJ;AAEDnC,IAAAA,UAAU,EAAEA,UAFX;AAGDyC,IAAAA,SAAS,EAAE4F,KAHV;AAGe,IACL,YAAA,EAAA,OAAA;AAJV,GAAL,CADJ,EAOIxG,cAAC,CAAAC,aAAD,CAACnB,IAAD;AACIwB,IAAAA,IAAI,EAAC;AACLD,IAAAA,IAAI,EAAC;AACLlC,IAAAA,UAAU,EAAEA;AACZyC,IAAAA,SAAS,EAAEpB;AACA,IAAA,YAAA,EAAA,MAAA;GALf,CAPJ,CAlCJ,EAiDKmU,MAAM,IAAI3T,cAAC,CAAAC,aAAD,CAACwT,MAAD,EAAS,IAAT,EAASE,MAAM,CAACxV,UAAD,CAAf,CAjDf,CADJ,CAAA;AAqDH,CA1EqB,CAA1B,CAAA;AA6EAuV,OAAO,CAAChC,WAAR,GAAsB,SAAtB,CAAA;;;AC7KA,IAAMkC,WAAW,GAeZ,UAAC1V,EAAD,EAA4D;AAAzD,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAU+S,QAAQ,GAAA3V,EAAA,CAAA2V,QAAlB;AAAA,MAAoB7S,MAAM,GAAA9C,EAAA,CAAA8C,MAA1B;AAAA,MAA4BC,EAAkB,GAAA/C,EAAA,CAAA2K,UAA9C;AAAA,MAA4BA,UAAU,GAAG5H,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EAA9C;AAAA,MAAgDuR,OAAO,GAAAtU,EAAA,CAAAsU,OAAvD,CAAA;AACI,EAAA,IAAA1S,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM8S,YAAY,GAAG,CAAAD,QAAQ,KAAR,IAAA,IAAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAQ,CAAEzO,MAAV,KAAoB,CAAzC,CAAA;AAEA,EAAA,IAAM2O,MAAM,GAAGC,OAAO,CAAC,YAAA;AACnB,IAAA,IAAIxB,OAAJ,EAAa;AACT,MAAOA,OAAAA,OAAO,KAAK,CAAnB,CAAA;AACH,KAHkB;;;AAMnB,IAAOqB,OAAAA,QAAQ,IAAIA,QAAQ,CAACzO,MAAT,GAAkB,CAAlB,KAAwB,CAA3C,CAAA;AACH,GAPqB,EAOnB,CAACyO,QAAD,EAAWrB,OAAX,CAPmB,CAAtB,CAAA;AASQ,EAAWG,IAAAA,QAAQ,GAAKrN,mBAAmB,CAAiB;AAChEC,IAAAA,UAAU,EAAEuO,YADoD;AAEhEtO,IAAAA,WAAW,EAAE,CACT,sBADS,EAET,qBAFS,EAGT,sBAHS,EAIT,qBAJS,CAFmD;AAQhEC,IAAAA,UAAU,EAAE;AACRC,MAAAA,KAAK,EAAE,CADC;AAERjH,MAAAA,MAAM,EAAE,CAFA;AAGRU,MAAAA,SAAS,EAAE,CAHH;AAIR6F,MAAAA,KAAK,EAAE+O,MAAM,GAAG,CAAH,GAAO,CAJZ;AAKRpO,MAAAA,MAAM,EAAEoO,MAAM,GAAG,CAAH,GAAO,CAAA;AALb,KAAA;AARoD,GAAjB,CAAnB,UAAxB,CAAA;AAiBR,EAAA,OACI/T,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVf,GAAR,EAYIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAC,IAAAA,aAAa,EAAC,IAAd;AAAciF,IAAAA,UAAU,EAAC,QAAA;AAAzB,GAAT,EACI9G,cAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACC,GAAN,EAAS;AACLkS,IAAAA,MAAM,EAAEF,MAAM,IAAID,YAAY,IAAI,CAA1B,GAA8B,QAA9B,GAAyC,MAAA;AAD5C,GAAT,EAGKD,QAAQ,KAAR,IAAA,IAAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAQ,CAAE5R,GAAV,CAAc,UAACiS,OAAD,EAAUhS,CAAV;AAAgB,IAAA,OAC3BlC,cAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACE,GAAN;AACI7C,MAAAA,SAAS,EAAE;AAAE8H,QAAAA,IAAI,EAAE,CAAI,GAAA,EAAA;AAAZ;AACXjC,MAAAA,KAAK,EAAE;AACHiC,QAAAA,IAAI,EAAE8M,MAAM,GAAG,CAAI,GAAA,EAAP,GAAY,CAAI,GAAA,EAAA;AADzB;AAGP3R,MAAAA,GAAG,EAAEF,CAAAA;KALT,EAOIlC,cAAA,CAAAC,aAAA,CAACyT,OAAD,EAAQlP,QAAA,CAAA;AACJqB,MAAAA,GAAG,EAAE8M,QAAQ,CAACzQ,CAAD,CAAA;AADT,KAAA,EAEAgS,OAFA,EAGJ;AAAArL,MAAAA,UAAU,EAAEA,UAAZ;AACA1K,MAAAA,UAAU,EAAEA,UAAAA;AADZ,KAHI,CAAR,CAPJ,CAD2B,CAAA;AAe9B,GAfA,CAHL,CADJ,CAZJ,CADJ,CAAA;AAqCH,CAnFD,CAAA;AAsFA,oBAAeyE,YAAY,CAACgR,WAAD,CAA3B;;ACrFA,IAAMxK,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAgB7L,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,yCAAA,EAAA,uGAAA,CAAA,EAAA,CAAA,yCAAA,EAEoC,uGAFpC,CAAA,CAAA,CAAhB,EAEI,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAFpD,CAAjB,CAAA;;AAaA,IAAMkR,OAAO,GASR,UAACjW,EAAD,EAA6B;AAA1B,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUE,MAAM,GAAA9C,EAAA,CAAA8C,MAAhB;AAAA,MAAkBoT,MAAM,GAAAlW,EAAA,CAAAkW,MAAxB,CAAA;AACI,EAAA,IAAAtU,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAS,IAAT,EACKqS,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEnS,GAAR,CAAY,UAACoF,GAAD,EAAMnF,CAAN,EAAY;AAAA,IAAA,OACrBlC,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACLI,MAAAA,GAAG,EAAEF,CADA;AAEL/C,MAAAA,SAAS,EAAE;AACP8H,QAAAA,IAAI,EAAEI,GAAG,CAACgN,MAAJ,GAAa,EAAA,GAAK,EAAlB,GAAuB,CAAI,GAAA,EAAA;AAD1B,OAAA;AAFN,KAAT,EAMIrU,cAAA,CAAAC,aAAA,CAACmJ,aAAD,EACQ5E,QAAA,CAAA,EAAA,EAAA6C,GAAA;AACJgD,MAAAA,UAAU,EAAA;AACVlM,MAAAA,UAAU,EAAEA,UAAAA;KAFR,CADR,CANJ,CADqB,CAAA;AAaxB,GAbA,CADL,CADJ,CAZJ,CADJ,CAAA;AAiCH,CA9CD,CAAA;AAiDA,gBAAeyE,YAAY,CAACuR,OAAD,CAA3B,CAAA;;;ACrDA,IAAMG,QAAM,GAWP,UAACpW,EAAD,EAWJ;MAVGC,UAAU,GAAAD,EAAA,CAAAC;MACVoW,QAAQ,GAAArW,EAAA,CAAAqW;MACRH,MAAM,GAAAlW,EAAA,CAAAkW;MACNI,KAAK,GAAAtW,EAAA,CAAAsW;MACLC,YAAY,GAAAvW,EAAA,CAAAuW;MACZC,iBAAiB,GAAAxW,EAAA,CAAAwW;MACjBC,gBAAgB,GAAAzW,EAAA,CAAAyW;MAChBC,aAAa,GAAA1W,EAAA,CAAA0W;MACb/U,SAAS,GAAA3B,EAAA,CAAA2B;MACTgV,QAAQ,GAAA3W,EAAA,CAAA2W;;AAER,EAAA,QAAQ,IAAR;AACI,IAAK,KAAA,CAAC,CAACN,QAAP;AAAiB,MAAA;AACb,QAAA,OACIvU,cAAA,CAAAC,aAAA,CAAC6U,WAAD,EAAY;AACR3W,UAAAA,UAAU,EAAEA,UADJ;AAERoW,UAAAA,QAAQ,EAAEA,QAFF;AAGRC,UAAAA,KAAK,EAAEA,KAHC;AAIRO,UAAAA,cAAc,EAAEX,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAG,CAAH,CAJd;AAKRvU,UAAAA,SAAS,EAAEA,SAAAA;AALH,SAAZ,EAOKgV,QAPL,CADJ,CAAA;AAWH,OAAA;;AAED,IAAA,KAAKT,MAAM,IAAIA,MAAM,CAAChP,MAAP,GAAgB,CAA/B;AAAkC,MAAA;AAC9B,QAAA,OACIpF,cAAA,CAAAC,aAAA,CAAC+U,cAAD,EAAe;AACXZ,UAAAA,MAAM,EAAEA,MAAM,IAAI,EADP;AAEXa,UAAAA,IAAI,EAAER,YAFK;AAGXS,UAAAA,SAAS,EAAER,iBAHA;AAIXS,UAAAA,QAAQ,EAAER,gBAJC;AAKXC,UAAAA,aAAa,EAAEA,aALJ;AAMX/U,UAAAA,SAAS,EAAEA,SAAAA;AANA,SAAf,EAQKgV,QARL,CADJ,CAAA;AAYH,OAAA;AAED;;AACA,IAAA,KAAKT,MAAM,IAAIA,MAAM,CAAChP,MAAP,KAAkB,CAAjC;AAAoC,MAAA;AAChC,QAAA,OACIpF,cAAA,CAAAC,aAAA,CAACmV,YAAD,EAAa;AACTjX,UAAAA,UAAU,EAAEA,UADH;AAETkX,UAAAA,OAAO,EAAEjB,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAG,CAAH,CAFN;AAGTI,UAAAA,KAAK,EAAEA,KAHE;AAIT3U,UAAAA,SAAS,EAAEA,SAAAA;AAJF,SAAb,EAMKgV,QANL,CADJ,CAAA;AAUH,OAAA;;AAED,IAAA;AAAS,MAAA;AACL,QAAO7U,OAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAM4U,QAAN,CAAP,CAAA;AACH,OAAA;AA9CL,GAAA;AAgDH,CAvED,CAAA;;AAyEA,IAAMS,eAAe,GAAG,UAACjB,MAAD,EAAqB;AAAA,EAAApL,OAAAA,GAAG,CAAAnL,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,+EAAA,EAAA,IAAA,CAAA,EAAA,CAAA,+EAAA,EA4G3C,IA5G2C,CAAA,CAAA,CAAA,EAE1C,UAACS,EAAD,EAAU;AAAP,IAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAO;;AAER,IAAMkX,IAAAA,SAAS,GAAGC,mBAAQ,CAAC;AACvBC,MAAAA,QAAQ,EAAE,eADa;AAEvBC,MAAAA,OAAO,EAAE,IAAA;AAFc,KAAD,CAA1B,CAFQ;;AAQR,IAAMC,IAAAA,YAAY,GAAGH,mBAAQ,CAAC;AAC1BC,MAAAA,QAAQ,EAAE,eADgB;AAE1BC,MAAAA,OAAO,EAAE,IAFiB;AAG1BE,MAAAA,MAAM,EAAE,IAAA;AAHkB,KAAD,CAA7B,CARQ;;AAeR,IAAMC,IAAAA,eAAe,GAAGL,mBAAQ,CAAC;AAC7BC,MAAAA,QAAQ,EAAE,eADmB;AAE7BC,MAAAA,OAAO,EAAE,IAFoB;AAG7BI,MAAAA,SAAS,EAAE,IAAA;AAHkB,KAAD,CAAhC,CAfQ;;AAsBR,IAAMC,IAAAA,SAAS,GAAGP,mBAAQ,CAAC;AACvBC,MAAAA,QAAQ,EAAE,eADa;AAEvBG,MAAAA,MAAM,EAAE,IAFe;AAGvBF,MAAAA,OAAO,EAAE,IAHc;AAIvBI,MAAAA,SAAS,EAAE,IAAA;AAJY,KAAD,CAA1B,CAAA;AAOA,IAAME,IAAAA,aAAa,GAAGC,oBAAY,CAAC5X,KAAD,EAAQkX,SAAR,CAAZ,CAA+BvQ,KAArD,CAAA;AACA,IAAMkR,IAAAA,gBAAgB,GAAGD,oBAAY,CAAC5X,KAAD,EAAQsX,YAAR,CAAZ,CAAkC3Q,KAA3D,CAAA;AACA,IAAMmR,IAAAA,mBAAmB,GAAGF,oBAAY,CAAC5X,KAAD,EAAQwX,eAAR,CAAZ,CAAqC7Q,KAAjE,CAAA;AACA,IAAMoR,IAAAA,aAAa,GAAGH,oBAAY,CAAC5X,KAAD,EAAQ0X,SAAR,CAAZ,CAA+B/Q,KAArD,CAAA;;AAEA,IAAA,IAAMqR,aAAa,GAAG,UAACC,MAAD,EAAiB;AACnC,MAAA,OAAOA,MAAM,CAACrU,GAAP,CAAW,UAACsU,EAAD;AAAQ,QAAA,OAAA,wBAAAlU,MAAA,CAAwBkU,EAAxB,EAA8B,IAA9B,CAAA,CAAA;AAA8B,OAAjD,CAAmDC,CAAAA,IAAnD,CAAwD,EAAxD,CAAP,CAAA;AACH,KAFD,CAAA;;AAIA,IAAA,IAAMC,SAAS,GAAGpC,MAAM,GAAG,OAAH,GAAa,MAArC,CAAA;AAEA,IAAA,OAAOpL,GAAG,CAAAzL,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,oBAAA,EAAA,kEAAA,EAAA,iFAAA,EAAA,8BAAA,EAAA,uCAAA,EAAA,KAAA,EAAA,gHAAA,EAAA,8BAAA,EAAA,uCAAA,EAAA,KAAA,EAAA,mHAAA,EAAA,8BAAA,EAAA,uCAAA,EAAA,KAAA,EAAA,uGAAA,EAAA,8BAAA,EAAA,uCAAA,EAAA,KAAA,EAAA,+DAAA,EAAA,yEAAA,EAAA,kCAAA,EAAA,2CAAA,EAAA,KAAA,EAAA,gIAAA,EAAA,kCAAA,EAAA,2CAAA,EAAA,KAAA,EAAA,mIAAA,EAAA,kCAAA,EAAA,yEAAA,EAAA,KAAA,EAAA,iJAAA,EAAA,kCAAA,EAAA,2CAAA,EAAA,KAAA,EAAA,yEAAA,CAAA,EAAA,CAAA,oBAAA,EACY,kEADZ,EAGiB,iFAHjB,EAOqC,8BAPrC,EAQgB,uCARhB,EAS0B,KAT1B,EASgD,gHAThD,EAcwC,8BAdxC,EAegB,uCAfhB,EAgB0B,KAhB1B,EAgBmD,mHAhBnD,EAqB2C,8BArB3C,EAsBgB,uCAtBhB,EAuB0B,KAvB1B,EAuBsD,uGAvBtD,EA4BqC,8BA5BrC,EA6BgB,uCA7BhB,EA8B0B,KA9B1B,EA8BgD,+DA9BhD,EAkCe,yEAlCf,EAoCyC,kCApCzC,EAqCoB,2CArCpB,EAsC8B,KAtC9B,EAsCoD,gIAtCpD,EA2C4C,kCA3C5C,EA4CoB,2CA5CpB,EA6C8B,KA7C9B,EA6CuD,mIA7CvD,EAkD+C,kCAlD/C,EAmDoB,yEAnDpB,EAqDqB,KArDrB,EAqDiD,iJArDjD,EA2DyC,kCA3DzC,EA4DoB,2CA5DpB,EA6D8B,KA7D9B,EA6DoD,yEA7DpD,CAAA,CAAA,CAAA,EACAiZ,YADA,EAGQD,SAHR,EAOEJ,aAAa,CAACd,SAAS,CAACoB,KAAV,CAAgB,GAAhB,CAAD,CAPf,EAQID,YARJ,EASiBD,SATjB,EASgCT,aAAa,CAAC,CAAD,CAT7C,EAcEK,aAAa,CAACV,YAAY,CAACgB,KAAb,CAAmB,GAAnB,CAAD,CAdf,EAeID,YAfJ,EAgBiBD,SAhBjB,EAgBgCP,gBAAgB,CAAC,CAAD,CAhBhD,EAqBEG,aAAa,CAACR,eAAe,CAACc,KAAhB,CAAsB,GAAtB,CAAD,CArBf,EAsBID,YAtBJ,EAuBiBD,SAvBjB,EAuBgCN,mBAAmB,CAAC,CAAD,CAvBnD,EA4BEE,aAAa,CAACN,SAAS,CAACY,KAAV,CAAgB,GAAhB,CAAD,CA5Bf,EA6BID,YA7BJ,EA8BiBD,SA9BjB,EA8BgCL,aAAa,CAAC,CAAD,CA9B7C,EAkCG1X,EAAE,CAACS,SAlCN,EAoCMkX,aAAa,CAACd,SAAS,CAACoB,KAAV,CAAgB,GAAhB,CAAD,CApCnB,EAqCQD,YArCR,EAsCqBD,SAtCrB,EAsCoCT,aAAa,CAAC,CAAD,CAtCjD,EA2CMK,aAAa,CAACV,YAAY,CAACgB,KAAb,CAAmB,GAAnB,CAAD,CA3CnB,EA4CQD,YA5CR,EA6CqBD,SA7CrB,EA6CoCP,gBAAgB,CAAC,CAAD,CA7CpD,EAkDMG,aAAa,CAACR,eAAe,CAACc,KAAhB,CAAsB,GAAtB,CAAD,CAlDnB,EAmDQD,YAnDR,EAqDYD,SArDZ,EAqD2BN,mBAAmB,CAAC,CAAD,CArD9C,EA2DME,aAAa,CAACN,SAAS,CAACY,KAAV,CAAgB,GAAhB,CAAD,CA3DnB,EA4DQD,YA5DR,EA6DqBD,SA7DrB,EA6DoCL,aAAa,CAAC,CAAD,CA7DjD,CAAV,CAAA;AAkEH,GA5G2C,CAAH,CAAA;AA6G5C,CA7GD,CAAA;;AA+GA,IAAMQ,aAAa,GAAGtZ,MAAM,CAAC+D,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAkBpD,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,iCAAA,EAAA,gCAAA,EAAA,YAAA,EAAA,WAAA,CAAA,EAAA,CAAA,iCAAA,EAEV,gCAFU,EAKE,YALF,EAMC,WAND,CAAA,CAAA,CAAlB,EAEb6X,eAAe,CAAC,IAAD,CAFF,EAKTvE,SAAS,CAAC,CAAC,CAAD,CAAD,EAAM,aAAN,CALA,EAMTA,SAAS,CAAC,CAAC,CAAD,CAAD,EAAM,YAAN,CANA,CAAnB,CAAA;AAUA,IAAM8F,kBAAkB,GAAGvZ,MAAM,CAAC+D,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,4BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAkBtC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,iCAAA,EAAA,gCAAA,EAAA,YAAA,EAAA,WAAA,CAAA,EAAA,CAAA,iCAAA,EAEd,gCAFc,EAKH,YALG,EAMJ,WANI,CAAA,CAAA,CAAlB,EAElB6X,eAAe,CAAC,KAAD,CAFG,EAKdvE,SAAS,CAAC,CAAC,CAAD,CAAD,EAAM,aAAN,CALK,EAMdA,SAAS,CAAC,CAAC,CAAD,CAAD,EAAM,YAAN,CANK,CAAxB,CAAA;AAUA,IAAM2F,YAAY,GAAGpZ,MAAM,CAACgX,QAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAiBrV,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,yFAAA,EAAA,4BAAA,CAAA,EAAA,CAAA,yFAAA,EAIG,4BAJH,CAAA,CAAA,CAAjB,EAIDC,QAAQ,CAACoZ,YAJR,CAAlB,CAAA;AAQA,IAAMC,SAAO,GAAGzZ,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAA0DmG,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,iBAAA,EAAA,wGAAA,EAAA,mCAAA,EAAA,sCAAA,CAAA,EAAA,CAAA,iBAAA,EACH,wGADG,EAOlB,mCAPkB,EAUjD,sCAViD,CAAA,CAAA,CAA1D,EACE,UAACS,EAAD,EAAgB;AAAb,EAAA,IAAA8Y,WAAW,GAAA9Y,EAAA,CAAA8Y,WAAX,CAAA;AAAkB,EAAA,OAACA,WAAW,GAAG,OAAH,GAAa,MAAzB,CAAA;AAAgC,CADvD,EAOK,UAAC9Y,EAAD,EAAY;AAAT,EAAA,IAAA+Y,OAAO,GAAA/Y,EAAA,CAAA+Y,OAAP,CAAA;AAAc,EAAAA,OAAAA,OAAO,IAAIA,OAAX,CAAA;AAAkB,CAPxC,EAUAvY,EAAE,CAACD,MAVH,CAAb,CAAA;AAeA,IAAM6E,SAAO,GAAGhG,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,miBAA8D,yCAE1C,oCAsBxB,mBAEa,0HAI2C,+HAM3B,yEAIG,2DAxC5B,EAEIG,QAAQ,CAACmT,OAFb,EAKP,UAAC3S,EAAD,EAA4B;MAAzB8Y,WAAW,GAAA9Y,EAAA,CAAA8Y;MAAEnO,UAAU,GAAA3K,EAAA,CAAA2K;AACxB,EAAA,OAAAmO,WAAW,IACX/N,GAAG,CAAAd,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,sIAAA,EAAA,qJAAA,EAAA,mFAAA,EAAA,iEAAA,CAAA,EAAA,CAAA,sIAAA,EAIsC,qJAJtC,EAU2B,mFAV3B,EAckC,iEAdlC,CAAA,CAAA,CAAA,EAIgBoL,UAAU,IAAI,QAJ9B,EAUYnL,QAAQ,CAACwB,MAVrB,EAcmBxB,QAAQ,CAACwB,MAd5B,CADH,CAAA;AAkBC,CAxBI,EA0BAR,EAAE,CAACD,MA1BH,EA8BU,UAACP,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CA9BpD,EAoCMnL,QAAQ,CAACwB,MAAT,GAAkB,CApCxB,EAwCaxB,QAAQ,CAACwB,MAxCtB,CAAb,CAAA;AA8CA,IAAMgY,aAAa,GAAG5Z,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAaiM,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAA/L,oBAAA,CAAA,CAAA,iBAAA,EAAA,KAAA,EAAA,8CAAA,EAAA,2BAAA,EAAA,qCAAA,CAAA,EAAA,CAAA,iBAAA,EACF,KADE,EACsB,8CADtB,EAIK,2BAJL,EAOV,qCAPU,CAAA,CAAA,CAAb,EACJC,QAAQ,CAACwB,MADL,EACiBxB,QAAQ,CAACC,KAAT,GAAiB,CADlC,EAIGD,QAAQ,CAACwB,MAJZ,EAONR,EAAE,CAACD,MAPG,CAAnB,CAAA;AAYA,IAAM8E,OAAK,GAAGjG,MAAM,CAAC6Z,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAkBlL,CAAAA,CAAAA,mBAAA,KAAAA,mBAAA,GAAAxO,oBAAA,CAAA,CAAA,oBAAA,EAAA,kBAAA,EAAA,sOAAA,CAAA,EAAA,CAA0B,oBAA1B,EAC+B,kBAD/B,EAGP,sOAHO,CAAA,CAAA,CAAlB,EACO,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CADjD,EAGEnK,EAAE,CAACD,MAHL,CAAX,CAAA;AAaA,IAAMyT,MAAI,GAAG5U,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAyC6K,CAAAA,CAAAA,mBAAA,KAAAA,mBAAA,GAAAlM,oBAAA,CAAA,CAAA,oBAAA,EAAA,wMAAA,CAAA,EAAA,CAAA,oBAAA,EACS,wMADT,CAAA,CAAA,CAAzC,EACQ,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CADlD,CAAV,CAAA;AAWA,IAAM7C,eAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,2JAA4C,iBACzC,qDAE0C,eAH7C,EACNvH,EAAE,CAACD,MADG,EAGG,UAACP,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CAH7C,CAAnB,CAAA;;AAiBA,IAAMuO,MAAM,GAsDP,UAAClZ,EAAD,EAmBJ;AAlBG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAG,EAAA,GAAA/C,EAAA,CAAAmC,IADA;AAAA,MACAA,IAAI,mBAAG,SAAMY,EADb;AAAA,MAEAmF,EAAA,GAAAlI,EAAA,CAAAmZ,UAFA;AAAA,MAEAA,UAAU,GAAAjR,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,QAAD,EAAW,QAAX,CAAH,GAAuBA,EAFjC;AAAA,MAGAyC,UAAU,GAAA3K,EAAA,CAAA2K,UAHV;AAAA,MAIAjF,KAAK,GAAA1F,EAAA,CAAA0F,KAJL;AAAA,MAKAuC,OAAO,GAAAjI,EAAA,CAAAiI,OALP;AAAA,MAMA3G,IAAI,UANJ;AAAA,MAOAmH,aAAa,mBAPb;AAAA,MAQAC,eAAe,qBARf;AAAA,MASA2N,QAAQ,GAAArW,EAAA,CAAAqW,QATR;AAAA,MAUAH,MAAM,GAAAlW,EAAA,CAAAkW,MAVN;AAAA,MAWAkD,gBAAgB,GAAApZ,EAAA,CAAAoZ,gBAXhB;AAAA,MAYAvK,EAAmB,GAAA7O,EAAA,CAAAuW,YAZnB;AAAA,MAYAA,YAAY,GAAA1H,EAAA,KAAA,KAAA,CAAA,GAAG,IAAH,GAAOA,EAZnB;AAAA,MAaAG,yBAbA;AAAA,MAaAwH,iBAAiB,mBAAG,CAAC,GAAD,EAAM,GAAN,IAAUxH,EAb9B;AAAA,MAcAG,EAAwB,GAAAnP,EAAA,CAAAyW,gBAdxB;AAAA,MAcAA,gBAAgB,GAAGtH,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EAdxB;AAAA,MAeAuH,aAAa,GAAA1W,EAAA,CAAA0W,aAfb;AAAA,MAgBA5T,MAAM,GAAA9C,EAAA,CAAA8C,MAhBN;AAAA,MAiBAgW,WAAW,GAAA9Y,EAAA,CAAA8Y,WAjBX,CAAA;;AAmBM,EAAAxJ,IAAAA,EAAA,GAAsBzN,WAAW,EAAjC;AAAA,MAAEwX,OAAO,GAAA/J,EAAA,CAAA+J,OAAT;AAAA,MAAWzX,MAAM,GAAA0N,EAAA,CAAA1N,MAAjB,CAAA;;AACN,EAAA,IAAM3B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAM6F,IAAAA,UAAU,GAAGjD,KAAK,IAAIpE,IAAT,IAAiBmH,aAAjB,IAAkCC,eAArD,CAAA;AAEA,EAAA,IAAM4Q,OAAO,GAAG3Q,UAAU,GACpByQ,gBAAgB,IAAIC,OAAO,CAACvU,QAAR,CAAiBmG,iBADjB,GAEpBxE,SAFN,CAAA;AAIA,EAAMtD,IAAAA,OAAO,GAAGhB,IAAI,KAAK,MAAT,GAAkBuW,aAAlB,GAAkCC,kBAAlD,CAAA;AAEA,EAAA,OACI7W,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAA,CAAAC,aAAA,CAACyW,YAAD,EACI;AAAAvY,IAAAA,UAAU,EAAEA,UAAZ;AACAiW,IAAAA,MAAM,EAAEA,MADR;AAEAG,IAAAA,QAAQ,EAAEA,QAFV;AAGAI,IAAAA,gBAAgB,EAAEA,gBAHlB;AAIAF,IAAAA,YAAY,EAAEA,YAJd;AAKAC,IAAAA,iBAAiB,EAAEA,iBALnB;AAMAE,IAAAA,aAAa,EAAEA,aANf;AAOAJ,IAAAA,KAAK,EAAE6C,UAAAA;AAPP,GADJ,EAUKxQ,UAAU,IACP7G,cAAC,CAAAC,aAAD,CAACD,cAAK,CAACyX,QAAP,EAAe,IAAf,EACIzX,cAAC,CAAAC,aAAD,CAAC8W,SAAD;AAASE,IAAAA,OAAO,EAAEO;AAASR,IAAAA,WAAW,EAAEA,WAAAA;GAAxC,CADJ,EAEIhX,cAAC,CAAAC,aAAD,CAACqD,SAAD;AACIuF,IAAAA,UAAU,EAAEA;AACZmO,IAAAA,WAAW,EAAEA,WAAAA;GAFjB,EAIKpT,KAAK,IACF5D,cAAC,CAAAC,aAAD,CAACsD,OAAD;AACIpF,IAAAA,UAAU,EAAA;AACVkC,IAAAA,IAAI,EAAC;AACLwI,IAAAA,UAAU,EAAEA;AACZzI,IAAAA,QAAQ,EAAE+F;AACVvF,IAAAA,SAAS,EAAEgD,KAAAA;GALf,CALR,EAaKpE,IAAI,IACDQ,cAAC,CAAAC,aAAD,CAACiS,MAAD;AACI/T,IAAAA,UAAU,EAAA;AACV0K,IAAAA,UAAU,EAAEA;AACZvI,IAAAA,IAAI,EAAC;AACLD,IAAAA,IAAI,EAAC;AACLO,IAAAA,SAAS,EAAEpB,IAAAA;GALf,CAdR,EAsBK,CAACmH,aAAa,IAAIC,eAAlB,KACG5G,cAAA,CAAAC,aAAA,CAAC+F,eAAD,EAAc;AACV6C,IAAAA,UAAU,EAAEA,UADF;AAEVhG,IAAAA,OAAO,EACH8D,aAAa,IAAIA,aAAa,CAAC,IAAD,CAHxB;AAKVO,IAAAA,SAAS,EACLN,eAAe,IAAIA,eAAe,CAAC,IAAD,CAAA;AAN5B,GAAd,CAvBR,CAFJ,CAXR,CAZJ,EA8DKC,UAAU,IAAI,CAACmQ,WAAf,IACGhX,4BAAA,CAACkX,aAAD,EAAc,IAAd,EACKtT,KAAK,IACF5D,cAAA,CAAAC,aAAA,CAACsD,OAAD,EAAM;AACFlD,IAAAA,IAAI,EAAC,WADH;AAEFwI,IAAAA,UAAU,EAAEA,UAFV;AAGFzI,IAAAA,QAAQ,EAAE+F,OAHR;AAIFvF,IAAAA,SAAS,EAAEgD,KAJT;AAKFzF,IAAAA,UAAU,EAAEA,UAAAA;AALV,GAAN,CAFR,EAUKqB,IAAI,IACDQ,cAAA,CAAAC,aAAA,CAACiS,MAAD,EAAK;AACD5R,IAAAA,IAAI,EAAC,QADJ;AAEDD,IAAAA,IAAI,EAAC,KAFJ;AAGDwI,IAAAA,UAAU,EAAEA,UAHX;AAIDjI,IAAAA,SAAS,EAAEpB,IAJV;AAKDrB,IAAAA,UAAU,EAAEA,UAAAA;AALX,GAAL,CAXR,EAmBK,CAACwI,aAAa,IAAIC,eAAlB,KACG5G,cAAC,CAAAC,aAAD,CAAC+F,eAAD,EACI;AAAA6C,IAAAA,UAAU,EAAEA,UAAZ;AACAhG,IAAAA,OAAO,EAAE8D,aAAa,IAAIA,aAAa,CAACxI,UAAD,CADvC;AAEA+I,IAAAA,SAAS,EACLN,eAAe,IAAIA,eAAe,CAACzI,UAAD,CAAA;AAHtC,GADJ,CApBR,CA/DR,CADJ,CAAA;AAgGH,CApLD,CAAA;AAuLA,eAAeyE,YAAY,CAACwU,MAAD,CAA3B,CAAA;;;ACpgBA,IAAMM,aAAa,GAAGpa,MAAM,CAAC+D,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAkB7D,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,sCAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,YAAA,CAAA,EAAA,CAA0B,sCAA1B,EAGZ,sBAHY,EAI8B,2BAJ9B,EAMqC,YANrC,CAAA,CAAA,CAAlB,EAGNiB,EAAE,CAACS,SAHG,EAID,UAACjB,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,QAAH,GAAc,GAAzB,CAAA;AAA6B,CAJhD,EAMG,UAAC3K,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,QAAH,GAAc,MAAzB,CAAA;AAAgC,CANvD,CAAnB,CAAA;AAUA,IAAM8O,aAAa,GAAGra,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAuCO,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,oJAAA,EAAA,2BAAA,EAAA,+BAAA,EAAA,YAAA,CAAA,EAAA,CAAA,oJAAA,EAOlB,2BAPkB,EAUjC,+BAViC,EAYV,YAZU,CAAA,CAAA,CAAvC,EAOMC,QAAQ,CAACwB,MAPf,EAUNR,EAAE,CAACS,SAVG,EAWQ,UAACjB,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAClB,EAAA,OAAAA,UAAU,GAAG,QAAH,GAAc,YAAxB,CAAA;AAAoC,CAZ7B,CAAnB,CAAA;AAgBA,IAAM+O,OAAK,GAAGta,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAA2D5G,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,iBAAA,EAAA,oDAAA,EAAA,+EAAA,EAAA,yBAAA,EAAA,6CAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,yEAAA,CAAA,EAAA,CAAA,iBAAA,EACN,oDADM,EAI1B,+EAJ0B,EASjC,yBATiC,EAUhC,6CAVgC,EAchD,2BAdgD,EAehC,6BAfgC,EAgB/B,yEAhB+B,CAAA,CAAA,CAA3D,EACI,UAACS,EAAD,EAAc;AAAX,EAAA,IAAA2Z,SAAS,GAAA3Z,EAAA,CAAA2Z,SAAT,CAAA;AAAgB,EAAA,OAACA,SAAS,GAAG,MAAH,GAAY,OAAtB,CAAA;AAA8B,CADrD,EAGY,UAAC3Z,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAClB,EAAA,OAAAA,UAAU,GAAG,QAAH,GAAc,YAAxB,CAAA;AAAoC,CAJjC,EASQnL,QAAQ,CAACC,KAAT,GAAiB,CATzB,EAUSD,QAAQ,CAACC,KAAT,GAAiB,CAV1B,EAcEe,EAAE,CAACD,MAdL,EAeYf,QAAQ,CAACwB,MAfrB,EAgBaxB,QAAQ,CAACwB,MAhBtB,CAAX,CAAA;AAwBA,IAAM4Y,MAAI,GAAGxa,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAYhG,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,qBAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,gEAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,qFAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,CAGpB,qBAHoB,EAIe,yBAJf,EAKgB,sBALhB,EAQ2B,gEAR3B,EAcA,2BAdA,EAegB,6BAfhB,EAgBiB,qFAhBjB,EAuBG,uBAvBH,EAyB+B,yBAzB/B,EA4BD,uBA5BC,EA8BgC,YA9BhC,CAAA,CAAA,CAAZ,EAISC,QAAQ,CAACC,KAAT,GAAiB,CAJ1B,EAKUD,QAAQ,CAACC,KAAT,GAAiB,CAL3B,EAOK,UAACO,EAAD,EAAqB;MAAlBuE,KAAK,GAAAvE,EAAA,CAAAuE;MAAEoV,SAAS,GAAA3Z,EAAA,CAAA2Z;AAC1B,EAAAA,OAAAA,SAAS,IAAIpV,KAAK,GAAG,CAArB,GAAyB,OAAzB,GAAmC,MAAnC,CAAA;AAAyC,CARvC,EAcG/D,EAAE,CAACD,MAdN,EAeaf,QAAQ,CAACwB,MAftB,EAgBcxB,QAAQ,CAACwB,MAhBvB,EAuBGR,EAAE,CAACS,SAvBN,EAwBS,UAACjB,EAAD,EAAqB;MAAlBuE,KAAK,GAAAvE,EAAA,CAAAuE;MAAEoV,SAAS,GAAA3Z,EAAA,CAAA2Z;AAC1B,EAAAA,OAAAA,SAAS,IAAIpV,KAAK,GAAG,CAArB,GAAyB,OAAzB,GAAmC,MAAnC,CAAA;AAAyC,CAzB3C,EA4BG/D,EAAE,CAACsG,KA5BN,EA6BS,UAAC9G,EAAD,EAAqB;MAAlBuE,KAAK,GAAAvE,EAAA,CAAAuE;MAAEoV,SAAS,GAAA3Z,EAAA,CAAA2Z;AAC1B,EAAAA,OAAAA,SAAS,IAAIpV,KAAK,GAAG,EAArB,GAA0B,OAA1B,GAAoC,MAApC,CAAA;AAA0C,CA9B5C,CAAV,CAAA;AAkCA,IAAMsV,QAAQ,GAAGza,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAyCxE,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,4CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,4CAAA,EAKb,KALa,CAAA,CAAA,CAAzC,EAEO,UAACS,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACjC,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CAL5B,CAAd,CAAA;AAQA,IAAMuX,QAAQ,GAAG1a,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAA2DmG,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,iBAAA,EAAA,iEAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,iBAAA,EAEpB,iEAFoB,EAMH,kBANG,EAQhD,uBARgD,EAUhB,yBAVgB,EAapD,uBAboD,EAef,YAfe,CAAA,CAAA,CAA3D,EACC,UAACS,EAAD,EAAc;AAAX,EAAA,IAAA+Z,SAAS,GAAA/Z,EAAA,CAAA+Z,SAAT,CAAA;AACV,EAAAA,OAAAA,SAAS,IAAIA,SAAS,GAAG,CAAzB,GAA6B,OAA7B,GAAuC,MAAvC,CAAA;AAA6C,CAFvC,EAMI,UAAC/Z,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,QAAH,GAAc,MAAzB,CAAA;AAAgC,CANxD,EAQDnK,EAAE,CAACS,SARF,EASK,UAACjB,EAAD,EAAc;AAAX,EAAA,IAAA+Z,SAAS,GAAA/Z,EAAA,CAAA+Z,SAAT,CAAA;AACV,EAAAA,OAAAA,SAAS,IAAIA,SAAS,GAAG,CAAzB,GAA6B,OAA7B,GAAuC,MAAvC,CAAA;AAA6C,CAV3C,EAaDvZ,EAAE,CAACsG,KAbF,EAcK,UAAC9G,EAAD,EAAc;AAAX,EAAA,IAAA+Z,SAAS,GAAA/Z,EAAA,CAAA+Z,SAAT,CAAA;AACV,EAAAA,OAAAA,SAAS,IAAIA,SAAS,GAAG,EAAzB,GAA8B,OAA9B,GAAwC,MAAxC,CAAA;AAA8C,CAf5C,CAAd,CAAA;AAmBA,IAAMjS,eAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAA4CkC,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mDAAA,EAAA,YAAA,CAAA,EAAA,CAAA,oBAAA,EAC9B,oBAD8B,EAGzC,mDAHyC,EAKC,YALD,CAAA,CAAA,CAA5C,EACDC,QAAQ,CAACwB,MADR,EAGNR,EAAE,CAACD,MAHG,EAKG,UAACP,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,QAAd,CAAA;AAAsB,CAL7C,CAAnB,CAAA;;AAiBA,IAAMqP,QAAQ,GAqCT,UAACha,EAAD,EAWJ;AAVG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAC,KAAK,GAAA7C,EAAA,CAAA6C,KADL;AAAA,MAEAE,kBAFA;AAAA,MAEA4H,UAAU,GAAG5H,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,KAFb;AAAA,MAGA0F,aAAa,mBAHb;AAAA,MAIAC,eAAe,qBAJf;AAAA,MAKAuR,MAAM,GAAAja,EAAA,CAAAia,MALN;AAAA,MAMA/R,oBANA;AAAA,MAMAgS,YAAY,mBAAG,cAAWhS,EAN1B;AAAA,MAOA2G,EAA0B,GAAA7O,EAAA,CAAAma,YAP1B;AAAA,MAOAA,YAAY,GAAAtL,EAAA,KAAA,KAAA,CAAA,GAAG,WAAH,GAAcA,EAP1B;AAAA,MAQAuL,YAAY,GAAApa,EAAA,CAAAoa,YARZ;AAAA,MASAtX,MAAM,GAAA9C,EAAA,CAAA8C,MATN,CAAA;AAWQ,EAAA,IAAAlB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;;AACM,EAAA,IAAAkM,EAA0B,GAAAhM,QAAQ,CAAU,CAACoX,YAAX,CAAlC;AAAA,MAACC,QAAQ,GAAArL,EAAA,CAAA,CAAA,CAAT;AAAA,MAAWsL,WAAW,GAAAtL,EAAA,CAAA,CAAA,CAAtB,CAAA;;AAEN,EAAMuL,IAAAA,iBAAiB,GAAG,YAAA;AACtBD,IAAAA,WAAW,CAAC,UAAClW,IAAD,EAAU;AAAA,MAAA,OAAA,CAACA,IAAD,CAAA;AAAK,KAAhB,CAAX,CAAA;AACH,GAFD,CAAA;;AAIA,EAAA,OACItC,cAAA,CAAAC,aAAA,CAACyX,aAAD,EAAc;AACVpW,IAAAA,aAAa,EAAA,IADH;AAEVR,IAAAA,QAAQ,EAAEA,QAFA;AAGVS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARjB;AAUVwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAVT;AAWV6H,IAAAA,UAAU,EAAEA,UAAAA;AAXF,GAAd,EAaI7I,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAkF,IAAAA,UAAU,EAAC,QAAX;AAAoBjF,IAAAA,aAAa,EAAA,IAAA;AAAjC,GAAT,EACI7B,cAAA,CAAAC,aAAA,CAAC0X,aAAD,EAAc;AAAC9O,IAAAA,UAAU,EAAEA,UAAAA;AAAb,GAAd,EACI7I,cAAA,CAAAC,aAAA,CAAC2X,OAAD,EAAM;AACFC,IAAAA,SAAS,EAAE,CAACU,QAAD,GAAY,IAAZ,GAAmBA,QAAQ,KAAK,IADzC;AAEF1P,IAAAA,UAAU,EAAEA,UAAAA;AAFV,GAAN,EAIK9H,KAAK,SAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEkB,GAAP,CACG,UAAC/D,EAAD,EAA6CgE,CAA7C,EAA8C;AAA3C,IAAA,IAAAwF,GAAG,GAAAxJ,EAAA,CAAAwJ,GAAH;AAAA,QAAK3D,IAAI,GAAA7F,EAAA,CAAA6F,IAAT;AAAA,QAAW4D,GAAG,GAAAzJ,EAAA,CAAAyJ,GAAd;AAAA,QAAgB+Q,KAAK,GAAAxa,EAAA,CAAAwa,KAArB;AAAA,QAAuBrG,eAAe,GAAAnU,EAAA,CAAAmU,eAAtC,CAAA;AAAgD,IAAA,OAC/CrS,cAAA,CAAAC,aAAA,CAAC6X,MAAD,EAAK;AAACD,MAAAA,SAAS,EAAEU,QAAZ;AAAsB9V,MAAAA,KAAK,EAAEP,CAA7B;AAAgCE,MAAAA,GAAG,EAAEF,CAAAA;AAArC,KAAL,EACIlC,cAAC,CAAAC,aAAD,CAAC8X,QAAD,EACQvT,QAAA,CAAA,EAAA,EAAAT,IAAA,EACJ;AAAA5F,MAAAA,UAAU,EAAEA,UAAZ;AACAsG,MAAAA,SAAS,EAAEkD,GAAAA;AADX,KADI,CADR,EAKI3H,cAAA,CAAAC,aAAA,CAACoJ,KAAD,EACqB;AAAA,MAAA,iBAAA,EAAA,KAAA;AACjBlL,MAAAA,UAAU,EAAEA,UADK;AAEjBuH,MAAAA,KAAK,EAAEgC,GAFU;AAGjBC,MAAAA,GAAG,EAAEA,GAHY;AAIjB2C,MAAAA,MAAM,EACFoO,KAAK,GACC;AAAEhT,QAAAA,KAAK,EAAEgT,KAAAA;AAAT,OADD,GAEC/T,SAPO;AASjB0N,MAAAA,eAAe,EAAEA,eAAAA;AATA,KADrB,CALJ,CADJ,CAD+C,CAAA;AAqBlD,GAtBJ,CAJL,CADJ,CADJ,EAgCKiG,YAAY,IACTtY,cAAC,CAAAC,aAAD,CAAC+X,QAAD,EACI;AAAAnP,IAAAA,UAAU,EAAEA,UAAZ;AACAoP,IAAAA,SAAS,EAAE,CAAAlX,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEqE,MAAP,KAAiB,CAAA;AAD5B,GADJ,EAIK+S,MAAM,GACHA,MAAM,CAAC;AACHha,IAAAA,UAAU,EAAAA,UADP;AAEHia,IAAAA,YAAY,EAAAA,YAFT;AAGHC,IAAAA,YAAY,EAAAA,YAHT;AAIHM,IAAAA,SAAS,EAAEJ,QAJR;AAKHK,IAAAA,YAAY,EAAEH,iBALX;AAMHI,IAAAA,eAAe,EAAE;AAAE,MAAgBN,cAAAA,EAAAA,QAAAA;AAAlB,KAAA;AANd,GAAD,CADH,GAUHvY,cAAC,CAAAC,aAAD,CAAC6Y,OAAO,CAAClb,IAAT,EACI;AAAAmb,IAAAA,EAAE,EAAC,QAAH;AACA5a,IAAAA,UAAU,EAAEA,UADZ;AAEc,IAAA,cAAA,EAAAoa,QAFd;AAGA5Y,IAAAA,OAAO,EAAE,YAAA;AAAM,MAAA,OAAA8Y,iBAAiB,EAAjB,CAAA;AAAmB,KAAA;AAHlC,GADJ,EAMIzY,cAAA,CAAAC,aAAA,CAAC6Y,OAAO,CAACE,KAAT,EACK,IADL,EACKT,QAAQ,GAAGH,YAAH,GAAkBC,YAD/B,CANJ,CAdR,CAjCR,EA6DK,CAAC1R,aAAa,IAAIC,eAAlB,KACG5G,cAAA,CAAAC,aAAA,CAAC+F,eAAD,EAAc;AACV6C,IAAAA,UAAU,EAAEA,UADF;AAEVhG,IAAAA,OAAO,EAAE8D,aAAa,IAAIA,aAAa,CAACxI,UAAD,CAF7B;AAGV+I,IAAAA,SAAS,EACLN,eAAe,IAAIA,eAAe,CAACzI,UAAD,CAAA;AAJ5B,GAAd,CA9DR,CAbJ,CADJ,CAAA;AAuFH,CAhJD,CAAA;AAmJA,iBAAeyE,YAAY,CAACsV,QAAD,CAA3B,CAAA;;;ACjRA,IAAMtT,MAAI,GAAGtH,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAuDrH,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,qJAAA,EAAA,mFAAA,EAAA,qFAAA,EAAA,YAAA,CAAA,EAAA,CAAA,qJAAA,EAYd,mFAZc,EAoBd,qFApBc,EA4Bd,YA5Bc,CAAA,CAAA,CAAvD,EASI,UAACS,EAAD,EAA6B;AAA1B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOD,KAAK,GAAAF,EAAA,CAAAE,KAAZ;AAAA,MAAcD,UAAU,GAAAD,EAAA,CAAAC,UAAxB,CAAA;AACD,EAAAC,OAAAA,KAAK,IAAI,CAACD,UAAV,GACMG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAD7B,GAEMF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAF7B,CAAA;AAEmC,CAZzC,EAiBI,UAACP,EAAD,EAA6B;AAA1B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOD,KAAK,GAAAF,EAAA,CAAAE,KAAZ;AAAA,MAAcD,UAAU,GAAAD,EAAA,CAAAC,UAAxB,CAAA;AACD,EAAAC,OAAAA,KAAK,IAAI,CAACD,UAAV,GACMG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAD7B,GAEMF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAF7B,CAAA;AAEmC,CApBzC,EAyBI,UAACP,EAAD,EAA6B;AAA1B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOD,KAAK,GAAAF,EAAA,CAAAE,KAAZ;AAAA,MAAcD,UAAU,GAAAD,EAAA,CAAAC,UAAxB,CAAA;AACD,EAAAC,OAAAA,KAAK,IAAI,CAACD,UAAV,GACMG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAD7B,GAEMF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAF7B,CAAA;AAEmC,CA5BzC,CAAV,CAAA;AAgCA,IAAMqG,UAAQ,GAAGxH,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAYjH,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAZ,CAAd,CAAA;AAEA,IAAMwb,SAAS,GAAG3b,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAyCxF,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,4FAAA,EAAA,eAAA,EAAA,IAAA,CAAA,EAAA,CAAA,4FAAA,EAI3B,eAJ2B,EAM1B,IAN0B,CAAA,CAAA,CAAzC,EAIAC,QAAQ,CAACC,KAJT,EAMTyV,SAAS,CAAC,MAAD,EAAS,KAAT,CANA,CAAf,CAAA;AASA,IAAM8F,SAAS,GAAG5b,MAAM,CAAC2J,IAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAclI,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,+GAAA,CAAA,EAAA,CAAA,+GAAA,CAAA,CAAA,CAAd,CAAf,CAAA;AAOA,IAAM0b,WAAW,GAAG7b,MAAM,CAAC2J,IAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,wBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,qIAAc,qDAGM,UAHpB,EAGEvJ,QAAQ,CAACC,KAAT,GAAiB,CAHnB,CAAjB,CAAA;;AAWA,IAAMyb,SAAS,GAeV,UAAClb,EAAD,EAAwD;AAArD,EAAA,IAAA4C,QAAQ,GAAA5C,EAAA,CAAA4C,QAAR;AAAA,MAAUC,KAAK,GAAA7C,EAAA,CAAA6C,KAAf;AAAA,MAAiBC,MAAM,GAAA9C,EAAA,CAAA8C,MAAvB;AAAA,MAAyBgD,UAAU,GAAA9F,EAAA,CAAA8F,UAAnC;AAAA,MAAqCqV,cAAc,GAAAnb,EAAA,CAAAmb,cAAnD,CAAA;;AACE,EAAApY,IAAAA,EAAA,GAAoBlB,WAAW,EAA/B;AAAA,MAAED,MAAM,GAAAmB,EAAA,CAAAnB,MAAR;AAAA,MAAUzB,KAAK,GAAA4C,EAAA,CAAA5C,KAAf,CAAA;;AACN,EAAA,IAAMib,YAAY,GAAGC,WAAW,CAAC,GAAD,CAAhC,CAAA;AACQ,EAAA,IAAApa,SAAS,GAAKqa,eAAe,EAAA,UAA7B,CAAA;;AAEF,EAAA,IAAApT,EAAA,GAA4BlF,QAAQ,CAAS,CAAT,CAApC;AAAA,MAACuY,SAAS,GAAArT,EAAA,CAAA,CAAA,CAAV;AAAA,MAAYsT,YAAY,GAAAtT,EAAA,CAAA,CAAA,CAAxB,CAAA;;AAEN,EAAA,IAAMjI,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;;AAEA,EAAA,IAAM2Y,eAAe,GAAG,UAAChK,EAAD,EAA4C;;;AAChE,IAAA,IAAI,EAACA,EAAE,KAAA,IAAF,IAAAA,EAAE,KAAF,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAE,CAAEC,aAAL,CAAJ,EAAwB,OAAA;AAExBD,IAAAA,EAAE,CAACiK,cAAH,EAAA,CAAA;AACA,IAAMlV,IAAAA,IAAI,GAAGiL,EAAE,CAACC,aAAH,CAAiBiK,YAAjB,CAA8B,MAA9B,CAAb,CAAA;AAEA,IAAI,IAAA,CAACnV,IAAL,EAAW,OAAA;AAEX,IAAA,IAAMkK,MAAM,GAAGI,QAAQ,CAAC8K,cAAT,CAAwB,CAAA,MAAApV,IAAI,CAACiS,KAAL,CAAW,GAAX,CAAA,MAAkB,IAAlB,IAAkBzY,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAA,CAAA,CAAlB,KAAwBwG,IAAhD,CAAf,CAAA;;AACA,IAAA,IAAIkK,MAAJ,EAAY;AACR0K,MAAAA,YAAY,CACR1K,MAAM,CAACU,qBAAP,GAA+ByK,GAA/B,GACIjL,MAAM,CAACkL,OADX,IAEKX,cAAc,IAAII,SAFvB,CADQ,CAAZ,CAAA;AAKH,KAAA;;AAED,IAAA,IAAI3K,MAAJ,EAAY;AACR,MAAMmL,IAAAA,GAAG,GAAG,IAAIC,GAAJ,CAAQpL,MAAM,CAACqL,QAAf,CAAZ,CAAA;AACAF,MAAAA,GAAG,CAACG,IAAJ,GAAW1V,IAAI,CAACiS,KAAL,CAAW,GAAX,CAAgB,CAAA,CAAhB,CAAX,CAAA;AACA7H,MAAAA,MAAM,CAACuL,OAAP,CAAeC,SAAf,CAAyB,EAAzB,EAA6B,EAA7B,EAAiCL,GAAjC,CAAA,CAAA;AACH,KAAA;AACJ,GAtBD,CAAA;;AAwBAjM,EAAAA,SAAS,CAAC,YAAA;AACN,IAAIqL,IAAAA,cAAJ,EAAoB,OADd;;AAIN,IAAA,IAAMkB,MAAM,GAAGvL,QAAQ,CAACwL,aAAT,CAAuB,2BAAvB,CAAf,CAAA;AACA,IAAA,IAAMC,WAAW,GAAGF,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEV,YAAR,CAAqB,mBAArB,CAApB,CAAA;AACA,IAAI,IAAA,CAACY,WAAL,EAAkB,OAAA;AAEV,IAAA,IAAAC,WAAW,GAAKC,cAAc,CAACF,WAAD,CAAd,YAAhB,CAAA;AACR,IAAA,IAAI,CAACC,WAAL,EAAkB,OATZ;;AAYN,IAAA,IAAME,aAAa,GAAGC,oBAAoB,CAACxc,KAAD,EAAQoc,WAAR,CAA1C,CAAA;AAEA,IAAItb,IAAAA,SAAJ,EAAeua,YAAY,CAACkB,aAAa,CAAClV,KAAd,CAAoB,CAApB,CAAyBhI,GAAAA,QAAQ,CAACwB,MAAnC,CAAZ,CAAf,KACKwa,YAAY,CAACkB,aAAa,CAAClV,KAAd,CAAoB,CAApB,CAAyBhI,GAAAA,QAAQ,CAACwB,MAAnC,CAAZ,CAAA;AACR,GAhBQ,EAgBN,CAACb,KAAD,EAAQc,SAAR,EAAmBka,cAAnB,CAhBM,CAAT,CAAA;AAkBA,EAAA,OACIrZ,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAAC2E,MAAD,EAAK;AAACxG,IAAAA,KAAK,EAAEA,KAAR;AAAeD,IAAAA,UAAU,EAAEA,UAAAA;AAA3B,GAAL,EACK4C,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;AAAK,IAAA,OACrBlC,cAAC,CAAAC,aAAD,CAAC6E,UAAD,EAAU;AAAA1C,MAAAA,GAAG,EAAEF,CAAAA;AAAL,KAAV,EACIlC,cAAA,CAAAC,aAAA,CAACgZ,SAAD,EAAUzU,QAAA,CAAA,EAAA,EACFoB,IAAI,CAAC7B,IADH,EACO;AACb5F,MAAAA,UAAU,EAAEA,UADC;AAEbwB,MAAAA,OAAO,EAAEga,eAAAA;AAFI,KADP,CAAV,EAKI3Z,cAAA,CAAAC,aAAA,CAACiZ,SAAD,EAAU,IAAV,EAAYtT,IAAI,CAACrG,KAAjB,CALJ,EAMIS,cAAA,CAAAC,aAAA,CAACkZ,WAAD,EAAY,IAAZ,EACKnV,UAAU,GACPA,UAAU,CAAC;AAAE7F,MAAAA,UAAU,EAAAA,UAAAA;AAAZ,KAAD,CADH,GAGP6B,cAAC,CAAAC,aAAD,CAAC6a,SAAD,EAAa,IAAb,CAJR,CANJ,CADJ,CADqB,CAAA;AAiBxB,GAjBA,CADL,CADJ,CAZJ,CADJ,CAAA;AAqCH,CAxGD,CAAA;AA2GA,kBAAelY,YAAY,CAACwW,SAAD,CAA3B,CAAA;;;AC7KA,IAAM2B,OAAK,GA8CN,UAAC7c,EAAD,EAeJ;MAdG4C,QAAQ,GAAA5C,EAAA,CAAA4C;MACR8C,KAAK,GAAA1F,EAAA,CAAA0F;MACLuC,OAAO,GAAAjI,EAAA,CAAAiI;MACPlF,EAAA,GAAA/C,EAAA,CAAAmI;MAAAA,SAAS,mBAAG,cAAWpF;MACvBqF,UAAU,GAAApI,EAAA,CAAAoI;MACVC,YAAY,GAAArI,EAAA,CAAAqI;MACZyU,QAAQ,GAAA9c,EAAA,CAAA8c;MACRxb,IAAI;MACJmH,aAAa,GAAAzI,EAAA,CAAAyI;MACbC,eAAe,GAAA1I,EAAA,CAAA0I;MACfR,EAAkB,GAAAlI,EAAA,CAAA2K;MAAlBA,UAAU,GAAAzC,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA;MAClB2G,EAAmB,GAAA7O,EAAA,CAAA+c;MAAnBA,WAAW,GAAAlO,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA;MACnB/L,MAAM,GAAA9C,EAAA,CAAA8C;MACNiJ,KAAK,GAAA/L,EAAA,CAAA+L;AAEG,EAAA,IAAAnK,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAFH;;AAKG,EAAA,IAAIiJ,KAAK,IAAI,EAACA,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEK,MAAR,CAAb,EAA6B;AACzBL,IAAAA,KAAK,CAACK,MAAN,GAAe;AACX5E,MAAAA,KAAK,EAAE;AAAE8E,QAAAA,CAAC,EAAE,CAAL;AAAQD,QAAAA,CAAC,EAAE,CAAA;AAAX,OAAA;AADI,KAAf,CAAA;AAGH,GAAA;;AAED,EAAA,OACIvK,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAC,IAAAA,aAAa,MAAb;AACAR,IAAAA,QAAQ,EAAEA,QADV;AAEAma,IAAAA,WAAW,EAAEA,WAFb;AAGA1Z,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KAR3B;AAUAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVnB,GADJ,EAaIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAkF,IAAAA,UAAU,EAAC,QAAX;AAAoBjF,IAAAA,aAAa,EAAA,IAAA;AAAjC,GAAT,EACI7B,cAAA,CAAAC,aAAA,CAAC4H,UAAD,EAAW;AACPjE,IAAAA,KAAK,EAAEA,KADA;AAEPuC,IAAAA,OAAO,EAAEA,OAFF;AAGPE,IAAAA,SAAS,EAAEA,SAHJ;AAIPC,IAAAA,UAAU,EAAEA,UAJL;AAKPC,IAAAA,YAAY,EAAEA,YALP;AAMPyU,IAAAA,QAAQ,EAAEA,QANH;AAOPxb,IAAAA,IAAI,EAAEA,IAPC;AAQPuH,IAAAA,SAAS,EAAE5I,UAAU,GAAG,UAAH,GAAgB,SAR9B;AASPyI,IAAAA,eAAe,EAAEA,eATV;AAUPD,IAAAA,aAAa,EAAEA,aAVR;AAWPkC,IAAAA,UAAU,EAAEA,UAXL;AAYPoB,IAAAA,KAAK,EAAEA,KAZA;AAaP2G,IAAAA,UAAU,EAAA,IAbH;AAcPsK,IAAAA,aAAa,EAAA,IAdN;AAePC,IAAAA,SAAS,EAAA,IAAA;AAfF,GAAX,CADJ,CAbJ,CADJ,CAAA;AAmCH,CA3GD,CAAA;AA8GA,cAAevY,YAAY,CAACmY,OAAD,CAA3B;;AC9EA,IAAMK,UAAU,GAAG9d,MAAM,CAAC+D,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAkB7D,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,sEAAA,CAAA,EAAA,CAAA,sEAAA,CAAA,CAAA,CAAlB,CAAhB,CAAA;AAMA,IAAM4d,YAAY,GAAG/d,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaU,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,qKAAA,EAAA,iQAAA,EAAA,KAAA,EAAA,gCAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,gCAAA,EAAA,KAAA,EAAA,4BAAA,EAAA,wCAAA,EAAA,OAAA,EAAA,wBAAA,EAAA,kCAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,YAAA,CAAA,EAAA,CAA0B,qKAA1B,EAWN,iQAXM,EAqBb,KArBa,EAqBU,gCArBV,EAuBgC,oBAvBhC,EAwBiC,yBAxBjC,EA2BT,gCA3BS,EA4BgB,KA5BhB,EA4BuC,4BA5BvC,EA+BR,wCA/BQ,EAiCQ,OAjCR,EAiCmC,wBAjCnC,EAkCI,kCAlCJ,EAqCkC,oBArClC,EAsCmC,eAtCnC,EAkDlB,YAlDkB,CAAA,CAAA,CAAb,EAWLiB,EAAE,CAACS,SAXE,EAkBJ6I,YAAY,CAAC;AACPC,EAAAA,IAAI,EAAE,CADC;AAEPqT,EAAAA,SAAS,EAAE,SAAAjZ,CAAAA,MAAA,CAAUkZ,iBAAiB,GAAG,CAA9B,EAAoC,KAApC,CAAA;AAFJ,CAAD,CAlBR,EAqBMA,iBArBN,EAuBF,UAACrd,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,GAAvB,CAAA;AAA2B,CAvB7C,EAwBD,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,GAAH,GAAS,MAApB,CAAA;AAA2B,CAxB9C,EA2BLpT,EAAE,CAACiH,MA3BE,EA4BUvG,YAAY,CAACC,MA5BvB,EA4BmCkc,iBA5BnC,EA+BL7c,EAAE,CAAC8c,OA/BE,EAiCJ9d,QAAQ,CAACoZ,YAAT,GAAwB,CAjCpB,EAiC6B1X,YAAY,CAACC,MAjC1C,EAkCAkc,iBAlCA,EAqCF,UAACrd,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,KAAvB,CAAA;AAA6B,CArC/C,EAsCD,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,KAAH,GAAW,MAAtB,CAAA;AAA6B,CAtChD,EAwCR,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AACD,EAAA7I,OAAAA,GAAG,yQAAA,iGAK0D,mCACzB,iEANjC,EAGW6I,UAAU,GACF,UAAAzP,CAAAA,MAAA,CAAWjD,YAAY,CAACC,MAAxB,EAAsC,QAAtC,CADE,GAEF,WAAYgD,CAAAA,MAAZ,CAAYjD,YAAY,CAACC,MAAzB,EAA+B,QAA/B,CALnB,EAMgBkc,iBANhB,CAAH,CAAA;AASC,CAlDK,CAAlB,CAAA;AAsDA,IAAME,WAAW,GAAGne,MAAM,CAACsE,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAkB7C,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,+BAAA,CAAA,EAAA,CAAA,+BAAA,CAAA,CAAA,CAAlB,CAAjB,CAAA;AAIA,IAAMie,aAAa,GAAGpe,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAuC0B,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,6HAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,WAAA,CAAA,EAAA,CAAA,6HAAA,EAWjD,iBAXiD,EAajC,cAbiC,EAkB7C,WAlB6C,CAAA,CAAA,CAAvC,EAOb,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AACD,EAAA,OAAA0S,SAAS,CACLhO,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuB2Y,UAAvB,CAAkCC,OAAlC,CAA0Cnb,OADrC,EAEL,gBAFK,CAAT,CAAA;AAGC,CAXU,EAaN/B,EAAE,CAACS,SAbG,EAcT,UAACjB,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AACD,EAAA,OAAA0S,SAAS,CACLhO,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuB2Y,UAAvB,CAAkCC,OAAlC,CAA0Cnb,OADrC,EAEL,aAFK,CAAT,CAAA;AAGC,CAlBM,CAAnB,CAAA;AAsBA,IAAMob,YAAY,GAAGve,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAamG,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,wIAAA,EAAA,cAAA,CAAA,EAAA,CAAA,wIAAA,EAQM,cARN,CAAA,CAAA,CAAb,EAQIC,QAAQ,CAACwB,MARb,CAAlB,CAAA;AAYA,IAAM4c,UAAU,GAAGxe,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAa4K,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,wBAAA,CAAA,CAAA,CAAb,CAAhB,CAAA;AAIA,IAAMse,WAAW,GAAGze,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAYwD,CAAAA,CAAAA,gBAAA,KAAAA,gBAAA,GAAA5K,oBAAA,CAAA,CAAA,4DAAA,EAAA,0LAAA,EAAA,8JAAA,CAAA,EAAA,CAA0B,4DAA1B,EAI8C,0LAJ9C,EAeW,8JAfX,CAAA,CAAA,CAAZ,EAGJ,UAACS,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAA,OAAAA,UAAU,GAAGG,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBsD,QAArB,GAAgCxE,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBiB,OAA5D,CAAA;AAAmE,CAJ1D,EAeK/C,QAAQ,CAACC,KAAT,GAAiB,CAftB,CAAjB,CAAA;AA4BA,IAAMqe,eAAe,GAAG1e,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAe+F,gBAAA,KAAAA,gBAAA,GAAA/L,oBAAA,CAAA,CAAA,+BAAA,EAAA,eAAA,EAAA,yCAAA,EAAA,cAAA,CAAA,EAAA,CAAA,+BAAA,EAGJ,eAHI,EAOS,yCAPT,EAUO,cAVP,CAAA,CAAA,CAAf,EAGf2V,SAAS,CAAC,QAAD,EAAW,KAAX,CAHM,EAIR,UAAClV,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAAA,OAAAA,UAAU,GACJkV,QAAI,CAAChV,KAAD,CAAJ,CAAY,QAAZ,CAAA,CAAsBiV,GAAtB,CAA0BC,aADtB,GAEJF,QAAI,CAAChV,KAAD,CAAJ,CAAY,QAAZ,CAAA,CAAsBiV,GAAtB,CAA0BhV,KAFhC,CAAA;AAEqC,CAPxB,EAUEZ,QAAQ,CAACC,KAAT,GAAiB,GAVnB,CAArB,CAAA;AAcA,IAAMse,gBAAgB,GAAG3e,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAaoM,CAAAA,CAAAA,iBAAA,KAAAA,iBAAA,GAAAlM,oBAAA,CAAA,CAAA,sDAAA,EAAA,4CAAA,EAAA,cAAA,CAAA,EAAA,CAAuB,sDAAvB,EAS9B,4CAT8B,EAYM,cAZN,CAAA,CAAA,CAAb,EAIhB,UAACS,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AAAc,EAAAL,OAAAA,GAAG,iOAAA,gCAC8B,0CACK,kCACR,mCACC,gBAJ5B,EACEK,OAAO,GAAG,aAAH,GAAmB,EAD5B,EAEOA,OAAO,GAAG,aAAH,GAAmB,EAFjC,EAGDA,OAAO,GAAG,aAAH,GAAmB,EAHzB,EAIAA,OAAO,GAAG,aAAH,GAAmB,EAJ1B,CAAH,CAAA;AAKlB,CATiB,EAYC5L,QAAQ,CAACC,KAAT,GAAiB,CAZlB,CAAtB,CAAA;;AAgBA,IAAMue,WAAW,GAKZ,UAAChe,EAAD,EAAiD;MAA9CC,UAAU,GAAAD,EAAA,CAAAC;MAAEge,WAAW,GAAAje,EAAA,CAAAie;MAAEC,OAAO,GAAAle,EAAA,CAAAke;MAAEpY,UAAU,GAAA9F,EAAA,CAAA8F;AAChD,EAAA,OACIhE,4BAAA,CAACic,gBAAD,EAAiB;AAAC3S,IAAAA,OAAO,EAAE,CAAC,CAACtF,UAAAA;AAAZ,GAAjB,EACKA,UAAU,IAAIhE,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,KAAA,EAAQ+D,UAAU,EAAlB,EAA6B,GAA7B,CADnB,EAEIhE,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EACID,cAAA,CAAAC,aAAA,CAACnB,IAAD,EAAK;AAACwB,IAAAA,IAAI,EAAC,QAAN;AAAeD,IAAAA,IAAI,EAAC,KAApB;AAA0BlC,IAAAA,UAAU,EAAEA,UAAAA;AAAtC,GAAL,EACKge,WADL,CADJ,EAIKC,OAAO,IACJpc,cAAC,CAAAC,aAAD,CAACnB,IAAD;AAAMwB,IAAAA,IAAI,EAAC;AAASD,IAAAA,IAAI,EAAC;AAAMlC,IAAAA,UAAU,EAAEA,UAAAA;GAA3C,EACI6B,cAAM,CAAAC,aAAN,CAAM,KAAN,EAAM,IAAN,EAAMmc,OAAO,CAACC,MAAd,CADJ,EAEIrc,cAAM,CAAAC,aAAN,CAAM,KAAN,EAAM,IAAN,EAAM,EAAAoC,CAAAA,MAAA,CAAG+Z,OAAO,CAACE,UAAX,KAAA,CAAA,OAAA,CAAyBF,OAAO,CAACG,IAAjC,CAAN,CAFJ,EAGIvc,cAAM,CAAAC,aAAN,CAAM,KAAN,EAAM,IAAN,EAAMmc,OAAO,CAACI,OAAd,CAHJ,CALR,CAFJ,CADJ,CAAA;AAiBH,CAvBD,CAAA;;AAyBA,IAAMC,IAAI,GAAGnf,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,WAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAe8K,iBAAA,KAAAA,iBAAA,GAAAnM,oBAAA,CAAA,CAAA,eAAA,EAAA,0BAAA,EAAA,cAAA,CAAA,EAAA,CAAA,eAAA,EACA,0BADA,EAEkB,cAFlB,CAAA,CAAA,CAAf,EACGiB,EAAE,CAACS,SADN,EAEYzB,QAAQ,CAACwB,MAAT,GAAkB,GAF9B,CAAV,CAAA;;AAMA,IAAMwd,gBAAgB,GAIlB,UAACxe,EAAD,EAWH;;;MAVGC,UAAU,GAAAD,EAAA,CAAAC;MACVyF,KAAK,GAAA1F,EAAA,CAAA0F;MACLuC,OAAO,GAAAjI,EAAA,CAAAiI;MACPG,UAAU,GAAApI,EAAA,CAAAoI;MACVC,YAAY,GAAArI,EAAA,CAAAqI;MACZ4V,WAAW,GAAAje,EAAA,CAAAie;MACXC,OAAO,GAAAle,EAAA,CAAAke;MACPO,WAAW,GAAAze,EAAA,CAAAye;MACXpU,OAAO,GAAArK,EAAA,CAAAqK;MACPzE,WAAW,GAAA5F,EAAA,CAAA4F;AAEH,EAAA,IAAAhE,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,IAAM6c,kBAAkB,GAAGD,WAAW,GAClCA,WAAW,CAAC;AAAExe,IAAAA,UAAU,EAAAA,UAAAA;AAAZ,GAAD,CADuB,GAGlC6B,cAAC,CAAAC,aAAD,CAAC4c,WAAD;AACIrc,IAAAA,SAAS,EAAErC,UAAU,GAAG2B,MAAM,CAACN,IAAP,CAAYsD,QAAf,GAA0BhD,MAAM,CAACN,IAAP,CAAYiB,OAAAA;GAD/D,CAHJ,CAAA;AAQA,EAAA,IAAMqc,gBAAgB,GAAG,CAAA,CAAA7b,EAAA,GAAAsH,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEwU,SAAT,UAAA,iBAAA,SAAA,MAAoB5L,IAApB,IACrB5I,OAAO,CAACwU,SAAR,CAAkB5L,IAAlB,CAAuB;AACnBhT,IAAAA,UAAU,EAAAA,UAAAA;AADS,GAAvB,CADqB,GAKrB6B,cAAC,CAAAC,aAAD,CAAC+c,KAAD,EAAS,IAAT,CALJ,CAAA;AAQA,EAAA,IAAMC,eAAe,GAAG,CAAA,CAAA7W,EAAA,GAAAmC,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2U,KAAT,MAAgB,IAAhB,IAAgB9W,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgBA,EAAA,CAAA+K,IAAhB,IACpB5I,OAAO,CAAC2U,KAAR,CAAc/L,IAAd,CAAmB;AAAEhT,IAAAA,UAAU;AAAZ,GAAnB,CADoB,GAGpB6B,4BAAA,CAACmd,IAAD,EAAK,IAAL,CAHJ,CAAA;AAMA,EACInd,OAAAA,4BAAA,CAAC6b,YAAD,EAAa,IAAb,EACI7b,cAAA,CAAAC,aAAA,CAAC6b,UAAD,EAAW,IAAX,EACI9b,cAAA,CAAAC,aAAA,CAAC4H,UAAD,EAAW;AACPd,IAAAA,SAAS,EAAE5I,UAAU,GAAG,UAAH,GAAgB,SAD9B;AAEPyF,IAAAA,KAAK,EAAEA,KAFA;AAGPuC,IAAAA,OAAO,EAAEA,OAHF;AAIPG,IAAAA,UAAU,EAAEA,UAJL;AAKPC,IAAAA,YAAY,EAAEA,YAAAA;AALP,GAAX,CADJ,CADJ,EAUK4V,WAAW,IACRnc,cAAA,CAAAC,aAAA,CAACic,WAAD,EAAY;AACRC,IAAAA,WAAW,EAAEA,WAAW,IAAI,EADpB;AAERC,IAAAA,OAAO,EAAEA,OAFD;AAGRpY,IAAAA,UAAU,EACN4Y,kBAAkB,GACZ,YAAA;AAAM,MAAA,OAAAA,kBAAA,CAAA;AAAkB,KADZ,GAEZjY,SANF;AAQRxG,IAAAA,UAAU,EAAEA,UAAAA;AARJ,GAAZ,CAXR,EAsBKoK,OAAO,IACJvI,cAAA,CAAAC,aAAA,CAAC8b,WAAD,EAAa;AAAA5d,IAAAA,UAAU,EAAEA,UAAAA;AAAZ,GAAb,EACK,CAAA,CAAA4O,EAAA,GAAAxE,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEwU,SAAT,MAAkB,IAAlB,IAAkBhQ,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAExN,KAApB,KACGS,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EACK6c,gBAAgB,IACb9c,cAAO,CAAAC,aAAP,CAAO,MAAP,EAAO,IAAP,EAAO6c,gBAAP,CAFR,EAII9c,cAAA,CAAAC,aAAA,CAAC+b,eAAD,EAAgB;AACZ7d,IAAAA,UAAU,EAAEA,UADA;AAEZuG,IAAAA,IAAI,EAAE,MACFrC,CAAAA,MADE,CACFkG,OAAO,CAACwU,SAAR,CAAkBhZ,IAAlB,IACAwE,OAAO,CAACwU,SAAR,CAAkBxd,KAFhB,CAAA;AAFM,GAAhB,EAOK,CAAA2N,EAAA,GAAA3E,OAAO,CAACwU,SAAR,MAAiB,IAAjB,IAAiB7P,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiBA,EAAA,CAAE3N,KAPxB,CAJJ,CAFR,EAiBK,CAAA,CAAA8N,EAAA,GAAA9E,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2U,KAAT,MAAc,IAAd,IAAc7P,EAAA,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAcA,EAAA,CAAE9N,KAAhB,KACGS,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EACKgd,eAAe,IAAIjd,cAAO,CAAAC,aAAP,CAAO,MAAP,EAAO,IAAP,EAAOgd,eAAP,CADxB,EAEIjd,cAAA,CAAAC,aAAA,CAAC+b,eAAD,EACI;AAAA7d,IAAAA,UAAU,EAAEA,UAAZ;AACAuG,IAAAA,IAAI,EAAE,SAAArC,CAAAA,MAAA,CACF,CAAAkG,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2U,KAAT,CAAenZ,IAAf,KAAuBwE,OAAO,CAAC2U,KAAR,CAAc3d,KADnC,CAAA;AADN,GADJ,EAMKgJ,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2U,KAAT,CAAe3d,KANpB,CAFJ,CAlBR,CAvBR,EAwDIS,cAAA,CAAAC,aAAA,CAACwc,IAAD,EAAK;AAACte,IAAAA,UAAU,EAAEA,UAAb;AAAyByC,IAAAA,SAAS,EAAEkD,WAAAA;AAApC,GAAL,CAxDJ,CADJ,CAAA;AA4DH,CApGD,CAAA;;AAsGA,IAAMsZ,QAAQ,GAAG9f,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAauM,CAAAA,CAAAA,iBAAA,KAAAA,iBAAA,GAAArM,oBAAA,CAAA,CAAA,kNAAA,EAAA,cAAA,CAAA,EAAA,CAAA,kNAAA,EAUS,cAVT,CAAA,CAAA,CAAb,EAUQC,QAAQ,CAACC,KAVjB,CAAd,CAAA;AAcA,IAAM0f,kBAAkB,GAAG/f,MAAM,CAACggB,MAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAgB7S,iBAAA,KAAAA,iBAAA,GAAAhN,oBAAA,CAAA,CAAA,0KAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,6BAAA,CAAA,EAAA,CAAA,0KAAA,EAUP,yBAVO,EAWL,kBAXK,EAYe,6BAZf,CAAA,CAAA,CAAhB,EAUNC,QAAQ,CAACwB,MAVH,EAWJxB,QAAQ,CAACwB,MAXL,EAYX,UAAChB,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBkD,IAAvB,CAAA;AAA2B,CAZ/B,CAAxB,CAAA;;AAuDA,IAAM8b,GAAG,GAuDJ,UAACrf,EAAD,EAgBJ;AAfG,EAAA,IAAA4C,QAAQ,GAAA5C,EAAA,CAAA4C,QAAR;AAAA,MACAE,MAAM,GAAA9C,EAAA,CAAA8C,MADN;AAAA,MAEAC,EAAA,GAAA/C,EAAA,CAAA4T,UAFA;AAAA,MAEAA,UAAU,GAAG7Q,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EAFlB;AAAA,MAGAuc,QAAQ,GAAAtf,EAAA,CAAAsf,QAHR;AAAA,MAIAC,WAAW,GAAAvf,EAAA,CAAAuf,WAJX;AAAA,MAKArX,EAAwB,GAAAlI,EAAA,CAAAwf,MALxB;AAAA,MAKAA,MAAM,GAAAtX,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,MAAD,EAAS,CAAC,IAAV,CAAH,KALN;AAAA,MAMA2G,EAAA,GAAA7O,EAAA,CAAA+W,IANA;AAAA,MAMAA,IAAI,GAAGlI,EAAA,KAAA,KAAA,CAAA,GAAA,CAAA,GAACA,EANR;AAAA,MAOA4Q,SAAS,GAAAzf,EAAA,CAAAyf,SAPT;AAAA,MAQAC,eAAe,GAAA1f,EAAA,CAAA0f,eARf;AAAA,MASAC,SAAS,GAAA3f,EAAA,CAAA2f,SATT;AAAA,MAUA3Q,EAAwB,GAAAhP,EAAA,CAAA4f,gBAVxB;AAAA,MAUAA,gBAAgB,GAAA5Q,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA,EAVxB;AAAA,MAWA6Q,gBAAgB,GAAA7f,EAAA,CAAA6f,gBAXhB;AAAA,MAYAC,YAAY,GAAA9f,EAAA,CAAA8f,YAZZ;AAAA,MAaAC,WAAW,GAAA/f,EAAA,CAAA+f,WAbX;AAAA,MAcAC,WAAW,GAAAhgB,EAAA,CAAAggB,WAdX,CAAA;AAgBQ,EAAA,IAAApe,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;;AAEF,EAAA,IAAAsN,EAA0C,GAAAnM,QAAQ,CACpD0c,eAAe,IAAI,EADiC,CAAlD;AAAA,MAACO,gBAAgB,GAAA9Q,EAAA,CAAA,CAAA,CAAjB;AAAA,MAAmB+Q,mBAAmB,QAAtC,CAAA;;AAGA,EAAA,IAAA5Q,EAAA,GAAwBtM,QAAQ,CAAU,KAAV,CAAhC;AAAA,MAACmd,OAAO,GAAA7Q,EAAA,CAAA,CAAA,CAAR;AAAA,MAAU8Q,UAAU,GAAA9Q,EAAA,CAAA,CAAA,CAApB,CAAA;;AACN,EAAA,IAAM+Q,cAAc,GAAGvK,OAAO,CAC1B;AAAM,IAAA,OAAA6J,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEW,IAAX,CAAgB,UAACC,CAAD,EAAE;AAAK,MAAA,OAAAA,CAAC,CAAClI,EAAF,KAAS4H,gBAAT,CAAA;AAAyB,KAAhD,CAAA,CAAA;AAAiD,GAD7B,EAE1B,CAACA,gBAAD,EAAmBN,SAAnB,CAF0B,CAA9B,CAAA;AAKA,EAAA,IAAMzf,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AACA,EAAA,IAAM7C,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,IAAM0d,aAAa,GAAiB;AAChCre,IAAAA,IAAI,EAAE,CAAC,EAAD,EAAK,EAAL,CAD0B;AAEhCse,IAAAA,MAAM,EAAE,CAAC,EAAD,EAAK,EAAL,CAFwB;AAGhCC,IAAAA,UAAU,EAAE,CAAC,EAAD,EAAK,EAAL,CAHoB;AAIhCC,IAAAA,YAAY,EAAE,CAAC,EAAD,EAAK,EAAL,CAJkB;AAKhC5E,IAAAA,GAAG,EAAE6E,aAAU,CAAC9e,cAAC,CAAAC,aAAD,CAAC4c,WAAD,MAAA,CAAD,CAAA;AALiB,GAApC,CAAA;;AAOM,EAAAlP,IAAAA,EAAA,GAKFoR,aAAa,CAAC;AACd9E,IAAAA,GAAG,EAAEuD,QADS;AAEdC,IAAAA,WAAW,EAAAA,WAFG;AAGdC,IAAAA,MAAM,EAAAA,MAHQ;AAIdzI,IAAAA,IAAI,EAAAA,IAJU;AAKd+J,IAAAA,cAAc,EAAEb,gBALF;AAMdc,IAAAA,OAAO,EAAEpB,SAAS,KAAA,IAAT,IAAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAAA,SAAS,CAAE5b,GAAX,CAAe,UAAC/D,EAAD,EAAuB;AAApB,MAAA,IAAAqY,EAAE,QAAF;AAAA,UAAI2I,QAAQ,GAAAhhB,EAAA,CAAAghB,QAAZ;AAAA,UAAc/N,IAAI,GAAAjT,EAAA,CAAAiT,IAAlB,CAAA;AAAyB,MAAC,OAAA;AACjDoF,QAAAA,EAAE,EAAAA,EAD+C;AAEjD2I,QAAAA,QAAQ,EAAAA,QAFyC;AAGjD/N,QAAAA,IAAI,EAAEA,IAAI,IAAIuN,aAHmC;AAIjDS,QAAAA,aAAa,EAAE,IAAA;AAJkC,OAAD,CAAA;AAKlD,KALO,CANK;AAYdpB,IAAAA,gBAAgB,EAAAA,gBAZF;AAadqB,IAAAA,aAAa,EAAEhB,mBAAAA;AAbD,GAAD,CALX;AAAA,MACFiB,QAAQ,GAAA1R,EAAA,CAAA0R,QADN;AAAA,MAEYC,eAAe,GAAA3R,EAAA,CAAA4R,YAF3B;AAAA,MAGFC,WAAW,GAAA7R,EAAA,CAAA6R,WAHT;AAAA,MAIFC,cAAc,GAAA9R,EAAA,CAAA8R,cAJZ,CAAA;;AAqBN,EAAMC,IAAAA,QAAQ,GAAG,YAAA;AACbtB,IAAAA,mBAAmB,CAAC,UAAC9b,IAAD,EAAK;AACrB,MAAA,IAAI,CAACub,SAAL,EAAgB,OAAOvb,IAAP,CAAA;AAChB,MAAMqd,IAAAA,YAAY,GAAG9B,SAAS,CAAC+B,SAAV,CACjB,UAACnB,CAAD,EAAE;AAAK,QAAA,OAAAA,CAAC,CAAClI,EAAF,KAAS4H,gBAAT,CAAA;AAAyB,OADf,CAArB,CAAA;AAGA,MAAIwB,IAAAA,YAAY,KAAK,CAAC,CAAtB,EAAyB,OAAOrd,IAAP,CALJ;;AAQrB,MAAMud,IAAAA,QAAQ,GAAG,CAACF,YAAY,GAAG,CAAhB,IAAqB9B,SAAS,CAACzY,MAAhD,CAAA;AACA,MAAA,OAAOyY,SAAS,CAACgC,QAAD,CAAT,CAAoBtJ,EAA3B,CAAA;AACH,KAVkB,CAAnB,CAAA;AAWH,GAZD,CAAA;;AAcA,EAAMuJ,IAAAA,YAAY,GAAG,YAAA;AACjB1B,IAAAA,mBAAmB,CAAC,UAAC9b,IAAD,EAAK;AACrB,MAAA,IAAI,CAACub,SAAL,EAAgB,OAAOvb,IAAP,CAAA;AAChB,MAAMqd,IAAAA,YAAY,GAAG9B,SAAS,CAAC+B,SAAV,CACjB,UAACnB,CAAD,EAAE;AAAK,QAAA,OAAAA,CAAC,CAAClI,EAAF,KAAS4H,gBAAT,CAAA;AAAyB,OADf,CAArB,CAAA;AAGA,MAAIwB,IAAAA,YAAY,KAAK,CAAC,CAAtB,EAAyB,OAAOrd,IAAP,CALJ;;AAQrB,MAAA,IAAMud,QAAQ,GACVF,YAAY,GAAG,CAAf,GAAmB,CAAnB,GAAuB9B,SAAS,CAACzY,MAAV,GAAmB,CAA1C,GAA8Cua,YAAY,GAAG,CADjE,CAAA;AAEA,MAAA,OAAO9B,SAAS,CAACgC,QAAD,CAAT,CAAoBtJ,EAA3B,CAAA;AACH,KAXkB,CAAnB,CAAA;AAYH,GAbD,CAAA;;AAeAvI,EAAAA,SAAS,CAAC,YAAA;AACN,IAAA,IAAIqR,QAAQ,IAAI,CAAChB,OAAjB,EAA0B;AACtB,MAAIP,IAAAA,gBAAJ,EAAsB2B,cAAc,EAAA,CAAA;AACvC,KAFD,MAEO;AACHD,MAAAA,WAAW,CAAC7B,SAAD,CAAX,CAAA;AACH,KAAA;AACJ,GANQ,EAMN,CACCQ,gBADD,EAECL,gBAFD,EAGC0B,WAHD,EAIC7B,SAJD,EAKCC,eALD,EAMCS,OAND,EAOCgB,QAPD,EAQCI,cARD,CANM,CAAT,CAAA;AAiBAzR,EAAAA,SAAS,CAAC,YAAA;AACN,IAAI,IAAA,CAACqQ,OAAD,IAAYF,gBAAgB,KAAKP,eAArC,EAAsDU,UAAU,CAAC,IAAD,CAAV,CAAA;AACzD,GAFQ,EAEN,CAACH,gBAAD,EAAmBP,eAAnB,EAAoCS,OAApC,CAFM,CAAT,CAAA;AAIA,EAAA,OACIre,cAAC,CAAAC,aAAD,CAACmb,UAAD,EACI;AAAAta,IAAAA,QAAQ,EAAEA,QAAV;AACAS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KAN3B;AAQAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AARnB,GADJ,EAWK6c,SAAS,IAAIkC,qBAAqB,CAAClC,SAAD,CAXvC,EAYI7d,cAAA,CAAAC,aAAA,CAACob,YAAD,EAAc;AAAAxV,IAAAA,GAAG,EAAEyZ,eAAL;AAAsBxN,IAAAA,UAAU,EAAEA,UAAAA;AAAlC,GAAd,EACKkM,YAAY,IACThe,cAAC,CAAAC,aAAD,CAACod,kBAAD;AACI1d,IAAAA,OAAO,EAAE,UAACgQ,EAAD,EAAG;AACRA,MAAAA,EAAE,CAACqQ,eAAH,EAAA,CAAA;AACAR,MAAAA,WAAW,CAAC7B,SAAD,CAAX,CAAA;AACH,KAAA;GAJL,EAMKK,YANL,CAFR,CAZJ,EAyBIhe,cAAA,CAAAC,aAAA,CAACwb,WAAD,EAAa;AAAA5Z,IAAAA,aAAa,EAAC,IAAd;AAAciF,IAAAA,UAAU,EAAC,QAAA;AAAzB,GAAb,EACI9G,cAAC,CAAAC,aAAD,CAAC6B,IAAI,CAACC,GAAN,EAAS,IAAT,EACI/B,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAE,CAAA,GAAI,EADH;AAEPgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAH,GAAO,CAAlB,IAAuB,EAAA;AAFtB,KAAA;AADN,GAAT,CADJ,EAOI9R,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAE,CAAA,GAAI,EADH;AAEPgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAC,CAAJ,GAAQ,CAAnB,IAAwB,EAAA;AAFvB,KAAA;AADN,GAAT,EAMI9R,cAAA,CAAAC,aAAA,CAACyb,aAAD,EAAe;AAAA5J,IAAAA,UAAU,EAAEA,UAAAA;AAAZ,GAAf,EACKoO,YAAY,CAACrC,SAAD,EAAY,KAAZ,CAAZ,IACG7d,cAAC,CAAAC,aAAD,CAACD,cAAK,CAACyX,QAAP,EAAe,IAAf,EACK8G,cAAc,IACXve,cAAA,CAAAC,aAAA,CAACyc,gBAAD,EAAiBlY,QAAA,CAAA,EAAA,EACT+Z,cADS,EACK;AAClBpgB,IAAAA,UAAU,EAAEA,UAAAA;AADM,GADL,CAAjB,CAFR,EAOK0f,SAAS,CAACzY,MAAV,GAAmB,CAAnB,IACGpF,4BAAA,CAACod,QAAD,EAAS,IAAT,EACKa,WAAW,GACRA,WAAW,CAAC;AACR9f,IAAAA,UAAU,EAAAA,UADF;AAERgiB,IAAAA,QAAQ,EAAE,IAFF;AAGRvH,IAAAA,YAAY,EAAE8G,QAHN;AAIRU,IAAAA,IAAI,EAAE,mBAAA;AAJE,GAAD,CADH,GAQRpgB,cAAA,CAAAC,aAAA,CAACiM,SAAD,EACI;AAAA/N,IAAAA,UAAU,EAAEA,UAAZ;AACAkiB,IAAAA,UAAU,EAAE,KADZ;AAEA1gB,IAAAA,OAAO,EAAE+f,QAAAA;AAFT,GADJ,EAKI1f,cAAA,CAAAC,aAAA,CAACqgB,eAAD,EAAsB,IAAtB,CALJ,CATR,EAiBKpC,WAAW,GACRA,WAAW,CAAC;AACR/f,IAAAA,UAAU,EAAAA,UADF;AAERgiB,IAAAA,QAAQ,EAAE,IAFF;AAGRvH,IAAAA,YAAY,EAAEkH,YAHN;AAIRM,IAAAA,IAAI,EAAE,mBAAA;AAJE,GAAD,CADH,GAQRpgB,cAAA,CAAAC,aAAA,CAACiM,SAAD,EACI;AAAA/N,IAAAA,UAAU,EAAEA,UAAZ;AACAkiB,IAAAA,UAAU,EAAE,KADZ;AAEA1gB,IAAAA,OAAO,EAAEmgB,YAAAA;AAFT,GADJ,EAKI9f,cAAA,CAAAC,aAAA,CAACqgB,cAAD,EAAwB,IAAxB,CALJ,CAzBR,CARR,CAFR,CANJ,CAPJ,CADJ,CAzBJ,CADJ,CAAA;AA6FH,CAjQD,CAAA;AAoQA,YAAe1d,YAAY,CAAC2a,GAAD,CAA3B,CAAA;;;ACjpBA,IAAM3f,MAAI,GAAGN,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAejG,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,wEAAA,EAAA,gCAAA,EAAA,+IAAA,EAAA,0BAAA,EAAA,uIAAA,EAAA,uBAAA,CAAA,EAAA,CAA6C,wEAA7C,EAIqD,gCAJrD,EAMkB,+IANlB,EAeiB,0BAfjB,EAoBiB,uIApBjB,EA6BuB,uBA7BvB,CAAA,CAAA,CAAf,EAIc,UAACS,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AAAc,EAAA,OAACA,OAAO,GAAG,iBAAH,GAAuB,KAA/B,CAAA;AAAqC,CAJpE,EAKmB,UAACpL,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AACxB,EAAA,OAAAA,OAAO,GAAG,iBAAH,GAAuB,KAA9B,CAAA;AAAmC,CANjC,EAYG,UAACpL,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CAfhC,EAiBW,UAACvC,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACjC,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CApBhC,EA0BW,UAACvC,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACzB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBK,aADjB,GAEJ5E,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBM,KAF3B,CAAA;AAEgC,CA7BtC,CAAV,CAAA;AAkCA,IAAME,SAAS,GAAG/F,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAoCO,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,mEAAA,EAAA,KAAA,CAAA,EAAA,CAAA,mEAAA,EAGqB,KAHrB,CAAA,CAAA,CAApC,EAGI,UAACS,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AAAc,EAAA,OAAAA,OAAO,IAAI,EAAGjH,CAAAA,MAAH,CAAG3E,QAAQ,CAACC,KAAT,GAAiB,CAApB,EAAyB,IAAzB,CAAX,CAAA;AAAoC,CAHzD,CAAf,CAAA;AAMA,IAAMuU,MAAI,GAAG5U,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAeb,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,oBAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,EAAA,CAAuB,oBAAvB,EAE4B,wBAF5B,EAG+C,KAH/C,CAAA,CAAA,CAAf,EACQ,UAACS,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AACb,EAAAA,OAAAA,OAAO,GAAG5L,QAAQ,CAACC,KAAZ,GAAoBD,QAAQ,CAACC,KAAT,GAAiB,CAA5C,CAAA;AAA6C,CAF3C,EAGS,UAACO,EAAD,EAAY;AAAT,EAAA,IAAAoL,OAAO,GAAApL,EAAA,CAAAoL,OAAP,CAAA;AAAc,EAAA,OAAAA,OAAO,IAAI,EAAGjH,CAAAA,MAAH,CAAG3E,QAAQ,CAACC,KAAT,GAAiB,CAApB,EAAyB,IAAzB,CAAX,CAAA;AAAoC,CAH9D,CAAV,CAAA;AAMA,IAAMyF,MAAI,GAAG9F,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAawB,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,qHAAA,CAAA,EAAA,CAAA,qHAAA,CAAA,CAAA,CAAb,CAAV,CAAA;AAUA,IAAM8F,OAAK,GAAGjG,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeG,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,gCAAA,CAAA,EAAA,CAAA,gCAAA,CAAA,CAAA,CAAf,CAAX,CAAA;AAIA,IAAM8iB,SAAS,GAAGjjB,MAAM,CAAC2J,IAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAcvD,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,iDAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,cAAA,CAAA,EAAA,CAAA,iDAAA,EAEQ,oBAFR,EAIP,2BAJO,EAKY,cALZ,CAAA,CAAA,CAAd,EAEIC,QAAQ,CAACC,KAAT,GAAiB,CAFrB,EAIFe,EAAE,CAACD,MAJD,EAKQf,QAAQ,CAACC,KAAT,GAAiB,CALzB,CAAf,CAAA;;AA+BA,IAAM6iB,QAAQ,GAA4B,UAACtiB,EAAD,EAQzC;MAPG+C,EAAkB,GAAA/C,EAAA,CAAAC;MAAlBA,UAAU,GAAG8C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA;MACb2C,KAAK,GAAA1F,EAAA,CAAA0F;MACLpE,IAAI,GAAAtB,EAAA,CAAAsB;MACJuE,IAAI,GAAA7F,EAAA,CAAA6F;MACJC,UAAU,GAAA9F,EAAA,CAAA8F;MACVyc,eAAe,GAAAviB,EAAA,CAAAuiB;MACf5gB,SAAS,GAAA3B,EAAA,CAAA2B;AAET,EACIG,OAAAA,cAAC,CAAAC,aAAD,CAACrC,MAAD,eACQmG,MAAI;AACR5F,IAAAA,UAAU,EAAEA,UADJ;AAERmL,IAAAA,OAAO,EAAE,CAAC,CAACtF,UAFH;AAGRnE,IAAAA,SAAS,EAAEA,SAAAA;AAHH,IADZ,EAMKmE,UAAU,GAAGhE,cAAA,CAAAC,aAAA,CAACmD,MAAD,EAAO,IAAP,EAAOY,UAAU,CAAC,EAAD,CAAjB,CAAH,GAAmC,EANlD,EAOIhE,cAAC,CAAAC,aAAD,CAACoD,SAAD,EAAW;AAAAiG,IAAAA,OAAO,EAAE,CAAC,CAACtF,UAAAA;AAAX,GAAX,EACKJ,KAAK,IACF5D,cAAA,CAAAC,aAAA,CAACsD,OAAD,EAAO;AAAAgB,IAAAA,SAAS,EAAC,SAAV;AAAoBlE,IAAAA,IAAI,EAAC,QAAzB;AAAkCC,IAAAA,IAAI,EAAC,QAAA;AAAvC,GAAP,EACKsD,KADL,EAEKA,KAAK,IAAI6c,eAAT,IACGzgB,cAAC,CAAAC,aAAD,CAACsgB,SAAD,MAAA,EACKE,eAAe,CAAC;AAAEtiB,IAAAA,UAAU;AAAZ,GAAD,CADpB,CAHR,CAFR,CAPJ,EAmBKqB,IAAI,IACDQ,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAyX,QAAA,EAAA,IAAA,EACIzX,cAAQ,CAAAC,aAAR,CAAQ,MAAR,EAAQ,IAAR,CADJ,EAEID,cAAC,CAAAC,aAAD,CAACiS,MAAD,EACI;AAAA7R,IAAAA,IAAI,EAAC,OAAL;AACAlC,IAAAA,UAAU,EAAEA,UADZ;AAEAyC,IAAAA,SAAS,EAAEpB,IAFX;AAGA8J,IAAAA,OAAO,EAAE,CAAC,CAACtF,UAAAA;AAHX,GADJ,CAFJ,CApBR,CADJ,CAAA;AAiCH,CA1CD,CAAA;;;ACxFA,IAAMY,IAAI,GAAGtH,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAYrH,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,qCAAA,EAAA,yBAAA,EAAA,gKAAA,EAAA,2BAAA,EAAA,cAAA,CAAA,EAAA,CAAA,qCAAA,EAEY,yBAFZ,EAGa,gKAHb,EAYA,2BAZA,EAaoB,cAbpB,CAAA,CAAA,CAAZ,EAESC,QAAQ,CAACwB,MAFlB,EAGUxB,QAAQ,CAACwB,MAHnB,EAYGR,EAAE,CAACD,MAZN,EAaaf,QAAQ,CAACwB,MAAT,GAAkB,CAb/B,CAAV,CAAA;AAiBA,IAAM4F,QAAQ,GAAGxH,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAYjH,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,qBAAA,EAAA,yBAAA,EAAA,yCAAA,EAAA,4EAAA,EAAA,2BAAA,EAAA,sLAAA,EAAA,cAAA,CAAA,EAAA,CAAA,qBAAA,EACQ,yBADR,EAES,yCAFT,EAKJ,4EALI,EAQgB,2BARhB,EAWL,sLAXK,EAoBgB,cApBhB,CAAA,CAAA,CAAZ,EACKC,QAAQ,CAACwB,MADd,EAEMxB,QAAQ,CAACwB,MAFf,EAKDR,EAAE,CAACD,MALF,EAQSf,QAAQ,CAACwB,MAAT,GAAkB,CAR3B,EAWDR,EAAE,CAACsG,KAXF,EAoBStH,QAAQ,CAACwB,MAAT,GAAkB,CApB3B,CAAd,CAAA;;AA6BA,IAAMwhB,OAAO,GAYR,UAACxiB,EAAD,EAA6C;MAA1C4C,QAAQ,GAAA5C,EAAA,CAAA4C;MAAEC,KAAK,GAAA7C,EAAA,CAAA6C;MAAEC,MAAM,GAAA9C,EAAA,CAAA8C;MAAEyf,eAAe,GAAAviB,EAAA,CAAAuiB;AACpC,EAAA,IAAA3gB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAC,CAAAC,aAAD,CAAC2E,IAAD,MAAA,EACK7D,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP;AAAa,IAAA,OACrBlC,4BAAA,CAAC8E,QAAD,EAAS;AAAC1C,MAAAA,GAAG,EAAEF,CAAAA;AAAN,KAAT,EACIlC,cAAC,CAAAC,aAAD,CAACugB,QAAD,eACQ5a,MAAI;AACRzH,MAAAA,UAAU,EAAEA,UADJ;AAERsiB,MAAAA,eAAe,EAAEA,eAAAA;AAFT,MADZ,CADJ,CADqB,CAAA;AAQxB,GARA,CADL,CADJ,CAZJ,CADJ,CAAA;AA4BH,CA9CD,CAAA;AAiDA,gBAAe7d,YAAY,CAAC8d,OAAD,CAA3B,CAAA;;;AC/FA,IAAM9iB,MAAI,GAAGN,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAaC,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,yFAAA,EAAA,8FAAA,CAAA,EAAA,CAAA,yFAAA,EAOE,8FAPF,CAAA,CAAA,CAAb,EAOGiB,EAAE,CAACS,SAPN,CAAV,CAAA;AAgBA,IAAMiE,IAAI,GAAG9F,MAAM,CAAC+J,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,+KAAa,+FAKgB,UAL7B,EAKW3J,QAAQ,CAACC,KAAT,GAAiB,CAL5B,CAAV,CAAA;AAQA,IAAMgjB,eAAe,GAAGrjB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,6BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaU,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,oLAAA,EAAA,iEAAA,EAAA,uBAAA,EAAA,yCAAA,CAAA,EAAA,CAAoB,oLAApB,EAST,iEATS,EAaQ,uBAbR,EAeb,yCAfa,CAAA,CAAA,CAAb,EASRiB,EAAE,CAACS,SATK,EAaGzB,QAAQ,CAACC,KAAT,GAAiB,CAbpB,EAeRe,EAAE,CAACsG,KAfK,CAArB,CAAA;AAoBA,IAAM4b,MAAM,GAAGtjB,MAAM,CAACujB,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAkB9hB,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,gCAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,EAAA,CAAgD,gCAAhD,EAOgB,iBAPhB,EAYY,KAZZ,CAAA,CAAA,CAAlB,EAEN,UAACS,EAAD,EAAiB;AAAd,EAAA,IAAA4iB,YAAY,GAAA5iB,EAAA,CAAA4iB,YAAZ,CAAA;AACD,EAAA,OAAAA,YAAY,IAAI,CAAhB,GACM/P,SAAS,CAAC,CAAC,EAAD,EAAK,GAAL,CAAD,EAAY,WAAZ,CADf,GAEM+P,YAAY,IAAI,EAAhB,GACA/P,SAAS,CAAC,CAAC,EAAD,EAAK,EAAL,CAAD,EAAW,WAAX,CADT,GAEAA,SAAS,CAAC,CAAC,EAAD,EAAK,EAAL,CAAD,EAAW,WAAX,CAJf,CAAA;AAIsC,CAPlC,EASC,UAAC7S,EAAD,EAAsB;MAAnBC,UAAU,GAAAD,EAAA,CAAAC;MAAEE,KAAK,GAAAH,EAAA,CAAAG;AACzB,EAAA,OAAAF,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CAZ9B,CAAZ,CAAA;AAeA,IAAMuY,KAAK,GAAG1b,MAAM,CAAC6Z,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAkBlY,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAA,CAAA,CAAA,CAAlB,CAAX,CAAA;;AAIA,IAAMsjB,SAAS,GAKV,UAAC7iB,EAAD,EAAoC;MAAjCiT,IAAI,GAAAjT,EAAA,CAAAiT;MAAE5R,KAAK,GAAArB,EAAA,CAAAqB;MAAEyhB,MAAM,GAAA9iB,EAAA,CAAA8iB;MAAE7iB,UAAU,GAAAD,EAAA,CAAAC;AACnC,EAAA,IAAME,KAAK,GAAGsK,UAAU,CAACC,YAAD,CAAxB,CAAA;AAEA,EAAMkY,IAAAA,YAAY,GAAGE,MAAM,GAAGA,MAAM,CAAC5b,MAAV,GAAmB,CAA9C,CAAA;AAEA,EAAA,OACIpF,4BAAA,CAACpC,MAAD,EAAK,IAAL,EACKuT,IAAI,IAAInR,cAAA,CAAAC,aAAA,CAACmD,IAAD,EAAK;AAACsE,IAAAA,GAAG,EAAEyJ,IAAI,CAACzJ,GAAX;AAAgBC,IAAAA,GAAG,EAAEwJ,IAAI,CAACxJ,GAAAA;AAA1B,GAAL,CADb,EAEI3H,cAAA,CAAAC,aAAA,CAAC0gB,eAAD,EAAgB;AAACM,IAAAA,MAAM,EAAE,CAAA;AAAT,GAAhB,EACIjhB,cAAA,CAAAC,aAAA,CAAC2gB,MAAD,EACI;AAAAxgB,IAAAA,QAAQ,EAAC,KAAT;AACA0gB,IAAAA,YAAY,EAAEA,YADd;AAEA3iB,IAAAA,UAAU,EAAEA,UAAAA;AAFZ,GADJ,EAKK6iB,MALL,CADJ,CAFJ,EAWIhhB,cAAC,CAAAC,aAAD,CAAC+Y,KAAD;AACI3Y,IAAAA,IAAI,EAAC;AACLkE,IAAAA,SAAS,EACLpG,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAAAA;GALnC,EAQKlB,KARL,CAXJ,CADJ,CAAA;AAwBH,CAlCD,CAAA;;AAoCA,IAAM2hB,gBAAgB,GAAG5jB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,8BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAamG,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,0JAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,8CAAA,EAAA,4BAAA,EAAA,wBAAA,EAAA,+BAAA,EAAA,gEAAA,EAAA,8DAAA,EAAA,uDAAA,CAAA,EAAA,CAAA,0JAAA,EAOL,wBAPK,EAQG,oBARH,EAUV,2BAVU,EAWG,8CAXH,EAeD,4BAfC,EAgBO,wBAhBP,EAkBN,+BAlBM,EAmBO,gEAnBP,EAwBN,8DAxBM,EA4BV,uDA5BU,CAAA,CAAA,CAAb,EAOPC,QAAQ,CAACwB,MAPF,EAQHxB,QAAQ,CAACwB,MAAT,GAAkB,CARf,EAUTR,EAAE,CAACS,SAVM,EAWCzB,QAAQ,CAACwB,MAXV,EAeHxB,QAAQ,CAACwB,MAfN,EAgBCxB,QAAQ,CAACwB,MAAT,GAAkB,CAhBnB,EAkBLR,EAAE,CAACS,SAlBE,EAmBKzB,QAAQ,CAACwB,MAnBd,EAwBLR,EAAE,CAACS,SAxBE,EA4BLT,EAAE,CAACsG,KA5BE,CAAtB,CAAA;;AAkCA,IAAMmc,UAAU,GAUX,UAACjjB,EAAD,EAA4B;AAAzB,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUC,KAAK,GAAA7C,EAAA,CAAA6C,KAAf;AAAA,MAAiBC,MAAM,GAAA9C,EAAA,CAAA8C,MAAvB,CAAA;AACJ,EAAA,IAAM3C,KAAK,GAAGsK,UAAU,CAACC,YAAD,CAAxB,CAAA;AACA,EAAA,IAAMzK,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuBC,IADnB,GAEJrD,KAAK,GACLE,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuB/C,MADlB,GAELH,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuBhD,KAR7B;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAACihB,gBAAD,EAAiB,IAAjB,EACKngB,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;AAChB,IACIlC,OAAAA,cAAA,CAAAC,aAAA,CAAC8gB,SAAD,EAAUvc,QAAA,CAAA,EAAA,EACFoB,IADE,EAEN;AAAAxD,MAAAA,GAAG,EAAEF,CAAL;AACA/D,MAAAA,UAAU,EAAEA,UAAAA;AADZ,KAFM,CAAV,CADJ,CAAA;AAOH,GARA,CADL,CADJ,CAZJ,CADJ,CAAA;AA4BH,CA3CD,CAAA;AA8CA,mBAAeyE,YAAY,CAACue,UAAD,CAA3B,CAAA;;;ACtLA,IAAMvjB,MAAI,GAAGN,MAAM,CAAC8jB,OAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,0BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAiB5jB,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,kEAAA,CAAA,EAAA,CAAA,kEAAA,CAAA,CAAA,CAAjB,CAAV,CAAA;AAMA,IAAM4jB,QAAQ,GAAG/jB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,8BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaO,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,+FAAA,CAAA,EAAA,CAAA,+FAAA,CAAA,CAAA,CAAb,CAAd,CAAA;AAQA,IAAM6F,SAAO,GAAGhG,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,6BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAaU,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,qBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,4DAAA,EAAA,YAAA,CAAA,EAAA,CAGxB,qBAHwB,EAKmC,uBALnC,EAOkC,kBAPlC,EAcH,sBAdG,EAgBY,4DAhBZ,EAoB0C,YApB1C,CAAA,CAAA,CAAb,EAIM,UAACS,EAAD,EAAW;AAAR,EAAA,IAAAojB,MAAM,GAAApjB,EAAA,CAAAojB,MAAN,CAAA;AACd,EAAA,OAAA,CAACA,MAAM,KAAK,OAAX,IAAsBA,MAAM,KAAK,QAAlC,KAA+C,MAA/C,CAAA;AAAqD,CALhD,EAMO,UAACpjB,EAAD,EAAW;AAAR,EAAA,IAAAojB,MAAM,GAAApjB,EAAA,CAAAojB,MAAN,CAAA;AACf,EAAA,OAAA,CAACA,MAAM,KAAK,MAAX,IAAqBA,MAAM,KAAK,QAAjC,KAA8C,MAA9C,CAAA;AAAoD,CAP/C,EASA,UAACpjB,EAAD,EAAiB;AAAd,EAAA,IAAAqjB,YAAY,GAAArjB,EAAA,CAAAqjB,YAAZ,CAAA;AACR,EAAA,OAAAA,YAAY,GACNA,YAAY,KAAK,CAAC,CAAlB,GACI,MADJ,GAEIA,YAAY,GAAG,GAAf,GAAqB,GAHnB,GAIN5c,SAJN,CAAA;AAIe,CAdV,EAgBIjH,QAAQ,CAACoZ,YAhBb,EAoBI,UAAC5Y,EAAD,EAAiB;AAAd,EAAA,IAAAqjB,YAAY,GAAArjB,EAAA,CAAAqjB,YAAZ,CAAA;AAAmB,EAAA,OAAAA,YAAY,KAAK,CAAC,CAAlB,IAAuB,MAAvB,CAAA;AAA6B,CApBvD,CAAb,CAAA;AAwBA,IAAMnY,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iCAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAGfpK,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,mBAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,IAAA,CAAA,EAAA,CAAA,mBAAA,EACwD,gBADxD,EAGkE,SAHlE,EAUO,IAVP,CAAA,CAAA,CAHe,EAIA,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAAmM,UAAU,GAAAnM,EAAA,CAAAmM,UAAV,CAAA;AAAiB,EAAA,OAAA,CAACA,UAAD,IAAe,MAAf,CAAA;AAAqB,CAJzC,EAKJ,UAACnM,EAAD,EAAW;AAAR,EAAA,IAAAojB,MAAM,GAAApjB,EAAA,CAAAojB,MAAN,CAAA;AACR,EAAAA,OAAAA,MAAM,KAAK,MAAX,IAAqBA,MAAM,KAAK,OAAhC,GAA0CA,MAA1C,GAAmD3c,SAAnD,CAAA;AAA4D,CANnD,EAOX,UAACzG,EAAD,EAAuB;MAApBmM,UAAU,GAAAnM,EAAA,CAAAmM;MAAEiX,MAAM,GAAApjB,EAAA,CAAAojB;AACnB,EAAA,OAAA,CAACjX,UAAD,IACAiX,MAAM,KAAK,QADX,IAEArY,GAAG,CAAAlK,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,qFAAA,CAAA,EAAA,CAAA,qFAAA,CAAA,CAAA,CAAA,CAFH,CAAA;AAKC,CAbQ,CAAjB,CAAA;;AAkBA,IAAM+jB,kBAAkB,GAOnB,UAACtjB,EAAD,EAOJ;AANG,EAAA,IAAA+L,KAAK,GAAA/L,EAAA,CAAA+L,KAAL;AAAA,MACAhJ,EAAe,GAAA/C,EAAA,CAAAojB,MADf;AAAA,MACAA,MAAM,GAAArgB,EAAA,KAAA,KAAA,CAAA,GAAG,MAAH,GAASA,EADf;AAAA,MAEAmF,EAAA,GAAAlI,EAAA,CAAAqjB,YAFA;AAAA,MAEAA,YAAY,mBAAG,IAACnb,EAFhB;AAAA,MAGA2G,EAAA,GAAA7O,EAAA,CAAAujB,SAHA;AAAA,MAGAA,SAAS,GAAG1U,EAAA,KAAA,KAAA,CAAA,GAAA,GAAA,KAHZ;AAAA,MAIAG,EAAA,GAAAhP,EAAA,CAAAwjB,SAJA;AAAA,MAIAA,SAAS,GAAGxU,EAAA,KAAA,KAAA,CAAA,GAAA,IAAA,GAAIA,EAJhB;AAAA,MAKArN,SAAS,GAAA3B,EAAA,CAAA2B,SALT,CAAA;;AAOM,EAAA,IAAAwN,EAAA,GAA0BnM,QAAQ,CAAU,KAAV,CAAlC;AAAA,MAACme,QAAQ,GAAAhS,EAAA,CAAA,CAAA,CAAT;AAAA,MAAWsU,WAAW,GAAAtU,EAAA,CAAA,CAAA,CAAtB,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA8BtM,QAAQ,CAAS,CAAT,CAAtC;AAAA,MAAC0gB,UAAU,GAAApU,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaqU,aAAa,GAAArU,EAAA,CAAA,CAAA,CAA1B,CAFT;;;AAIS,EAAA,IAAAG,EAAA,GAA0BzM,QAAQ,CAAqB,IAArB,CAAlC;AAAA,MAAC4gB,IAAI,GAAAnU,EAAA,CAAA,CAAA,CAAL;AAAA,MAAOoU,eAAe,GAAApU,EAAA,CAAA,CAAA,CAAtB,CAAA;;AACN,EAAA,IAAMqU,WAAW,GAAGjU,MAAM,CAAiB,IAAjB,CAA1B,CAAA;AAEA,EAAIyB,IAAAA,KAAK,GAAG,CAAZ,CAAA;;AACA,EAAA,IAAI,OAAO+R,YAAP,KAAwB,QAA5B,EAAsC;AAClC,IAAA,QAAQA,YAAR;AACI,MAAA,KAAK,KAAL;AAAY,QAAA;AACR/R,UAAAA,KAAK,GAAG,IAAR,CAAA;AACA,UAAA,MAAA;AACH,SAAA;;AAED,MAAA,KAAK,MAAL;AAAa,QAAA;AACTA,UAAAA,KAAK,GAAG,GAAR,CAAA;AACA,UAAA,MAAA;AACH,SAAA;;AAED,MAAA,KAAK,KAAL;AAAY,QAAA;AACRA,UAAAA,KAAK,GAAG,IAAR,CAAA;AACA,UAAA,MAAA;AACH,SAAA;;AAED,MAAA,KAAK,MAAL;AAAa,QAAA;AACTA,UAAAA,KAAK,GAAG,CAAC,CAAT,CAAA;AACA,UAAA,MAAA;AACH,SAAA;;AAED,MAAA,QAAA;AACA,MAAA,KAAK,MAAL;AAAa,QAAA;AACTA,UAAAA,KAAK,GAAG,CAAR,CAAA;AACA,UAAA,MAAA;AACH,SAAA;AAzBL,KAAA;AA2BH,GA5BD,MA4BO,IAAI,CAACyS,KAAK,CAACV,YAAD,CAAV,EAA0B;AAC7B/R,IAAAA,KAAK,GAAG+R,YAAR,CAAA;AACH,GAAA;;AAEDvT,EAAAA,SAAS,CAAC,YAAA;AACN2T,IAAAA,WAAW,CAAC,IAAD,CAAX,CAAA;AACH,GAFQ,EAEN,EAFM,CAAT,CAAA;AAIA3T,EAAAA,SAAS,CAAC,YAAA;AACN,IAAA,IAAMkU,MAAM,GAAGJ,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,IAAI,CAAEK,sBAArB,CAAA;;AACA,IAAA,IAAID,MAAJ,EAAY;AACR,MAAA,IAAME,OAAO,GAAIF,MAAsB,CAACG,OAAvB,CAA+BD,OAAhD,CAAA;AACA,MAAA,IAAME,UAAU,GAAIJ,MAAsB,CAACG,OAAvB,CAA+BC,UAAnD,CAAA;;AAEA,MAAA,IAAIF,OAAJ,EAAa;AACT;AACAN,QAAAA,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAES,YAAN,CAAmB,eAAnB,EAAoCH,OAApC,CAAA,CAAA;AACH,OAAA;;AAED,MAAA,IAAIE,UAAJ,EAAgB;AACZ;AACAR,QAAAA,IAAI,KAAA,IAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAES,YAAN,CAAmB,kBAAnB,EAAuCD,UAAvC,CAAA,CAAA;AACH,OAAA;AACJ,KAAA;AACJ,GAhBQ,EAgBN,CAACR,IAAD,CAhBM,CAAT,CAAA;AAkBA9T,EAAAA,SAAS,CAAC,YAAA;AACN,IAAMwU,IAAAA,YAAY,GAAG,YAAA;AACjB,MAAI,IAAA,CAACV,IAAL,EAAW,OAAA;AAEX,MAAA,IAAMW,YAAY,GAAGX,IAAI,CAACxS,qBAAL,GAA6ByK,GAAlD,CAAA;AACA,MAAA,IAAMrB,KAAK,GAAG+J,YAAY,GAAGhB,SAA7B,CAAA;AACA,MAAA,IAAMiB,MAAM,GAAGhK,KAAK,IAAIgJ,SAAS,KAAK,IAAd,GAAqB,CAArB,GAAyB,CAAC,CAA9B,CAApB,CAAA;AAEAG,MAAAA,aAAa,CAACa,MAAD,CAAb,CAAA;AACH,KARD,CAAA;;AAUAF,IAAAA,YAAY,EAAA,CAAA;AACZ1T,IAAAA,MAAM,CAACI,gBAAP,CAAwB,QAAxB,EAAkCsT,YAAlC,CAAA,CAAA;AAEA,IAAA,OAAO,YAAA;AACH1T,MAAAA,MAAM,CAACC,mBAAP,CAA2B,QAA3B,EAAqCyT,YAArC,CAAA,CAAA;AACH,KAFD,CAAA;AAGH,GAjBQ,EAiBN,CAACV,IAAD,EAAOJ,SAAP,EAAkBD,SAAlB,CAjBM,CAAT,CAAA;AAmBA,EAAA,OACIzhB,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAyX,QAAA,EAAA,IAAA,EACK4H,QAAQ,IACLrf,cAAA,CAAAC,aAAA,CAACrC,MAAD,EAAK;AAACiI,IAAAA,GAAG,EAAEkc,eAAN;AAAqB,IAAgB,eAAA,EAAA,aAAA;AAArC,GAAL,EACI/hB,cAAA,CAAAC,aAAA,CAACohB,QAAD,EACI;AAAAxb,IAAAA,GAAG,EAAEmc,WAAL;AACAzR,IAAAA,KAAK,EAAE;AACHoS,MAAAA,SAAS,EAAE,mBAAA,CAAoBtgB,MAApB,CAAoBuf,UAApB,EAAwC,UAAxC,CAAA;AADR,KADP;AAIA/hB,IAAAA,SAAS,EAAEA,SAAAA;AAJX,GADJ,EAOIG,cAAA,CAAAC,aAAA,CAACqD,SAAD,EAAS;AAAAge,IAAAA,MAAM,EAAEA,MAAR;AAAgBC,IAAAA,YAAY,EAAE/R,KAAAA;AAA9B,GAAT,EACKvF,KAAK,IACFjK,cAAC,CAAAC,aAAD,CAACmJ,aAAD;AACIkY,IAAAA,MAAM,EAAEA;AACRjX,IAAAA,UAAU,EAAEmF,KAAK,KAAK,CAAC,CAAA;KACnBvF,MAHR,CAFR,CAPJ,CADJ,CAFR,CADJ,CAAA;AAyBH,EAxHD;;;ACnDA,IAAM2Y,SAAS,GAAGtlB,MAAM,CAACulB,MAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAgBrlB,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,0IAAA,EAAA,yJAAA,EAAA,gEAAA,CAAA,EAAA,CAG7B,0IAH6B,EAW0B,yJAX1B,EAqB2B,gEArB3B,CAAA,CAAA,CAAhB,EAWI,UAACS,EAAD,EAAe;AAAZ,EAAA,IAAA2I,UAAU,GAAA3I,EAAA,CAAA2I,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,IAAd,CAAA;AAAkB,CAX1C,EAkBO,UAAC3I,EAAD,EAA8B;MAA3BG,KAAK,GAAAH,EAAA,CAAAG;MAAEykB,kBAAkB,GAAA5kB,EAAA,CAAA4kB;AACtC,EAAA,OAAAA,kBAAkB,GACZ/f,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuB+f,yBADX,GAEZhgB,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBmG,iBAF7B,CAAA;AAE8C,CArB3C,CAAf,CAAA;AA2BA,IAAMC,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBvL,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAAA,CAAA,CAAA,CAAhB,CAAjB,CAAA;AAMA,IAAMsd,KAAK,GAAGzd,MAAM,CAACuK,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAqB5J,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,yCAAA,EAAA,cAAA,EAAA,0EAAA,EAAA,sBAAA,EAAA,yCAAA,EAAA,KAAA,CAAA,EAAA,CAG9B,yCAH8B,EAKoC,cALpC,EAMkC,0EANlC,EAUC,sBAVD,EAYqB,yCAZrB,EAgByC,KAhBzC,CAAA,CAAA,CAArB,EAKG,UAACS,EAAD,EAAuB;AAApB,EAAA,IAAA4kB,kBAAkB,GAAA5kB,EAAA,CAAA4kB,kBAAlB,CAAA;AAAyB,EAAA,OAAA,CAACA,kBAAD,IAAuB,GAAvB,CAAA;AAA0B,CALzD,EAMA,UAAC5kB,EAAD,EAAuB;AAApB,EAAA,IAAA4kB,kBAAkB,GAAA5kB,EAAA,CAAA4kB,kBAAlB,CAAA;AAAyB,EAAAA,OAAAA,kBAAkB,IAAI,KAAtB,CAAA;AAA2B,CANvD,EAUMplB,QAAQ,CAACmT,OAVf,EAYI0K,iBAAiB,GAAG7d,QAAQ,CAACC,KAAT,GAAiB,CAZzC,EAeM,UAACO,EAAD,EAAuB;AAApB,EAAA,IAAA4kB,kBAAkB,GAAA5kB,EAAA,CAAA4kB,kBAAlB,CAAA;AACZ,EAAA,OAAAA,kBAAkB,GAAG,uBAAH,GAA6B,kBAA/C,CAAA;AAAiE,CAhB9D,CAAX,CAAA;;AAmBA,IAAMxO,MAAM,GAoCP,UAACpW,EAAD,EAaJ;AAZG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAG,EAAA,GAAA/C,EAAA,CAAAsR,KADA;AAAA,MACAA,KAAK,mBAAG,YAASvO,EADjB;AAAA,MAEA2C,KAAK,WAFL;AAAA,MAGAuC,OAAO,GAAAjI,EAAA,CAAAiI,OAHP;AAAA,MAIAG,UAAU,GAAApI,EAAA,CAAAoI,UAJV;AAAA,MAKAC,YAAY,GAAArI,EAAA,CAAAqI,YALZ;AAAA,MAMA/G,IAAI,GAAAtB,EAAA,CAAAsB,IANJ;AAAA,MAOAmH,aAAa,mBAPb;AAAA,MAQAC,eAAe,GAAA1I,EAAA,CAAA0I,eARf;AAAA,MASAqD,KAAK,GAAA/L,EAAA,CAAA+L,KATL;AAAA,MAUA6Y,kBAAkB,GAAA5kB,EAAA,CAAA4kB,kBAVlB;AAAA,MAWAE,oBAAoB,GAAA9kB,EAAA,CAAA8kB,oBAXpB,CAAA;AAaA,EAAA,IAAMna,UAAU,GAAGia,kBAAkB,IAAIE,oBAAzC,CAAA;AAEA,EAAA,OACIhjB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AAACP,IAAAA,QAAQ,EAAEA,QAAX;AAAqBS,IAAAA,OAAO,EAAC,OAA7B;AAAqCP,IAAAA,MAAM,EAAC,MAAA;AAA5C,GAAR,EACIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAQ;AAACkF,IAAAA,UAAU,EAAE0I,KAAK,KAAK,SAAV,GAAsB,QAAtB,GAAiC,OAAA;AAA9C,GAAR,EACIxP,cAAA,CAAAC,aAAA,CAAC2iB,SAAD,EAAU;AACN/b,IAAAA,UAAU,EAAE,CAAC,CAACjD,KAAF,IAAW,CAAC,CAACpE,IADnB;AAENsjB,IAAAA,kBAAkB,EAAEA,kBAAAA;AAFd,GAAV,EAII9iB,cAAC,CAAAC,aAAD,CAACmJ,aAAD,eAAiBa,OAAK;AAAEI,IAAAA,UAAU,EAAC,IAAb;AAAaC,IAAAA,MAAM,EAAE3F,SAAAA;AAArB,IAAtB,CAJJ,EAKKf,KAAK,IACF5D,cAAC,CAAAC,aAAD,CAAC8a,KAAD;AACI+H,IAAAA,kBAAkB,EAAEA;AACpBE,IAAAA,oBAAoB,EAAEA;AACtB5iB,IAAAA,QAAQ,EAAC;AACT2G,IAAAA,SAAS,EAAC;AACVnD,IAAAA,KAAK,EAAEA;AACPuC,IAAAA,OAAO,EAAEA;AACTG,IAAAA,UAAU,EAAEA;AACZC,IAAAA,YAAY,EAAEA;AACd/G,IAAAA,IAAI,EAAEA;AACNoH,IAAAA,eAAe,EAAEA;AACjBD,IAAAA,aAAa,EAAEA;AACfiK,IAAAA,UAAU,EACV;AAAAqS,IAAAA,aAAa,EAAE;AACf9H,IAAAA,SAAS,EAAA;AACT+H,IAAAA,YAAY,EAAE;AACdra,IAAAA,UAAU,EAAEma,oBAAoB,IAAIna,UAAAA;GAhBxC,CANR,CADJ,CADJ,CADJ,CAAA;AAgCH,CApFD,CAAA;AAuFA,eAAejG,YAAY,CAAC0R,MAAD,CAA3B,CAAA;;;AC7IA,IAAM6O,QAAQ,GAAG7lB,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAYrH,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,mGAAA,EAAA,cAAA,CAAA,EAAA,CAAA,mGAAA,EAMU,cANV,CAAA,CAAA,CAAZ,EAMQC,QAAQ,CAACC,KANjB,CAAd,CAAA;AAUA,IAAMylB,SAAS,GAAG9lB,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,+PAAiC,yCAEf,2BAG2C,8CAGpC,6BAGf,yBACY,iBAZtB,EAEArH,QAAQ,CAACC,KAAT,GAAiB,CAFjB,EAIG,UAACO,EAAD,EAAiB;MAAdG,KAAK,GAAAH,EAAA,CAAAG;MAAED,KAAK,GAAAF,EAAA,CAAAE;AACzB,EAAA,OAAAA,KAAK,GAAGE,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAA1B,GAAkCF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAA9D,CAAA;AAAoE,CAL7D,EAQOf,QAAQ,CAACC,KAAT,GAAiB,CARxB,EAWFe,EAAE,CAACS,SAXD,EAYIzB,QAAQ,CAACC,KAAT,GAAiB,CAZrB,CAAf,CAAA;AAgBA,IAAM0lB,QAAQ,GAAG/lB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,8LAAa,uGAKc,iBAL3B,EAKSG,QAAQ,CAACC,KAAT,GAAiB,CAL1B,CAAd,CAAA;AASA,IAAM4F,KAAK,GAAGjG,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeC,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,2BAAA,CAAA,EAAA,CAAA,2BAAA,CAAA,CAAA,CAAf,CAAX,CAAA;AAIA,IAAM6lB,KAAK,GAAGhmB,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeG,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,8BAAA,CAAA,CAAA,CAAf,CAAX,CAAA;AAIA,IAAM8J,aAAW,GAAGjK,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,wBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAe4E,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,2BAAA,CAAA,EAAA,CAAA,2BAAA,CAAA,CAAA,CAAf,CAAjB,CAAA;AAaO,IAAM8lB,UAAU,GAA+C,UAACrlB,EAAD,EAKrE;AAJG,EAAA,IAAAsB,IAAI,GAAAtB,EAAA,CAAAsB,IAAJ;AAAA,MACAgkB,KAAK,GAAAtlB,EAAA,CAAAslB,KADL;AAAA,MAEAviB,EAAA,GAAA/C,EAAA,CAAAE,KAFA;AAAA,MAEAA,KAAK,GAAG6C,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EAFb;AAAA,MAGA2C,KAAK,GAAA1F,EAAA,CAAA0F,KAHL,CAAA;AAKA,EAAA,OACI5D,cAAC,CAAAC,aAAD,CAACmjB,SAAD,EAAW;AAAAhlB,IAAAA,KAAK,EAAEA,KAAAA;AAAP,GAAX,EACI4B,cAAA,CAAAC,aAAA,CAACojB,QAAD,EAAS,IAAT,EACKzf,KAAK,IAAI5D,4BAAA,CAACuD,KAAD,EAAM;AAACjD,IAAAA,IAAI,EAAC,QAAA;AAAN,GAAN,EAAsBsD,KAAtB,CADd,EAEK4f,KAAK,IAAIxjB,cAAC,CAAAC,aAAD,CAACqjB,KAAD,EAAO;AAAAhjB,IAAAA,IAAI,EAAC,QAAA;AAAL,GAAP,EAAsBkjB,KAAtB,CAFd,CADJ,EAKKhkB,IAAI,IAAIQ,cAAA,CAAAC,aAAA,CAACsH,aAAD,EAAY;AAACjH,IAAAA,IAAI,EAAC,MAAN;AAAaM,IAAAA,SAAS,EAAEpB,IAAAA;AAAxB,GAAZ,CALb,CADJ,CAAA;AASH,CAfM,CAAA;;AAiBP,IAAMikB,SAAS,GASV,UAACvlB,EAAD,EAA4B;AAAzB,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUE,MAAM,GAAA9C,EAAA,CAAA8C,MAAhB;AAAA,MAAkBD,KAAK,GAAA7C,EAAA,CAAA6C,KAAvB,CAAA;AACI,EAAA,IAAAjB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM+R,OAAO,GAAG5U,UAAU,IAAI6C,MAAM,KAAK,MAAzC,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,KAAK,MAAX,GACAlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADjB,GAEAqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAACkjB,QAAD,EACK,IADL,EACKpiB,KAAK,KAAL,IAAA,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAa;AAAA,IAAA,OACrBlC,cAAC,CAAAC,aAAD,CAACsjB,UAAD,EAAY/e,QAAA,CAAA;AAAApC,MAAAA,GAAG,EAAEF,CAAAA;AAAL,KAAA,EAAY0D,IAAZ,EAAgB;AAAExH,MAAAA,KAAK,EAAE2U,OAAAA;AAAT,KAAhB,CAAZ,CADqB,CAAA;AAExB,GAFA,CADL,CADJ,CAZJ,CADJ,CAAA;AAsBH,CApCD,CAAA;AAuCA,kBAAenQ,YAAY,CAAC6gB,SAAD,CAA3B,CAAA;;;AC9GA,IAAM7lB,IAAI,GAAGN,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAKRC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,iBAAA,EAAA,gEAAA,EAAA,uBAAA,EAAA,0GAAA,EAAA,4CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,iBAAA,EAC4B,gEAD5B,EAImE,uBAJnE,EAeyC,0GAfzC,EAoBoE,4CApBpE,EAuBsC,cAvBtC,CAAA,CAAA,CALQ,EAMKC,QAAQ,CAACwB,MANd,EASW,UAAChB,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAT3D,EAWQ,UAAC/E,EAAD,EAA4C;MAAzCG,KAAK,GAAAH,EAAA,CAAAG;MAAED,KAAK,GAAAF,EAAA,CAAAE;MAAED,UAAU,GAAAD,EAAA,CAAAC;MAAEulB,aAAa,GAAAxlB,EAAA,CAAAwlB;AACpD,EAAAvlB,OAAAA,UAAU,GACJulB,aAAa,GACTplB,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADZ,GAETxE,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAHvB,GAIJilB,aAAa,GACbplB,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OADR,GAEbrC,KAAK,GACLE,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KADlB,GAELF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBE,MAR7B,CAAA;AAQmC,CApBjC,EAyBQ,UAACP,EAAD,EAAe;AAAZ,EAAA,IAAA2K,UAAU,GAAA3K,EAAA,CAAA2K,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,QAAH,GAAc,MAAzB,CAAA;AAAgC,CAzB5D,EA4BYnL,QAAQ,CAACC,KAAT,GAAiB,CA5B7B,CAAV,CAAA;AAgCA,IAAMqI,eAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAkBnI,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,iEAAA,EAAA,gCAAA,CAAA,EAAA,CAAA,iEAAA,EAGH,gCAHG,CAAA,CAAA,CAAlB,EAGAC,QAAQ,CAACwB,MAHT,CAAnB,CAAA;AAqBA,IAAMykB,QAAQ,GAAG1S,UAAU,CAIvB,UACI/S,EADJ,EAYI2H,GAZJ,EAYO;MAVCS,UAAU,GAAApI,EAAA,CAAAoI;MACV1C,KAAK,GAAA1F,EAAA,CAAA0F;MACLpE,IAAI,GAAAtB,EAAA,CAAAsB;MACJmU,MAAM,GAAAzV,EAAA,CAAAyV;MACNxV,UAAU;MACV0K,UAAU,GAAA3K,EAAA,CAAA2K;MACV6a,aAAa,GAAAxlB,EAAA,CAAAwlB;MACbE,aAAa,GAAA1lB,EAAA,CAAA0lB;MACb/jB,SAAS,GAAA3B,EAAA,CAAA2B;AAIb,EAAA,IAAMiD,QAAQ,GAAG4gB,aAAa,GAAG,CAACvlB,UAAJ,GAAiB,KAA/C,CAAA;AAEA,EAAA,OACI6B,cAAC,CAAAC,aAAD,CAACrC,IAAD,EACI;AAAAiI,IAAAA,GAAG,EAAEA,GAAL;AACA1H,IAAAA,UAAU,EAAEA,UADZ;AAEA0K,IAAAA,UAAU,EAAEA,UAFZ;AAGA6a,IAAAA,aAAa,EAAEA,aAHf;AAIAtlB,IAAAA,KAAK,EAAEwlB,aAJP;AAKA/jB,IAAAA,SAAS,EAAEA,SAAAA;AALX,GADJ,EAQKyG,UAAU,IACPtG,cAAC,CAAAC,aAAD,CAACnB,IAAD;AACIwB,IAAAA,IAAI,EAAC;AACLD,IAAAA,IAAI,EAAC;AACLlC,IAAAA,UAAU,EAAE2E;AACZlC,IAAAA,SAAS,EAAE0F;AAAU,IACV,YAAA,EAAA,YAAA;GALf,CATR,EAiBK1C,KAAK,IACF5D,cAAC,CAAAC,aAAD,CAAC4gB,OAAD;AACIzgB,IAAAA,QAAQ,EAAC;AACTC,IAAAA,IAAI,EAAC;AACLlC,IAAAA,UAAU,EAAE2E;AACZlC,IAAAA,SAAS,EAAEgD;AAAK,IACL,YAAA,EAAA,OAAA;GALf,CAlBR,EA0BKpE,IAAI,IACDQ,cAAA,CAAAC,aAAA,CAACnB,IAAD,EACI;AAAAuB,IAAAA,IAAI,EAAC,QAAL;AACAlC,IAAAA,UAAU,EAAE2E,QADZ;AAEAlC,IAAAA,SAAS,EAAEpB,IAFX;AAGW,IAAA,YAAA,EAAA,MAAA;AAHX,GADJ,CA3BR,EAkCIQ,cAAC,CAAAC,aAAD,CAAC+F,eAAD;AACI6d,IAAAA,IAAI,EAAC;AACLhhB,IAAAA,OAAO,EACH8Q,MAAM,IACNA,MAAM,CAAC;AACHxV,MAAAA,UAAU,EAAE2E,QADT;AAEH4gB,MAAAA,aAAa,EAAEA,aAAAA;AAFZ,KAAD,CAAA;GAJd,CAlCJ,CADJ,CAAA;AA+CH,CAnEsB,CAA3B,CAAA;AAsEAC,QAAQ,CAACjS,WAAT,GAAuB,UAAvB,CAAA;;;AC3HA,IAAMoS,GAAG,GAAGxmB,MAAM,CAACqmB,QAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAmBnmB,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,4BAAA,CAAA,EAAA,CAAA,4BAAA,CAAA,CAAA,CAAnB,CAAT,CAAA;AAIA,IAAMma,KAAK,GAAGta,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,kcAAa,iGAKc,2BACC,0HAME,8BACC,6BAGrB,2EAhBV,EAKQ6B,YAAY,CAACC,MALrB,EAMSD,YAAY,CAACC,MANtB,EAYWD,YAAY,CAACC,MAZxB,EAaYD,YAAY,CAACC,MAbzB,EAgBEX,EAAE,CAACsG,KAhBL,CAAX,CAAA;;AAuBA,IAAM+e,UAAU,GASX,UAAC7lB,EAAD,EAAwC;MAArC4C,QAAQ,GAAA5C,EAAA,CAAA4C;MAAEC,KAAK,GAAA7C,EAAA,CAAA6C;MAAE8H,UAAU,GAAA3K,EAAA,CAAA2K;MAAE7H,MAAM,GAAA9C,EAAA,CAAA8C;AACvC,EAAA,IAAM7C,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AACA,EAAA,IAAMgjB,aAAa,GAAG,CAAAjjB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEqE,MAAP,KAAiB,CAAvC,CAAA;AAEQ,EAAA,IAAAtF,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAEA,EAAW4S,IAAAA,QAAQ,GAAKrN,mBAAmB,CAAiB;AAChEC,IAAAA,UAAU,EAAEye,aADoD;AAEhExe,IAAAA,WAAW,EAAE,CACT,2BADS,EAET,sBAFS,EAGT,qBAHS,CAFmD;AAOhEC,IAAAA,UAAU,EAAE;AACRC,MAAAA,KAAK,EAAE,CADC;AAERjH,MAAAA,MAAM,EAAE,CAFA;AAGRU,MAAAA,SAAS,EAAE,CAHH;AAIR6F,MAAAA,KAAK,EAAE,CAJC;AAKRW,MAAAA,MAAM,EAAE,CAAA;AALA,KAAA;AAPoD,GAAjB,CAAnB,UAAxB,CAAA;AAgBR,EAAA,OACI3F,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAC,CAAAC,aAAD,CAAC2X,KAAD,EACK,IADL,EACK7W,KAAK,KAAL,IAAA,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;AAAK,IAAA,OACrBlC,cAAC,CAAAC,aAAD,CAAC6jB,GAAD;AACI1hB,MAAAA,GAAG,EAAEF;AACL2D,MAAAA,GAAG,EAAE8M,QAAQ,CAACzQ,CAAD,CAAA;OACT0D,MAAI;AACRzH,MAAAA,UAAU,EAAEA,UADJ;AAER0K,MAAAA,UAAU,EAAEA,UAFJ;AAGR+a,MAAAA,aAAa,EAAExlB,KAAAA;AAHP,MAHZ,CADqB,CAAA;AASxB,GATA,CADL,CADJ,CAZJ,CADJ,CAAA;AA6BH,CA7DD,CAAA;AAgEA,mBAAewE,YAAY,CAACmhB,UAAD,CAA3B,CAAA;;;AC5FA,IAAMzgB,SAAO,GAAGhG,MAAM,CAACulB,MAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAgBrlB,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,4EAAA,EAAA,2BAAA,EAAA,iEAAA,CAAA,EAAA,CAAA,4EAAA,EAKQ,2BALR,EAQP,iEARO,CAAA,CAAA,CAAhB,EAKSC,QAAQ,CAACwB,MALlB,EAQAR,EAAE,CAACD,MARH,CAAb,CAAA;AAcA,IAAMyT,IAAI,GAAG5U,MAAM,CAACujB,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAkB/iB,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,yFAAA,CAAA,EAAA,CAAA,yFAAA,CAAA,CAAA,CAAlB,CAAV,CAAA;AAOA,IAAMwmB,MAAM,GAAG3mB,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAeb,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,yFAAA,CAAA,EAAA,CAAA,yFAAA,CAAA,CAAA,CAAf,CAAZ,CAAA;;AAOA,IAAMymB,KAAK,GAeN,UAAChmB,EAAD,EAA4C;AAAzC,EAAA,IAAA4C,QAAQ,GAAA5C,EAAA,CAAA4C,QAAR;AAAA,MAAUE,MAAM,GAAA9C,EAAA,CAAA8C,MAAhB;AAAA,MAAkBxB,IAAI,GAAAtB,EAAA,CAAAsB,IAAtB;AAAA,MAAwB2kB,MAAM,GAAAjmB,EAAA,CAAAimB,MAA9B;AAAA,MAAgCC,OAAO,GAAAlmB,EAAA,CAAAkmB,OAAvC,CAAA;AACI,EAAA,IAAAtkB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,OACIhB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,KAAK,MAAX,GACAlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADjB,GAEAqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAkF,IAAAA,UAAU,EAAC,QAAX;AAAoBjF,IAAAA,aAAa,EAAA,IAAA;AAAjC,GAAT,EACI7B,cAAA,CAAAC,aAAA,CAACqD,SAAD,EAAQ,IAAR,EACK9D,IAAI,IACDQ,cAAA,CAAAC,aAAA,CAACiS,IAAD,EAAK1N,QAAA,CAAA;AACDnE,IAAAA,IAAI,EAAC,OADJ;AAEDD,IAAAA,QAAQ,EAAC,YAFR;AAGDjC,IAAAA,UAAU,EAAEA,UAHX;AAIDyC,IAAAA,SAAS,EAAEpB,IAAAA;AAJV,GAAA,EAKG;AAAE6kB,IAAAA,IAAI,EAAED,OAAAA;AAAR,GALH,CAAL,CAFR,EAUKD,MAAM,IACHnkB,cAAC,CAAAC,aAAD,CAACgkB,MAAD;AACI9lB,IAAAA,UAAU,EAAEA;AACZiC,IAAAA,QAAQ,EAAC;AACTQ,IAAAA,SAAS,EAAEujB,MAAAA;GAHf,CAXR,CADJ,CAZJ,CADJ,CAAA;AAmCH,CAtDD,CAAA;AAyDA,cAAevhB,YAAY,CAACshB,KAAD,CAA3B,CAAA;;;ACtFA,IAAMI,YAAY,GAAGhnB,MAAM,CAACsE,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAA4DpE,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,6CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,6CAAA,EAWzE,KAXyE,CAAA,CAAA,CAA5D,EAEK,UAACS,EAAD,EAAW;AAAR,EAAA,IAAAojB,MAAM,GAAApjB,EAAA,CAAAojB,MAAN,CAAA;;AAClB,EAAA,QAAQA,MAAR;AACI,IAAA,KAAK,QAAL;AACI,MAAA,OAAO,QAAP,CAAA;;AACJ,IAAA,KAAK,OAAL;AACI,MAAA,OAAO,UAAP,CAAA;;AACJ,IAAA;AACI,MAAA,OAAO,YAAP,CAAA;AANR,GAAA;AAQH,CAXa,CAAlB,CAAA;;AAcA,IAAMiD,WAAW,GAeZ,UAACrmB,EAAD,EAA0D;AAAvD,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUmJ,KAAK,GAAA/L,EAAA,CAAA+L,KAAf;AAAA,MAAiBhJ,cAAjB;AAAA,MAAiBqgB,MAAM,GAAGrgB,EAAA,KAAA,KAAA,CAAA,GAAA,MAAA,KAA1B;AAAA,MAAkCD,MAAM,GAAA9C,EAAA,CAAA8C,MAAxC;AAAA,MAA0Cia,WAAW,GAAA/c,EAAA,CAAA+c,WAArD,CAAA;AACJ,EAAA,IAAM5c,KAAK,GAAGsK,UAAU,CAACC,YAAD,CAAxB,CAAA;AACA,EAAA,IAAMzK,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AAEA,EAAA,OACIhB,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAC,IAAAA,aAAa,MAAb;AACAR,IAAAA,QAAQ,EAAEA,QADV;AAEAma,IAAAA,WAAW,EAAEA,WAFb;AAGA1Z,IAAAA,OAAO,EACHpD,UAAU,GACJqmB,SAAS,CAACnmB,KAAD,CAAT,CAAiBmD,SAAjB,CAA2BC,IADvB,GAEJrD,KAAK,GACLomB,SAAS,CAACnmB,KAAD,CAAT,CAAiBmD,SAAjB,CAA2B/C,MADtB,GAEL+lB,SAAS,CAACnmB,KAAD,CAAT,CAAiBmD,SAAjB,CAA2BhD,KARrC;AAUAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CAAA;AAVnB,GADJ,EAaIhB,cAAA,CAAAC,aAAA,CAACqkB,YAAD,EAAc;AAAAhD,IAAAA,MAAM,EAAEA,MAAAA;AAAR,GAAd,EACKrX,KAAK,IAAIjK,cAAC,CAAAC,aAAD,CAACoJ,KAAD,eAAWY,MAAX,CADd,CAbJ,CADJ,CAAA;AAmBH,CAvCD,CAAA;AA0CA,oBAAerH,YAAY,CAAC2hB,WAAD,CAA3B,CAAA;;;AC/CA,IAAME,KAAK,GAAGnnB,MAAM,CAACuH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAYrH,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,yHAAA,EAAA,yBAAA,EAAA,mEAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,wDAAA,EAAA,0CAAA,EAAA,uCAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,yHAAA,EAOW,yBAPX,EAQY,mEARZ,EAYc,4BAZd,EAae,2BAbf,EAgBD,wDAhBC,EAkB+B,0CAlB/B,EAmBgC,uCAnBhC,EAuBF,kDAvBE,EAyBmB,MAzBnB,EAyB6C,oCAzB7C,EA0BoB,MA1BpB,EA0B8C,0BA1B9C,CAAA,CAAA,CAAZ,EAOQC,QAAQ,CAACwB,MAPjB,EAQSxB,QAAQ,CAACwB,MARlB,EAYWxB,QAAQ,CAACwB,MAZpB,EAaYxB,QAAQ,CAACwB,MAbrB,EAgBER,EAAE,CAACD,MAhBL,EAkBwBW,YAAY,CAACC,MAlBrC,EAmByBD,YAAY,CAACC,MAnBtC,EAuBEX,EAAE,CAACsG,KAvBL,EAyBmB,CAAI,GAAA,CAAL,GAAU,GAzB5B,EAyBsC5F,YAAY,CAACC,MAzBnD,EA0BoB,CAAI,GAAA,CAAL,GAAU,GA1B7B,EA0BuCD,YAAY,CAACC,MA1BpD,CAAX,CAAA;AA+BA,IAAMyY,IAAI,GAAGxa,MAAM,CAACyH,EAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAYjH,kBAAA,KAAAA,kBAAA,GAAAL,oBAAA,CAAA,CAAA,mEAAA,CAAA,EAAA,CAAA,mEAAA,CAAA,CAAA,CAAZ,CAAV,CAAA;AAMA,IAAMsM,IAAI,GAAGzM,MAAM,CAACmG,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,kBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAyCxF,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,qHAAA,EAAA,0BAAA,EAAA,+LAAA,EAAA,0WAAA,CAAA,EAAA,CAAA,qHAAA,EAQT,0BARS,EAUkB,+LAVlB,EAuBH,0WAvBG,CAAA,CAAA,CAAzC,EAKW,UAACS,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AACjC,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBC,QADjB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAF3B,CAAA;AAEkC,CARhC,EAUW,UAACvC,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAV3D,EAoBY,UAAC/E,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAC9B,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAa6I,SAAb,CAAuBpE,QADnB,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAa6I,SAAb,CAAuBzG,OAF7B,CAAA;AAEoC,CAvBtC,CAAV,CAAA;AA8CA,IAAM2I,aAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBtK,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,6DAAA,CAAA,EAAA,CAAA,6DAAA,CAAA,CAAA,CAAhB,CAAjB,CAAA;AAMA,IAAM8L,aAAa,GAAGjM,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAa0B,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,6JAAA,EAAA,wJAAA,EAAA,oBAAA,EAAA,8EAAA,EAAA,wEAAA,CAAA,EAAA,CAAA,6JAAA,EAQC,wJARD,EAgBQ,oBAhBR,EAmBtB,8EAnBsB,EAwBtB,wEAxBsB,CAAA,CAAA,CAAb,EAQJC,QAAQ,CAACC,KAAT,GAAiB,CARb,EAgBGD,QAAQ,CAACC,KAAT,GAAiB,CAhBpB,EAmBboM,IAnBa,EAwBbA,IAxBa,CAAnB,CAAA;AA8BA,IAAM2a,QAAQ,GAAGpnB,MAAM,CAAC6Z,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,sBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAkBzT,kBAAA,KAAAA,kBAAA,GAAAjG,oBAAA,CAAA,CAAA,oCAAA,CAAA,EAAA,CAAA,oCAAA,CAAA,CAAA,CAAlB,CAAd,CAAA;AAIA,IAAMknB,aAAa,GAAGrnB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAa4K,kBAAA,KAAAA,kBAAA,GAAA1K,oBAAA,CAAA,CAAA,4EAAA,EAAA,oEAAA,EAAA,iCAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,4EAAA,EAIsB,oEAJtB,EAUlB,iCAVkB,EAW8B,uBAX9B,CAAA,CAAA,CAAb,EAIN,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBsD,QAAlB,CAAA;AAA0B,CAJnC,EAUTiH,IAVS,EAWE,UAAC7L,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBsD,QAAlB,CAAA;AAA0B,CAX3C,CAAnB,CAAA;;AAgBA,IAAM8hB,UAAU,GAqBX,UAAC1mB,EAAD,EAA2D;AAAxD,EAAA,IAAA4C,QAAQ,GAAA5C,EAAA,CAAA4C,QAAR;AAAA,MAAUC,KAAK,GAAA7C,EAAA,CAAA6C,KAAf;AAAA,MAAiB8jB,OAAO,GAAA3mB,EAAA,CAAA2mB,OAAxB;AAAA,MAA0BC,QAAQ,cAAlC;AAAA,MAAoCC,UAAU,GAAA7mB,EAAA,CAAA6mB,UAA9C;AAAA,MAAgD/jB,MAAM,GAAA9C,EAAA,CAAA8C,MAAtD,CAAA;AACI,EAAA,IAAAlB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AAEA,EAAA,OACIhB,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAP,IAAAA,QAAQ,EAAEA,QAAV;AACAS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KAN3B;AAQAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CARnB;AASAM,IAAAA,aAAa,EAAA,IAAA;AATb,GADJ,EAYItB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAA,CAAAC,aAAA,CAACwkB,KAAD,EAAM,IAAN,EACK1jB,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEkB,GAAP,CAAW,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;;;AAAK,IAAA,OACrBlC,cAAC,CAAAC,aAAD,CAAC6X,IAAD,EAAM;AAAA1V,MAAAA,GAAG,EAAEF,CAAAA;AAAL,KAAN,EACIlC,cAAC,CAAAC,aAAD,CAAC8J,IAAD;AACIsH,MAAAA,UAAU,EAAA,IAAA;OACNzL,IAAI,CAAC7B,MACT;AAAA5F,MAAAA,UAAU,EAAEA,UAAZ;AACAsG,MAAAA,SAAS,EAAE,CAAAvG,EAAA,GAAA0H,IAAI,KAAJ,IAAA,IAAAA,IAAI,WAAJ,SAAA,GAAAA,IAAI,CAAEqE,KAAN,MAAW,IAAX,IAAW/L,EAAA,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAWA,EAAA,CAAEyJ,GAAAA;AADxB,MAHJ,EAMK/B,IAAI,CAACqE,KAAL,IACGjK,4BAAA,CAACoJ,aAAD,EAAY5E,QAAA,CAAA,EAAA,EACJoB,IAAI,CAACqE,KADD,EACM;AACdI,MAAAA,UAAU,EAAA,IADI;AAEdC,MAAAA,MAAM,EAAE;AACJ5E,QAAAA,KAAK,EAAE;AAAE6E,UAAAA,CAAC,EAAE,CAAL;AAAQC,UAAAA,CAAC,EAAE,CAAA;AAAX,SAAA;AADH,OAFM;AAKdrM,MAAAA,UAAU,EAAEA,UAAAA;AALE,KADN,CAAZ,CAPR,EAgBI6B,cAAA,CAAAC,aAAA,CAACsJ,aAAD,EAAc,IAAd,EACIvJ,cAAC,CAAAC,aAAD,CAACykB,QAAD;AAAUrkB,MAAAA,IAAI,EAAC;AAAQlC,MAAAA,UAAU;KAAjC,EACK2mB,QAAQ,GACHA,QADG,GAEH,wBAHV,CADJ,EAMKD,OAAO,IACJ7kB,cAAC,CAAAC,aAAD,CAACkX,OAAD;AAAS9W,MAAAA,IAAI,EAAC;AAAYlC,MAAAA,UAAU,EAAA,IAAA;KAApC,EACK0mB,OADL,CAPR,CAhBJ,EA4BI7kB,cAAC,CAAAC,aAAD,CAAC0kB,aAAD,EACK,IADL,EACKI,UAAU,IAAI/kB,cAAA,CAAAC,aAAA,CAAC+kB,SAAD,EAAU,IAAV,CADnB,CA5BJ,CADJ,CADqB,CAAA;AAmCxB,GAnCA,CADL,CADJ,CAZJ,CADJ,CAAA;AAuDH,CAjFD,CAAA;AAoFA,mBAAepiB,YAAY,CAACgiB,UAAD,CAA3B,CAAA;;;ACxOA,IAAMK,YAAY,GAAG3nB,MAAM,CAACsE,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,cAAA;AAAA,CAAkBpE,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,yCAAA,EAAA,cAAA,CAAA,EAAA,CAAA,yCAAA,EAEC,cAFD,CAAA,CAAA,CAAlB,EAEIC,QAAQ,CAACwB,MAFb,CAAlB,CAAA;;AAMA,IAAMgmB,KAAK,GASN,UAAChnB,EAAD,EAAiC;AAA9B,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUE,MAAM,GAAA9C,EAAA,CAAA8C,MAAhB;AAAA,MAAkBmkB,UAAU,GAAAjnB,EAAA,CAAAinB,UAA5B,CAAA;AACI,EAAA,IAAArlB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAX,IAAqB7C,UAAnC,CAAA;AAEA,EAAA,OACI6B,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYIhB,cAAC,CAAAC,aAAD,CAACglB,YAAD,MAAA,EACKE,UAAU,CAACljB,GAAX,CAAe,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;AACpB,IAAA,OACIlC,cAAC,CAAAC,aAAD,CAACmlB,UAAD;AACIhjB,MAAAA,GAAG,EAAEF,CAAAA;OACD0D;AACJzH,MAAAA,UAAU,EAAEA;AACZ4U,MAAAA,OAAO,EAAE3U,KAAAA;MAJb,CADJ,CAAA;AAQH,GATA,CADL,CAZJ,CADJ,CAAA;AA2BH,CAzCD,CAAA;AA4CA,cAAewE,YAAY,CAACsiB,KAAD,CAA3B,CAAA;;;ACpCA,IAAMG,MAAM,GAAG/nB,MAAM,CAACulB,MAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,gBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBrlB,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,2LAAA,EAAA,2BAAA,EAAA,mDAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,2LAAA,EAUQ,2BAVR,EAaH,mDAbG,EAegB,yBAfhB,CAAA,CAAA,CAAhB,EAUUC,QAAQ,CAACC,KAVnB,EAaCe,EAAE,CAACS,SAbJ,EAeczB,QAAQ,CAACC,KAAT,GAAiB,CAf/B,CAAZ,CAAA;AAoBA,IAAMyL,WAAW,GAAG9L,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,8NAAgB,iFAKR,+BACgD,0CANxD,EAKJ3K,EAAE,CAACS,SALC,EAMQ,UAACjB,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CANxD,CAAjB,CAAA;AAWA,IAAMqiB,OAAK,GAAGhoB,MAAM,CAACioB,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,eAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAGTtnB,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,iBAAA,EAAA,0CAAA,CAAA,EAAA,CAAA,iBAAA,EAC8D,0CAD9D,CAAA,CAAA,CAHS,EAII,UAACS,EAAD,EAAc;AAAX,EAAA,IAAA2Z,SAAS,GAAA3Z,EAAA,CAAA2Z,SAAT,CAAA;AAAgB,EAAA,OAACA,SAAS,GAAG,OAAH,GAAa,MAAvB,CAAA;AAA8B,CAJrD,CAAX,CAAA;AASA,IAAMtQ,WAAW,GAAGjK,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeC,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,sCAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,YAAA,CAAA,EAAA,CAI9B,sCAJ8B,EAOP,4BAPO,EAQU,8BARV,EASW,4BATX,EAU+B,2BAV/B,EAWiC,wBAXjC,EAY8B,sBAZ9B,EAiBc,yBAjBd,EAoBV,yBApBU,EAqB8B,YArB9B,CAAA,CAAA,CAAf,EAOJiB,EAAE,CAACS,SAPC,EAQOzB,QAAQ,CAACC,KAAT,GAAiB,CARxB,EASQD,QAAQ,CAACC,KAAT,GAAiB,CATzB,EAUM,UAACO,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,MAAd,CAAA;AAAoB,CAV9C,EAWO,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAAA,CAACA,UAAD,IAAe,MAAf,CAAA;AAAqB,CAXhD,EAYI,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAAsnB,UAAU,GAAAtnB,EAAA,CAAAsnB,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,OAAd,CAAA;AAAqB,CAZ7C,EAcA,UAACtnB,EAAD,EAAkC;AAA/B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAOF,UAAU,GAAAD,EAAA,CAAAC,UAAjB;AAAA,MAAmBqnB,UAAU,GAAAtnB,EAAA,CAAAsnB,UAA7B,CAAA;AACR,EAAArnB,OAAAA,UAAU,IAAI,CAACqnB,UAAf,GACMnS,QAAI,CAAChV,KAAD,CAAJ,CAAYkE,IAAZ,CAAiBmD,KAAjB,CAAuB6N,aAD7B,GAEMF,QAAI,CAAChV,KAAD,CAAJ,CAAYkE,IAAZ,CAAiBmD,KAAjB,CAAuBpH,KAF7B,CAAA;AAEkC,CAjB7B,EAoBJI,EAAE,CAACiH,MApBC,EAqBI,UAACzH,EAAD,EAAe;AAAZ,EAAA,IAAAsnB,UAAU,GAAAtnB,EAAA,CAAAsnB,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,OAAd,CAAA;AAAqB,CArB7C,CAAjB,CAAA;AAyBA,IAAMxf,eAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAkBhH,CAAAA,CAAAA,kBAAA,KAAAA,kBAAA,GAAAxB,oBAAA,CAAA,CAAA,mDAAA,EAAA,cAAA,CAAA,EAAA,CAAA,mDAAA,EAEA,cAFA,CAAA,CAAA,CAAlB,EAEGC,QAAQ,CAACwB,MAFZ,CAAnB,CAAA;;AAMA,IAAMumB,MAAM,GA6CP,UAACvnB,EAAD,EAcJ;AAbG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAG,EAAA,GAAA/C,EAAA,CAAA4T,UADA;AAAA,MACAA,UAAU,GAAA7Q,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA,EADlB;AAAA,MAEAD,MAAM,GAAA9C,EAAA,CAAA8C,MAFN;AAAA,MAGAsF,UAAU,GAAApI,EAAA,CAAAoI,UAHV;AAAA,MAIAC,YAAY,GAAArI,EAAA,CAAAqI,YAJZ;AAAA,MAKA3C,KAAK,GAAA1F,EAAA,CAAA0F,KALL;AAAA,MAMAuC,OAAO,aANP;AAAA,MAOA8D,KAAK,WAPL;AAAA,MAQAyb,KAAK,WARL;AAAA,MASA5hB,WAAW,GAAA5F,EAAA,CAAA4F,WATX;AAAA,MAUAtE,IAAI,GAAAtB,EAAA,CAAAsB,IAVJ;AAAA,MAWAmH,aAAa,GAAAzI,EAAA,CAAAyI,aAXb;AAAA,MAYAC,eAAe,GAAA1I,EAAA,CAAA0I,eAZf,CAAA;AAcQ,EAAA,IAAA9G,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAM5B,IAAAA,UAAU,GAAG6C,MAAM,KAAK,UAAX,IAAyBA,MAAM,KAAK,mBAAvD,CAAA;AACA,EAAMwkB,IAAAA,UAAU,GAAGxkB,MAAM,KAAK,UAAX,IAAyBA,MAAM,KAAK,mBAAvD,CAAA;AACA,EAAM2kB,IAAAA,QAAQ,GAAGzF,YAAY,CAACwF,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEE,IAAR,EAAc,KAAd,CAA7B,CAAA;AAEA,EAAA,IAAMC,OAAO,GAAG9X,MAAM,CAAwB,IAAxB,CAAtB,CAAA;;AACM,EAAA3H,IAAAA,EAAA,GAAwBlF,QAAQ,CAAC,EAAC+I,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAR,CAAiB,IAAA,KAAlB,CAAhC;AAAA,MAAC2Z,QAAQ,GAAAjZ,EAAA,CAAA,CAAA,CAAT;AAAA,MAAW0f,SAAS,GAAA1f,EAAA,CAAA,CAAA,CAApB,CAAA;;AACA,EAAA,IAAA2G,EAAA,GAAkC7L,QAAQ,CAAU,KAAV,CAA1C;AAAA,MAAC6kB,aAAa,GAAAhZ,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgBiZ,cAAc,GAAAjZ,EAAA,CAAA,CAAA,CAA9B,CAAA;;AACN,EAAMkZ,IAAAA,mBAAmB,GAAGC,kBAAkB,EAA9C,CAAA;AAEAC,EAAAA,eAAe,CAAC,YAAA;AACZ,IAAA,IAAI,CAACN,OAAO,CAAC5X,OAAT,IAAoB,CAAC0X,QAAzB,EAAmC,OAAA;;AACnC,IAAI,IAAA,CAACM,mBAAL,EAA0B;AACtBD,MAAAA,cAAc,CAAC,IAAD,CAAd,CAAA;AACA,MAAA,OAAA;AACH,KAAA;;AAED,IAAMzX,IAAAA,QAAQ,GAAG,IAAIC,oBAAJ,CACb,UAACC,OAAD,EAAUF,QAAV,EAAkB;AACP,MAAA,IAAA6X,KAAK,GAAI3X,OAAO,CAAA,CAAA,CAAhB,CAAA;;AAEP,MAAI2X,IAAAA,KAAK,CAAC1X,cAAV,EAA0B;AACtBH,QAAAA,QAAQ,CAACI,SAAT,CAAmByX,KAAK,CAACxX,MAAzB,CAAA,CAAA;AACAoX,QAAAA,cAAc,CAAC,IAAD,CAAd,CAAA;AACH,OAAA;AACJ,KARY,EASb;AACI3X,MAAAA,UAAU,EAAE,qBAAA;AADhB,KATa,CAAjB,CAAA;AAcA,IAAA,IAAMgY,MAAM,GAAGR,OAAO,CAAC5X,OAAvB,CAAA;AACAM,IAAAA,QAAQ,CAACM,OAAT,CAAiBwX,MAAjB,CAAA,CAAA;AAEA,IAAA,OAAO,YAAA;AACH,MAAA,IAAIA,MAAJ,EAAY9X,QAAQ,CAACI,SAAT,CAAmB0X,MAAnB,CAAA,CAAA;AACf,KAFD,CAAA;AAGH,GA3Bc,EA2BZ,CAACJ,mBAAD,CA3BY,CAAf,CAAA;AA6BA,EAAA,OACIjmB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJC,IAAAA,aAAa,EAAA,IADT;AAEJR,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEslB,iBAAiB,CAACtlB,MAAD,EAAS,KAAT,EAAgB8Q,UAAhB,CAAA;AAVrB,GAAR,EAYI9R,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAC,IAAAA,aAAa,EAAC,IAAd;AAAciF,IAAAA,UAAU,EAAC,QAAA;AAAzB,GAAT,EACI9G,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAU;AAAAiF,IAAAA,MAAM,EAAC,QAAA;AAAP,GAAV,EACIhH,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAE,CAAA,GAAI,EADH;AAEPgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAH,GAAO,CAAlB,IAAuB,EAAA;AAFtB,KADN;AAKLnM,IAAAA,MAAM,EAAE;AACJsB,MAAAA,IAAI,EAAE,CAAA,GAAI,EADN;AAEJgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAH,GAAO,CAAlB,IAAuB,EAAA;AAFzB,KAAA;AALH,GAAT,EAUK,CAAC,CAAA7H,KAAK,SAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAP,KAAgBigB,QAAjB,KACG3lB,cAAA,CAAAC,aAAA,CAAColB,MAAD,EAAQ;AAAAxf,IAAAA,GAAG,EAAEggB,OAAAA;AAAL,GAAR,EACK,CAAA5b,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAP,MAAiB,CAACggB,KAAD,IAAU,CAACrG,QAA5B,CAAA,IACGrf,cAAA,CAAAC,aAAA,CAACmJ,WAAD,EAAY5E,QAAA,CAAA,EAAA,EACJyF,KADI,EACC;AACT9L,IAAAA,UAAU,EAAEA,UADH;AAETkM,IAAAA,UAAU,EAAA,IAAA;AAFD,GADD,CAAZ,CAFR,EAQKsb,QAAQ,IACL3lB,cAAA,CAAAC,aAAA,CAACqlB,OAAD,EACI;AAAAM,IAAAA,IAAI,EACAG,aAAa,GACPL,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEE,IADA,GAEPjhB,SAHV;AAKA4hB,IAAAA,KAAK,EAAA,IALL;AAMAC,IAAAA,QAAQ,EACR,IAPA;AAOAC,IAAAA,IAAI,EACJ,IARA;AAQAC,IAAAA,gBAAgB,EAAE,YAAM;AAAA,MAAAZ,OAAAA,SAAS,CAAC,IAAD,CAAT,CAAA;AAAe,KARvC;AASAxb,IAAAA,MAAM,EAAEob,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEiB,YATf;AAUA9O,IAAAA,SAAS,EAAEwH,QAVX;AAWAlhB,IAAAA,UAAU,EAAEA,UAAAA;AAXZ,GADJ,CATR,EAwBK2F,WAAW,IACR9D,cAAC,CAAAC,aAAD,CAACsH,WAAD;AACIlH,IAAAA,IAAI,EAAC;AACLD,IAAAA,QAAQ,EAAC;AACTjC,IAAAA,UAAU,EAAEA;AACZqnB,IAAAA,UAAU,EAAEA;AACZ1T,IAAAA,UAAU,EAAEA;AACZlR,IAAAA,SAAS,EAAEkD,WAAAA;GANf,CAzBR,CAXR,CADJ,EAkDI9D,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAE,CAAA,GAAI,EADH;AAEPgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAC,CAAJ,GAAQ,CAAnB,IAAwB,EAAA;AAFvB,KADN;AAKLnM,IAAAA,MAAM,EAAE;AACJsB,MAAAA,IAAI,EAAE,CAAA,GAAI,EADN;AAEJgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAC,CAAJ,GAAQ,CAAnB,IAAwB,EAAA;AAF1B,KAAA;AALH,GAAT,EAUI9R,cAAA,CAAAC,aAAA,CAAC4H,UAAD,EAAW;AACP+e,IAAAA,YAAY,EAAA,IADL;AAEPhjB,IAAAA,KAAK,EAAEA,KAFA;AAGPuC,IAAAA,OAAO,EAAEA,OAHF;AAIPG,IAAAA,UAAU,EAAEA,UAJL;AAKPC,IAAAA,YAAY,EAAEA,YALP;AAMP/G,IAAAA,IAAI,EAAEA,IANC;AAOPuH,IAAAA,SAAS,EAAE5I,UAAU,GAAG,UAAH,GAAgB,SAAA;AAP9B,GAAX,CAVJ,EAmBK,CAACwI,aAAa,IAAIC,eAAlB,KACG5G,cAAA,CAAAC,aAAA,CAAC+F,eAAD,EACI;AAAAnD,IAAAA,OAAO,EACH8D,aAAa,IAAIA,aAAa,CAACxI,UAAD,CADlC;AAGA+I,IAAAA,SAAS,EACLN,eAAe,IACfA,eAAe,CAACzI,UAAD,CAAA;AALnB,GADJ,CApBR,CAlDJ,CADJ,CAZJ,CADJ,CAAA;AAmGH,CAtMD,CAAA;;AAwMO,IAAMmoB,iBAAiB,GAAG,UAC7BzC,IAD6B,EAE7BgD,YAF6B,EAG7B/U,UAH6B,EAGX;AADlB,EAAA,IAAA+U,YAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,YAAoB,GAAA,KAApB,CAAA;AAAoB,GAAA;;AACpB,EAAA,IAAA/U,UAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,UAAkB,GAAA,KAAlB,CAAA;AAAkB,GAAA;;AAElB,EAAA,QAAQ+R,IAAR;AACI,IAAA,KAAK,MAAL;AACI,MAAA,OAAO,MAAP,CAAA;;AACJ,IAAA,KAAK,UAAL;AACI,MAAA,OAAO,UAAP,CAAA;;AACJ,IAAA,KAAK,UAAL;AAAiB,MAAA;AACb,QAAA,IAAI,CAACgD,YAAL,EACI,OAAO/U,UAAU,GAAG,aAAH,GAAmB,cAApC,CADJ,KAEK,OAAOnN,SAAP,CAAA;AACR,OAAA;;AACD,IAAA,KAAK,mBAAL;AAA0B,MAAA;AACtB,QAAA,IAAI,CAACkiB,YAAL,EACI,OAAO/U,UAAU,GAAG,aAAH,GAAmB,cAApC,CADJ,KAEK,OAAOnN,SAAP,CAAA;AACR,OAAA;;AAED,IAAA;AACI,MAAA,OAAOA,SAAP,CAAA;AAjBR,GAAA;AAmBH,CAxBM,CAAA;AA2BP,eAAe/B,YAAY,CAAC6iB,MAAD,CAA3B,CAAA;;;AChTA;;;AAGK;;AACL,IAAMqB,mBAAmB,GAAG,YAAA;AACxB,EAAO7d,OAAAA,GAAG,CAAAzL,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,YAAA,EAAA,QAAA,CAAA,EAAA,CAAA,YAAA,EAIJ,QAJI,CAAA,CAAA,CAAA,EACJuK,YAAY,CAAC;AACXC,IAAAA,IAAI,EAAE,CADK;AAEXqT,IAAAA,SAAS,EAAE,SAAA,CAAG5d,QAAQ,CAACmT,OAAT,GAAmB0K,iBAAiB,GAAG,CAA1C,EAAgD,KAAhD,CAAA;AAFA,GAAD,CADR,CAAV,CAAA;AAMH,CAPD,CAAA;;AASA,IAAMwL,SAAS,GAAGzpB,MAAM,CAACioB,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAqBtnB,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,iBAAA,EAAA,mLAAA,EAAA,kBAAA,EAAA,iQAAA,EAAA,KAAA,EAAA,gCAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,mOAAA,EAAA,KAAA,EAAA,4BAAA,EAAA,2NAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,kCAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,YAAA,CAAA,EAAA,CAGlC,iBAHkC,EAI4B,mLAJ5B,EAciC,kBAdjC,EAgBX,iQAhBW,EA0BlB,KA1BkB,EA0BK,gCA1BL,EA4B2B,oBA5B3B,EA6B4B,yBA7B5B,EAgCd,mOAhCc,EAsCa,KAtCb,EAsCoC,4BAtCpC,EAyCb,2NAzCa,EA+CG,OA/CH,EA+CgC,sBA/ChC,EAgDD,kCAhDC,EAmD6B,oBAnD7B,EAoD8B,eApD9B,EA8DvB,YA9DuB,CAAA,CAAA,CAArB,EAIA,UAACS,EAAD,EAAc;AAAX,EAAA,IAAA2Z,SAAS,GAAA3Z,EAAA,CAAA2Z,SAAT,CAAA;AAAgB,EAAA,OAACA,SAAS,GAAG,OAAH,GAAa,MAAvB,CAAA;AAA8B,CAJjD,EAcM,UAAC3Z,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAdtD,EAgBFvE,EAAE,CAACS,SAhBD,EAuBD6I,YAAY,CAAC;AACPC,EAAAA,IAAI,EAAE,CADC;AAEPqT,EAAAA,SAAS,EAAE,SAAAjZ,CAAAA,MAAA,CAAUkZ,iBAAiB,GAAG,CAA9B,EAAoC,KAApC,CAAA;AAFJ,CAAD,CAvBX,EA0BSA,iBA1BT,EA4BC,UAACrd,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,GAAvB,CAAA;AAA2B,CA5BhD,EA6BE,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,GAAH,GAAS,MAApB,CAAA;AAA2B,CA7BjD,EAgCFpT,EAAE,CAACiH,MAhCD,EAsCamhB,mBAAmB,EAtChC,EAsCwCvL,iBAtCxC,EAyCF7c,EAAE,CAAC8c,OAzCD,EA+CD9d,QAAQ,CAACoZ,YAAT,GAAwB,CA/CvB,EA+CgCgQ,mBAAmB,EA/CnD,EAgDGvL,iBAhDH,EAmDC,UAACrd,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,KAAvB,CAAA;AAA6B,CAnDlD,EAoDE,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,KAAH,GAAW,MAAtB,CAAA;AAA6B,CApDnD,EAsDL,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AACD,EAAA,OAAA7I,GAAG,gRAAA,iGAG8C,mCACT,OAAuB,iEAJ5D,EAGW6I,UAAU,GAAG,SAAH,GAAe,UAHpC,EAIgBgV,mBAAmB,EAJnC,EAI2CvL,iBAJ3C,CAAH,CAAA;AAOC,CA9DE,CAAf,CAAA;AAkEA,IAAMyL,SAAS,GAAG1pB,MAAM,CAAC+L,KAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,uBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBpK,gBAAA,KAAAA,gBAAA,GAAAxB,oBAAA,CAAA,CAAA,+LAAA,EAAA,iQAAA,EAAA,KAAA,EAAA,gCAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,mOAAA,EAAA,KAAA,EAAA,4BAAA,EAAA,2NAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,kCAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,YAAA,CAAA,EAAA,CAA0B,+LAA1B,EAcN,iQAdM,EAwBb,KAxBa,EAwBU,gCAxBV,EA0BgC,oBA1BhC,EA2BiC,yBA3BjC,EA8BT,mOA9BS,EAoCkB,KApClB,EAoCyC,4BApCzC,EAuCR,2NAvCQ,EA6CQ,OA7CR,EA6CqC,sBA7CrC,EA8CI,kCA9CJ,EAiDkC,oBAjDlC,EAkDmC,eAlDnC,EA4DlB,YA5DkB,CAAA,CAAA,CAAhB,EAcFiB,EAAE,CAACS,SAdD,EAqBD6I,YAAY,CAAC;AACPC,EAAAA,IAAI,EAAE,CADC;AAEPqT,EAAAA,SAAS,EAAE,SAAAjZ,CAAAA,MAAA,CAAUkZ,iBAAiB,GAAG,CAA9B,EAAoC,KAApC,CAAA;AAFJ,CAAD,CArBX,EAwBSA,iBAxBT,EA0BC,UAACrd,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,GAAvB,CAAA;AAA2B,CA1BhD,EA2BE,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,GAAH,GAAS,MAApB,CAAA;AAA2B,CA3BjD,EA8BFpT,EAAE,CAACiH,MA9BD,EAoCamhB,mBAAmB,EApChC,EAoCwCvL,iBApCxC,EAuCF7c,EAAE,CAAC8c,OAvCD,EA6CD9d,QAAQ,CAACoZ,YAAT,GAAwB,CA7CvB,EA6CgCgQ,mBAAmB,EA7CnD,EA8CGvL,iBA9CH,EAiDC,UAACrd,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,KAAvB,CAAA;AAA6B,CAjDlD,EAkDE,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,KAAH,GAAW,MAAtB,CAAA;AAA6B,CAlDnD,EAoDL,UAAC5T,EAAD,EAAe;AAAZ,EAAA,IAAA4T,UAAU,GAAA5T,EAAA,CAAA4T,UAAV,CAAA;AACD,EAAA,OAAA7I,GAAG,gRAAA,iGAG8C,mCACT,OAAuB,iEAJ5D,EAGW6I,UAAU,GAAG,SAAH,GAAe,UAHpC,EAIgBgV,mBAAmB,EAJnC,EAI2CvL,iBAJ3C,CAAH,CAAA;AAOC,CA5DE,CAAf,CAAA;AAgEA,IAAMjY,OAAO,GAAGhG,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAamG,gBAAA,KAAAA,gBAAA,GAAAjG,oBAAA,CAAA,CAAA,QAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,WAAA,CAAA,EAAA,CAAA,QAAA,EAKjB,iBALiB,EAOD,cAPC,EAYb,WAZa,CAAA,CAAA,CAAb,EACP,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AACD,EAAA,OAAA0S,SAAS,CACLhO,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuB2Y,UAAvB,CAAkCC,OAAlC,CAA0Cnb,OADrC,EAEL,gBAFK,CAAT,CAAA;AAGC,CALI,EAOA/B,EAAE,CAACS,SAPH,EAQH,UAACjB,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AACD,EAAA,OAAA0S,SAAS,CACLhO,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuB2Y,UAAvB,CAAkCC,OAAlC,CAA0Cnb,OADrC,EAEL,aAFK,CAAT,CAAA;AAGC,CAZA,CAAb,CAAA;AAgBA,IAAMuF,aAAa,GAAG1I,MAAM,CAAC2I,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,2BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAkBkC,CAAAA,CAAAA,gBAAA,KAAAA,gBAAA,GAAA1K,oBAAA,CAAA,CAAA,mDAAA,EAAA,cAAA,CAAA,EAAA,CAAA,mDAAA,EAEA,cAFA,CAAA,CAAA,CAAlB,EAEGC,QAAQ,CAACwB,MAFZ,CAAnB,CAAA;;AAMA,IAAM+nB,UAAU,GA0CX,UAAC/oB,EAAD,EAaJ;AAZG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAG,EAAA,GAAA/C,EAAA,CAAA4T,UADA;AAAA,MACAA,UAAU,mBAAG,QAAK7Q,EADlB;AAAA,MAEAqF,UAAU,gBAFV;AAAA,MAGAC,YAAY,GAAArI,EAAA,CAAAqI,YAHZ;AAAA,MAIA3C,KAAK,GAAA1F,EAAA,CAAA0F,KAJL;AAAA,MAKAuC,OAAO,GAAAjI,EAAA,CAAAiI,OALP;AAAA,MAMA8D,KAAK,GAAA/L,EAAA,CAAA+L,KANL;AAAA,MAOAyb,KAAK,WAPL;AAAA,MAQAlmB,IAAI,GAAAtB,EAAA,CAAAsB,IARJ;AAAA,MASAmH,aAAa,GAAAzI,EAAA,CAAAyI,aATb;AAAA,MAUAC,eAAe,GAAA1I,EAAA,CAAA0I,eAVf;AAAA,MAWA5F,MAAM,GAAA9C,EAAA,CAAA8C,MAXN,CAAA;AAaQ,EAAA,IAAAlB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AAER,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;AACA,EAAM2kB,IAAAA,QAAQ,GAAGzF,YAAY,CAACwF,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEE,IAAR,EAAc,KAAd,CAA7B,CAAA;AAEA,EAAA,IAAMC,OAAO,GAAG9X,MAAM,CAAwB,IAAxB,CAAtB,CAAA;;AACM,EAAA3H,IAAAA,EAAA,GAAwBlF,QAAQ,CAAC,EAAC+I,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAR,CAAiB,IAAA,KAAlB,CAAhC;AAAA,MAAC2Z,QAAQ,GAAAjZ,EAAA,CAAA,CAAA,CAAT;AAAA,MAAW0f,SAAS,GAAA1f,EAAA,CAAA,CAAA,CAApB,CAAA;;AACA,EAAA,IAAA2G,EAAA,GAAkC7L,QAAQ,CAAU,KAAV,CAA1C;AAAA,MAAC6kB,aAAa,GAAAhZ,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgBiZ,cAAc,GAAAjZ,EAAA,CAAA,CAAA,CAA9B,CAAA;;AACN,EAAMkZ,IAAAA,mBAAmB,GAAGC,kBAAkB,EAA9C,CAAA;AAEAC,EAAAA,eAAe,CAAC,YAAA;AACZ,IAAA,IAAI,CAACN,OAAO,CAAC5X,OAAT,IAAoB,CAAC0X,QAAzB,EAAmC,OAAA;;AACnC,IAAI,IAAA,CAACM,mBAAL,EAA0B;AACtBD,MAAAA,cAAc,CAAC,IAAD,CAAd,CAAA;AACA,MAAA,OAAA;AACH,KAAA;;AAED,IAAMzX,IAAAA,QAAQ,GAAG,IAAIC,oBAAJ,CACb,UAACC,OAAD,EAAUF,QAAV,EAAkB;AACP,MAAA,IAAA6X,KAAK,GAAI3X,OAAO,CAAA,CAAA,CAAhB,CAAA;;AAEP,MAAI2X,IAAAA,KAAK,CAAC1X,cAAV,EAA0B;AACtBH,QAAAA,QAAQ,CAACI,SAAT,CAAmByX,KAAK,CAACxX,MAAzB,CAAA,CAAA;AACAoX,QAAAA,cAAc,CAAC,IAAD,CAAd,CAAA;AACH,OAAA;AACJ,KARY,EASb;AACI3X,MAAAA,UAAU,EAAE,qBAAA;AADhB,KATa,CAAjB,CAAA;AAcA,IAAA,IAAMgY,MAAM,GAAGR,OAAO,CAAC5X,OAAvB,CAAA;AACAM,IAAAA,QAAQ,CAACM,OAAT,CAAiBwX,MAAjB,CAAA,CAAA;AAEA,IAAA,OAAO,YAAA;AACH,MAAA,IAAIA,MAAJ,EAAY9X,QAAQ,CAACI,SAAT,CAAmB0X,MAAnB,CAAA,CAAA;AACf,KAFD,CAAA;AAGH,GA3Bc,EA2BZ,CAACJ,mBAAD,CA3BY,CAAf,CAAA;AA6BA,EAAA,OACIjmB,cAAA,CAAAC,aAAA,CAACoB,OAAD,EAAQ;AACJwE,IAAAA,GAAG,EAAEggB,OADD;AAEJ/kB,IAAAA,QAAQ,EAAEA,QAFN;AAGJS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJrD,KAAK,GACL0B,MAAM,CAAC0B,SAAP,CAAiB/C,MADZ,GAELqB,MAAM,CAAC0B,SAAP,CAAiBhD,KARvB;AAUJwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CAAA;AAVf,GAAR,EAYK,CAAAiJ,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAAA,KAAK,CAAEvE,KAAP,MAAiB,CAACggB,KAAD,IAAU,CAACrG,QAA5B,CAAA,IACGrf,cAAA,CAAAC,aAAA,CAAC+mB,SAAD,EAAUxiB,QAAA,CAAA;AACN6F,IAAAA,UAAU,EAAA,IAAA;AADJ,GAAA,EAEFJ,KAFE,EAGN;AAAA6H,IAAAA,UAAU,EAAEA,UAAZ;AACA3T,IAAAA,UAAU,EAAEA,UAAAA;AADZ,GAHM,CAAV,CAbR,EAoBKwnB,QAAQ,IACL3lB,cAAC,CAAAC,aAAD,CAAC8mB,SAAD,EACI;AAAAnB,IAAAA,IAAI,EAAEG,aAAa,GAAGL,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEE,IAAV,GAAiBjhB,SAApC;AACA4hB,IAAAA,KAAK,EACL,IAFA;AAEAC,IAAAA,QAAQ,EACR,IAHA;AAGAC,IAAAA,IAAI,MAHJ;AAIAC,IAAAA,gBAAgB,EAAE,YAAM;AAAA,MAAAZ,OAAAA,SAAS,CAAC,IAAD,CAAT,CAAA;AAAe,KAJvC;AAKAjO,IAAAA,SAAS,EAAEwH,QALX;AAMAlhB,IAAAA,UAAU,EAAEA,UANZ;AAOA2T,IAAAA,UAAU,EAAEA,UAPZ;AAQAxH,IAAAA,MAAM,EAAEob,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEiB,YAAAA;AARf,GADJ,CArBR,EAiCI3mB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAS;AAAAkF,IAAAA,UAAU,EAAC,QAAX;AAAoBjF,IAAAA,aAAa,EAAA,IAAA;AAAjC,GAAT,EACI7B,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACC,GAAN,EAAU;AAAAiF,IAAAA,MAAM,EAAC,QAAA;AAAP,GAAV,EACIhH,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAE,CAAA,GAAI,EADH;AAEPgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAH,GAAO,CAAlB,IAAuB,EAAA;AAFtB,KADN;AAKLnM,IAAAA,MAAM,EAAE;AACJsB,MAAAA,IAAI,EAAE,CAAA,GAAI,EADN;AAEJgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAH,GAAO,CAAlB,IAAuB,EAAA;AAFzB,KAAA;AALH,GAAT,CADJ,EAWI9R,cAAA,CAAAC,aAAA,CAAC6B,IAAI,CAACE,GAAN,EAAS;AACL7C,IAAAA,SAAS,EAAE;AACP8H,MAAAA,IAAI,EAAE,CAAA,GAAI,EADH;AAEPgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAC,CAAJ,GAAQ,CAAnB,IAAwB,EAAA;AAFvB,KADN;AAKLnM,IAAAA,MAAM,EAAE;AACJsB,MAAAA,IAAI,EAAE,CAAA,GAAI,EADN;AAEJgZ,MAAAA,IAAI,EAAE,CAACnO,UAAU,GAAG,CAAC,CAAJ,GAAQ,CAAnB,IAAwB,EAAA;AAF1B,KAAA;AALH,GAAT,EAUI9R,cAAA,CAAAC,aAAA,CAACqD,OAAD,EAAQ,IAAR,EACItD,cAAA,CAAAC,aAAA,CAAC4H,UAAD,EAAW;AACP+e,IAAAA,YAAY,EAAA,IADL;AAEPhjB,IAAAA,KAAK,EAAEA,KAFA;AAGPuC,IAAAA,OAAO,EAAEA,OAHF;AAIPG,IAAAA,UAAU,EAAEA,UAJL;AAKPC,IAAAA,YAAY,EAAEA,YALP;AAMP/G,IAAAA,IAAI,EAAEA,IANC;AAOPuH,IAAAA,SAAS,EAAE5I,UAAU,GAAG,UAAH,GAAgB,SAAA;AAP9B,GAAX,CADJ,EAUK,CAACwI,aAAa,IAAIC,eAAlB,KACG5G,cAAA,CAAAC,aAAA,CAAC+F,aAAD,EAAc;AACVnD,IAAAA,OAAO,EACH8D,aAAa,IACbA,aAAa,CAACxI,UAAD,CAHP;AAKV+I,IAAAA,SAAS,EACLN,eAAe,IACfA,eAAe,CAACzI,UAAD,CAAA;AAPT,GAAd,CAXR,CAVJ,CAXJ,CADJ,CAjCJ,CADJ,CAAA;AAoFH,CApLD,CAAA;AAuLA,mBAAeyE,YAAY,CAACqkB,UAAD,CAA3B,CAAA;;;AC5VA,IAAMC,aAAa,GAAG5pB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAIjBC,kBAAA,KAAAA,kBAAA,GAAAC,oBAAA,CAAA,CAAA,0CAAA,EAAA,0BAAA,EAAA,2KAAA,EAAA,wDAAA,EAAA,0IAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,yDAAA,EAAA,gOAAA,EAAA,0CAAA,EAAA,0MAAA,CAAA,EAAA,CAAA,0CAAA,EAGmB,0BAHnB,EAIuE,2KAJvE,EAiB+C,wDAjB/C,EA2B4C,0IA3B5C,EAmCuB,wBAnCvB,EAoCoE,wBApCpE,EAqC0D,yDArC1D,EAuCiE,gOAvCjE,EAsD2C,0CAtD3C,EAyDuB,0MAzDvB,CAAA,CAAA,CAJiB,EAONiB,EAAE,CAACsG,KAPG,EAQG,UAAC9G,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,MAAH,GAAY,OAAvB,CAAA;AAA+B,CARtD,EAkBL,UAACjpB,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAClB,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KADnB,GAEJF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBkD,IAF7B,CAAA;AAEiC,CArB9B,EAwBG,UAACvD,EAAD,EAAgC;AAA7B,EAAA,IAAAG,KAAK,WAAL;AAAA,MAAO8hB,QAAQ,GAAAjiB,EAAA,CAAAiiB,QAAf;AAAA,MAAiBhiB,UAAU,GAAAD,EAAA,CAAAC,UAA3B,CAAA;AACb,EAAA,OAAAgiB,QAAQ,GACFhiB,UAAU,GACNG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KADjB,GAENF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBkD,IAHzB,GAIFtD,UAAU,GACVG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBkD,IADb,GAEVnD,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAN7B,CAAA;AAMkC,CA/B3B,EAuCFE,EAAE,CAACsG,KAvCD,EAwCC,UAAC9G,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AAAiB,EAAA,OAAC,CAACA,UAAD,GAAc,KAAd,GAAsB,MAAvB,CAAA;AAA8B,CAxCnD,EAyCE,UAACjpB,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,KAAd,CAAA;AAAmB,CAzCzC,EA2CD,UAACjpB,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AAAiB,EAAA,OAACA,UAAU,GAAG,KAAH,GAAW,MAAtB,CAAA;AAA6B,CA3ChD,EAuDG,UAACjpB,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAC9B,EAAA,OAAAA,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KADnB,GAEJF,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBkD,IAF7B,CAAA;AAEiC,CA1D1B,EA6DF/C,EAAE,CAACsG,KA7DD,CAAnB,CAAA;AA4EA,IAAMoiB,YAAY,GAAG9pB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,wBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,oZAEhB,iDAEwC,6BACL,sBAEhB,wDAGyC,6BACE,0BASxC,4GAQgB,iBA5BtB,EAIEG,QAAQ,CAACC,KAAT,GAAiB,CAAjB,GAAqB,CAJvB,EAKID,QAAQ,CAACwB,MALb,EAOLR,EAAE,CAACsG,KAPE,EAUK,UAAC9G,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AAAiB,EAAAA,OAAAA,UAAU,IAAI,KAAd,CAAA;AAAmB,CAV5C,EAWM,UAACjpB,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AAAiB,EAAA,OAAA,CAACA,UAAD,IAAe,KAAf,CAAA;AAAoB,CAX9C,EAaC,UAACjpB,EAAD,EAAe;AAAZ,EAAA,IAAAipB,UAAU,GAAAjpB,EAAA,CAAAipB,UAAV,CAAA;AACV,EAAAA,OAAAA,UAAU,GACJ,EAAA,CAAA9kB,MAAA,CAAG3E,QAAQ,CAACwB,MAAZ,EAA0B,OAA1B,CAAA,CAA0BmD,MAA1B,CAA0B3E,QAAQ,CAACwB,MAAT,GAAkB,IAA5C,EAAgD,KAAhD,CAAgDmD,CAAAA,MAAhD,CACI3E,QAAQ,CAACwB,MADb,EAEI,IAFJ,CADI,GAIJ,EAAA,CAAAmD,MAAA,CAAG3E,QAAQ,CAACwB,MAAZ,EAAwB,KAAxB,CAAA,CAAwBmD,MAAxB,CAAwB3E,QAAQ,CAACwB,MAAjC,OAAA,QAAA,CACIxB,QAAQ,CAACwB,MAAT,GAAkB,IADtB,EAEM,MAFN,CAJN,CAAA;AAMY,CApBN,EA4BIxB,QAAQ,CAACC,KAAT,GAAiB,CA5BrB,CAAlB,CAAA;AAgCA,IAAM0pB,SAAS,GAAG/pB,MAAM,CAAC6Z,OAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,qBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAkBlZ,kBAAA,KAAAA,kBAAA,GAAAR,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAlB,CAAf,CAAA;AAEA,IAAM6pB,aAAa,GAAGhqB,MAAM,CAACwB,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAeC,kBAAA,KAAAA,kBAAA,GAAAtB,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAf,CAAnB,CAAA;;AAEA,IAAM8pB,QAAQ,GAMT,UAACrpB,EAAD,EAA4B;AAAzB,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MAAUE,MAAM,GAAA9C,EAAA,CAAA8C,MAAhB;AAAA,MAAkBD,KAAK,GAAA7C,EAAA,CAAA6C,KAAvB,CAAA;AACJ,EAAA,IAAM1C,KAAK,GAAGsK,UAAU,CAACC,YAAD,CAAxB,CAAA;AACA,EAAA,IAAMzK,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AACA,EAAA,IAAM5C,KAAK,GAAG4C,MAAM,KAAK,MAAzB,CAAA;;AAEM,EAAA,IAAAC,EAAA,GAA8BC,QAAQ,CAE1C,EAF0C,CAAtC;AAAA,MAACsmB,UAAU,GAAAvmB,EAAA,CAAA,CAAA,CAAX;AAAA,MAAawmB,aAAa,GAAAxmB,EAAA,CAAA,CAAA,CAA1B,CAAA;;AAGN,EAAMymB,IAAAA,iBAAiB,GAAGxB,kBAAkB,EAA5C,CAAA;AACA,EAAA,IAAMyB,WAAW,GAAG5Z,MAAM,CAA8B,IAA9B,CAA1B,CAAA;;AAEM,EAAA,IAAA3H,EAAA,GAA8BlF,QAAQ,CAAS,CAAT,CAAtC;AAAA,MAAC0mB,UAAU,GAAAxhB,EAAA,CAAA,CAAA,CAAX;AAAA,MAAayhB,aAAa,GAAAzhB,EAAA,CAAA,CAAA,CAA1B,CAAA;;AAEN4H,EAAAA,SAAS,CAAC,YAAA;AACN,IAAI0Z,IAAAA,iBAAiB,IAAIF,UAArB,IAAmCA,UAAU,CAACpiB,MAAX,GAAoB,CAA3D,EAA8D;AAC1D,MAAA,IAAMgJ,OAAO,GAAG;AACZC,QAAAA,UAAU,EAAE,iBADA;AAEZC,QAAAA,SAAS,EAAE,CAAA;AAFC,OAAhB,CAAA;AAKAqZ,MAAAA,WAAW,CAAC1Z,OAAZ,GAAsB,IAAIO,oBAAJ,CAAyB,UAACC,OAAD,EAAQ;AACnDA,QAAAA,OAAO,CAACqZ,OAAR,CAAgB,UAAC1B,KAAD,EAAM;AAClB,UAAIA,IAAAA,KAAK,CAAC1X,cAAV,EAA0B;AACtB,YAAMjM,IAAAA,KAAK,GAAG+kB,UAAU,KAAV,IAAA,IAAAA,UAAU,WAAV,SAAA,GAAAA,UAAU,CAAE5H,SAAZ,CACV,UAACmI,CAAD;AAAO,cAAA,OAAAA,CAAC,CAAC9Z,OAAF,KAAcmY,KAAK,CAACxX,MAApB,CAAA;AAA0B,aADvB,CAAd,CAAA;AAGAiZ,YAAAA,aAAa,CAACplB,KAAD,CAAb,CAAA;AACH,WAAA;AACJ,SAPD,CAAA,CAAA;AAQH,OATqB,EASnB2L,OATmB,CAAtB,CAAA;;AAWA,MAAA,KAAK,IAAIlM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGslB,UAAU,CAACpiB,MAA/B,EAAuClD,CAAC,EAAxC,EAA4C;AACxCylB,QAAAA,WAAW,CAAC1Z,OAAZ,CAAoBY,OAApB,CAA4B2Y,UAAU,CAACtlB,CAAD,CAAV,CAAc+L,OAA1C,CAAA,CAAA;AACH,OAAA;AACJ,KAAA;;AAED,IAAA,OAAO,YAAA;;;AACH,MAAA,CAAA/P,EAAA,GAAAypB,WAAW,CAAC1Z,OAAZ,MAAqB,IAArB,IAAqB/P,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAA8pB,UAAA,EAArB,CAAA;AACH,KAFD,CAAA;AAGH,GA1BQ,EA0BN,CAACR,UAAD,EAAaE,iBAAb,CA1BM,CAAT,CAAA;AA4BA1Z,EAAAA,SAAS,CAAC,YAAA;AACNyZ,IAAAA,aAAa,CAAC,YAAA;AACV,MAAA,OAAAQ,KAAK,CAAClnB,KAAK,KAAA,IAAL,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEqE,MAAR,CAAL,CACK8iB,IADL,CACU,IADV,CAEKjmB,CAAAA,GAFL,CAES,UAACkmB,CAAD,EAAIjmB,CAAJ;AAAU,QAAA,OAAAslB,UAAU,CAACtlB,CAAD,CAAV,IAAiBkmB,SAAS,EAA1B,CAAA;AAA4B,OAF/C,CAAA,CAAA;AAEgD,KAHvC,CAAb,CADM;AAOT,GAPQ,EAON,CAACrnB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEqE,MAAR,CAPM,CAAT,CAAA;AASA,EAAA,OACIpF,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAP,IAAAA,QAAQ,EAAEA,QAAV;AACAS,IAAAA,OAAO,EACHpD,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuBC,IADnB,GAEJrD,KAAK,GACLE,SAAK,CAACD,KAAD,CAAL,CAAamD,SAAb,CAAuB/C,MADlB,GAEL,aANV;AAQAuC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,EAAS,IAAT,CARnB;AASAM,IAAAA,aAAa,EAAA,IAAA;AATb,GADJ,EAYItB,cAAA,CAAAC,aAAA,CAAC2B,OAAD,EAAQ;AAACC,IAAAA,aAAa,EAAA,IAAA;AAAd,GAAR,EACKd,KAAK,IACFA,KAAK,CAACkB,GAAN,CAAU,UAAC2D,IAAD,EAAO1D,CAAP,EAAQ;AACd,IAAA,OACIlC,cAAA,CAAAC,aAAA,CAACinB,aAAD,EAAc;AACVrhB,MAAAA,GAAG,EAAE2hB,UAAU,CAACtlB,CAAD,CADL;AAEVie,MAAAA,QAAQ,EAAEyH,UAAU,KAAK1lB,CAFf;AAGVilB,MAAAA,UAAU,EAAEjlB,CAAC,GAAG,CAAJ,KAAU,CAHZ;AAIV/D,MAAAA,UAAU,EAAEA,UAJF;AAKViE,MAAAA,GAAG,EAAEF,CAAAA;AALK,KAAd,EAOIlC,cAAC,CAAAC,aAAD,CAACmnB,YAAD;AAAcD,MAAAA,UAAU,EAAEjlB,CAAC,GAAG,CAAJ,KAAU,CAAA;KAApC,EACIlC,cAAC,CAAAC,aAAD,CAAConB,SAAD;AACIhnB,MAAAA,IAAI,EAAC;AACLkE,MAAAA,SAAS,EACLpG,UAAU,GACJG,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBsD,QADd,GAEJxE,SAAK,CAACD,KAAD,CAAL,CAAamB,IAAb,CAAkBiB,OAAAA;KALhC,EAQKmF,IAAI,CAACrG,KARV,CADJ,EAYIS,cAAA,CAAAC,aAAA,CAACqnB,aAAD,EACI;AAAAhnB,MAAAA,IAAI,EAAC,QAAL;AACAD,MAAAA,IAAI,EAAC,KADL;AAEAlC,MAAAA,UAAU,EAAEA,UAAAA;AAFZ,KADJ,EAKKyH,IAAI,CAAChC,KALV,CAZJ,EAmBI5D,cAAA,CAAAC,aAAA,CAACqnB,aAAD,EAAc;AACV1mB,MAAAA,SAAS,EAAEgF,IAAI,CAACpG,IADN;AAEVrB,MAAAA,UAAU,EAAEA,UAAAA;AAFF,KAAd,CAnBJ,CAPJ,CADJ,CAAA;AAkCH,GAnCD,CAFR,CAZJ,CADJ,CAAA;AAsDH,CA9GD,CAAA;AAiHA,iBAAeyE,YAAY,CAAC2kB,QAAD,CAA3B,CAAA;;;ACzOA,IAAMjC,OAAK,GAeN,UAACpnB,EAAD,EAQJ;AAPG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAE,MAAM,YADN;AAAA,MAEAqU,OAAO,aAFP;AAAA,MAGAgT,OAAO,GAAAnqB,EAAA,CAAAmqB,OAHP;AAAA,MAIAC,QAAQ,GAAApqB,EAAA,CAAAoqB,QAJR;AAAA,MAKAC,WAAW,GAAArqB,EAAA,CAAAqqB,WALX;AAAA,MAMAC,aAAa,GAAAtqB,EAAA,CAAAsqB,aANb,CAAA;AAQQ,EAAA,IAAA1oB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;AAEA,EAAA,OACIhB,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAP,IAAAA,QAAQ,EAAEA,QAAV;AACAS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KAN3B;AAQAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CARnB;AASAM,IAAAA,aAAa,EAAA,IAAA;AATb,GADJ,EAYItB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAC,CAAAC,aAAD,CAACwoB,SAAD,EACI;AAAApT,IAAAA,OAAO,EAAEA,OAAT;AACAgT,IAAAA,OAAO,EAAEA,OADT;AAEAC,IAAAA,QAAQ,EAAEA,QAFV;AAGAC,IAAAA,WAAW,EAAEA,WAHb;AAIAC,IAAAA,aAAa,EAAEA,aAAAA;AAJf,GADJ,CADJ,CAZJ,CADJ,CAAA;AAwBH,CAnDD,CAAA;AAsDA,cAAe5lB,YAAY,CAAC0iB,OAAD,CAA3B;;ACnDA,IAAMoD,cAAc,GAAGprB,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,0BAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAuCC,gBAAA,KAAAA,gBAAA,GAAAC,oBAAA,CAAA,CAAA,mDAAA,CAAA,EAAA,CAAA,mDAAA,CAAA,CAAA,CAAvC,CAApB,CAAA;AAKA,IAAMsZ,OAAO,GAAGzZ,MAAM,CAACC,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAA6DO,gBAAA,KAAAA,gBAAA,GAAAL,oBAAA,CAAA,CAAA,8CAAA,EAAA,qBAAA,EAAA,6BAAA,EAAA,4HAAA,EAAA,yCAAA,EAAA,6DAAA,EAAA,yBAAA,EAAA,gCAAA,EAAA,yBAAA,EAAA,gCAAA,EAAA,yBAAA,EAAA,gCAAA,EAAA,yXAAA,CAAA,EAAA,CAAA,8CAAA,EAEhC,qBAFgC,EAMX,6BANW,EASvB,4HATuB,EAcL,yCAdK,EAiBpD,6DAjBoD,EAqBjB,yBArBiB,EAwBjD,gCAxBiD,EA0BX,yBA1BW,EA6BrD,gCA7BqD,EA+BnB,yBA/BmB,EAkCpD,gCAlCoD,EAoCjB,yXApCiB,CAAA,CAAA,CAA7D,EAEM,uBAFN,EAGK,UAACS,EAAD,EAAsB;MAAnBG,KAAK,GAAAH,EAAA,CAAAG;MAAEF,UAAU,GAAAD,EAAA,CAAAC;AAC9B,EAAAA,OAAAA,UAAU,GACJ4E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBsE,kBAAvB,CAA0CxE,QADtC,GAEJC,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBsE,kBAAvB,CAA0C7G,OAFhD,CAAA;AAEuD,CANlD,EAQW,UAACvC,EAAD,EAAY;AAAT,EAAA,IAAAmX,OAAO,GAAAnX,EAAA,CAAAmX,OAAP,CAAA;AACnB,EAAA,OAAA,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE3P,KAAT,KAAkB,QAAArD,CAAAA,MAAA,CAAQgT,OAAO,CAAC3P,KAAhB,EAAyB,KAAzB,CAAlB,CAAA;AAA2C,CATtC,EAcQ,UAACxH,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAA0E,UAAM,CAAC1E,KAAD,CAAN,CAAc2E,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAdxD,EAiBAvE,EAAE,CAACD,MAjBH,EAoBe,UAACP,EAAD,EAAY;AAAT,EAAA,IAAAmX,OAAO,GAAAnX,EAAA,CAAAmX,OAAP,CAAA;AACnB,EAAA,OAAA,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE5W,MAAT,KAAmB,QAAA4D,CAAAA,MAAA,CAAQgT,OAAO,CAAC5W,MAAhB,EAA0B,KAA1B,CAAnB,CAAA;AAA6C,CArB5C,EAwBAC,EAAE,CAACS,SAxBH,EAyBe,UAACjB,EAAD,EAAY;AAAT,EAAA,IAAAmX,OAAO,GAAAnX,EAAA,CAAAmX,OAAP,CAAA;AACnB,EAAA,OAAA,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAElW,SAAT,KAAsB,QAAAkD,CAAAA,MAAA,CAAQgT,OAAO,CAAClW,SAAhB,EAA6B,KAA7B,CAAtB,CAAA;AAAmD,CA1BlD,EA6BAT,EAAE,CAACsG,KA7BH,EA8Be,UAAC9G,EAAD,EAAY;AAAT,EAAA,IAAAmX,OAAO,GAAAnX,EAAA,CAAAmX,OAAP,CAAA;AACnB,EAAA,OAAA,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAErQ,KAAT,KAAkB,QAAA3C,CAAAA,MAAA,CAAQgT,OAAO,CAACrQ,KAAhB,EAAyB,KAAzB,CAAlB,CAAA;AAA2C,CA/B1C,EAkCAtG,EAAE,CAACiH,MAlCH,EAmCe,UAACzH,EAAD,EAAY;AAAT,EAAA,IAAAmX,OAAO,GAAAnX,EAAA,CAAAmX,OAAP,CAAA;AACnB,EAAA,OAAA,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE1P,MAAT,KAAmB,QAAAtD,CAAAA,MAAA,CAAQgT,OAAO,CAAC1P,MAAhB,EAA0B,KAA1B,CAAnB,CAAA;AAA6C,CApC5C,CAAb,CAAA;AAyDA,IAAMgjB,aAAa,GAAGrrB,MAAM,CAACggB,MAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,yBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAgBrf,gBAAA,KAAAA,gBAAA,GAAAR,oBAAA,CAAA,CAAA,6KAAA,EAAA,8OAAA,EAAA,kBAAA,EAAA,uFAAA,EAAA,8HAAA,EAAA,6FAAA,EAAA,sHAAA,CAAA,EAAA,CAAA,6KAAA,EAQqB,8OARrB,EAoBwB,kBApBxB,EAuBtB,uFAvBsB,EA4BtB,8HA5BsB,EAkCqC,6FAlCrC,EAuC6B,sHAvC7B,CAAA,CAAA,CAAhB,EAQN,UAACS,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBC,KAAvB,CAAA;AAA4B,CARrC,EAoBF,UAACN,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAaE,SAAb,CAAuBkD,IAAvB,CAAA;AAA2B,CApBxC,EAuBbsV,OAvBa,EA4BbA,OA5Ba,EAkCU,UAAC7Y,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAArB,CAAA;AAA4B,CAlCrD,EAuCE,UAACvC,EAAD,EAAU;AAAP,EAAA,IAAAG,KAAK,GAAAH,EAAA,CAAAG,KAAL,CAAA;AAAY,EAAA,OAAAC,SAAK,CAACD,KAAD,CAAL,CAAawE,OAAb,CAAqBpC,OAArB,CAAA;AAA4B,CAvC7C,CAAnB,CAAA;AAiDA,IAAM6kB,KAAK,GAAGhoB,MAAM,CAACioB,UAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,iBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAqBxmB,CAAAA,CAAAA,gBAAA,KAAAA,gBAAA,GAAAtB,oBAAA,CAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,KAAA,CAAA,EAAA,CAAyB,iBAAzB,EACqB,yBADrB,EAEqC,KAFrC,CAAA,CAAA,CAArB,EACI,UAACS,EAAD,EAAc;AAAX,EAAA,IAAA2Z,SAAS,GAAA3Z,EAAA,CAAA2Z,SAAT,CAAA;AAAgB,EAAA,OAACA,SAAS,GAAG,CAAH,GAAO,CAAjB,CAAA;AAAmB,CAD1C,EAEW,UAAC3Z,EAAD,EAAc;AAAX,EAAA,IAAA2Z,SAAS,GAAA3Z,EAAA,CAAA2Z,SAAT,CAAA;AAAgB,EAAA,OAACA,SAAS,GAAG,KAAH,GAAW,MAArB,CAAA;AAA4B,CAF1D,CAAX,CAAA;;AAKA,IAAM+Q,QAAQ,GAqBT,UAAC1qB,EAAD,EAQJ;AAPG,EAAA,IAAA4C,QAAQ,cAAR;AAAA,MACAE,MAAM,YADN;AAAA,MAEA6nB,SAAS,eAFT;AAAA,MAGA9T,cAAc,GAAA7W,EAAA,CAAA6W,cAHd;AAAA,MAIAuT,QAAQ,GAAApqB,EAAA,CAAAoqB,QAJR;AAAA,MAKAQ,QAAQ,GAAA5qB,EAAA,CAAA4qB,QALR;AAAA,MAMArC,IAAI,GAAAvoB,EAAA,CAAAuoB,IANJ,CAAA;AAQQ,EAAA,IAAA3mB,MAAM,GAAKC,WAAW,EAAA,OAAtB,CAAA;AACR,EAAA,IAAM5B,UAAU,GAAG6C,MAAM,KAAK,UAA9B,CAAA;;AACM,EAAA,IAAAC,EAA4B,GAAAC,QAAQ,CAAU4nB,QAAQ,IAAI,KAAtB,CAApC;AAAA,MAACC,SAAS,GAAA9nB,EAAA,CAAA,CAAA,CAAV;AAAA,MAAY+nB,YAAY,QAAxB,CAAA;;AAEN,EAAA,OACIhpB,cAAC,CAAAC,aAAD,CAACoB,OAAD,EACI;AAAAP,IAAAA,QAAQ,EAAEA,QAAV;AACAS,IAAAA,OAAO,EACHpD,UAAU,GACJ2B,MAAM,CAAC0B,SAAP,CAAiBC,IADb,GAEJT,MAAM,GACNlB,MAAM,CAAC0B,SAAP,CAAiB/C,MADX,GAENqB,MAAM,CAAC0B,SAAP,CAAiBhD,KAN3B;AAQAwC,IAAAA,MAAM,EAAEU,WAAW,CAACV,MAAD,CARnB;AASAM,IAAAA,aAAa,EAAA,IAAA;AATb,GADJ,EAYItB,cAAC,CAAAC,aAAD,CAAC2B,OAAD;AAASC,IAAAA,aAAa,EAAA,IAAA;GAAtB,EACI7B,cAAC,CAAAC,aAAD,CAACyoB,cAAD,EACI;AAAA/oB,IAAAA,OAAO,EAAE,YAAA;AACL,MAAA,IAAIugB,YAAY,CAAC2I,SAAD,EAAY,KAAZ,CAAhB,EAAoC;AAChCG,QAAAA,YAAY,CAAC,IAAD,CAAZ,CAAA;AACH,OAAA;AACJ,KAAA;AAJD,GADJ,EAOKD,SAAS,IACN/oB,cAAA,CAAAC,aAAA,CAACqlB,KAAD,EAAM;AACFzN,IAAAA,SAAS,EAAEkR,SAAS,IAAI,EAAChU,cAAc,SAAd,IAAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAAA,cAAc,CAAErP,KAAjB,CADtB;AAEFujB,IAAAA,QAAQ,EAAE,CAACH,QAFT;AAGFtC,IAAAA,QAAQ,MAHN;AAIFC,IAAAA,IAAI,EAAEA,IAJJ;AAKFF,IAAAA,KAAK,EAAEuC,QALL;AAMFxe,IAAAA,MAAM,EAAE;AAAE5E,MAAAA,KAAK,EAAE,EAAK,GAAA,CAAA;AAAd,KANN;AAOFkgB,IAAAA,IAAI,EAAEiD,SAPJ;AAQF1qB,IAAAA,UAAU,EAAEA,UAAAA;AARV,GAAN,CARR,EAmBK,CAAC4qB,SAAD,IACG/oB,cAAA,CAAAC,aAAA,CAAC8W,OAAD,EAAQ;AACJ1B,IAAAA,OAAO,EAAEN,cADL;AAEJ5W,IAAAA,UAAU,EAAEA,UAAAA;AAFR,GAAR,EAII6B,cAAA,CAAAC,aAAA,CAAC0oB,aAAD,EACK,IADL,EACKL,QAAQ,IAAItoB,cAAC,CAAAC,aAAD,CAACipB,IAAD;AAAM1oB,IAAAA,SAAS,EAAC,MAAA;GAAhB,CADjB,CAJJ,CApBR,CADJ,CAZJ,CADJ,CAAA;AA+CH,CAjFD,CAAA;AAoFA,iBAAeoC,YAAY,CAACgmB,QAAD,CAA3B,CAAA;;;;;"}