@coveo/atomic 3.35.0-pre.c86b349898 → 3.35.0-pre.ddf08ff320

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 (1063) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +0 -2
  4. package/dist/atomic/components/_index.js +20 -21
  5. package/dist/atomic/components/atomic-category-facet.js +1 -1
  6. package/dist/atomic/components/atomic-citation.js +1 -1
  7. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  8. package/dist/atomic/components/atomic-facet.js +1 -1
  9. package/dist/atomic/components/atomic-field-condition.js +1 -1
  10. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  11. package/dist/atomic/components/atomic-folded-result-list.js +1 -2
  12. package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
  13. package/dist/atomic/components/atomic-format-currency.js +1 -1
  14. package/dist/atomic/components/atomic-format-number.js +1 -1
  15. package/dist/atomic/components/atomic-format-unit.js +1 -1
  16. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  17. package/dist/atomic/components/atomic-html2.js +1 -1
  18. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  19. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  20. package/dist/atomic/components/atomic-insight-folded-result-list.js +2 -3
  21. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  22. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  23. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  24. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  25. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  26. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  27. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  28. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  29. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  31. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  32. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  33. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  34. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  35. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  36. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  37. package/dist/atomic/components/atomic-insight-result-list.js +2 -3
  38. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  39. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  40. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  41. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  42. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  43. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  44. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  45. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  46. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  48. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  49. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  50. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  51. package/dist/atomic/components/atomic-ipx-recs-list.js +2 -3
  52. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  53. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  54. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  55. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  56. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  57. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  58. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  59. package/dist/atomic/components/atomic-no-results.js +1 -1
  60. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  61. package/dist/atomic/components/atomic-query-error.js +1 -1
  62. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  63. package/dist/atomic/components/atomic-quickview.js +2 -2
  64. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  65. package/dist/atomic/components/atomic-recs-error.js +1 -1
  66. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  67. package/dist/atomic/components/atomic-recs-list.js +2 -3
  68. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  69. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  70. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  71. package/dist/atomic/components/atomic-result-badge.js +1 -1
  72. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  73. package/dist/atomic/components/atomic-result-children.js +2 -2
  74. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  75. package/dist/atomic/components/atomic-result-date.js +1 -1
  76. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  77. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  78. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  79. package/dist/atomic/components/atomic-result-html.js +1 -1
  80. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  81. package/dist/atomic/components/atomic-result-icon.js +1 -1
  82. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  83. package/dist/atomic/components/atomic-result-image.js +1 -1
  84. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  85. package/dist/atomic/components/atomic-result-link.js +2 -2
  86. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  87. package/dist/atomic/components/atomic-result-list.js +2 -3
  88. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  89. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  90. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  91. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  92. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  93. package/dist/atomic/components/atomic-result-number.js +1 -1
  94. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  95. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  96. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  97. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  98. package/dist/atomic/components/atomic-result-rating.js +1 -1
  99. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  100. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  101. package/dist/atomic/components/atomic-result-text2.js +1 -1
  102. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  103. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  104. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  105. package/dist/atomic/components/atomic-result2.js.map +1 -1
  106. package/dist/atomic/components/atomic-search-box-query-suggestions.js +1 -1
  107. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +38 -3
  108. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +1 -1
  109. package/dist/atomic/components/atomic-search-box.js +4 -8
  110. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  111. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  112. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  113. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  114. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  115. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  116. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  117. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  118. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  119. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  120. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  121. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  122. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -3
  123. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +0 -5
  124. package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +0 -3
  125. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  126. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  127. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  128. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  129. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  130. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  131. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  132. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  133. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  134. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  135. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  136. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  137. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  138. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +1 -6
  139. package/dist/atomic/components/components/common/item-list/item-template-provider.js +28 -0
  140. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
  141. package/dist/atomic/components/{atomic-search-box-instant-results.js → components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.js} +83 -87
  142. package/dist/atomic/components/components/search/index.js +1 -0
  143. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  144. package/dist/atomic/components/facet-number-input.js +2 -2
  145. package/dist/atomic/components/global/environment.js +1 -1
  146. package/dist/atomic/components/index.js.map +1 -1
  147. package/dist/atomic/components/item-template-provider.js +21 -1
  148. package/dist/atomic/components/item-template-provider.js.map +1 -1
  149. package/dist/atomic/components/show-hide-button.js +1 -1
  150. package/dist/atomic/components/stencil-button.js +44 -2
  151. package/dist/atomic/components/stencil-button.js.map +1 -1
  152. package/dist/atomic/components/stencil-radio-button.js +1 -2
  153. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  154. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  155. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  156. package/dist/atomic/components/stencil-suggestion-manager.js +1 -1
  157. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  158. package/dist/atomic/components/tab-button.js +1 -1
  159. package/dist/atomic/components/tab-popover.js +1 -1
  160. package/dist/atomic/index.esm.js +1 -1
  161. package/dist/atomic/index.esm.js.map +1 -1
  162. package/dist/atomic/lang/cs.json +1 -1
  163. package/dist/atomic/lang/da.json +1 -1
  164. package/dist/atomic/lang/de.json +1 -1
  165. package/dist/atomic/lang/dev.json +1 -1
  166. package/dist/atomic/lang/el.json +1 -1
  167. package/dist/atomic/lang/en.json +1 -1
  168. package/dist/atomic/lang/es.json +1 -1
  169. package/dist/atomic/lang/fi.json +1 -1
  170. package/dist/atomic/lang/fr.json +1 -1
  171. package/dist/atomic/lang/hu.json +1 -1
  172. package/dist/atomic/lang/id.json +1 -1
  173. package/dist/atomic/lang/it.json +1 -1
  174. package/dist/atomic/lang/ja.json +1 -1
  175. package/dist/atomic/lang/ko.json +1 -1
  176. package/dist/atomic/lang/nl.json +1 -1
  177. package/dist/atomic/lang/no.json +1 -1
  178. package/dist/atomic/lang/pl.json +1 -1
  179. package/dist/atomic/lang/pt-BR.json +1 -1
  180. package/dist/atomic/lang/pt.json +1 -1
  181. package/dist/atomic/lang/ru.json +1 -1
  182. package/dist/atomic/lang/sv.json +1 -1
  183. package/dist/atomic/lang/th.json +1 -1
  184. package/dist/atomic/lang/tr.json +1 -1
  185. package/dist/atomic/lang/zh-CN.json +1 -1
  186. package/dist/atomic/lang/zh-TW.json +1 -1
  187. package/dist/atomic/lang/zh.json +1 -1
  188. package/dist/atomic/{p-955092ed.entry.js → p-01096d1c.entry.js} +2 -2
  189. package/dist/atomic/p-01096d1c.entry.js.map +1 -0
  190. package/dist/atomic/{p-a0ebbbdf.entry.js → p-06c22903.entry.js} +2 -2
  191. package/dist/atomic/p-0947a95f.entry.js +2 -0
  192. package/dist/atomic/{p-d0ab0125.entry.js.map → p-0947a95f.entry.js.map} +1 -1
  193. package/dist/atomic/{p-5d0a3045.js → p-0ab0ceaa.js} +2 -2
  194. package/dist/atomic/p-0acbc1aa.entry.js +2 -0
  195. package/dist/atomic/{p-f37dea9e.entry.js.map → p-0acbc1aa.entry.js.map} +1 -1
  196. package/dist/atomic/{p-74862002.js → p-0e6f1e14.js} +2 -2
  197. package/dist/atomic/p-0fb39501.js +2 -0
  198. package/dist/atomic/p-0fb39501.js.map +1 -0
  199. package/dist/atomic/{p-3272a04b.entry.js → p-0fb717b5.entry.js} +2 -2
  200. package/dist/atomic/{p-bc43df67.entry.js → p-118db20a.entry.js} +2 -2
  201. package/dist/atomic/{p-d2e8a2d4.js → p-134b7370.js} +2 -2
  202. package/dist/atomic/{p-b29d121c.js → p-1365c7d0.js} +2 -2
  203. package/dist/atomic/{p-ef78082a.js → p-15580d9e.js} +2 -2
  204. package/dist/atomic/p-1717e9cf.entry.js +2 -0
  205. package/dist/atomic/{p-5a83b7e5.entry.js.map → p-1717e9cf.entry.js.map} +1 -1
  206. package/dist/atomic/p-173deaca.entry.js +2 -0
  207. package/dist/atomic/{p-76c14d82.entry.js.map → p-173deaca.entry.js.map} +1 -1
  208. package/dist/atomic/p-1936bfc8.entry.js +2 -0
  209. package/dist/atomic/p-1ceca322.entry.js +2 -0
  210. package/dist/atomic/{p-558f2191.entry.js.map → p-1ceca322.entry.js.map} +1 -1
  211. package/dist/atomic/{p-182f9112.entry.js → p-1ebea045.entry.js} +2 -2
  212. package/dist/atomic/{p-db2d92c5.entry.js.map → p-1ebea045.entry.js.map} +1 -1
  213. package/dist/atomic/{p-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
  214. package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
  215. package/dist/atomic/{p-5a2ef889.js → p-20fc8a6c.js} +2 -2
  216. package/dist/atomic/{p-baff6c43.js → p-25660266.js} +2 -2
  217. package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
  218. package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
  219. package/dist/atomic/p-28f4600a.entry.js +2 -0
  220. package/dist/atomic/{p-a6dde0f6.entry.js.map → p-28f4600a.entry.js.map} +1 -1
  221. package/dist/atomic/{p-a54f3f24.entry.js → p-2e78d642.entry.js} +2 -2
  222. package/dist/atomic/{p-bd01acd5.entry.js.map → p-2e78d642.entry.js.map} +1 -1
  223. package/dist/atomic/p-30e24f95.entry.js +2 -0
  224. package/dist/atomic/{p-fd1ef9e3.entry.js.map → p-30e24f95.entry.js.map} +1 -1
  225. package/dist/atomic/p-30ea57e8.entry.js +2 -0
  226. package/dist/atomic/{p-3a01a398.entry.js.map → p-30ea57e8.entry.js.map} +1 -1
  227. package/dist/atomic/{p-dbc09018.js → p-340130de.js} +2 -2
  228. package/dist/atomic/p-3957401e.entry.js +2 -0
  229. package/dist/atomic/{p-9b2561e8.entry.js.map → p-3957401e.entry.js.map} +1 -1
  230. package/dist/atomic/{p-82cd6398.entry.js → p-39de1cef.entry.js} +2 -2
  231. package/dist/atomic/{p-82cd6398.entry.js.map → p-39de1cef.entry.js.map} +1 -1
  232. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  233. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  234. package/dist/atomic/{p-037eee11.js → p-3f0e7549.js} +2 -2
  235. package/dist/atomic/{p-6819f12c.entry.js → p-3f3f6b14.entry.js} +2 -2
  236. package/dist/atomic/p-4027e529.entry.js +2 -0
  237. package/dist/atomic/{p-ef8f2239.entry.js.map → p-4027e529.entry.js.map} +1 -1
  238. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  239. package/dist/atomic/p-4080f740.js.map +1 -0
  240. package/dist/atomic/p-42937d04.entry.js +2 -0
  241. package/dist/atomic/{p-2f517a54.entry.js.map → p-42937d04.entry.js.map} +1 -1
  242. package/dist/atomic/p-4310d46f.entry.js +2 -0
  243. package/dist/atomic/{p-80290dd3.entry.js.map → p-4310d46f.entry.js.map} +1 -1
  244. package/dist/atomic/p-475df84c.entry.js +2 -0
  245. package/dist/atomic/{p-70747efa.entry.js.map → p-475df84c.entry.js.map} +1 -1
  246. package/dist/atomic/{p-57049cd2.entry.js → p-49ac2124.entry.js} +2 -2
  247. package/dist/atomic/p-49ac2124.entry.js.map +1 -0
  248. package/dist/atomic/p-4ba12e99.entry.js +2 -0
  249. package/dist/atomic/{p-a54f3f24.entry.js.map → p-4ba12e99.entry.js.map} +1 -1
  250. package/dist/atomic/{p-f8b608ba.js → p-4bf14d26.js} +2 -2
  251. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  252. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  253. package/dist/atomic/{p-bd01acd5.entry.js → p-4e25638d.entry.js} +2 -2
  254. package/dist/atomic/p-4e25638d.entry.js.map +1 -0
  255. package/dist/atomic/{p-448091f7.entry.js → p-4e6dcdcf.entry.js} +2 -2
  256. package/dist/atomic/{p-35c2ee5f.entry.js.map → p-4e6dcdcf.entry.js.map} +1 -1
  257. package/dist/atomic/{p-c619df9b.js → p-4ecabf56.js} +2 -2
  258. package/dist/atomic/{p-567b2841.entry.js → p-5346f77d.entry.js} +2 -2
  259. package/dist/atomic/{p-81bdbd07.entry.js.map → p-5346f77d.entry.js.map} +1 -1
  260. package/dist/atomic/{p-044de1f9.entry.js → p-534aa5f7.entry.js} +2 -2
  261. package/dist/atomic/{p-15547bd5.entry.js → p-57ed25c9.entry.js} +2 -2
  262. package/dist/atomic/p-57ed25c9.entry.js.map +1 -0
  263. package/dist/atomic/p-583faf68.entry.js +2 -0
  264. package/dist/atomic/p-583faf68.entry.js.map +1 -0
  265. package/dist/atomic/{p-8b0d881e.entry.js → p-5a417451.entry.js} +2 -2
  266. package/dist/atomic/{p-e49ad083.entry.js.map → p-5a417451.entry.js.map} +1 -1
  267. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  268. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  269. package/dist/atomic/p-5f2fa73f.entry.js +2 -0
  270. package/dist/atomic/{p-ae69f519.entry.js.map → p-5f2fa73f.entry.js.map} +1 -1
  271. package/dist/atomic/{p-f65ca329.entry.js → p-609d0550.entry.js} +2 -2
  272. package/dist/atomic/p-64da3471.entry.js +2 -0
  273. package/dist/atomic/{p-c8190eb9.entry.js.map → p-64da3471.entry.js.map} +1 -1
  274. package/dist/atomic/{p-60498b8e.js → p-68013132.js} +2 -2
  275. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  276. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  277. package/dist/atomic/p-6ddd05c2.entry.js +2 -0
  278. package/dist/atomic/{p-48bab1a6.entry.js.map → p-6ddd05c2.entry.js.map} +1 -1
  279. package/dist/atomic/p-75c37247.js +2 -0
  280. package/dist/atomic/p-75c37247.js.map +1 -0
  281. package/dist/atomic/{p-5c73ebc4.js → p-76cf6545.js} +2 -2
  282. package/dist/atomic/p-7b0e3ff4.entry.js +2 -0
  283. package/dist/atomic/{p-6439156c.entry.js.map → p-7b0e3ff4.entry.js.map} +1 -1
  284. package/dist/atomic/p-7b9e5e58.entry.js +2 -0
  285. package/dist/atomic/{p-1910eb7f.entry.js.map → p-7b9e5e58.entry.js.map} +1 -1
  286. package/dist/atomic/p-7bf809eb.entry.js +2 -0
  287. package/dist/atomic/p-7c5d4924.entry.js +2 -0
  288. package/dist/atomic/{p-567b2841.entry.js.map → p-7c5d4924.entry.js.map} +1 -1
  289. package/dist/atomic/p-7e588beb.entry.js +2 -0
  290. package/dist/atomic/{p-3bd8469f.entry.js.map → p-7e588beb.entry.js.map} +1 -1
  291. package/dist/atomic/p-891cb944.entry.js +2 -0
  292. package/dist/atomic/{p-b84108f3.entry.js.map → p-891cb944.entry.js.map} +1 -1
  293. package/dist/atomic/{p-c2a5dac0.entry.js → p-8998da31.entry.js} +2 -2
  294. package/dist/atomic/{p-e6871a3f.entry.js.map → p-8998da31.entry.js.map} +1 -1
  295. package/dist/atomic/{p-ed413091.entry.js → p-8a30d1e9.entry.js} +2 -2
  296. package/dist/atomic/p-8be21e4a.js +2 -0
  297. package/dist/atomic/p-8be21e4a.js.map +1 -0
  298. package/dist/atomic/{p-dd0aac4c.entry.js → p-8c87d746.entry.js} +2 -2
  299. package/dist/atomic/{p-44d96103.entry.js → p-8d1f7884.entry.js} +2 -2
  300. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  301. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  302. package/dist/atomic/p-8f69b018.entry.js +2 -0
  303. package/dist/atomic/{p-5606819d.entry.js.map → p-8f69b018.entry.js.map} +1 -1
  304. package/dist/atomic/{p-d8caa4d8.entry.js → p-90ace4cd.entry.js} +2 -2
  305. package/dist/atomic/{p-e6871a3f.entry.js → p-9411ab14.entry.js} +2 -2
  306. package/dist/atomic/{p-479cb38a.entry.js.map → p-9411ab14.entry.js.map} +1 -1
  307. package/dist/atomic/p-94b0fca4.entry.js +2 -0
  308. package/dist/atomic/{p-874f0a4c.entry.js.map → p-94b0fca4.entry.js.map} +1 -1
  309. package/dist/atomic/p-95cff664.entry.js +2 -0
  310. package/dist/atomic/{p-22b76c96.entry.js.map → p-95cff664.entry.js.map} +1 -1
  311. package/dist/atomic/p-97479dde.entry.js +2 -0
  312. package/dist/atomic/{p-c2a5dac0.entry.js.map → p-97479dde.entry.js.map} +1 -1
  313. package/dist/atomic/{p-3291adda.entry.js → p-9c556664.entry.js} +2 -2
  314. package/dist/atomic/{p-a428960a.js → p-9dcd5606.js} +2 -2
  315. package/dist/atomic/p-9ec21c88.entry.js +2 -0
  316. package/dist/atomic/{p-f1241140.entry.js.map → p-9ec21c88.entry.js.map} +1 -1
  317. package/dist/atomic/p-9feb951f.entry.js +2 -0
  318. package/dist/atomic/{p-400c28b6.entry.js.map → p-9feb951f.entry.js.map} +1 -1
  319. package/dist/atomic/p-a3d55993.entry.js +2 -0
  320. package/dist/atomic/{p-0ee7cab8.entry.js.map → p-a3d55993.entry.js.map} +1 -1
  321. package/dist/atomic/{p-47b41b27.entry.js → p-a94386b5.entry.js} +2 -2
  322. package/dist/atomic/{p-48bab1a6.entry.js → p-a9aadc3d.entry.js} +2 -2
  323. package/dist/atomic/{p-2f437b47.entry.js.map → p-a9aadc3d.entry.js.map} +1 -1
  324. package/dist/atomic/{p-ca37969c.js → p-a9e250f8.js} +2 -2
  325. package/dist/atomic/p-aa69a7f4.entry.js +2 -0
  326. package/dist/atomic/{p-77d00da1.entry.js.map → p-aa69a7f4.entry.js.map} +1 -1
  327. package/dist/atomic/p-ab2f6794.entry.js +2 -0
  328. package/dist/atomic/p-ab2f6794.entry.js.map +1 -0
  329. package/dist/atomic/p-b0ce2261.entry.js +2 -0
  330. package/dist/atomic/{p-21ab7750.entry.js.map → p-b0ce2261.entry.js.map} +1 -1
  331. package/dist/atomic/p-b1c34434.entry.js +2 -0
  332. package/dist/atomic/p-b1c34434.entry.js.map +1 -0
  333. package/dist/atomic/p-b211da6c.entry.js +2 -0
  334. package/dist/atomic/{p-33245038.entry.js.map → p-b211da6c.entry.js.map} +1 -1
  335. package/dist/atomic/{p-35c2ee5f.entry.js → p-bacb06d7.entry.js} +2 -2
  336. package/dist/atomic/{p-6698d5e9.entry.js.map → p-bacb06d7.entry.js.map} +1 -1
  337. package/dist/atomic/p-bcc202ff.entry.js +2 -0
  338. package/dist/atomic/{p-7242b46e.entry.js.map → p-bcc202ff.entry.js.map} +1 -1
  339. package/dist/atomic/p-bd50cd51.entry.js +2 -0
  340. package/dist/atomic/{p-e276c7e0.entry.js.map → p-bd50cd51.entry.js.map} +1 -1
  341. package/dist/atomic/{p-5606819d.entry.js → p-bd565f91.entry.js} +2 -2
  342. package/dist/atomic/{p-b628ed03.entry.js.map → p-bd565f91.entry.js.map} +1 -1
  343. package/dist/atomic/{p-d0ab0125.entry.js → p-bdad3117.entry.js} +2 -2
  344. package/dist/atomic/{p-7fe23afc.entry.js.map → p-bdad3117.entry.js.map} +1 -1
  345. package/dist/atomic/p-beb2ad8e.js +2 -0
  346. package/dist/atomic/{p-82398f4a.js.map → p-beb2ad8e.js.map} +1 -1
  347. package/dist/atomic/p-c2acd146.entry.js +2 -0
  348. package/dist/atomic/{p-7045745d.entry.js.map → p-c2acd146.entry.js.map} +1 -1
  349. package/dist/atomic/{p-8a488991.js → p-ca0e9cd6.js} +2 -2
  350. package/dist/atomic/{p-852cc16d.entry.js → p-cacb7fd8.entry.js} +2 -2
  351. package/dist/atomic/p-cacb7fd8.entry.js.map +1 -0
  352. package/dist/atomic/p-cbc634fa.entry.js +2 -0
  353. package/dist/atomic/{p-dd24c66a.entry.js.map → p-cbc634fa.entry.js.map} +1 -1
  354. package/dist/atomic/{p-c5164dbf.entry.js → p-cbec8d32.entry.js} +2 -2
  355. package/dist/atomic/p-cbec8d32.entry.js.map +1 -0
  356. package/dist/atomic/p-ceeb9f1f.entry.js +2 -0
  357. package/dist/atomic/{p-f0c657f4.entry.js.map → p-ceeb9f1f.entry.js.map} +1 -1
  358. package/dist/atomic/p-d0584482.entry.js +2 -0
  359. package/dist/atomic/{p-66166975.entry.js.map → p-d0584482.entry.js.map} +1 -1
  360. package/dist/atomic/{p-229018fa.entry.js → p-d1fbb20a.entry.js} +2 -2
  361. package/dist/atomic/{p-14bad769.entry.js → p-d2107c93.entry.js} +2 -2
  362. package/dist/atomic/{p-20cbcfb9.js → p-d365883e.js} +2 -2
  363. package/dist/atomic/p-d4303474.entry.js +2 -0
  364. package/dist/atomic/{p-8b0d881e.entry.js.map → p-d4303474.entry.js.map} +1 -1
  365. package/dist/atomic/{p-2c6f895f.js → p-d4cbd9b1.js} +2 -2
  366. package/dist/atomic/{p-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
  367. package/dist/atomic/p-d5402772.entry.js.map +1 -0
  368. package/dist/atomic/p-d618c229.entry.js +2 -0
  369. package/dist/atomic/{p-088d634c.entry.js.map → p-d618c229.entry.js.map} +1 -1
  370. package/dist/atomic/{p-1c8bcadf.entry.js → p-d8d346f3.entry.js} +2 -2
  371. package/dist/atomic/{p-e276c7e0.entry.js → p-d9241b90.entry.js} +2 -2
  372. package/dist/atomic/{p-0535b93d.entry.js.map → p-d9241b90.entry.js.map} +1 -1
  373. package/dist/atomic/{p-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
  374. package/dist/atomic/p-da141605.entry.js.map +1 -0
  375. package/dist/atomic/{p-26e0c1f8.entry.js → p-dbc08e9e.entry.js} +2 -2
  376. package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
  377. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  378. package/dist/atomic/p-ddf72215.entry.js +2 -0
  379. package/dist/atomic/{p-fc71835d.entry.js.map → p-ddf72215.entry.js.map} +1 -1
  380. package/dist/atomic/p-df84c005.entry.js +2 -0
  381. package/dist/atomic/{p-99d4c4bf.entry.js.map → p-df84c005.entry.js.map} +1 -1
  382. package/dist/atomic/p-e0ba043d.entry.js +2 -0
  383. package/dist/atomic/{p-b1b583a0.entry.js.map → p-e0ba043d.entry.js.map} +1 -1
  384. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  385. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  386. package/dist/atomic/{p-e8176ac8.entry.js → p-e58679b8.entry.js} +2 -2
  387. package/dist/atomic/p-e7eea1ef.entry.js +2 -0
  388. package/dist/atomic/p-e7eea1ef.entry.js.map +1 -0
  389. package/dist/atomic/p-e8180b21.entry.js +2 -0
  390. package/dist/atomic/p-f02d1e6e.entry.js +2 -0
  391. package/dist/atomic/{p-e455330c.entry.js.map → p-f02d1e6e.entry.js.map} +1 -1
  392. package/dist/atomic/{p-2e13e2c0.entry.js → p-f654697b.entry.js} +2 -2
  393. package/dist/atomic/p-f800678c.entry.js.map +1 -1
  394. package/dist/atomic/p-f917dce9.entry.js +2 -0
  395. package/dist/atomic/{p-851b9735.entry.js.map → p-f917dce9.entry.js.map} +1 -1
  396. package/dist/atomic/p-f964e30a.entry.js +2 -0
  397. package/dist/atomic/p-f964e30a.entry.js.map +1 -0
  398. package/dist/atomic/p-fa9d8ab7.entry.js +2 -0
  399. package/dist/atomic/{p-7741124a.entry.js.map → p-fa9d8ab7.entry.js.map} +1 -1
  400. package/dist/atomic/{p-5cab535b.entry.js → p-fb5598e9.entry.js} +2 -2
  401. package/dist/atomic/p-fb5598e9.entry.js.map +1 -0
  402. package/dist/cjs/_index.cjs.js +20 -20
  403. package/dist/cjs/_loader.cjs.js +1 -1
  404. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
  405. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  406. package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -2
  407. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  408. package/dist/cjs/atomic-category-facet.cjs.entry.js +6 -7
  409. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  410. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  411. package/dist/cjs/atomic-color-facet.cjs.entry.js +5 -6
  412. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  413. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  414. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +3 -4
  415. package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
  416. package/dist/cjs/atomic-facet.cjs.entry.js +9 -10
  417. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  418. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  419. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  420. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -3
  421. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  422. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  423. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  424. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  425. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -5
  426. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  427. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -3
  428. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  429. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  430. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +3 -4
  431. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
  432. package/dist/cjs/atomic-insight-facet.cjs.entry.js +8 -9
  433. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  434. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -3
  435. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  436. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +3 -4
  437. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  438. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -3
  439. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  440. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +3 -4
  441. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  442. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  443. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +6 -7
  444. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  445. package/dist/cjs/atomic-insight-pager.cjs.entry.js +5 -6
  446. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  447. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +3 -4
  448. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  449. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -5
  450. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  451. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +3 -4
  452. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  453. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +5 -6
  454. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  455. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +5 -6
  456. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  457. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  458. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  459. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +4 -6
  460. package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
  461. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -3
  462. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  463. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +5 -6
  464. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  465. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  466. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +4 -5
  467. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  468. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  469. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  470. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -3
  471. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  472. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -4
  473. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
  474. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -2
  475. package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
  476. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  477. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -5
  478. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  479. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -2
  480. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  481. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +2 -3
  482. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  483. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +3 -4
  484. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  485. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  486. package/dist/cjs/atomic-ipx-button.cjs.entry.js +3 -4
  487. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  488. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  489. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  490. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +5 -7
  491. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  492. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +3 -4
  493. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  494. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +3 -4
  495. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  496. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -4
  497. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  498. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
  499. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  500. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  501. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -3
  502. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  503. package/dist/cjs/atomic-no-results.cjs.entry.js +2 -3
  504. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  505. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -7
  506. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  507. package/dist/cjs/atomic-popover.cjs.entry.js +1 -2
  508. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  509. package/dist/cjs/atomic-query-error.cjs.entry.js +3 -4
  510. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  511. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -4
  512. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  513. package/dist/cjs/atomic-quickview.cjs.entry.js +4 -5
  514. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  515. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -5
  516. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  517. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
  518. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  519. package/dist/cjs/atomic-recs-error.cjs.entry.js +3 -4
  520. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  521. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  522. package/dist/cjs/atomic-recs-list.cjs.entry.js +5 -7
  523. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  524. package/dist/cjs/atomic-refine-modal.cjs.entry.js +3 -4
  525. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  526. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -3
  527. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  528. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  529. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  530. package/dist/cjs/atomic-result-children.cjs.entry.js +6 -8
  531. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  532. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  533. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  534. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  535. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  536. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  537. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  538. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  539. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  540. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  541. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  542. package/dist/cjs/atomic-result-link.cjs.entry.js +4 -4
  543. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  544. package/dist/cjs/atomic-result-list.cjs.entry.js +2 -3
  545. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  546. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  547. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  548. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  549. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  550. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  551. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  552. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  553. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  554. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  555. package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
  556. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  557. package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
  558. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  559. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  560. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  561. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  562. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +1 -1
  563. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -10
  564. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  565. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -2
  566. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  567. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -2
  568. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  569. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  570. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  571. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  572. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -5
  573. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  574. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -3
  575. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  576. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -4
  577. package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
  578. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  579. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  580. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +4 -5
  581. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
  582. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  583. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -3
  584. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  585. package/dist/cjs/atomic-tab-button.cjs.entry.js +2 -3
  586. package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
  587. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  588. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -5
  589. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  590. package/dist/cjs/atomic.cjs.js +1 -1
  591. package/dist/cjs/{facet-placeholder-22074f05.js → facet-placeholder-21821057.js} +2 -2
  592. package/dist/cjs/{facet-placeholder-22074f05.js.map → facet-placeholder-21821057.js.map} +1 -1
  593. package/dist/cjs/{generated-answer-common-3c400311.js → generated-answer-common-4410c9e0.js} +2 -2
  594. package/dist/cjs/{generated-answer-common-3c400311.js.map → generated-answer-common-4410c9e0.js.map} +1 -1
  595. package/dist/cjs/index-757bc886.js +4 -8
  596. package/dist/cjs/index.cjs.js.map +1 -1
  597. package/dist/cjs/{item-template-provider-470c1774.js → item-template-provider-e82736d7.js} +23 -1
  598. package/dist/cjs/item-template-provider-e82736d7.js.map +1 -0
  599. package/dist/cjs/{show-hide-button-c4717f52.js → show-hide-button-2a630d6f.js} +4 -4
  600. package/dist/cjs/{show-hide-button-c4717f52.js.map → show-hide-button-2a630d6f.js.map} +1 -1
  601. package/dist/cjs/{smart-snippet-common-1fd0dad5.js → smart-snippet-common-524d635f.js} +3 -3
  602. package/dist/cjs/{smart-snippet-common-1fd0dad5.js.map → smart-snippet-common-524d635f.js.map} +1 -1
  603. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js → smart-snippet-feedback-modal-common-3b7e3c7e.js} +2 -2
  604. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js.map → smart-snippet-feedback-modal-common-3b7e3c7e.js.map} +1 -1
  605. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js → smart-snippet-suggestions-common-a6fb3bfd.js} +2 -2
  606. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js.map → smart-snippet-suggestions-common-a6fb3bfd.js.map} +1 -1
  607. package/dist/cjs/{stencil-button-94b89acc.js → stencil-button-a114783e.js} +48 -4
  608. package/dist/cjs/stencil-button-a114783e.js.map +1 -0
  609. package/dist/cjs/{stencil-carousel-a8df6f3c.js → stencil-carousel-254b4ea7.js} +2 -2
  610. package/dist/cjs/{stencil-carousel-a8df6f3c.js.map → stencil-carousel-254b4ea7.js.map} +1 -1
  611. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js → stencil-facet-search-matches-9e841241.js} +2 -2
  612. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js.map → stencil-facet-search-matches-9e841241.js.map} +1 -1
  613. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js → stencil-facet-show-more-less-04f33b99.js} +2 -2
  614. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js.map → stencil-facet-show-more-less-04f33b99.js.map} +1 -1
  615. package/dist/cjs/{stencil-facet-value-5957b403.js → stencil-facet-value-3354e4da.js} +4 -4
  616. package/dist/cjs/{stencil-facet-value-5957b403.js.map → stencil-facet-value-3354e4da.js.map} +1 -1
  617. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js → stencil-facet-value-box-e8b01b77.js} +2 -2
  618. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js.map → stencil-facet-value-box-e8b01b77.js.map} +1 -1
  619. package/dist/cjs/{stencil-facet-value-checkbox-fed178ad.js → stencil-facet-value-checkbox-4800af7b.js} +2 -2
  620. package/dist/cjs/{stencil-facet-value-checkbox-fed178ad.js.map → stencil-facet-value-checkbox-4800af7b.js.map} +1 -1
  621. package/dist/cjs/{stencil-facet-value-link-8a095034.js → stencil-facet-value-link-98e3fe34.js} +2 -2
  622. package/dist/cjs/{stencil-facet-value-link-8a095034.js.map → stencil-facet-value-link-98e3fe34.js.map} +1 -1
  623. package/dist/cjs/{stencil-iconButton-738b1548.js → stencil-iconButton-c8727a20.js} +2 -2
  624. package/dist/cjs/{stencil-iconButton-738b1548.js.map → stencil-iconButton-c8727a20.js.map} +1 -1
  625. package/dist/cjs/{stencil-link-9336b8c1.js → stencil-link-2e32315d.js} +2 -2
  626. package/dist/cjs/{stencil-link-9336b8c1.js.map → stencil-link-2e32315d.js.map} +1 -1
  627. package/dist/cjs/{stencil-modal-9035ea2a.js → stencil-modal-9a4a9927.js} +2 -2
  628. package/dist/cjs/{stencil-modal-9035ea2a.js.map → stencil-modal-9a4a9927.js.map} +1 -1
  629. package/dist/cjs/{stencil-radio-button-ea7e71d3.js → stencil-radio-button-cbcc483e.js} +4 -5
  630. package/dist/cjs/stencil-radio-button-cbcc483e.js.map +1 -0
  631. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  632. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  633. package/dist/cjs/{stencil-suggestion-manager-88cb88f2.js → stencil-suggestion-manager-3e1cf81e.js} +3 -3
  634. package/dist/cjs/stencil-suggestion-manager-3e1cf81e.js.map +1 -0
  635. package/dist/cjs/{stencil-values-container-d20f9b28.js → stencil-values-container-e4b76048.js} +3 -3
  636. package/dist/cjs/{stencil-values-container-d20f9b28.js.map → stencil-values-container-e4b76048.js.map} +1 -1
  637. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js → timeframe-facet-common-82da2ca9.js} +3 -3
  638. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js.map → timeframe-facet-common-82da2ca9.js.map} +1 -1
  639. package/dist/cjs/version.cjs.js +1 -1
  640. package/dist/esm/_index.js +19 -19
  641. package/dist/esm/_loader.js +1 -1
  642. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -4
  643. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  644. package/dist/esm/atomic-breadbox.entry.js +1 -2
  645. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  646. package/dist/esm/atomic-category-facet.entry.js +6 -7
  647. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  648. package/dist/esm/atomic-citation.entry.js +1 -1
  649. package/dist/esm/atomic-color-facet.entry.js +5 -6
  650. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  651. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  652. package/dist/esm/atomic-facet-number-input.entry.js +3 -4
  653. package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
  654. package/dist/esm/atomic-facet.entry.js +9 -10
  655. package/dist/esm/atomic-facet.entry.js.map +1 -1
  656. package/dist/esm/atomic-field-condition.entry.js +1 -1
  657. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  658. package/dist/esm/atomic-folded-result-list.entry.js +1 -2
  659. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  660. package/dist/esm/atomic-format-currency.entry.js +1 -1
  661. package/dist/esm/atomic-format-number.entry.js +1 -1
  662. package/dist/esm/atomic-format-unit.entry.js +1 -1
  663. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -5
  664. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  665. package/dist/esm/atomic-generated-answer.entry.js +2 -3
  666. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  667. package/dist/esm/atomic-html.entry.js +1 -1
  668. package/dist/esm/atomic-insight-edit-toggle.entry.js +3 -4
  669. package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
  670. package/dist/esm/atomic-insight-facet.entry.js +8 -9
  671. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  672. package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -3
  673. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  674. package/dist/esm/atomic-insight-full-search-button.entry.js +3 -4
  675. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  676. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -3
  677. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  678. package/dist/esm/atomic-insight-history-toggle.entry.js +3 -4
  679. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  680. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  681. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -7
  682. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  683. package/dist/esm/atomic-insight-pager.entry.js +5 -6
  684. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  685. package/dist/esm/atomic-insight-query-error.entry.js +3 -4
  686. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  687. package/dist/esm/atomic-insight-refine-modal.entry.js +4 -5
  688. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  689. package/dist/esm/atomic-insight-refine-toggle.entry.js +3 -4
  690. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  691. package/dist/esm/atomic-insight-result-action.entry.js +4 -5
  692. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  693. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +4 -5
  694. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  695. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  696. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  697. package/dist/esm/atomic-insight-result-children.entry.js +4 -6
  698. package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
  699. package/dist/esm/atomic-insight-result-list.entry.js +2 -3
  700. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  701. package/dist/esm/atomic-insight-result-quickview-action.entry.js +4 -5
  702. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  703. package/dist/esm/atomic-insight-result.entry.js +1 -1
  704. package/dist/esm/atomic-insight-search-box.entry.js +4 -5
  705. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  706. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +4 -5
  707. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
  708. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -3
  709. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  710. package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -4
  711. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
  712. package/dist/esm/atomic-insight-tab.entry.js +1 -2
  713. package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
  714. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  715. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -5
  716. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  717. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -2
  718. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  719. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +2 -3
  720. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  721. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +3 -4
  722. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  723. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  724. package/dist/esm/atomic-ipx-button.entry.js +3 -4
  725. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  726. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  727. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  728. package/dist/esm/atomic-ipx-recs-list.entry.js +4 -6
  729. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  730. package/dist/esm/atomic-ipx-refine-modal.entry.js +3 -4
  731. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  732. package/dist/esm/atomic-ipx-refine-toggle.entry.js +3 -4
  733. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  734. package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
  735. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  736. package/dist/esm/atomic-ipx-tab.entry.js +1 -2
  737. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  738. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  739. package/dist/esm/atomic-load-more-results.entry.js +2 -3
  740. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  741. package/dist/esm/atomic-no-results.entry.js +2 -3
  742. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  743. package/dist/esm/atomic-numeric-facet.entry.js +6 -7
  744. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  745. package/dist/esm/atomic-popover.entry.js +1 -2
  746. package/dist/esm/atomic-popover.entry.js.map +1 -1
  747. package/dist/esm/atomic-query-error.entry.js +3 -4
  748. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  749. package/dist/esm/atomic-quickview-modal.entry.js +3 -4
  750. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  751. package/dist/esm/atomic-quickview.entry.js +3 -4
  752. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  753. package/dist/esm/atomic-rating-facet.entry.js +4 -5
  754. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  755. package/dist/esm/atomic-rating-range-facet.entry.js +3 -4
  756. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  757. package/dist/esm/atomic-recs-error.entry.js +3 -4
  758. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  759. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  760. package/dist/esm/atomic-recs-list.entry.js +4 -6
  761. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  762. package/dist/esm/atomic-refine-modal.entry.js +3 -4
  763. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  764. package/dist/esm/atomic-refine-toggle.entry.js +2 -3
  765. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  766. package/dist/esm/atomic-result-badge.entry.js +1 -1
  767. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  768. package/dist/esm/atomic-result-children.entry.js +5 -7
  769. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  770. package/dist/esm/atomic-result-date.entry.js +1 -1
  771. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  772. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  773. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  774. package/dist/esm/atomic-result-html.entry.js +1 -1
  775. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  776. package/dist/esm/atomic-result-icon.entry.js +1 -1
  777. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  778. package/dist/esm/atomic-result-image.entry.js +1 -1
  779. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  780. package/dist/esm/atomic-result-link.entry.js +2 -2
  781. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  782. package/dist/esm/atomic-result-list.entry.js +2 -3
  783. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  784. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  785. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  786. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  787. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  788. package/dist/esm/atomic-result-number.entry.js +1 -1
  789. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  790. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  791. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  792. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  793. package/dist/esm/atomic-result-rating.entry.js +1 -1
  794. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  795. package/dist/esm/atomic-result-text_2.entry.js +1 -1
  796. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  797. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  798. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  799. package/dist/esm/atomic-result.entry.js.map +1 -1
  800. package/dist/esm/atomic-search-box-query-suggestions.entry.js +1 -1
  801. package/dist/esm/atomic-search-box.entry.js +5 -10
  802. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  803. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -2
  804. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  805. package/dist/esm/atomic-segmented-facet.entry.js +1 -2
  806. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  807. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  808. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  809. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  810. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -5
  811. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
  812. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -3
  813. package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
  814. package/dist/esm/atomic-smart-snippet.entry.js +3 -4
  815. package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
  816. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  817. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  818. package/dist/esm/atomic-stencil-facet-date-input.entry.js +4 -5
  819. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
  820. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  821. package/dist/esm/atomic-tab-bar_2.entry.js +2 -3
  822. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  823. package/dist/esm/atomic-tab-button.entry.js +2 -3
  824. package/dist/esm/atomic-tab-button.entry.js.map +1 -1
  825. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  826. package/dist/esm/atomic-timeframe-facet.entry.js +4 -5
  827. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  828. package/dist/esm/atomic.js +1 -1
  829. package/dist/esm/{facet-placeholder-4959a92a.js → facet-placeholder-cf7007ee.js} +2 -2
  830. package/dist/esm/{facet-placeholder-4959a92a.js.map → facet-placeholder-cf7007ee.js.map} +1 -1
  831. package/dist/esm/{generated-answer-common-9d0c5ada.js → generated-answer-common-7a072444.js} +2 -2
  832. package/dist/esm/{generated-answer-common-9d0c5ada.js.map → generated-answer-common-7a072444.js.map} +1 -1
  833. package/dist/esm/index-3f35faca.js +4 -8
  834. package/dist/esm/index.js.map +1 -1
  835. package/dist/esm/{item-template-provider-35bf0685.js → item-template-provider-6e736120.js} +22 -2
  836. package/dist/esm/item-template-provider-6e736120.js.map +1 -0
  837. package/dist/esm/{show-hide-button-35eb419d.js → show-hide-button-706d82d9.js} +3 -3
  838. package/dist/esm/{show-hide-button-35eb419d.js.map → show-hide-button-706d82d9.js.map} +1 -1
  839. package/dist/esm/{smart-snippet-common-5ed4bdfa.js → smart-snippet-common-01b7411b.js} +3 -3
  840. package/dist/esm/{smart-snippet-common-5ed4bdfa.js.map → smart-snippet-common-01b7411b.js.map} +1 -1
  841. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js → smart-snippet-feedback-modal-common-50d66179.js} +2 -2
  842. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js.map → smart-snippet-feedback-modal-common-50d66179.js.map} +1 -1
  843. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js → smart-snippet-suggestions-common-54b6498b.js} +2 -2
  844. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js.map → smart-snippet-suggestions-common-54b6498b.js.map} +1 -1
  845. package/dist/esm/{stencil-button-1a29a5df.js → stencil-button-5f84efcc.js} +45 -3
  846. package/dist/esm/stencil-button-5f84efcc.js.map +1 -0
  847. package/dist/esm/{stencil-carousel-e1f25f7c.js → stencil-carousel-4264cd9b.js} +2 -2
  848. package/dist/esm/{stencil-carousel-e1f25f7c.js.map → stencil-carousel-4264cd9b.js.map} +1 -1
  849. package/dist/esm/{stencil-facet-search-matches-872d94d2.js → stencil-facet-search-matches-7299e897.js} +2 -2
  850. package/dist/esm/{stencil-facet-search-matches-872d94d2.js.map → stencil-facet-search-matches-7299e897.js.map} +1 -1
  851. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js → stencil-facet-show-more-less-202207c3.js} +2 -2
  852. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js.map → stencil-facet-show-more-less-202207c3.js.map} +1 -1
  853. package/dist/esm/{stencil-facet-value-9deafe8e.js → stencil-facet-value-8fd91a54.js} +4 -4
  854. package/dist/esm/{stencil-facet-value-9deafe8e.js.map → stencil-facet-value-8fd91a54.js.map} +1 -1
  855. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js → stencil-facet-value-box-85126921.js} +2 -2
  856. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js.map → stencil-facet-value-box-85126921.js.map} +1 -1
  857. package/dist/esm/{stencil-facet-value-checkbox-c0df7c4e.js → stencil-facet-value-checkbox-228b572d.js} +2 -2
  858. package/dist/esm/{stencil-facet-value-checkbox-c0df7c4e.js.map → stencil-facet-value-checkbox-228b572d.js.map} +1 -1
  859. package/dist/esm/{stencil-facet-value-link-88512e29.js → stencil-facet-value-link-41281838.js} +2 -2
  860. package/dist/esm/{stencil-facet-value-link-88512e29.js.map → stencil-facet-value-link-41281838.js.map} +1 -1
  861. package/dist/esm/{stencil-iconButton-ba40899c.js → stencil-iconButton-ff8c8cf7.js} +2 -2
  862. package/dist/esm/{stencil-iconButton-ba40899c.js.map → stencil-iconButton-ff8c8cf7.js.map} +1 -1
  863. package/dist/esm/{stencil-link-b676e261.js → stencil-link-feb82bc0.js} +2 -2
  864. package/dist/esm/{stencil-link-b676e261.js.map → stencil-link-feb82bc0.js.map} +1 -1
  865. package/dist/esm/{stencil-modal-467f7f33.js → stencil-modal-ec1562dc.js} +2 -2
  866. package/dist/esm/{stencil-modal-467f7f33.js.map → stencil-modal-ec1562dc.js.map} +1 -1
  867. package/dist/esm/{stencil-radio-button-cae5f40a.js → stencil-radio-button-4b36e45d.js} +2 -3
  868. package/dist/esm/stencil-radio-button-4b36e45d.js.map +1 -0
  869. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  870. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  871. package/dist/esm/{stencil-suggestion-manager-1f4ed8d0.js → stencil-suggestion-manager-95694bcb.js} +3 -3
  872. package/dist/esm/stencil-suggestion-manager-95694bcb.js.map +1 -0
  873. package/dist/esm/{stencil-values-container-9b9cd73f.js → stencil-values-container-369adc52.js} +3 -3
  874. package/dist/esm/{stencil-values-container-9b9cd73f.js.map → stencil-values-container-369adc52.js.map} +1 -1
  875. package/dist/esm/{timeframe-facet-common-55fc72f3.js → timeframe-facet-common-b97e786a.js} +3 -3
  876. package/dist/esm/{timeframe-facet-common-55fc72f3.js.map → timeframe-facet-common-b97e786a.js.map} +1 -1
  877. package/dist/esm/version.js +1 -1
  878. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +0 -2
  879. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +0 -1
  880. package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +0 -2
  881. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  882. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  883. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  884. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  885. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  886. package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +0 -2
  887. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  888. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  889. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +0 -1
  890. package/dist/types/components/search/{search-box-suggestions/atomic-search-box-instant-results → atomic-search-box-instant-results}/atomic-search-box-instant-results.d.ts +18 -10
  891. package/dist/types/components/search/index.d.ts +1 -0
  892. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  893. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  894. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  895. package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
  896. package/dist/types/components.d.ts +0 -72
  897. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  898. package/dist/types/index.d.ts +3 -3
  899. package/docs/atomic-docs.json +12 -238
  900. package/package.json +1 -1
  901. package/dist/atomic/components/atomic-search-box-instant-results.d.ts +0 -11
  902. package/dist/atomic/components/atomic-search-box-instant-results.js.map +0 -1
  903. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  904. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  905. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  906. package/dist/atomic/components/stencil-button-style.js +0 -46
  907. package/dist/atomic/components/stencil-button-style.js.map +0 -1
  908. package/dist/atomic/components/stencil-placeholders.js +0 -24
  909. package/dist/atomic/components/stencil-placeholders.js.map +0 -1
  910. package/dist/atomic/components/suggestions-events.js +0 -40
  911. package/dist/atomic/components/suggestions-events.js.map +0 -1
  912. package/dist/atomic/p-0535b93d.entry.js +0 -2
  913. package/dist/atomic/p-05f1ff6f.entry.js +0 -2
  914. package/dist/atomic/p-088d634c.entry.js +0 -2
  915. package/dist/atomic/p-0ee7cab8.entry.js +0 -2
  916. package/dist/atomic/p-15547bd5.entry.js.map +0 -1
  917. package/dist/atomic/p-182f9112.entry.js.map +0 -1
  918. package/dist/atomic/p-18684d4c.js.map +0 -1
  919. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  920. package/dist/atomic/p-1910eb7f.entry.js +0 -2
  921. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  922. package/dist/atomic/p-21ab6f55.js +0 -2
  923. package/dist/atomic/p-21ab6f55.js.map +0 -1
  924. package/dist/atomic/p-21ab7750.entry.js +0 -2
  925. package/dist/atomic/p-22b76c96.entry.js +0 -2
  926. package/dist/atomic/p-2559747d.js +0 -2
  927. package/dist/atomic/p-2559747d.js.map +0 -1
  928. package/dist/atomic/p-2f437b47.entry.js +0 -2
  929. package/dist/atomic/p-2f517a54.entry.js +0 -2
  930. package/dist/atomic/p-33245038.entry.js +0 -2
  931. package/dist/atomic/p-3a01a398.entry.js +0 -2
  932. package/dist/atomic/p-3bd8469f.entry.js +0 -2
  933. package/dist/atomic/p-400c28b6.entry.js +0 -2
  934. package/dist/atomic/p-4069d801.entry.js.map +0 -1
  935. package/dist/atomic/p-448091f7.entry.js.map +0 -1
  936. package/dist/atomic/p-479cb38a.entry.js +0 -2
  937. package/dist/atomic/p-4cb91ee7.entry.js.map +0 -1
  938. package/dist/atomic/p-558f2191.entry.js +0 -2
  939. package/dist/atomic/p-57049cd2.entry.js.map +0 -1
  940. package/dist/atomic/p-5a83b7e5.entry.js +0 -2
  941. package/dist/atomic/p-5b8cc4bc.entry.js +0 -2
  942. package/dist/atomic/p-5cab535b.entry.js.map +0 -1
  943. package/dist/atomic/p-6439156c.entry.js +0 -2
  944. package/dist/atomic/p-66166975.entry.js +0 -2
  945. package/dist/atomic/p-6698d5e9.entry.js +0 -2
  946. package/dist/atomic/p-7045745d.entry.js +0 -2
  947. package/dist/atomic/p-70747efa.entry.js +0 -2
  948. package/dist/atomic/p-7242b46e.entry.js +0 -2
  949. package/dist/atomic/p-76c14d82.entry.js +0 -2
  950. package/dist/atomic/p-7741124a.entry.js +0 -2
  951. package/dist/atomic/p-77d00da1.entry.js +0 -2
  952. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  953. package/dist/atomic/p-7fe23afc.entry.js +0 -2
  954. package/dist/atomic/p-80290dd3.entry.js +0 -2
  955. package/dist/atomic/p-81bdbd07.entry.js +0 -2
  956. package/dist/atomic/p-82398f4a.js +0 -2
  957. package/dist/atomic/p-851b9735.entry.js +0 -2
  958. package/dist/atomic/p-852cc16d.entry.js.map +0 -1
  959. package/dist/atomic/p-874f0a4c.entry.js +0 -2
  960. package/dist/atomic/p-8d5228da.entry.js +0 -2
  961. package/dist/atomic/p-8d5228da.entry.js.map +0 -1
  962. package/dist/atomic/p-8e5e00b4.js +0 -2
  963. package/dist/atomic/p-8e5e00b4.js.map +0 -1
  964. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  965. package/dist/atomic/p-955092ed.entry.js.map +0 -1
  966. package/dist/atomic/p-99d4c4bf.entry.js +0 -2
  967. package/dist/atomic/p-9b2561e8.entry.js +0 -2
  968. package/dist/atomic/p-9e6462cf.entry.js +0 -2
  969. package/dist/atomic/p-9e6462cf.entry.js.map +0 -1
  970. package/dist/atomic/p-a1798150.entry.js.map +0 -1
  971. package/dist/atomic/p-a6dde0f6.entry.js +0 -2
  972. package/dist/atomic/p-ae69f519.entry.js +0 -2
  973. package/dist/atomic/p-b1b583a0.entry.js +0 -2
  974. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  975. package/dist/atomic/p-b628ed03.entry.js +0 -2
  976. package/dist/atomic/p-b84108f3.entry.js +0 -2
  977. package/dist/atomic/p-b85c2c46.entry.js +0 -2
  978. package/dist/atomic/p-b85c2c46.entry.js.map +0 -1
  979. package/dist/atomic/p-b93ccff9.js +0 -2
  980. package/dist/atomic/p-b93ccff9.js.map +0 -1
  981. package/dist/atomic/p-c5164dbf.entry.js.map +0 -1
  982. package/dist/atomic/p-c8190eb9.entry.js +0 -2
  983. package/dist/atomic/p-cef8175c.js +0 -2
  984. package/dist/atomic/p-cef8175c.js.map +0 -1
  985. package/dist/atomic/p-db2d92c5.entry.js +0 -2
  986. package/dist/atomic/p-dd24c66a.entry.js +0 -2
  987. package/dist/atomic/p-dea22a8d.entry.js +0 -2
  988. package/dist/atomic/p-dea22a8d.entry.js.map +0 -1
  989. package/dist/atomic/p-df8d38ca.entry.js +0 -2
  990. package/dist/atomic/p-df8d38ca.entry.js.map +0 -1
  991. package/dist/atomic/p-e455330c.entry.js +0 -2
  992. package/dist/atomic/p-e49ad083.entry.js +0 -2
  993. package/dist/atomic/p-e6dc9de7.entry.js.map +0 -1
  994. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  995. package/dist/atomic/p-ef8f2239.entry.js +0 -2
  996. package/dist/atomic/p-f0c657f4.entry.js +0 -2
  997. package/dist/atomic/p-f1241140.entry.js +0 -2
  998. package/dist/atomic/p-f37dea9e.entry.js +0 -2
  999. package/dist/atomic/p-f4818e53.entry.js +0 -2
  1000. package/dist/atomic/p-fc71835d.entry.js +0 -2
  1001. package/dist/atomic/p-fd1ef9e3.entry.js +0 -2
  1002. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +0 -186
  1003. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/item-template-provider-470c1774.js.map +0 -1
  1005. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  1006. package/dist/cjs/stencil-button-94b89acc.js.map +0 -1
  1007. package/dist/cjs/stencil-button-style-ba779fe2.js +0 -49
  1008. package/dist/cjs/stencil-button-style-ba779fe2.js.map +0 -1
  1009. package/dist/cjs/stencil-placeholders-b8c896fa.js +0 -27
  1010. package/dist/cjs/stencil-placeholders-b8c896fa.js.map +0 -1
  1011. package/dist/cjs/stencil-radio-button-ea7e71d3.js.map +0 -1
  1012. package/dist/cjs/stencil-suggestion-manager-88cb88f2.js.map +0 -1
  1013. package/dist/esm/atomic-search-box-instant-results.entry.js +0 -182
  1014. package/dist/esm/atomic-search-box-instant-results.entry.js.map +0 -1
  1015. package/dist/esm/item-template-provider-35bf0685.js.map +0 -1
  1016. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  1017. package/dist/esm/stencil-button-1a29a5df.js.map +0 -1
  1018. package/dist/esm/stencil-button-style-0bc80040.js +0 -46
  1019. package/dist/esm/stencil-button-style-0bc80040.js.map +0 -1
  1020. package/dist/esm/stencil-placeholders-58a0c818.js +0 -24
  1021. package/dist/esm/stencil-placeholders-58a0c818.js.map +0 -1
  1022. package/dist/esm/stencil-radio-button-cae5f40a.js.map +0 -1
  1023. package/dist/esm/stencil-suggestion-manager-1f4ed8d0.js.map +0 -1
  1024. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  1025. /package/dist/atomic/{p-a0ebbbdf.entry.js.map → p-06c22903.entry.js.map} +0 -0
  1026. /package/dist/atomic/{p-5d0a3045.js.map → p-0ab0ceaa.js.map} +0 -0
  1027. /package/dist/atomic/{p-74862002.js.map → p-0e6f1e14.js.map} +0 -0
  1028. /package/dist/atomic/{p-3272a04b.entry.js.map → p-0fb717b5.entry.js.map} +0 -0
  1029. /package/dist/atomic/{p-bc43df67.entry.js.map → p-118db20a.entry.js.map} +0 -0
  1030. /package/dist/atomic/{p-d2e8a2d4.js.map → p-134b7370.js.map} +0 -0
  1031. /package/dist/atomic/{p-b29d121c.js.map → p-1365c7d0.js.map} +0 -0
  1032. /package/dist/atomic/{p-ef78082a.js.map → p-15580d9e.js.map} +0 -0
  1033. /package/dist/atomic/{p-f4818e53.entry.js.map → p-1936bfc8.entry.js.map} +0 -0
  1034. /package/dist/atomic/{p-5a2ef889.js.map → p-20fc8a6c.js.map} +0 -0
  1035. /package/dist/atomic/{p-baff6c43.js.map → p-25660266.js.map} +0 -0
  1036. /package/dist/atomic/{p-dbc09018.js.map → p-340130de.js.map} +0 -0
  1037. /package/dist/atomic/{p-037eee11.js.map → p-3f0e7549.js.map} +0 -0
  1038. /package/dist/atomic/{p-6819f12c.entry.js.map → p-3f3f6b14.entry.js.map} +0 -0
  1039. /package/dist/atomic/{p-f8b608ba.js.map → p-4bf14d26.js.map} +0 -0
  1040. /package/dist/atomic/{p-c619df9b.js.map → p-4ecabf56.js.map} +0 -0
  1041. /package/dist/atomic/{p-044de1f9.entry.js.map → p-534aa5f7.entry.js.map} +0 -0
  1042. /package/dist/atomic/{p-f65ca329.entry.js.map → p-609d0550.entry.js.map} +0 -0
  1043. /package/dist/atomic/{p-60498b8e.js.map → p-68013132.js.map} +0 -0
  1044. /package/dist/atomic/{p-5c73ebc4.js.map → p-76cf6545.js.map} +0 -0
  1045. /package/dist/atomic/{p-05f1ff6f.entry.js.map → p-7bf809eb.entry.js.map} +0 -0
  1046. /package/dist/atomic/{p-ed413091.entry.js.map → p-8a30d1e9.entry.js.map} +0 -0
  1047. /package/dist/atomic/{p-dd0aac4c.entry.js.map → p-8c87d746.entry.js.map} +0 -0
  1048. /package/dist/atomic/{p-44d96103.entry.js.map → p-8d1f7884.entry.js.map} +0 -0
  1049. /package/dist/atomic/{p-d8caa4d8.entry.js.map → p-90ace4cd.entry.js.map} +0 -0
  1050. /package/dist/atomic/{p-3291adda.entry.js.map → p-9c556664.entry.js.map} +0 -0
  1051. /package/dist/atomic/{p-a428960a.js.map → p-9dcd5606.js.map} +0 -0
  1052. /package/dist/atomic/{p-47b41b27.entry.js.map → p-a94386b5.entry.js.map} +0 -0
  1053. /package/dist/atomic/{p-ca37969c.js.map → p-a9e250f8.js.map} +0 -0
  1054. /package/dist/atomic/{p-8a488991.js.map → p-ca0e9cd6.js.map} +0 -0
  1055. /package/dist/atomic/{p-229018fa.entry.js.map → p-d1fbb20a.entry.js.map} +0 -0
  1056. /package/dist/atomic/{p-14bad769.entry.js.map → p-d2107c93.entry.js.map} +0 -0
  1057. /package/dist/atomic/{p-20cbcfb9.js.map → p-d365883e.js.map} +0 -0
  1058. /package/dist/atomic/{p-2c6f895f.js.map → p-d4cbd9b1.js.map} +0 -0
  1059. /package/dist/atomic/{p-1c8bcadf.entry.js.map → p-d8d346f3.entry.js.map} +0 -0
  1060. /package/dist/atomic/{p-26e0c1f8.entry.js.map → p-dbc08e9e.entry.js.map} +0 -0
  1061. /package/dist/atomic/{p-e8176ac8.entry.js.map → p-e58679b8.entry.js.map} +0 -0
  1062. /package/dist/atomic/{p-5b8cc4bc.entry.js.map → p-e8180b21.entry.js.map} +0 -0
  1063. /package/dist/atomic/{p-2e13e2c0.entry.js.map → p-f654697b.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"generated-answer-common-9d0c5ada.js","mappings":"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","names":["this","marked","ArrowTopIcon"],"sources":["src/components/common/switch.tsx","src/components/common/generated-answer/copy-button.tsx","src/components/common/generated-answer/feedback-button.tsx","../../node_modules/marked/lib/marked.umd.js","src/components/common/generated-answer/generated-content/markdown-utils.ts","src/components/common/generated-answer/generated-content/generated-markdown-content.tsx","src/components/common/generated-answer/generated-content/generated-text-content.tsx","src/components/common/generated-answer/generated-content-container.tsx","src/components/common/generated-answer/retry-prompt.tsx","src/components/common/generated-answer/show-button.tsx","src/components/common/generated-answer/source-citations.tsx","src/components/common/generated-answer/generated-answer-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface SwitchProps {\n checked?: boolean;\n onToggle?(checked: boolean): void;\n ariaLabel?: string;\n part?: string;\n tabIndex?: number;\n title?: string;\n withToggle?: boolean;\n}\n\nexport const Switch: FunctionalComponent<SwitchProps> = (props) => {\n const attributes = {\n onClick: () => props.onToggle?.(!props.checked),\n 'arial-label': props.ariaLabel,\n 'aria-checked': String(!!props.checked),\n part: props.part,\n tabIndex: props.tabIndex,\n title: props.title,\n };\n\n const containerClasses = [\n 'w-12',\n 'h-6',\n 'p-1',\n 'rounded-full',\n props.checked ? 'bg-primary' : 'bg-neutral',\n ].join(' ');\n\n const handleClasses = [\n 'w-4',\n 'h-4',\n 'rounded-full',\n 'bg-white',\n props.checked ? 'ml-6' : '',\n ].join(' ');\n\n const buttonClasses = [\n 'rounded-full',\n 'btn-outline-neutral',\n props.withToggle ? 'flex' : 'hidden',\n ].join(' ');\n\n return (\n <button role=\"switch\" {...attributes} class={buttonClasses}>\n <div class={containerClasses}>\n <div class={handleClasses}></div>\n </div>\n </button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport CopyIcon from '../../../images/copy.svg';\nimport {Button} from '../stencil-button';\n\ninterface CopyButtonProps {\n title: string;\n isCopied: boolean;\n error: boolean;\n onClick: () => void;\n}\n\nexport const CopyButton: FunctionalComponent<CopyButtonProps> = (props) => {\n return (\n <Button\n title={props.title}\n part=\"copy-button\"\n style={'text-transparent'}\n class={`rounded-md p-2 ${props.isCopied ? 'copied' : ''} ${\n props.error ? 'error' : ''\n }`}\n onClick={props.onClick}\n >\n <div class=\"icon-container text-neutral-dark\">\n <atomic-icon class=\"w-5\" icon={CopyIcon}></atomic-icon>\n </div>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport Thumbs from '../../../images/thumbs.svg';\nimport {Button} from '../stencil-button';\n\ntype FeedbackVariant = 'like' | 'dislike';\n\ninterface FeedbackButtonProps {\n title: string;\n variant: FeedbackVariant;\n active: boolean;\n onClick: () => void;\n}\n\nexport const FeedbackButton: FunctionalComponent<FeedbackButtonProps> = (\n props\n) => {\n return (\n <Button\n title={props.title}\n style=\"text-transparent\"\n part=\"feedback-button\"\n class={`feedback-button rounded-md p-2 ${props.variant} ${\n props.active ? 'active' : ''\n }`}\n onClick={props.onClick}\n ariaPressed={`${props.active}`}\n >\n <atomic-icon class=\"w-5\" icon={Thumbs}></atomic-icon>\n </Button>\n );\n};\n","/**\n * marked v12.0.2 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n /**\n * Gets the original marked default options.\n */\n function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n }\n exports.defaults = _getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n const escapeTest = /[&<>\"']/;\n const escapeReplace = new RegExp(escapeTest.source, 'g');\n const escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\n const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\n const escapeReplacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n };\n const getEscapeReplacement = (ch) => escapeReplacements[ch];\n function escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n }\n const unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n }\n const caret = /(^|[^\\[])\\^/g;\n function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n }\n function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n }\n const noopTest = { exec: () => null };\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\n function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n }\n\n function outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n }\n function indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n }\n /**\n * Tokenizer\n */\n class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || exports.defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n // precede setext continuation with 4 spaces so it isn't a setext\n let text = cap[0].replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, '\\n $1');\n text = rtrim(text.replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n }\n else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n }\n\n /**\n * Block-Level Grammar\n */\n const newline = /^(?: *(?:\\n|$))+/;\n const blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\n const fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\n const hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\n const heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\n const bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n const lheading = edit(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, / {4}/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .getRegex();\n const _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\n const blockText = /^[^\\n]+/;\n const _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n const def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\n const list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\n const _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\n const _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\n const html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n const paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n const blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n /**\n * Normal Block Grammar\n */\n const blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n };\n /**\n * GFM Block Grammar\n */\n const gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n const blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n };\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n const blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n };\n /**\n * Inline-Level Grammar\n */\n const escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\n const inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n const br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\n const inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\n // list of unicode punctuation marks, plus any missing characters from CommonMark spec\n const _punctuation = '\\\\p{P}\\\\p{S}';\n const punctuation = edit(/^((?![*_])[\\spunctuation])/, 'u')\n .replace(/punctuation/g, _punctuation).getRegex();\n // sequences em should skip over [title](link), `code`, <html>\n const blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\n const emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n // (6) Not allowed for _\n const emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n const anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\n const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\n const tag = edit('^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\n const _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n const link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\n const reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\n const nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\n const reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n /**\n * Normal Inline Grammar\n */\n const inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n };\n /**\n * Pedantic Inline Grammar\n */\n const inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n };\n /**\n * GFM Inline Grammar\n */\n const inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n };\n /**\n * GFM + Line Breaks Inline Grammar\n */\n const inlineBreaks = {\n ...inlineGfm,\n br: edit(br).replace('{2,}', '*').getRegex(),\n text: edit(inlineGfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n };\n /**\n * exports\n */\n const block = {\n normal: blockNormal,\n gfm: blockGfm,\n pedantic: blockPedantic\n };\n const inline = {\n normal: inlineNormal,\n gfm: inlineGfm,\n breaks: inlineBreaks,\n pedantic: inlinePedantic\n };\n\n /**\n * Block Lexer\n */\n class _Lexer {\n tokens;\n options;\n state;\n tokenizer;\n inlineQueue;\n constructor(options) {\n // TokenList cannot be created in one go\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || exports.defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n }\n else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n }\n else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n for (let i = 0; i < this.inlineQueue.length; i++) {\n const next = this.inlineQueue[i];\n this.inlineTokens(next.src, next.tokens);\n }\n this.inlineQueue = [];\n return this.tokens;\n }\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n }\n else {\n src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n }\n\n /**\n * Renderer\n */\n class _Renderer {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n return '<pre><code class=\"language-'\n + escape$1(lang)\n + '\">'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n blockquote(quote) {\n return `<blockquote>\\n${quote}</blockquote>\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `<h${level}>${text}</h${level}>\\n`;\n }\n hr() {\n return '<hr>\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `<li>${text}</li>\\n`;\n }\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\">';\n }\n paragraph(text) {\n return `<p>${text}</p>\\n`;\n }\n table(header, body) {\n if (body)\n body = `<tbody>${body}</tbody>`;\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n tablerow(content) {\n return `<tr>\\n${content}</tr>\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `<strong>${text}</strong>`;\n }\n em(text) {\n return `<em>${text}</em>`;\n }\n codespan(text) {\n return `<code>${text}</code>`;\n }\n br() {\n return '<br>';\n }\n del(text) {\n return `<del>${text}</del>`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${title}\"`;\n }\n out += '>';\n return out;\n }\n text(text) {\n return text;\n }\n }\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n class _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return '' + text;\n }\n image(href, title, text) {\n return '' + text;\n }\n br() {\n return '';\n }\n }\n\n /**\n * Parsing & Compiling\n */\n class _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || exports.defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case 'code': {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case 'table': {\n const tableToken = token;\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < tableToken.header.length; j++) {\n cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });\n }\n header += this.renderer.tablerow(cell);\n let body = '';\n for (let j = 0; j < tableToken.rows.length; j++) {\n const row = tableToken.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = '';\n for (let j = 0; j < listToken.items.length; j++) {\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = '';\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n }\n\n class _Hooks {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n }\n\n class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '<p>An error occurred:</p><pre>'\n + escape$1(e.message + '', true)\n + '</pre>';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n }\n\n const markedInstance = new Marked();\n function marked(src, opt) {\n return markedInstance.parse(src, opt);\n }\n /**\n * Sets the default options.\n *\n * @param options Hash of options\n */\n marked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Gets the original marked default options.\n */\n marked.getDefaults = _getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n marked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Run callback for every token\n */\n marked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n };\n /**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\n marked.parseInline = markedInstance.parseInline;\n /**\n * Expose\n */\n marked.Parser = _Parser;\n marked.parser = _Parser.parse;\n marked.Renderer = _Renderer;\n marked.TextRenderer = _TextRenderer;\n marked.Lexer = _Lexer;\n marked.lexer = _Lexer.lex;\n marked.Tokenizer = _Tokenizer;\n marked.Hooks = _Hooks;\n marked.parse = marked;\n const options = marked.options;\n const setOptions = marked.setOptions;\n const use = marked.use;\n const walkTokens = marked.walkTokens;\n const parseInline = marked.parseInline;\n const parse = marked;\n const parser = _Parser.parse;\n const lexer = _Lexer.lex;\n\n exports.Hooks = _Hooks;\n exports.Lexer = _Lexer;\n exports.Marked = Marked;\n exports.Parser = _Parser;\n exports.Renderer = _Renderer;\n exports.TextRenderer = _TextRenderer;\n exports.Tokenizer = _Tokenizer;\n exports.getDefaults = _getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n}));\n//# sourceMappingURL=marked.umd.js.map\n","import {marked} from 'marked';\n\nconst toInlinePlainText = (textWithHtml: string): string => {\n const withoutHtmlTags = textWithHtml.replace(/<[^>]*>/g, ' ');\n const withCollapsedWhitespaces = withoutHtmlTags.replace(/\\s{2,}/g, ' ');\n\n return withCollapsedWhitespaces.trim();\n};\n\nconst unclosedElement = /(\\*{1,3}|`)($|\\w[\\w\\s]*$)/;\n\nconst completeUnclosedElement = (text: string) => {\n const match = unclosedElement.exec(text);\n if (match) {\n const symbol = match[1];\n\n const replacements: Record<string, string> = {\n '***':\n '<strong part=\"answer-strong\"><em part=\"answer-emphasis\">$2</em></strong>',\n '**': '<strong part=\"answer-strong\">$2</strong>',\n '*': '<em part=\"answer-emphasis\">$2</em>',\n '`': '<code part=\"answer-inline-code\">$2</code>',\n };\n\n return text.replace(unclosedElement, replacements[symbol]);\n }\n\n return text;\n};\n\nconst escapeHtml = (text: string) => {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n};\n\nconst customRenderer = {\n blockquote(quote: string) {\n return `<blockquote part=\"answer-quote-block\">${quote}</blockquote>`;\n },\n\n code(code: string) {\n return `<pre part=\"answer-code-block\"><code>${escapeHtml(code)}</code></pre>`;\n },\n\n codespan(text: string) {\n return `<code part=\"answer-inline-code\">${text}</code>`;\n },\n\n em(text: string) {\n return `<em part=\"answer-emphasis\">${text}</em>`;\n },\n\n heading(text: string, level: number) {\n const plainText = toInlinePlainText(text);\n\n return `<div part=\"answer-heading-${level}\" aria-label=\"${plainText}\">${text}</div>`;\n },\n\n html(text: string) {\n return escapeHtml(text);\n },\n\n list(body: string, ordered: boolean, start: number | '') {\n const type = ordered ? 'ol' : 'ul';\n const part = ordered ? 'answer-ordered-list' : 'answer-unordered-list';\n\n const tag =\n ordered && start !== 1\n ? `<${type} part=\"${part}\" start=\"${start}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${body}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to remove wrapping `<p>` element around list item content.\n * @param text The element text content.\n * @returns The list item element to render.\n */\n listitem(text: string) {\n const unwrappedText = text\n .replace(/^<p[^>]*>/, '')\n .replace(/<\\/p>\\n?$/, '');\n const withClosedElement = completeUnclosedElement(unwrappedText);\n return `<li part=\"answer-list-item\">${withClosedElement}</li>`;\n },\n\n paragraph(text: string) {\n return `<p part=\"answer-paragraph\">${text}</p>`;\n },\n\n strong(text: string) {\n return `<strong part=\"answer-strong\">${text}</strong>`;\n },\n\n /**\n * Custom Marked renderer to wrap `<table>` element in a scrolling container.\n * @param header The table header content.\n * @param body The table body content.\n * @returns The element to render.\n */\n table(header: string, body: string) {\n return `<div part=\"answer-table-container\" class=\"scrollable-table\"><table part=\"answer-table\"><thead>${header}</thead><tbody>${body}</tbody></table></div>`;\n },\n\n tablecell(\n content: string,\n flags: {header: boolean; align: 'center' | 'left' | 'right' | null}\n ) {\n const type = flags.header ? 'th' : 'td';\n const part = flags.header ? 'answer-table-header' : 'answer-table-content';\n const tag = flags.align\n ? `<${type} part=\"${part}\" align=\"${flags.align}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${content}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to complete unclosed inline elements such as bold, italic, and code.\n * @param text The text content.\n * @returns The corrected text content.\n */\n text(text: string) {\n return completeUnclosedElement(text);\n },\n};\n\nexport const transformMarkdownToHtml = (text: string): string => {\n return marked.use({renderer: customRenderer}).parse(text) as string;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {transformMarkdownToHtml} from './markdown-utils';\n\ninterface GeneratedMarkdownContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedMarkdownContent: FunctionalComponent<\n GeneratedMarkdownContentProps\n> = (props) => {\n const answerAsHtml = DOMPurify.sanitize(\n transformMarkdownToHtml(props.answer ?? ''),\n {ADD_ATTR: ['part']}\n );\n\n return (\n <div\n part=\"generated-text\"\n class={`text-on-background mb-0 ${props.isStreaming ? 'cursor' : ''}`}\n innerHTML={answerAsHtml}\n />\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface GeneratedTextContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedTextContent: FunctionalComponent<\n GeneratedTextContentProps\n> = (props) => {\n return (\n <p\n part=\"generated-text\"\n class={`text-on-background mb-0 whitespace-pre-wrap ${\n props.isStreaming ? 'cursor' : ''\n }`}\n >\n {props.answer}\n </p>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {GeneratedMarkdownContent} from './generated-content/generated-markdown-content';\nimport {GeneratedTextContent} from './generated-content/generated-text-content';\n\ninterface GeneratedContentContainerProps {\n answer?: string;\n answerContentFormat?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedContentContainer: FunctionalComponent<\n GeneratedContentContainerProps\n> = (props, children) => {\n return (\n <div part=\"generated-container\" class=\"mt-6\">\n {props.answerContentFormat === 'text/markdown' ? (\n <GeneratedMarkdownContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n ) : (\n <GeneratedTextContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n )}\n <div class=\"footer mt-6\">{children}</div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface RetryPromptProps {\n message: string;\n buttonLabel: string;\n onClick: () => void;\n}\n\nexport const RetryPrompt: FunctionalComponent<RetryPromptProps> = (props) => (\n <div part=\"retry-container\" class=\"mt-4\">\n <div class=\"text-neutral-dark mx-auto text-center\">{props.message}</div>\n <Button\n class=\"mx-auto mt-4 block px-4 py-2\"\n style=\"outline-primary\"\n onClick={props.onClick}\n >\n {props.buttonLabel}\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport ArrowBottomIcon from '../../../images/arrow-bottom-rounded.svg';\nimport ArrowTopIcon from '../../../images/arrow-top-rounded.svg';\nimport {Button} from '../stencil-button';\n\ninterface ShowButtonProps {\n i18n: i18n;\n isCollapsed: boolean;\n onClick: () => void;\n}\n\nexport const ShowButton: FunctionalComponent<ShowButtonProps> = (props) => (\n <Button\n style=\"text-primary\"\n part=\"answer-show-button\"\n class=\"hidden items-center hover:bg-transparent\"\n onClick={() => props.onClick()}\n >\n <div class=\"text-base font-light\">\n {props.isCollapsed\n ? props.i18n.t('show-more')\n : props.i18n.t('show-less')}\n </div>\n <atomic-icon\n part=\"answer-show-icon\"\n class=\"ml-2 w-3.5\"\n icon={props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon}\n ></atomic-icon>\n </Button>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface SourceCitationsProps {\n label: string;\n isVisible: boolean;\n}\n\nexport const SourceCitations: FunctionalComponent<SourceCitationsProps> = (\n props,\n children\n) =>\n props.isVisible ? (\n <div class=\"source-citations\">\n <p part=\"citations-label\" class=\"text-neutral-dark mb-2 shrink-0\">\n {props.label}\n </p>\n <ol class=\"citations-container flex list-none flex-wrap items-center gap-2\">\n {children}\n </ol>\n </div>\n ) : null;\n","import {\n GeneratedAnswer,\n GeneratedAnswerCitation,\n GeneratedAnswerState,\n InteractiveCitation,\n InteractiveCitationProps,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {\n GeneratedAnswerData,\n SafeStorage,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {getNamedSlotFromHost} from '../../../utils/slot-utils';\nimport {AnyBindings} from '../interface/bindings';\nimport {Heading} from '../stencil-heading';\nimport {Switch} from '../switch';\nimport {CopyButton} from './copy-button';\nimport {FeedbackButton} from './feedback-button';\nimport {GeneratedContentContainer} from './generated-content-container';\nimport {RetryPrompt} from './retry-prompt';\nimport {ShowButton} from './show-button';\nimport {SourceCitations} from './source-citations';\n\ninterface GeneratedAnswerCommonOptions {\n host: HTMLElement;\n withToggle?: boolean;\n collapsible?: boolean;\n disableCitationAnchoring?: boolean;\n getGeneratedAnswer: () => GeneratedAnswer | undefined;\n getGeneratedAnswerState: () => GeneratedAnswerState | undefined;\n getSearchStatusState: () => SearchStatusState | undefined;\n getBindings: () => AnyBindings;\n getCopied: () => boolean;\n setCopied: (isCopied: boolean) => void;\n getCopyError: () => boolean;\n setCopyError: (copyError: boolean) => void;\n setAriaMessage: (message: string) => void;\n buildInteractiveCitation: (\n props: InteractiveCitationProps\n ) => InteractiveCitation;\n}\n\nexport class GeneratedAnswerCommon {\n private storage: SafeStorage = new SafeStorage();\n private _data: GeneratedAnswerData;\n private modalRef?: HTMLAtomicGeneratedAnswerFeedbackModalElement;\n\n constructor(private props: GeneratedAnswerCommonOptions) {\n this._data = this.readStoredData();\n }\n\n public insertFeedbackModal() {\n this.modalRef = document.createElement(\n 'atomic-generated-answer-feedback-modal'\n );\n this.modalRef.generatedAnswer = this.props.getGeneratedAnswer()!;\n this.props.host.insertAdjacentElement('beforebegin', this.modalRef);\n }\n\n public readStoredData(): GeneratedAnswerData {\n const {withToggle} = this.props;\n const storedData = this.storage.getParsedJSON<GeneratedAnswerData>(\n StorageItems.GENERATED_ANSWER_DATA,\n {isVisible: true}\n );\n\n // This check ensures that the answer is visible when the toggle is hidden and visible is set to false in the local storage.\n return {isVisible: (withToggle && storedData.isVisible) || !withToggle};\n }\n\n public writeStoredData(data: GeneratedAnswerData) {\n this.storage.setJSON(StorageItems.GENERATED_ANSWER_DATA, data);\n }\n\n get data() {\n return this._data;\n }\n\n set data(newData: GeneratedAnswerData) {\n this._data = newData;\n }\n\n public getGeneratedAnswerStatus() {\n const isHidden = !this.props.getGeneratedAnswerState()?.isVisible;\n const isGenerating = !!this.props.getGeneratedAnswerState()?.isStreaming;\n const hasAnswer = !!this.props.getGeneratedAnswerState()?.answer;\n const hasError = !!this.props.getGeneratedAnswerState()?.error;\n\n if (isHidden) {\n return this.props.getBindings().i18n.t('generated-answer-hidden');\n }\n\n if (isGenerating) {\n return this.props.getBindings().i18n.t('generating-answer');\n }\n\n if (hasError) {\n return this.props.getBindings().i18n.t('answer-could-not-be-generated');\n }\n\n if (hasAnswer) {\n return this.props.getBindings().i18n.t('answer-generated', {\n answer: this.props.getGeneratedAnswerState()?.answer,\n });\n }\n\n return '';\n }\n\n private get hasRetryableError() {\n return (\n !this.props.getSearchStatusState()?.hasError &&\n this.props.getGeneratedAnswerState()?.error?.isRetryable\n );\n }\n\n private get hasNoAnswerGenerated() {\n const {answer, citations} = this.props.getGeneratedAnswerState() ?? {};\n return (\n answer === undefined && !citations?.length && !this.hasRetryableError\n );\n }\n\n private get isAnswerVisible() {\n return this.props.getGeneratedAnswerState()?.isVisible;\n }\n\n private get toggleTooltip() {\n const key = this.isAnswerVisible\n ? 'generated-answer-toggle-on'\n : 'generated-answer-toggle-off';\n return this.props.getBindings().i18n.t(key);\n }\n\n private get hasClipboard() {\n return !!navigator?.clipboard?.writeText;\n }\n\n private get copyToClipboardTooltip() {\n if (this.props.getCopyError()) {\n return this.props.getBindings().i18n.t('failed-to-copy-generated-answer');\n }\n\n return !this.props.getCopied()\n ? this.props.getBindings().i18n.t('copy-generated-answer')\n : this.props.getBindings().i18n.t('generated-answer-copied');\n }\n\n private get hasCustomNoAnswerMessage() {\n const slot = getNamedSlotFromHost(this.props.host, 'no-answer-message');\n return !!slot;\n }\n\n private async copyToClipboard(answer: string) {\n try {\n await navigator.clipboard.writeText(answer);\n this.props.setCopied(true);\n this.props.getGeneratedAnswer()?.logCopyToClipboard();\n } catch (error) {\n this.props.setCopyError(true);\n this.props\n .getBindings()\n .engine.logger.error(`Failed to copy to clipboard: ${error}`);\n }\n\n setTimeout(() => {\n this.props.setCopied(false);\n this.props.setCopyError(false);\n }, 2000);\n }\n\n private clickOnShowButton() {\n if (this.props.getGeneratedAnswerState()?.expanded) {\n this.props.getGeneratedAnswer()?.collapse();\n } else {\n this.props.getGeneratedAnswer()?.expand();\n }\n }\n\n private getCitation(citation: GeneratedAnswerCitation) {\n const {title} = citation;\n const {i18n} = this.props.getBindings();\n\n return title.trim() !== ''\n ? citation\n : {...citation, title: i18n.t('no-title')};\n }\n\n private renderCitations() {\n const {\n getGeneratedAnswerState,\n buildInteractiveCitation,\n getGeneratedAnswer,\n disableCitationAnchoring,\n } = this.props;\n const {citations} = getGeneratedAnswerState() ?? {};\n const {logCitationHover} = getGeneratedAnswer() ?? {};\n\n return citations?.map(\n (citation: GeneratedAnswerCitation, index: number) => {\n const interactiveCitation = buildInteractiveCitation({\n options: {\n citation,\n },\n });\n return (\n <li key={citation.id} class=\"max-w-full\">\n <atomic-citation\n citation={this.getCitation(citation)}\n index={index}\n sendHoverEndEvent={(citationHoverTimeMs: number) => {\n logCitationHover?.(citation.id, citationHoverTimeMs);\n }}\n interactiveCitation={interactiveCitation}\n disableCitationAnchoring={disableCitationAnchoring}\n exportparts=\"citation,citation-popover\"\n />\n </li>\n );\n }\n );\n }\n\n private renderFeedbackAndCopyButtons() {\n const {getGeneratedAnswerState, getBindings, getCopied, getCopyError} =\n this.props;\n const {i18n} = getBindings();\n const {liked, disliked, answer, isStreaming} =\n getGeneratedAnswerState() ?? {};\n\n const containerClasses = [\n 'feedback-buttons',\n 'flex',\n 'h-9',\n 'absolute',\n 'top-6',\n 'shrink-0',\n 'gap-2',\n this.props.withToggle ? 'right-20' : 'right-6',\n ].join(' ');\n\n if (isStreaming) {\n return null;\n }\n\n return (\n <div class={containerClasses}>\n <FeedbackButton\n title={i18n.t('this-answer-was-helpful')}\n variant=\"like\"\n active={!!liked}\n onClick={() => this.clickLike()}\n />\n <FeedbackButton\n title={i18n.t('this-answer-was-not-helpful')}\n variant=\"dislike\"\n active={!!disliked}\n onClick={() => this.clickDislike()}\n />\n {this.hasClipboard ? (\n <CopyButton\n title={this.copyToClipboardTooltip}\n isCopied={getCopied()}\n error={getCopyError()}\n onClick={async () => {\n if (answer) {\n await this.copyToClipboard(answer);\n }\n }}\n />\n ) : null}\n </div>\n );\n }\n\n private setIsAnswerHelpful(isAnswerHelpful: boolean) {\n if (this.modalRef) {\n this.modalRef.helpful = isAnswerHelpful;\n }\n }\n\n private openFeedbackModal() {\n if (\n this.modalRef &&\n !this.props.getGeneratedAnswerState()?.feedbackSubmitted\n ) {\n this.modalRef.isOpen = true;\n }\n }\n\n private clickDislike() {\n this.setIsAnswerHelpful(false);\n this.props.getGeneratedAnswer()?.dislike();\n this.openFeedbackModal();\n }\n\n private clickLike() {\n this.setIsAnswerHelpful(true);\n this.props.getGeneratedAnswer()?.like();\n this.openFeedbackModal();\n }\n\n private renderDisclaimer() {\n const {getGeneratedAnswerState, getBindings} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n if (isStreaming) {\n return null;\n }\n return (\n <div class=\"text-neutral-dark text-xs/[1rem]\">\n <slot name=\"disclaimer\" slot=\"disclaimer\">\n {i18n.t('generated-answer-disclaimer')}\n </slot>\n </div>\n );\n }\n\n private renderShowButton() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {expanded, isStreaming} = getGeneratedAnswerState() ?? {};\n const canRender = collapsible && !isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <ShowButton\n i18n={i18n}\n onClick={() => this.clickOnShowButton()}\n isCollapsed={!expanded}\n ></ShowButton>\n );\n }\n\n private renderGeneratingAnswerLabel() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n const canRender = collapsible && isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <div\n part=\"is-generating\"\n class=\"text-primary hidden text-base font-light\"\n >\n {i18n.t('generating-answer')}...\n </div>\n );\n }\n\n private renderContent() {\n const {getGeneratedAnswerState, getBindings, getGeneratedAnswer} =\n this.props;\n const {i18n} = getBindings();\n const {isStreaming, answer, citations, answerContentFormat} =\n getGeneratedAnswerState() ?? {};\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n <div class=\"ml-auto flex h-9 items-center\">\n <Switch\n part=\"toggle\"\n checked={this.isAnswerVisible}\n onToggle={(checked) => {\n checked\n ? getGeneratedAnswer()?.show()\n : getGeneratedAnswer()?.hide();\n }}\n ariaLabel={i18n.t('generated-answer-title')}\n title={this.toggleTooltip}\n withToggle={this.props.withToggle}\n ></Switch>\n </div>\n </div>\n {this.hasRetryableError && this.isAnswerVisible ? (\n <RetryPrompt\n onClick={() => getGeneratedAnswer()?.retry()}\n buttonLabel={i18n.t('retry')}\n message={i18n.t('retry-stream-message')}\n />\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible ? (\n <GeneratedContentContainer\n answer={answer}\n answerContentFormat={answerContentFormat}\n isStreaming={!!isStreaming}\n >\n {this.renderFeedbackAndCopyButtons()}\n <SourceCitations\n label={i18n.t('citations')}\n isVisible={!!citations?.length}\n >\n {this.renderCitations()}\n </SourceCitations>\n </GeneratedContentContainer>\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible && (\n <div part=\"generated-answer-footer\" class=\"mt-6 flex justify-end\">\n {this.renderGeneratingAnswerLabel()}\n {this.renderShowButton()}\n {this.renderDisclaimer()}\n </div>\n )}\n </div>\n );\n }\n\n private renderCustomNoAnswerMessage() {\n const {getBindings} = this.props;\n const {i18n} = getBindings();\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n </div>\n <div part=\"generated-container\" class=\"mt-6 break-words\">\n <slot name=\"no-answer-message\"></slot>\n </div>\n </div>\n );\n }\n\n public render() {\n const {getGeneratedAnswerState} = this.props;\n const {cannotAnswer} = getGeneratedAnswerState() ?? {};\n const contentClasses =\n 'mx-auto mt-0 mb-4 border border-neutral shadow-lg p-6 bg-background rounded-lg p-6 text-on-background';\n\n if (this.hasNoAnswerGenerated) {\n return cannotAnswer && this.hasCustomNoAnswerMessage ? (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderCustomNoAnswerMessage()}</article>\n </aside>\n </div>\n ) : null;\n }\n\n return (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderContent()}</article>\n </aside>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"generated-answer-common-7a072444.js","mappings":";;;;;;;;;;AAYO,MAAM,MAAM,GAAqC,CAAC,KAAK;IAC5D,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,MAAM,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/C,aAAa,EAAE,KAAK,CAAC,SAAS;QAC9B,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACvB,MAAM;QACN,KAAK;QACL,KAAK;QACL,cAAc;QACd,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,YAAY;KAC5C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,MAAM,aAAa,GAAG;QACpB,KAAK;QACL,KAAK;QACL,cAAc;QACd,UAAU;QACV,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,EAAE;KAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,MAAM,aAAa,GAAG;QACpB,cAAc;QACd,qBAAqB;QACrB,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,QAAQ;KACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,QACE,cAAQ,IAAI,EAAC,QAAQ,KAAK,UAAU,EAAE,KAAK,EAAE,aAAa;QACxD,WAAK,KAAK,EAAE,gBAAgB;YAC1B,WAAK,KAAK,EAAE,aAAa,GAAQ,CAC7B,CACC,EACT;AACJ,CAAC;;;;;;;;;;;ACxCM,MAAM,UAAU,GAAyC,CAAC,KAAK;IACpE,QACE,EAAC,MAAM,IACL,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,kBAAkB,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,EAAE,IACrD,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,EAC1B,EAAE,EACF,OAAO,EAAE,KAAK,CAAC,OAAO;QAEtB,WAAK,KAAK,EAAC,kCAAkC;YAC3C,mBAAa,KAAK,EAAC,KAAK,EAAC,IAAI,EAAE,QAAQ,GAAgB,CACnD,CACC,EACT;AACJ,CAAC;;;;;;;;;;;;;;;;;;;;ACdM,MAAM,cAAc,GAA6C,CACtE,KAAK;IAEL,QACE,EAAC,MAAM,IACL,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,kCAAkC,KAAK,CAAC,OAAO,IACpD,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,EAC5B,EAAE,EACF,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE;QAE9B,mBAAa,KAAK,EAAC,KAAK,EAAC,IAAI,EAAE,MAAM,GAAgB,CAC9C,EACT;AACJ,CAAC;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA,CAAC,UAAU,MAAM,EAAE,OAAO,EAAE;AAC5B,IAAmE,OAAO,CAAC,OAAO,CAAC,CAEwB,CAAC;AAC5G,CAAC,EAAEA,cAAI,GAAG,UAAU,OAAO,EAAE,CAC7B;AACA;AACA;AACA;AACA,IAAI,SAAS,YAAY,GAAG;AAC5B,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,MAAM,EAAE,KAAK;AACzB,YAAY,UAAU,EAAE,IAAI;AAC5B,YAAY,GAAG,EAAE,IAAI;AACrB,YAAY,KAAK,EAAE,IAAI;AACvB,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,QAAQ,EAAE,IAAI;AAC1B,YAAY,MAAM,EAAE,KAAK;AACzB,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,UAAU,EAAE,IAAI;AAC5B,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO,CAAC,QAAQ,GAAG,YAAY,EAAE,CAAC;AACtC,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,QAAQ,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC;AACvC,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG,SAAS,CAAC;AACjC,IAAI,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7D,IAAI,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AACnF,IAAI,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7E,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,GAAG,EAAE,OAAO;AACpB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,GAAG,EAAE,OAAO;AACpB,KAAK,CAAC;AACN,IAAI,MAAM,oBAAoB,GAAG,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAChE,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE;AACpC,QAAQ,IAAI,MAAM,EAAE;AACpB,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACvC,gBAAgB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;AACzE,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC/C,gBAAgB,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AACjF,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,YAAY,GAAG,4CAA4C,CAAC;AACtE,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC5B;AACA,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK;AACpD,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAChC,YAAY,IAAI,CAAC,KAAK,OAAO;AAC7B,gBAAgB,OAAO,GAAG,CAAC;AAC3B,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACrC,gBAAgB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;AAC1C,sBAAsB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,sBAAsB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,aAAa;AACb,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,cAAc,CAAC;AACjC,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AAC9B,QAAQ,IAAI,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;AACtE,QAAQ,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;AACxB,QAAQ,MAAM,GAAG,GAAG;AACpB,YAAY,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK;AACpC,gBAAgB,IAAI,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;AAC3E,gBAAgB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3D,gBAAgB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzD,gBAAgB,OAAO,GAAG,CAAC;AAC3B,aAAa;AACb,YAAY,QAAQ,EAAE,MAAM;AAC5B,gBAAgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/C,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC5B,QAAQ,IAAI;AACZ,YAAY,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxD,SAAS;AACT,QAAQ,OAAO,CAAC,EAAE;AAClB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;AAC1C,IAAI,SAAS,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE;AACzC;AACA;AACA,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK;AACpE,YAAY,IAAI,OAAO,GAAG,KAAK,CAAC;AAChC,YAAY,IAAI,IAAI,GAAG,MAAM,CAAC;AAC9B,YAAY,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;AACpD,gBAAgB,OAAO,GAAG,CAAC,OAAO,CAAC;AACnC,YAAY,IAAI,OAAO,EAAE;AACzB;AACA;AACA,gBAAgB,OAAO,GAAG,CAAC;AAC3B,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB;AACA,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;AAC9B,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;AACjE,YAAY,KAAK,CAAC,GAAG,EAAE,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE;AACtC,gBAAgB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK;AAC3C,oBAAoB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnC,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC;AACA,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE;AACnC,QAAQ,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE;AACrB,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT;AACA,QAAQ,IAAI,OAAO,GAAG,CAAC,CAAC;AACxB;AACA,QAAQ,OAAO,OAAO,GAAG,CAAC,EAAE;AAC5B,YAAY,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;AACzD,YAAY,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;AAC3C,gBAAgB,OAAO,EAAE,CAAC;AAC1B,aAAa;AACb,iBAAiB,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,EAAE;AAC/C,gBAAgB,OAAO,EAAE,CAAC;AAC1B,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM;AACtB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,SAAS,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE;AACxC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACtC,YAAY,OAAO,CAAC,CAAC,CAAC;AACtB,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AACjC,gBAAgB,CAAC,EAAE,CAAC;AACpB,aAAa;AACb,iBAAiB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACtC,gBAAgB,KAAK,EAAE,CAAC;AACxB,aAAa;AACb,iBAAiB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACtC,gBAAgB,KAAK,EAAE,CAAC;AACxB,gBAAgB,IAAI,KAAK,GAAG,CAAC,EAAE;AAC/B,oBAAoB,OAAO,CAAC,CAAC;AAC7B,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC,CAAC;AAClB,KAAK;AACL;AACA,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;AAC/C,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC/D,QAAQ,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACzD,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACtC,YAAY,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACtC,YAAY,MAAM,KAAK,GAAG;AAC1B,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,GAAG;AACnB,gBAAgB,IAAI;AACpB,gBAAgB,KAAK;AACrB,gBAAgB,IAAI;AACpB,gBAAgB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;AACvC,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,OAAO;AACzB,YAAY,GAAG;AACf,YAAY,IAAI;AAChB,YAAY,KAAK;AACjB,YAAY,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;AAChC,SAAS,CAAC;AACV,KAAK;AACL,IAAI,SAAS,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE;AAC/C,QAAQ,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC7D,QAAQ,IAAI,iBAAiB,KAAK,IAAI,EAAE;AACxC,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAClD,QAAQ,OAAO,IAAI;AACnB,aAAa,KAAK,CAAC,IAAI,CAAC;AACxB,aAAa,GAAG,CAAC,IAAI,IAAI;AACzB,YAAY,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzD,YAAY,IAAI,iBAAiB,KAAK,IAAI,EAAE;AAC5C,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,MAAM,CAAC,YAAY,CAAC,GAAG,iBAAiB,CAAC;AACrD,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE;AAC5D,gBAAgB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACvD,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,KAAK;AACL;AACA;AACA;AACA,IAAI,MAAM,UAAU,CAAC;AACrB,QAAQ,OAAO,CAAC;AAChB,QAAQ,KAAK,CAAC;AACd,QAAQ,KAAK,CAAC;AACd,QAAQ,WAAW,CAAC,OAAO,EAAE;AAC7B,YAAY,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;AACvD,SAAS;AACT,QAAQ,KAAK,CAAC,GAAG,EAAE;AACnB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,EAAE;AAClB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC7D,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,cAAc,EAAE,UAAU;AAC9C,oBAAoB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;AAChD,0BAA0B,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AAC3C,0BAA0B,IAAI;AAC9B,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,MAAM,CAAC,GAAG,EAAE;AACpB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,gBAAgB,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACvE,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG;AACvB,oBAAoB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACzG,oBAAoB,IAAI;AACxB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,CAAC,GAAG,EAAE;AACrB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC;AACA,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrC,oBAAoB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrD,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/C,wBAAwB,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9C,qBAAqB;AACrB,yBAAyB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7D;AACA,wBAAwB,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9C,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,SAAS;AACnC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;AACxC,oBAAoB,IAAI;AACxB,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACnD,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,EAAE,CAAC,GAAG,EAAE;AAChB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,UAAU,CAAC,GAAG,EAAE;AACxB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,YAAY,IAAI,GAAG,EAAE;AACrB;AACA,gBAAgB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,EAAE,UAAU,CAAC,CAAC;AACxF,gBAAgB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACrE,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AACjD,gBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AAC5C,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC5D,gBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;AAC3C,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,YAAY;AACtC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,MAAM;AAC1B,oBAAoB,IAAI;AACxB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,EAAE;AAClB,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,gBAAgB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClD,gBAAgB,MAAM,IAAI,GAAG;AAC7B,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,EAAE;AAC3B,oBAAoB,OAAO,EAAE,SAAS;AACtC,oBAAoB,KAAK,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;AAC9D,oBAAoB,KAAK,EAAE,KAAK;AAChC,oBAAoB,KAAK,EAAE,EAAE;AAC7B,iBAAiB,CAAC;AAClB,gBAAgB,IAAI,GAAG,SAAS,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3C,oBAAoB,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;AACtD,iBAAiB;AACjB;AACA,gBAAgB,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC7F,gBAAgB,IAAI,GAAG,GAAG,EAAE,CAAC;AAC7B,gBAAgB,IAAI,YAAY,GAAG,EAAE,CAAC;AACtC,gBAAgB,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9C;AACA,gBAAgB,OAAO,GAAG,EAAE;AAC5B,oBAAoB,IAAI,QAAQ,GAAG,KAAK,CAAC;AACzC,oBAAoB,IAAI,EAAE,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AACtD,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACvD,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACjC,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,oBAAoB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACzG,oBAAoB,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,oBAAoB,IAAI,MAAM,GAAG,CAAC,CAAC;AACnC,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/C,wBAAwB,MAAM,GAAG,CAAC,CAAC;AACnC,wBAAwB,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACxD,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvD,wBAAwB,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACzD,wBAAwB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1D,wBAAwB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,qBAAqB;AACrB,oBAAoB,IAAI,SAAS,GAAG,KAAK,CAAC;AAC1C,oBAAoB,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACxD,wBAAwB,GAAG,IAAI,QAAQ,GAAG,IAAI,CAAC;AAC/C,wBAAwB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjE,wBAAwB,QAAQ,GAAG,IAAI,CAAC;AACxC,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,QAAQ,EAAE;AACnC,wBAAwB,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC;AACjJ,wBAAwB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC;AACxI,wBAAwB,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAC9G,wBAAwB,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClG;AACA,wBAAwB,OAAO,GAAG,EAAE;AACpC,4BAA4B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,4BAA4B,QAAQ,GAAG,OAAO,CAAC;AAC/C;AACA,4BAA4B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvD,gCAAgC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAC7F,6BAA6B;AAC7B;AACA,4BAA4B,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACjE,gCAAgC,MAAM;AACtC,6BAA6B;AAC7B;AACA,4BAA4B,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAClE,gCAAgC,MAAM;AACtC,6BAA6B;AAC7B;AACA,4BAA4B,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAChE,gCAAgC,MAAM;AACtC,6BAA6B;AAC7B;AACA,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACnD,gCAAgC,MAAM;AACtC,6BAA6B;AAC7B,4BAA4B,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;AACvF,gCAAgC,YAAY,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9E,6BAA6B;AAC7B,iCAAiC;AACjC;AACA,gCAAgC,IAAI,SAAS,EAAE;AAC/C,oCAAoC,MAAM;AAC1C,iCAAiC;AACjC;AACA,gCAAgC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC9D,oCAAoC,MAAM;AAC1C,iCAAiC;AACjC,gCAAgC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACjE,oCAAoC,MAAM;AAC1C,iCAAiC;AACjC,gCAAgC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClE,oCAAoC,MAAM;AAC1C,iCAAiC;AACjC,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxD,oCAAoC,MAAM;AAC1C,iCAAiC;AACjC,gCAAgC,YAAY,IAAI,IAAI,GAAG,QAAQ,CAAC;AAChE,6BAA6B;AAC7B,4BAA4B,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;AAChE,gCAAgC,SAAS,GAAG,IAAI,CAAC;AACjD,6BAA6B;AAC7B,4BAA4B,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC;AAClD,4BAA4B,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,4BAA4B,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1D,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrC;AACA,wBAAwB,IAAI,iBAAiB,EAAE;AAC/C,4BAA4B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAC9C,yBAAyB;AACzB,6BAA6B,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACxD,4BAA4B,iBAAiB,GAAG,IAAI,CAAC;AACrD,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC;AACtC,oBAAoB,IAAI,SAAS,CAAC;AAClC;AACA,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC1C,wBAAwB,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,wBAAwB,IAAI,MAAM,EAAE;AACpC,4BAA4B,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AAC7D,4BAA4B,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACpF,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACpC,wBAAwB,IAAI,EAAE,WAAW;AACzC,wBAAwB,GAAG;AAC3B,wBAAwB,IAAI,EAAE,CAAC,CAAC,MAAM;AACtC,wBAAwB,OAAO,EAAE,SAAS;AAC1C,wBAAwB,KAAK,EAAE,KAAK;AACpC,wBAAwB,IAAI,EAAE,YAAY;AAC1C,wBAAwB,MAAM,EAAE,EAAE;AAClC,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;AACpC,iBAAiB;AACjB;AACA,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;AACtE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;AAClF,gBAAgB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AAC9C;AACA,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;AACjD,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC1F,oBAAoB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrC;AACA,wBAAwB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAC7F,wBAAwB,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpH,wBAAwB,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC;AAC3D,qBAAqB;AACrB,iBAAiB;AACjB;AACA,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;AAChC,oBAAoB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChE,wBAAwB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;AACnD,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,EAAE;AAClB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,MAAM,KAAK,GAAG;AAC9B,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,KAAK,EAAE,IAAI;AAC/B,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO;AACtF,oBAAoB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,iBAAiB,CAAC;AAClB,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa;AACb,SAAS;AACT,QAAQ,GAAG,CAAC,GAAG,EAAE;AACjB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtE,gBAAgB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5H,gBAAgB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACvI,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,KAAK;AAC/B,oBAAoB,GAAG;AACvB,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI;AACxB,oBAAoB,KAAK;AACzB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,KAAK,CAAC,GAAG,EAAE;AACnB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,YAAY,IAAI,CAAC,GAAG,EAAE;AACtB,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AACtC;AACA,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,YAAY,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvE,YAAY,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpG,YAAY,MAAM,IAAI,GAAG;AACzB,gBAAgB,IAAI,EAAE,OAAO;AAC7B,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,gBAAgB,KAAK,EAAE,EAAE;AACzB,gBAAgB,IAAI,EAAE,EAAE;AACxB,aAAa,CAAC;AACd,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;AAClD;AACA,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AACxC,gBAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7C,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,iBAAiB;AACjB,qBAAqB,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACnD,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,iBAAiB;AACjB,qBAAqB,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAClD,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,iBAAiB;AACjB,aAAa;AACb,YAAY,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC1C,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACjC,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AACrD,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,YAAY,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACpC,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI;AAC/E,oBAAoB,OAAO;AAC3B,wBAAwB,IAAI,EAAE,IAAI;AAClC,wBAAwB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACvD,qBAAqB,CAAC;AACtB,iBAAiB,CAAC,CAAC,CAAC;AACpB,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,QAAQ,CAAC,GAAG,EAAE;AACtB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5D,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,SAAS;AACnC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;AAC3D,oBAAoB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,SAAS,CAAC,GAAG,EAAE;AACvB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;AACtE,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7B,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,WAAW;AACrC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI;AACxB,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACnD,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,EAAE;AAClB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,MAAM,CAAC,GAAG,EAAE;AACpB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,QAAQ;AAClC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1C,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,GAAG,CAAC,GAAG,EAAE;AACjB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AACtE,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACnD,iBAAiB;AACjB,qBAAqB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5E,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;AACpD,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AACnG,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;AACvD,iBAAiB;AACjB,qBAAqB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AACzG,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;AACxD,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AACnD,oBAAoB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;AAC3D,oBAAoB,KAAK,EAAE,KAAK;AAChC,oBAAoB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,EAAE;AAClB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACrE;AACA,oBAAoB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;AAClD,wBAAwB,OAAO;AAC/B,qBAAqB;AACrB;AACA,oBAAoB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5E,oBAAoB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3E,wBAAwB,OAAO;AAC/B,qBAAqB;AACrB,iBAAiB;AACjB,qBAAqB;AACrB;AACA,oBAAoB,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5E,oBAAoB,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE;AAC7C,wBAAwB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxE,wBAAwB,MAAM,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;AAC/E,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AACrE,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACpC,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,gBAAgB,IAAI,KAAK,GAAG,EAAE,CAAC;AAC/B,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3C;AACA,oBAAoB,MAAM,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,oBAAoB,IAAI,IAAI,EAAE;AAC9B,wBAAwB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,wBAAwB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxC,qBAAqB;AACrB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9D,iBAAiB;AACjB,gBAAgB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACnC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrC,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;AAC3E;AACA,wBAAwB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO,UAAU,CAAC,GAAG,EAAE;AACvC,oBAAoB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,IAAI;AAC5F,oBAAoB,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,KAAK;AAChG,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;AAC5B,YAAY,IAAI,GAAG,CAAC;AACpB,YAAY,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1D,oBAAoB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AAC/D,gBAAgB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3E,gBAAgB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,gBAAgB,IAAI,CAAC,IAAI,EAAE;AAC3B,oBAAoB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,oBAAoB,OAAO;AAC3B,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,GAAG,EAAE,IAAI;AACjC,wBAAwB,IAAI;AAC5B,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,gBAAgB,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACjE,aAAa;AACb,SAAS;AACT,QAAQ,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,GAAG,EAAE,EAAE;AAChD,YAAY,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnE,YAAY,IAAI,CAAC,KAAK;AACtB,gBAAgB,OAAO;AACvB;AACA,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;AAC3D,gBAAgB,OAAO;AACvB,YAAY,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACxF;AACA,gBAAgB,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,gBAAgB,IAAI,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,EAAE,aAAa,GAAG,CAAC,CAAC;AAC7E,gBAAgB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC/H,gBAAgB,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;AACrC;AACA,gBAAgB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;AACvE,gBAAgB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;AACjE,oBAAoB,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAClG,oBAAoB,IAAI,CAAC,MAAM;AAC/B,wBAAwB,SAAS;AACjC,oBAAoB,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;AACjD,oBAAoB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C,wBAAwB,UAAU,IAAI,OAAO,CAAC;AAC9C,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,yBAAyB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AACnD,wBAAwB,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,EAAE;AACvE,4BAA4B,aAAa,IAAI,OAAO,CAAC;AACrD,4BAA4B,SAAS;AACrC,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,UAAU,IAAI,OAAO,CAAC;AAC1C,oBAAoB,IAAI,UAAU,GAAG,CAAC;AACtC,wBAAwB,SAAS;AACjC;AACA,oBAAoB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AACtF;AACA,oBAAoB,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,oBAAoB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;AAC/F;AACA,oBAAoB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;AACxD,wBAAwB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,wBAAwB,OAAO;AAC/B,4BAA4B,IAAI,EAAE,IAAI;AACtC,4BAA4B,GAAG;AAC/B,4BAA4B,IAAI;AAChC,4BAA4B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;AACjE,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB;AACA,oBAAoB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,oBAAoB,OAAO;AAC3B,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,GAAG;AAC3B,wBAAwB,IAAI;AAC5B,wBAAwB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;AAC7D,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,QAAQ,CAAC,GAAG,EAAE;AACtB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtD,gBAAgB,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,gBAAgB,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,gBAAgB,IAAI,gBAAgB,IAAI,uBAAuB,EAAE;AACjE,oBAAoB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9D,iBAAiB;AACjB,gBAAgB,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,UAAU;AACpC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI;AACxB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,EAAE,CAAC,GAAG,EAAE;AAChB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,GAAG,CAAC,GAAG,EAAE;AACjB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,KAAK;AAC/B,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,oBAAoB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3D,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,QAAQ,CAAC,GAAG,EAAE;AACtB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,IAAI,IAAI,EAAE,IAAI,CAAC;AAC/B,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACpC,oBAAoB,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,oBAAoB,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAC5C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,oBAAoB,IAAI,GAAG,IAAI,CAAC;AAChC,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI;AACxB,oBAAoB,IAAI;AACxB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,MAAM;AACxC,4BAA4B,GAAG,EAAE,IAAI;AACrC,4BAA4B,IAAI;AAChC,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,GAAG,CAAC,GAAG,EAAE;AACjB,YAAY,IAAI,GAAG,CAAC;AACpB,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACvD,gBAAgB,IAAI,IAAI,EAAE,IAAI,CAAC;AAC/B,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACpC,oBAAoB,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,oBAAoB,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAC5C,iBAAiB;AACjB,qBAAqB;AACrB;AACA,oBAAoB,IAAI,WAAW,CAAC;AACpC,oBAAoB,GAAG;AACvB,wBAAwB,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACtF,qBAAqB,QAAQ,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;AACrD,oBAAoB,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,oBAAoB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AAC3C,wBAAwB,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClD,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI;AACxB,oBAAoB,IAAI;AACxB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,MAAM;AACxC,4BAA4B,GAAG,EAAE,IAAI;AACrC,4BAA4B,IAAI;AAChC,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,UAAU,CAAC,GAAG,EAAE;AACxB,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,YAAY,IAAI,GAAG,EAAE;AACrB,gBAAgB,IAAI,IAAI,CAAC;AACzB,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;AACjD,oBAAoB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,oBAAoB,IAAI;AACxB,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG,kBAAkB,CAAC;AACvC,IAAI,MAAM,SAAS,GAAG,sCAAsC,CAAC;AAC7D,IAAI,MAAM,MAAM,GAAG,6GAA6G,CAAC;AACjI,IAAI,MAAM,EAAE,GAAG,oEAAoE,CAAC;AACpF,IAAI,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAC3D,IAAI,MAAM,MAAM,GAAG,uBAAuB,CAAC;AAC3C,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,oJAAoJ,CAAC;AAC/K,SAAS,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;AACjC,SAAS,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;AACtC,SAAS,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;AACpD,SAAS,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC;AAC1C,SAAS,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;AAC5C,SAAS,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAC9C,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,UAAU,GAAG,sFAAsF,CAAC;AAC9G,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC;AAChC,IAAI,MAAM,WAAW,GAAG,6BAA6B,CAAC;AACtD,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,iGAAiG,CAAC;AACvH,SAAS,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;AACtC,SAAS,OAAO,CAAC,OAAO,EAAE,8DAA8D,CAAC;AACzF,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,sCAAsC,CAAC;AAC7D,SAAS,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;AACjC,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,IAAI,GAAG,6DAA6D;AAC9E,UAAU,0EAA0E;AACpF,UAAU,sEAAsE;AAChF,UAAU,yEAAyE;AACnF,UAAU,qEAAqE;AAC/E,UAAU,cAAc,CAAC;AACzB,IAAI,MAAM,QAAQ,GAAG,+BAA+B,CAAC;AACrD,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY;AAClC,UAAU,qEAAqE;AAC/E,UAAU,yBAAyB;AACnC,UAAU,+BAA+B;AACzC,UAAU,+BAA+B;AACzC,UAAU,2CAA2C;AACrD,UAAU,sDAAsD;AAChE,UAAU,oHAAoH;AAC9H,UAAU,oGAAoG;AAC9G,UAAU,GAAG,EAAE,GAAG,CAAC;AACnB,SAAS,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;AACrC,SAAS,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,SAAS,OAAO,CAAC,WAAW,EAAE,0EAA0E,CAAC;AACzG,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;AACtC,SAAS,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC1B,SAAS,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;AACpD,SAAS,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AACjC,SAAS,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC9B,SAAS,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;AACzC,SAAS,OAAO,CAAC,QAAQ,EAAE,gDAAgD,CAAC;AAC5E,SAAS,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;AAClD,SAAS,OAAO,CAAC,MAAM,EAAE,6DAA6D,CAAC;AACvF,SAAS,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,yCAAyC,CAAC;AACtE,SAAS,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;AACxC,SAAS,QAAQ,EAAE,CAAC;AACpB;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,UAAU;AAClB,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,GAAG;AACX,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,QAAQ,EAAE;AACV,QAAQ,IAAI;AACZ,QAAQ,QAAQ;AAChB,QAAQ,IAAI;AACZ,QAAQ,OAAO;AACf,QAAQ,SAAS;AACjB,QAAQ,KAAK,EAAE,QAAQ;AACvB,QAAQ,IAAI,EAAE,SAAS;AACvB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB;AAC7C,UAAU,wDAAwD;AAClE,UAAU,sFAAsF,CAAC;AACjG,SAAS,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC1B,SAAS,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;AACpD,SAAS,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;AACzC,SAAS,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC;AACtC,SAAS,OAAO,CAAC,QAAQ,EAAE,gDAAgD,CAAC;AAC5E,SAAS,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;AAClD,SAAS,OAAO,CAAC,MAAM,EAAE,6DAA6D,CAAC;AACvF,SAAS,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,GAAG,WAAW;AACtB,QAAQ,KAAK,EAAE,QAAQ;AACvB,QAAQ,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;AACnC,aAAa,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9B,aAAa,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;AACxD,aAAa,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AACrC,aAAa,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvC,aAAa,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;AAC7C,aAAa,OAAO,CAAC,QAAQ,EAAE,gDAAgD,CAAC;AAChF,aAAa,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;AACtD,aAAa,OAAO,CAAC,MAAM,EAAE,6DAA6D,CAAC;AAC3F,aAAa,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AACjC,aAAa,QAAQ,EAAE;AACvB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,GAAG,WAAW;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,8BAA8B;AACjD,cAAc,4CAA4C;AAC1D,cAAc,sEAAsE,CAAC;AACrF,aAAa,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;AACzC,aAAa,OAAO,CAAC,MAAM,EAAE,QAAQ;AACrC,cAAc,qEAAqE;AACnF,cAAc,6DAA6D;AAC3E,cAAc,+BAA+B,CAAC;AAC9C,aAAa,QAAQ,EAAE;AACvB,QAAQ,GAAG,EAAE,mEAAmE;AAChF,QAAQ,OAAO,EAAE,wBAAwB;AACzC,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,QAAQ,EAAE,kCAAkC;AACpD,QAAQ,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;AACnC,aAAa,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9B,aAAa,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAClD,aAAa,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC1C,aAAa,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AAClC,aAAa,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;AAC7C,aAAa,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AACnC,aAAa,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACjC,aAAa,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACjC,aAAa,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAChC,aAAa,QAAQ,EAAE;AACvB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,6CAA6C,CAAC;AACjE,IAAI,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAC7D,IAAI,MAAM,EAAE,GAAG,uBAAuB,CAAC;AACvC,IAAI,MAAM,UAAU,GAAG,6EAA6E,CAAC;AACrG;AACA,IAAI,MAAM,YAAY,GAAG,cAAc,CAAC;AACxC,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC;AAC/D,SAAS,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC1D;AACA,IAAI,MAAM,SAAS,GAAG,+CAA+C,CAAC;AACtE,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,mEAAmE,EAAE,GAAG,CAAC;AACzG,SAAS,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;AACxC,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,iBAAiB,GAAG,IAAI,CAAC,mCAAmC;AACtE,UAAU,gBAAgB;AAC1B,UAAU,kCAAkC;AAC5C,UAAU,2CAA2C;AACrD,UAAU,yCAAyC;AACnD,UAAU,gCAAgC;AAC1C,UAAU,yCAAyC;AACnD,UAAU,mCAAmC,EAAE,IAAI,CAAC;AACpD,SAAS,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;AACxC,SAAS,QAAQ,EAAE,CAAC;AACpB;AACA,IAAI,MAAM,iBAAiB,GAAG,IAAI,CAAC,yCAAyC;AAC5E,UAAU,gBAAgB;AAC1B,UAAU,8BAA8B;AACxC,UAAU,uCAAuC;AACjD,UAAU,qCAAqC;AAC/C,UAAU,4BAA4B;AACtC,UAAU,mCAAmC,EAAE,IAAI,CAAC;AACpD,SAAS,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;AACxC,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;AACpD,SAAS,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;AACxC,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,qCAAqC,CAAC;AAChE,SAAS,OAAO,CAAC,QAAQ,EAAE,8BAA8B,CAAC;AAC1D,SAAS,OAAO,CAAC,OAAO,EAAE,8IAA8I,CAAC;AACzK,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjF,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU;AAC/B,UAAU,2BAA2B;AACrC,UAAU,0CAA0C;AACpD,UAAU,sBAAsB;AAChC,UAAU,6BAA6B;AACvC,UAAU,kCAAkC,CAAC;AAC7C,SAAS,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;AAC3C,SAAS,OAAO,CAAC,WAAW,EAAE,6EAA6E,CAAC;AAC5G,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,YAAY,GAAG,qDAAqD,CAAC;AAC/E,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,+CAA+C,CAAC;AACtE,SAAS,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;AACvC,SAAS,OAAO,CAAC,MAAM,EAAE,sCAAsC,CAAC;AAChE,SAAS,OAAO,CAAC,OAAO,EAAE,6DAA6D,CAAC;AACxF,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC;AACnD,SAAS,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;AACvC,SAAS,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;AACpC,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAChD,SAAS,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;AACpC,SAAS,QAAQ,EAAE,CAAC;AACpB,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC;AAC5D,SAAS,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;AACpC,SAAS,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;AAClC,SAAS,QAAQ,EAAE,CAAC;AACpB;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,UAAU,EAAE,QAAQ;AAC5B,QAAQ,cAAc;AACtB,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,EAAE;AACV,QAAQ,IAAI,EAAE,UAAU;AACxB,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,cAAc;AACtB,QAAQ,iBAAiB;AACzB,QAAQ,iBAAiB;AACzB,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,QAAQ,MAAM;AACd,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,QAAQ,aAAa;AACrB,QAAQ,GAAG;AACX,QAAQ,IAAI,EAAE,UAAU;AACxB,QAAQ,GAAG,EAAE,QAAQ;AACrB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,GAAG,YAAY;AACvB,QAAQ,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC;AAC7C,aAAa,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;AAC3C,aAAa,QAAQ,EAAE;AACvB,QAAQ,OAAO,EAAE,IAAI,CAAC,+BAA+B,CAAC;AACtD,aAAa,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;AAC3C,aAAa,QAAQ,EAAE;AACvB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,GAAG,YAAY;AACvB,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE;AAC7D,QAAQ,GAAG,EAAE,IAAI,CAAC,kEAAkE,EAAE,GAAG,CAAC;AAC1F,aAAa,OAAO,CAAC,OAAO,EAAE,2EAA2E,CAAC;AAC1G,aAAa,QAAQ,EAAE;AACvB,QAAQ,UAAU,EAAE,4EAA4E;AAChG,QAAQ,GAAG,EAAE,8CAA8C;AAC3D,QAAQ,IAAI,EAAE,4NAA4N;AAC1O,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,GAAG,SAAS;AACpB,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;AACpD,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAClC,aAAa,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;AAC7C,aAAa,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;AACpC,aAAa,QAAQ,EAAE;AACvB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,MAAM,EAAE,WAAW;AAC3B,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,QAAQ,EAAE,aAAa;AAC/B,KAAK,CAAC;AACN,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,MAAM,EAAE,YAAY;AAC5B,QAAQ,GAAG,EAAE,SAAS;AACtB,QAAQ,MAAM,EAAE,YAAY;AAC5B,QAAQ,QAAQ,EAAE,cAAc;AAChC,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,CAAC;AACjB,QAAQ,MAAM,CAAC;AACf,QAAQ,OAAO,CAAC;AAChB,QAAQ,KAAK,CAAC;AACd,QAAQ,SAAS,CAAC;AAClB,QAAQ,WAAW,CAAC;AACpB,QAAQ,WAAW,CAAC,OAAO,EAAE;AAC7B;AACA,YAAY,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AAC7B,YAAY,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpD,YAAY,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;AACvD,YAAY,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,UAAU,EAAE,CAAC;AAChF,YAAY,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AACpD,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAClD,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AAClC,YAAY,IAAI,CAAC,KAAK,GAAG;AACzB,gBAAgB,MAAM,EAAE,KAAK;AAC7B,gBAAgB,UAAU,EAAE,KAAK;AACjC,gBAAgB,GAAG,EAAE,IAAI;AACzB,aAAa,CAAC;AACd,YAAY,MAAM,KAAK,GAAG;AAC1B,gBAAgB,KAAK,EAAE,KAAK,CAAC,MAAM;AACnC,gBAAgB,MAAM,EAAE,MAAM,CAAC,MAAM;AACrC,aAAa,CAAC;AACd,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,gBAAgB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC7C,gBAAgB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC/C,aAAa;AACb,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AACvC,gBAAgB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;AACxC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACzC,oBAAoB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACjD,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;AAC9C,iBAAiB;AACjB,aAAa;AACb,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AACzC,SAAS;AACT;AACA;AACA;AACA,QAAQ,WAAW,KAAK,GAAG;AAC3B,YAAY,OAAO;AACnB,gBAAgB,KAAK;AACrB,gBAAgB,MAAM;AACtB,aAAa,CAAC;AACd,SAAS;AACT;AACA;AACA;AACA,QAAQ,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE;AACjC,YAAY,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9C,YAAY,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,SAAS;AACT;AACA;AACA;AACA,QAAQ,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE;AACvC,YAAY,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9C,YAAY,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3C,SAAS;AACT;AACA;AACA;AACA,QAAQ,GAAG,CAAC,GAAG,EAAE;AACjB,YAAY,GAAG,GAAG,GAAG;AACrB,iBAAiB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC3C,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9D,gBAAgB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACjD,gBAAgB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,aAAa;AACb,YAAY,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AAClC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AACtC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,gBAAgB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvE,aAAa;AACb,iBAAiB;AACjB,gBAAgB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK;AACxE,oBAAoB,OAAO,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChE,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,YAAY,IAAI,KAAK,CAAC;AACtB,YAAY,IAAI,SAAS,CAAC;AAC1B,YAAY,IAAI,MAAM,CAAC;AACvB,YAAY,IAAI,oBAAoB,CAAC;AACrC,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU;AAC3C,uBAAuB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;AACpD,uBAAuB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK;AAC5E,wBAAwB,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE;AACrF,4BAA4B,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClE,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB;AACzB,wBAAwB,OAAO,KAAK,CAAC;AACrC,qBAAqB,CAAC,EAAE;AACxB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACvD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrE;AACA;AACA,wBAAwB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;AAC9D,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D;AACA,oBAAoB,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;AACpG,wBAAwB,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;AAC1D,wBAAwB,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC5D,wBAAwB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;AAC3F,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACxD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACzD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AACpD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5D,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACrD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,oBAAoB,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;AACpG,wBAAwB,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;AAC1D,wBAAwB,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;AAC3D,wBAAwB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;AAC3F,qBAAqB;AACrB,yBAAyB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC5D,wBAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;AACvD,4BAA4B,IAAI,EAAE,KAAK,CAAC,IAAI;AAC5C,4BAA4B,KAAK,EAAE,KAAK,CAAC,KAAK;AAC9C,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACvD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1D,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA;AACA,gBAAgB,MAAM,GAAG,GAAG,CAAC;AAC7B,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE;AACnF,oBAAoB,IAAI,UAAU,GAAG,QAAQ,CAAC;AAC9C,oBAAoB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjD,oBAAoB,IAAI,SAAS,CAAC;AAClC,oBAAoB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,aAAa,KAAK;AAClF,wBAAwB,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACjF,wBAAwB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,EAAE;AAC7E,4BAA4B,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACzE,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,IAAI,UAAU,GAAG,QAAQ,IAAI,UAAU,IAAI,CAAC,EAAE;AAClE,wBAAwB,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;AAClE,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE;AAClF,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,oBAAoB,IAAI,oBAAoB,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE;AAChF,wBAAwB,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;AAC1D,wBAAwB,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC5D,wBAAwB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAC/C,wBAAwB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;AAC3F,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,oBAAoB,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1E,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,oBAAoB,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;AAChE,wBAAwB,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;AAC1D,wBAAwB,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC5D,wBAAwB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAC/C,wBAAwB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;AAC3F,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB,gBAAgB,IAAI,GAAG,EAAE;AACzB,oBAAoB,MAAM,MAAM,GAAG,yBAAyB,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACjF,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7C,wBAAwB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAChD,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AAClC,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AACjC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT;AACA;AACA;AACA,QAAQ,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AACvC,YAAY,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;AACzC;AACA,YAAY,IAAI,SAAS,GAAG,GAAG,CAAC;AAChC,YAAY,IAAI,KAAK,CAAC;AACtB,YAAY,IAAI,YAAY,EAAE,QAAQ,CAAC;AACvC;AACA,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnC,gBAAgB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7D,gBAAgB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,oBAAoB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;AACxG,wBAAwB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/F,4BAA4B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC7L,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA,YAAY,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;AAC5F,gBAAgB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7K,aAAa;AACb;AACA,YAAY,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;AACjG,gBAAgB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC3I,aAAa;AACb,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,IAAI,CAAC,YAAY,EAAE;AACnC,oBAAoB,QAAQ,GAAG,EAAE,CAAC;AAClC,iBAAiB;AACjB,gBAAgB,YAAY,GAAG,KAAK,CAAC;AACrC;AACA,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU;AAC3C,uBAAuB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;AACrD,uBAAuB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK;AAC7E,wBAAwB,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE;AACrF,4BAA4B,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClE,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB;AACzB,wBAAwB,OAAO,KAAK,CAAC;AACrC,qBAAqB,CAAC,EAAE;AACxB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACxD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACrD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,oBAAoB,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;AACzF,wBAAwB,SAAS,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;AACnD,wBAAwB,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;AACrD,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC5E,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,oBAAoB,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;AACzF,wBAAwB,SAAS,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;AACnD,wBAAwB,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;AACrD,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;AAC/E,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1D,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;AACpD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACrD,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1D,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AAC7E,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB;AACA;AACA,gBAAgB,MAAM,GAAG,GAAG,CAAC;AAC7B,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;AACpF,oBAAoB,IAAI,UAAU,GAAG,QAAQ,CAAC;AAC9C,oBAAoB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjD,oBAAoB,IAAI,SAAS,CAAC;AAClC,oBAAoB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,KAAK;AACnF,wBAAwB,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACjF,wBAAwB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,EAAE;AAC7E,4BAA4B,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACzE,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,IAAI,UAAU,GAAG,QAAQ,IAAI,UAAU,IAAI,CAAC,EAAE;AAClE,wBAAwB,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;AAClE,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC/D,oBAAoB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,oBAAoB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACrD,wBAAwB,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,qBAAqB;AACrB,oBAAoB,YAAY,GAAG,IAAI,CAAC;AACxC,oBAAoB,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,oBAAoB,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;AAChE,wBAAwB,SAAS,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;AACnD,wBAAwB,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;AACrD,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,iBAAiB;AACjB,gBAAgB,IAAI,GAAG,EAAE;AACzB,oBAAoB,MAAM,MAAM,GAAG,yBAAyB,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACjF,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7C,wBAAwB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAChD,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,CAAC;AACpB,QAAQ,OAAO,CAAC;AAChB,QAAQ,WAAW,CAAC,OAAO,EAAE;AAC7B,YAAY,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;AACvD,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;AACxC,YAAY,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,YAAY,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;AAClD,YAAY,IAAI,CAAC,IAAI,EAAE;AACvB,gBAAgB,OAAO,aAAa;AACpC,uBAAuB,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7D,sBAAsB,iBAAiB,CAAC;AACxC,aAAa;AACb,YAAY,OAAO,6BAA6B;AAChD,kBAAkB,QAAQ,CAAC,IAAI,CAAC;AAChC,kBAAkB,IAAI;AACtB,mBAAmB,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,kBAAkB,iBAAiB,CAAC;AACpC,SAAS;AACT,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,YAAY,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;AAC1B,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;AAClC;AACA,YAAY,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACtD,SAAS;AACT,QAAQ,EAAE,GAAG;AACb,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;AACnC,YAAY,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,YAAY,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,KAAK,UAAU,GAAG,KAAK,GAAG,GAAG,IAAI,EAAE,CAAC;AACxF,YAAY,OAAO,GAAG,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAC9E,SAAS;AACT,QAAQ,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACtC,YAAY,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,SAAS;AACT,QAAQ,QAAQ,CAAC,OAAO,EAAE;AAC1B,YAAY,OAAO,SAAS;AAC5B,mBAAmB,OAAO,GAAG,aAAa,GAAG,EAAE,CAAC;AAChD,kBAAkB,8BAA8B,CAAC;AACjD,SAAS;AACT,QAAQ,SAAS,CAAC,IAAI,EAAE;AACxB,YAAY,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;AAC5B,YAAY,IAAI,IAAI;AACpB,gBAAgB,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,YAAY,OAAO,WAAW;AAC9B,kBAAkB,WAAW;AAC7B,kBAAkB,MAAM;AACxB,kBAAkB,YAAY;AAC9B,kBAAkB,IAAI;AACtB,kBAAkB,YAAY,CAAC;AAC/B,SAAS;AACT,QAAQ,QAAQ,CAAC,OAAO,EAAE;AAC1B,YAAY,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7C,SAAS;AACT,QAAQ,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE;AAClC,YAAY,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AACpD,YAAY,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK;AACnC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACpD,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,YAAY,OAAO,GAAG,GAAG,OAAO,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,SAAS;AACT;AACA;AACA;AACA,QAAQ,MAAM,CAAC,IAAI,EAAE;AACrB,YAAY,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9C,SAAS;AACT,QAAQ,EAAE,CAAC,IAAI,EAAE;AACjB,YAAY,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,QAAQ,CAAC,IAAI,EAAE;AACvB,YAAY,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,SAAS;AACT,QAAQ,EAAE,GAAG;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,GAAG,CAAC,IAAI,EAAE;AAClB,YAAY,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxC,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAChC,YAAY,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,YAAY,IAAI,SAAS,KAAK,IAAI,EAAE;AACpC,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,IAAI,GAAG,SAAS,CAAC;AAC7B,YAAY,IAAI,GAAG,GAAG,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;AAC/C,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,GAAG,IAAI,UAAU,GAAG,KAAK,GAAG,GAAG,CAAC;AAChD,aAAa;AACb,YAAY,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC;AACvC,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS;AACT,QAAQ,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AACjC,YAAY,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,YAAY,IAAI,SAAS,KAAK,IAAI,EAAE;AACpC,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,IAAI,GAAG,SAAS,CAAC;AAC7B,YAAY,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACzD,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3C,aAAa;AACb,YAAY,GAAG,IAAI,GAAG,CAAC;AACvB,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE;AACnB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC;AACxB;AACA,QAAQ,MAAM,CAAC,IAAI,EAAE;AACrB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,EAAE,CAAC,IAAI,EAAE;AACjB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,QAAQ,CAAC,IAAI,EAAE;AACvB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,GAAG,CAAC,IAAI,EAAE;AAClB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE;AACnB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE;AACnB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAChC,YAAY,OAAO,EAAE,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT,QAAQ,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AACjC,YAAY,OAAO,EAAE,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT,QAAQ,EAAE,GAAG;AACb,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,CAAC;AAClB,QAAQ,OAAO,CAAC;AAChB,QAAQ,QAAQ,CAAC;AACjB,QAAQ,YAAY,CAAC;AACrB,QAAQ,WAAW,CAAC,OAAO,EAAE;AAC7B,YAAY,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;AACvD,YAAY,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,SAAS,EAAE,CAAC;AAC7E,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAClD,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACjD,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;AACpD,SAAS;AACT;AACA;AACA;AACA,QAAQ,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AACtC,YAAY,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;AAChD,YAAY,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxC,SAAS;AACT;AACA;AACA;AACA,QAAQ,OAAO,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;AAC5C,YAAY,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;AAChD,YAAY,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,SAAS;AACT;AACA;AACA;AACA,QAAQ,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,EAAE;AAClC,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC;AACzB,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,gBAAgB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACnI,oBAAoB,MAAM,YAAY,GAAG,KAAK,CAAC;AAC/C,oBAAoB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;AAC1H,oBAAoB,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AACtK,wBAAwB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AACzC,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,QAAQ,KAAK,CAAC,IAAI;AAClC,oBAAoB,KAAK,OAAO,EAAE;AAClC,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,IAAI,EAAE;AAC/B,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;AAClD,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,SAAS,EAAE;AACpC,wBAAwB,MAAM,YAAY,GAAG,KAAK,CAAC;AACnD,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACpL,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,SAAS,GAAG,KAAK,CAAC;AAChD,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACvG,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,OAAO,EAAE;AAClC,wBAAwB,MAAM,UAAU,GAAG,KAAK,CAAC;AACjD,wBAAwB,IAAI,MAAM,GAAG,EAAE,CAAC;AACxC;AACA,wBAAwB,IAAI,IAAI,GAAG,EAAE,CAAC;AACtC,wBAAwB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3E,4BAA4B,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzJ,yBAAyB;AACzB,wBAAwB,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,wBAAwB,IAAI,IAAI,GAAG,EAAE,CAAC;AACtC,wBAAwB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzE,4BAA4B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3D,4BAA4B,IAAI,GAAG,EAAE,CAAC;AACtC,4BAA4B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjE,gCAAgC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChJ,6BAA6B;AAC7B,4BAA4B,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,yBAAyB;AACzB,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjE,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,YAAY,EAAE;AACvC,wBAAwB,MAAM,eAAe,GAAG,KAAK,CAAC;AACtD,wBAAwB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACxE,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9D,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,SAAS,GAAG,KAAK,CAAC;AAChD,wBAAwB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;AAC1D,wBAAwB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AACtD,wBAAwB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AACtD,wBAAwB,IAAI,IAAI,GAAG,EAAE,CAAC;AACtC,wBAAwB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzE,4BAA4B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D,4BAA4B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACzD,4BAA4B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACnD,4BAA4B,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC9C,4BAA4B,IAAI,IAAI,CAAC,IAAI,EAAE;AAC3C,gCAAgC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACnF,gCAAgC,IAAI,KAAK,EAAE;AAC3C,oCAAoC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;AACvG,wCAAwC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,wCAAwC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;AACnJ,4CAA4C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3H,yCAAyC;AACzC,qCAAqC;AACrC,yCAAyC;AACzC,wCAAwC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5D,4CAA4C,IAAI,EAAE,MAAM;AACxD,4CAA4C,IAAI,EAAE,QAAQ,GAAG,GAAG;AAChE,yCAAyC,CAAC,CAAC;AAC3C,qCAAqC;AACrC,iCAAiC;AACjC,qCAAqC;AACrC,oCAAoC,QAAQ,IAAI,QAAQ,GAAG,GAAG,CAAC;AAC/D,iCAAiC;AACjC,6BAA6B;AAC7B,4BAA4B,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvE,4BAA4B,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AACtF,yBAAyB;AACzB,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACxE,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,SAAS,GAAG,KAAK,CAAC;AAChD,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACnF,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,WAAW,EAAE;AACtC,wBAAwB,MAAM,cAAc,GAAG,KAAK,CAAC;AACrD,wBAAwB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAChG,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,IAAI,SAAS,GAAG,KAAK,CAAC;AAC9C,wBAAwB,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AAC1G,wBAAwB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;AACvF,4BAA4B,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,4BAA4B,IAAI,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACpH,yBAAyB;AACzB,wBAAwB,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1E,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,wBAAwB,MAAM,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;AAC7F,wBAAwB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACjD,4BAA4B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClD,4BAA4B,OAAO,EAAE,CAAC;AACtC,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS;AACT;AACA;AACA;AACA,QAAQ,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE;AACtC,YAAY,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;AACjD,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC;AACzB,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,gBAAgB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACnI,oBAAoB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAC5G,oBAAoB,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACrJ,wBAAwB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AACzC,wBAAwB,SAAS;AACjC,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,QAAQ,KAAK,CAAC,IAAI;AAClC,oBAAoB,KAAK,QAAQ,EAAE;AACnC,wBAAwB,MAAM,WAAW,GAAG,KAAK,CAAC;AAClD,wBAAwB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/D,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC/C,wBAAwB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5D,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,SAAS,GAAG,KAAK,CAAC;AAChD,wBAAwB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5H,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,OAAO,EAAE;AAClC,wBAAwB,MAAM,UAAU,GAAG,KAAK,CAAC;AACjD,wBAAwB,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAClG,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,QAAQ,EAAE;AACnC,wBAAwB,MAAM,WAAW,GAAG,KAAK,CAAC;AAClD,wBAAwB,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/F,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,IAAI,EAAE;AAC/B,wBAAwB,MAAM,OAAO,GAAG,KAAK,CAAC;AAC9C,wBAAwB,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvF,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,UAAU,EAAE;AACrC,wBAAwB,MAAM,aAAa,GAAG,KAAK,CAAC;AACpD,wBAAwB,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrE,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,IAAI,EAAE;AAC/B,wBAAwB,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;AAC7C,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,KAAK,EAAE;AAChC,wBAAwB,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC/C,wBAAwB,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzF,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,SAAS,GAAG,KAAK,CAAC;AAChD,wBAAwB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7D,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,wBAAwB,MAAM,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;AAC7F,wBAAwB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACjD,4BAA4B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClD,4BAA4B,OAAO,EAAE,CAAC;AACtC,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS;AACT,KAAK;AACL;AACA,IAAI,MAAM,MAAM,CAAC;AACjB,QAAQ,OAAO,CAAC;AAChB,QAAQ,WAAW,CAAC,OAAO,EAAE;AAC7B,YAAY,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;AACvD,SAAS;AACT,QAAQ,OAAO,gBAAgB,GAAG,IAAI,GAAG,CAAC;AAC1C,YAAY,YAAY;AACxB,YAAY,aAAa;AACzB,YAAY,kBAAkB;AAC9B,SAAS,CAAC,CAAC;AACX;AACA;AACA;AACA,QAAQ,UAAU,CAAC,QAAQ,EAAE;AAC7B,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS;AACT;AACA;AACA;AACA,QAAQ,WAAW,CAAC,IAAI,EAAE;AAC1B,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT;AACA;AACA;AACA,QAAQ,gBAAgB,CAAC,MAAM,EAAE;AACjC,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,KAAK;AACL;AACA,IAAI,MAAM,MAAM,CAAC;AACjB,QAAQ,QAAQ,GAAG,YAAY,EAAE,CAAC;AAClC,QAAQ,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;AAClC,QAAQ,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/D,QAAQ,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AACjF,QAAQ,MAAM,GAAG,OAAO,CAAC;AACzB,QAAQ,QAAQ,GAAG,SAAS,CAAC;AAC7B,QAAQ,YAAY,GAAG,aAAa,CAAC;AACrC,QAAQ,KAAK,GAAG,MAAM,CAAC;AACvB,QAAQ,SAAS,GAAG,UAAU,CAAC;AAC/B,QAAQ,KAAK,GAAG,MAAM,CAAC;AACvB,QAAQ,WAAW,CAAC,GAAG,IAAI,EAAE;AAC7B,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,SAAS;AACT;AACA;AACA;AACA,QAAQ,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE;AACrC,YAAY,IAAI,MAAM,GAAG,EAAE,CAAC;AAC5B,YAAY,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AACxC,gBAAgB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACnE,gBAAgB,QAAQ,KAAK,CAAC,IAAI;AAClC,oBAAoB,KAAK,OAAO,EAAE;AAClC,wBAAwB,MAAM,UAAU,GAAG,KAAK,CAAC;AACjD,wBAAwB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE;AAC9D,4BAA4B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3F,yBAAyB;AACzB,wBAAwB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE;AAC3D,4BAA4B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;AACpD,gCAAgC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/F,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,EAAE;AACjC,wBAAwB,MAAM,SAAS,GAAG,KAAK,CAAC;AAChD,wBAAwB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3F,wBAAwB,MAAM;AAC9B,qBAAqB;AACrB,oBAAoB,SAAS;AAC7B,wBAAwB,MAAM,YAAY,GAAG,KAAK,CAAC;AACnD,wBAAwB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE;AACxF,4BAA4B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AAC7G,gCAAgC,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxF,gCAAgC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1F,6BAA6B,CAAC,CAAC;AAC/B,yBAAyB;AACzB,6BAA6B,IAAI,YAAY,CAAC,MAAM,EAAE;AACtD,4BAA4B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnG,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE;AACrB,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC9F,YAAY,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACnC;AACA,gBAAgB,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;AACzC;AACA,gBAAgB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;AACxE;AACA,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE;AACrC,oBAAoB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACrD,wBAAwB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AACvC,4BAA4B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACvE,yBAAyB;AACzB,wBAAwB,IAAI,UAAU,IAAI,GAAG,EAAE;AAC/C,4BAA4B,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChF,4BAA4B,IAAI,YAAY,EAAE;AAC9C;AACA,gCAAgC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,EAAE;AACpF,oCAAoC,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7E,oCAAoC,IAAI,GAAG,KAAK,KAAK,EAAE;AACvD,wCAAwC,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7E,qCAAqC;AACrC,oCAAoC,OAAO,GAAG,CAAC;AAC/C,iCAAiC,CAAC;AAClC,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9E,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,IAAI,WAAW,IAAI,GAAG,EAAE;AAChD,4BAA4B,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE;AACjG,gCAAgC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAC/F,6BAA6B;AAC7B,4BAA4B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnE,4BAA4B,IAAI,QAAQ,EAAE;AAC1C,gCAAgC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChE,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACxE,6BAA6B;AAC7B,4BAA4B,IAAI,GAAG,CAAC,KAAK,EAAE;AAC3C,gCAAgC,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;AAC3D,oCAAoC,IAAI,UAAU,CAAC,UAAU,EAAE;AAC/D,wCAAwC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9E,qCAAqC;AACrC,yCAAyC;AACzC,wCAAwC,UAAU,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5E,qCAAqC;AACrC,iCAAiC;AACjC,qCAAqC,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;AACjE,oCAAoC,IAAI,UAAU,CAAC,WAAW,EAAE;AAChE,wCAAwC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/E,qCAAqC;AACrC,yCAAyC;AACzC,wCAAwC,UAAU,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7E,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,IAAI,aAAa,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE;AACrE,4BAA4B,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;AAC/E,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACjD,iBAAiB;AACjB;AACA,gBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnC,oBAAoB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5F,oBAAoB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtD,wBAAwB,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,EAAE;AACjD,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,wBAAwB,IAAI,IAAI,KAAK,SAAS,EAAE;AAChD;AACA,4BAA4B,SAAS;AACrC,yBAAyB;AACzB,wBAAwB,MAAM,YAAY,GAAG,IAAI,CAAC;AAClD,wBAAwB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACzE,wBAAwB,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AACpE;AACA,wBAAwB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK;AAC9D,4BAA4B,IAAI,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,4BAA4B,IAAI,GAAG,KAAK,KAAK,EAAE;AAC/C,gCAAgC,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzE,6BAA6B;AAC7B,4BAA4B,OAAO,GAAG,IAAI,EAAE,CAAC;AAC7C,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7C,iBAAiB;AACjB,gBAAgB,IAAI,IAAI,CAAC,SAAS,EAAE;AACpC,oBAAoB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/F,oBAAoB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACvD,wBAAwB,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC,EAAE;AAClD,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClF,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC1E;AACA,4BAA4B,SAAS;AACrC,yBAAyB;AACzB,wBAAwB,MAAM,aAAa,GAAG,IAAI,CAAC;AACnD,wBAAwB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAC5E,wBAAwB,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AACvE;AACA;AACA,wBAAwB,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK;AAChE,4BAA4B,IAAI,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3E,4BAA4B,IAAI,GAAG,KAAK,KAAK,EAAE;AAC/C,gCAAgC,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3E,6BAA6B;AAC7B,4BAA4B,OAAO,GAAG,CAAC;AACvC,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/C,iBAAiB;AACjB;AACA,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;AAChC,oBAAoB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,MAAM,EAAE,CAAC;AACtE,oBAAoB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AACnD,wBAAwB,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE;AAC9C,4BAA4B,MAAM,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7E,yBAAyB;AACzB,wBAAwB,IAAI,IAAI,KAAK,SAAS,EAAE;AAChD;AACA,4BAA4B,SAAS;AACrC,yBAAyB;AACzB,wBAAwB,MAAM,SAAS,GAAG,IAAI,CAAC;AAC/C,wBAAwB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAChE,wBAAwB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1D,wBAAwB,IAAI,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC/D;AACA,4BAA4B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;AACxD,gCAAgC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACzD,oCAAoC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;AACnG,wCAAwC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzE,qCAAqC,CAAC,CAAC;AACvC,iCAAiC;AACjC,gCAAgC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvE,gCAAgC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjE,6BAA6B,CAAC;AAC9B,yBAAyB;AACzB,6BAA6B;AAC7B;AACA,4BAA4B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK;AAC5D,gCAAgC,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvE,gCAAgC,IAAI,GAAG,KAAK,KAAK,EAAE;AACnD,oCAAoC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtE,iCAAiC;AACjC,gCAAgC,OAAO,GAAG,CAAC;AAC3C,6BAA6B,CAAC;AAC9B,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvC,iBAAiB;AACjB;AACA,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE;AACrC,oBAAoB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AAChE,oBAAoB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;AAC3D,oBAAoB,IAAI,CAAC,UAAU,GAAG,UAAU,KAAK,EAAE;AACvD,wBAAwB,IAAI,MAAM,GAAG,EAAE,CAAC;AACxC,wBAAwB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACtE,wBAAwB,IAAI,UAAU,EAAE;AACxC,4BAA4B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,wBAAwB,OAAO,MAAM,CAAC;AACtC,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;AAC9D,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,UAAU,CAAC,GAAG,EAAE;AACxB,YAAY,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC;AACzD,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE;AAC5B,YAAY,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7D,SAAS;AACT,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;AAChC,YAAY,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnE,SAAS;AACT,QAAQ,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE;AACtC,YAAY,OAAO,CAAC,GAAG,EAAE,OAAO,KAAK;AACrC,gBAAgB,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;AAC/C,gBAAgB,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;AAC7D;AACA,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;AAC7E,oBAAoB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;AACrC,wBAAwB,OAAO,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;AAC3J,qBAAqB;AACrB,oBAAoB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;AACrC,iBAAiB;AACjB,gBAAgB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5E;AACA,gBAAgB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE;AAChE,oBAAoB,OAAO,UAAU,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;AACnG,iBAAiB;AACjB,gBAAgB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC7C,oBAAoB,OAAO,UAAU,CAAC,IAAI,KAAK,CAAC,uCAAuC;AACvF,0BAA0B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACtF,iBAAiB;AACjB,gBAAgB,IAAI,GAAG,CAAC,KAAK,EAAE;AAC/B,oBAAoB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC5C,iBAAiB;AACjB,gBAAgB,IAAI,GAAG,CAAC,KAAK,EAAE;AAC/B,oBAAoB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACvF,yBAAyB,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACrD,yBAAyB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAChG,yBAAyB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,CAAC;AAC1I,yBAAyB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5D,yBAAyB,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACrF,yBAAyB,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3C,iBAAiB;AACjB,gBAAgB,IAAI;AACpB,oBAAoB,IAAI,GAAG,CAAC,KAAK,EAAE;AACnC,wBAAwB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACxD,qBAAqB;AACrB,oBAAoB,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjD,oBAAoB,IAAI,GAAG,CAAC,KAAK,EAAE;AACnC,wBAAwB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpE,qBAAqB;AACrB,oBAAoB,IAAI,GAAG,CAAC,UAAU,EAAE;AACxC,wBAAwB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AAChE,qBAAqB;AACrB,oBAAoB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACnD,oBAAoB,IAAI,GAAG,CAAC,KAAK,EAAE;AACnC,wBAAwB,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3D,qBAAqB;AACrB,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,EAAE;AAC1B,oBAAoB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACzC,iBAAiB;AACjB,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE;AAChC,YAAY,OAAO,CAAC,CAAC,KAAK;AAC1B,gBAAgB,CAAC,CAAC,OAAO,IAAI,6DAA6D,CAAC;AAC3F,gBAAgB,IAAI,MAAM,EAAE;AAC5B,oBAAoB,MAAM,GAAG,GAAG,gCAAgC;AAChE,0BAA0B,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC;AACxD,0BAA0B,QAAQ,CAAC;AACnC,oBAAoB,IAAI,KAAK,EAAE;AAC/B,wBAAwB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACpD,qBAAqB;AACrB,oBAAoB,OAAO,GAAG,CAAC;AAC/B,iBAAiB;AACjB,gBAAgB,IAAI,KAAK,EAAE;AAC3B,oBAAoB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7C,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,CAAC;AACxB,aAAa,CAAC;AACd,SAAS;AACT,KAAK;AACL;AACA,IAAI,MAAM,cAAc,GAAG,IAAI,MAAM,EAAE,CAAC;AACxC,IAAI,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC9B,QAAQ,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO;AAClB,QAAQ,MAAM,CAAC,UAAU,GAAG,UAAU,OAAO,EAAE;AAC/C,YAAY,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAY,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;AACtD,YAAY,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS,CAAC;AACV;AACA;AACA;AACA,IAAI,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;AACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACvC;AACA;AACA;AACA,IAAI,MAAM,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,EAAE;AACpC,QAAQ,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACpC,QAAQ,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;AAClD,QAAQ,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,MAAM,CAAC,UAAU,GAAG,UAAU,MAAM,EAAE,QAAQ,EAAE;AACpD,QAAQ,OAAO,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;AACpD;AACA;AACA;AACA,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;AAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;AAClC,IAAI,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;AAChC,IAAI,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC;AACxC,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;AAC1B,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AAC9B,IAAI,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC;AAClC,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;AAC1B,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;AAC1B,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACnC,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;AAC3B,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAC3C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC;AACzB,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;AACjC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B;AACA,IAAI,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;AAC3B,IAAI,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;AAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;AAC7B,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;AACjC,IAAI,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC;AACzC,IAAI,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;AACnC,IAAI,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC;AACvC,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,IAAI,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,IAAI,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AACpC,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AACtB,IAAI,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AACpC;AACA,CAAC,EAAE,CAAC;;;;ACp5EJ,MAAM,iBAAiB,GAAG,CAAC,YAAoB;IAC7C,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,wBAAwB,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAEzE,OAAO,wBAAwB,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD,MAAM,uBAAuB,GAAG,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,YAAY,GAA2B;YAC3C,KAAK,EACH,0EAA0E;YAC5E,IAAI,EAAE,0CAA0C;YAChD,GAAG,EAAE,oCAAoC;YACzC,GAAG,EAAE,2CAA2C;SACjD,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5D;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,UAAU,CAAC,KAAa;QACtB,OAAO,yCAAyC,KAAK,eAAe,CAAC;KACtE;IAED,IAAI,CAAC,IAAY;QACf,OAAO,uCAAuC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;KAC/E;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,mCAAmC,IAAI,SAAS,CAAC;KACzD;IAED,EAAE,CAAC,IAAY;QACb,OAAO,8BAA8B,IAAI,OAAO,CAAC;KAClD;IAED,OAAO,CAAC,IAAY,EAAE,KAAa;QACjC,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE1C,OAAO,6BAA6B,KAAK,iBAAiB,SAAS,KAAK,IAAI,QAAQ,CAAC;KACtF;IAED,IAAI,CAAC,IAAY;QACf,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;KACzB;IAED,IAAI,CAAC,IAAY,EAAE,OAAgB,EAAE,KAAkB;QACrD,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;QAEvE,MAAM,GAAG,GACP,OAAO,IAAI,KAAK,KAAK,CAAC;cAClB,IAAI,IAAI,UAAU,IAAI,YAAY,KAAK,IAAI;cAC3C,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC;QAEjC,OAAO,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;KAClC;;;;;;IAOD,QAAQ,CAAC,IAAY;QACnB,MAAM,aAAa,GAAG,IAAI;aACvB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;aACxB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACjE,OAAO,+BAA+B,iBAAiB,OAAO,CAAC;KAChE;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,8BAA8B,IAAI,MAAM,CAAC;KACjD;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,gCAAgC,IAAI,WAAW,CAAC;KACxD;;;;;;;IAQD,KAAK,CAAC,MAAc,EAAE,IAAY;QAChC,OAAO,iGAAiG,MAAM,kBAAkB,IAAI,wBAAwB,CAAC;KAC9J;IAED,SAAS,CACP,OAAe,EACf,KAAmE;QAEnE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;QAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK;cACnB,IAAI,IAAI,UAAU,IAAI,YAAY,KAAK,CAAC,KAAK,IAAI;cACjD,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC;QAE/B,OAAO,GAAG,GAAG,GAAG,OAAO,KAAK,IAAI,GAAG,CAAC;KACrC;;;;;;IAOD,IAAI,CAAC,IAAY;QACf,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACtC;CACF,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAY;IAClD,OAAOC,yBAAM,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAE,cAAc,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;AACtE,CAAC;;AC7HM,MAAM,wBAAwB,GAEjC,CAAC,KAAK;IACR,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CACrC,uBAAuB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAC3C,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,CACrB,CAAC;IAEF,QACE,WACE,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,2BAA2B,KAAK,CAAC,WAAW,GAAG,QAAQ,GAAG,EAAE,EAAE,EACrE,SAAS,EAAE,YAAY,GACvB,EACF;AACJ,CAAC;;ACjBM,MAAM,oBAAoB,GAE7B,CAAC,KAAK;IACR,QACE,SACE,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,+CACL,KAAK,CAAC,WAAW,GAAG,QAAQ,GAAG,EACjC,EAAE,IAED,KAAK,CAAC,MAAM,CACX,EACJ;AACJ,CAAC;;ACVM,MAAM,yBAAyB,GAElC,CAAC,KAAK,EAAE,QAAQ;IAClB,QACE,WAAK,IAAI,EAAC,qBAAqB,EAAC,KAAK,EAAC,MAAM;QACzC,KAAK,CAAC,mBAAmB,KAAK,eAAe,IAC5C,EAAC,wBAAwB,IACvB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,KAAK,CAAC,WAAW,GAC9B,KAEF,EAAC,oBAAoB,IACnB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,KAAK,CAAC,WAAW,GAC9B,CACH;QACD,WAAK,KAAK,EAAC,aAAa,IAAE,QAAQ,CAAO,CACrC,EACN;AACJ,CAAC;;ACpBM,MAAM,WAAW,GAA0C,CAAC,KAAK,MACtE,WAAK,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,MAAM;IACtC,WAAK,KAAK,EAAC,uCAAuC,IAAE,KAAK,CAAC,OAAO,CAAO;IACxE,EAAC,MAAM,IACL,KAAK,EAAC,8BAA8B,EACpC,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,KAAK,CAAC,OAAO,IAErB,KAAK,CAAC,WAAW,CACX,CACL,CACP;;ACRM,MAAM,UAAU,GAAyC,CAAC,KAAK,MACpE,EAAC,MAAM,IACL,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAC,0CAA0C,EAChD,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE;IAE9B,WAAK,KAAK,EAAC,sBAAsB,IAC9B,KAAK,CAAC,WAAW;UACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;UACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CACzB;IACN,mBACE,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAC,YAAY,EAClB,IAAI,EAAE,KAAK,CAAC,WAAW,GAAG,eAAe,GAAGC,OAAY,GAC3C,CACR,CACV;;ACvBM,MAAM,eAAe,GAA8C,CACxE,KAAK,EACL,QAAQ,KAER,KAAK,CAAC,SAAS,IACb,WAAK,KAAK,EAAC,kBAAkB;IAC3B,SAAG,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,iCAAiC,IAC9D,KAAK,CAAC,KAAK,CACV;IACJ,UAAI,KAAK,EAAC,iEAAiE,IACxE,QAAQ,CACN,CACD,IACJ,IAAI;;MCwBG,qBAAqB;IAKhC,YAAoB,KAAmC;QAAnC,UAAK,GAAL,KAAK,CAA8B;QAJ/C,YAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;QAK/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;KACpC;IAEM,mBAAmB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CACpC,wCAAwC,CACzC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAG,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrE;IAEM,cAAc;QACnB,MAAM,EAAC,UAAU,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,YAAY,CAAC,qBAAqB,EAClC,EAAC,SAAS,EAAE,IAAI,EAAC,CAClB,CAAC;;QAGF,OAAO,EAAC,SAAS,EAAE,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,KAAK,CAAC,UAAU,EAAC,CAAC;KACzE;IAEM,eAAe,CAAC,IAAyB;QAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;KAChE;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAED,IAAI,IAAI,CAAC,OAA4B;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;KACtB;IAEM,wBAAwB;QAC7B,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,SAAS,CAAC;QAClE,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,WAAW,CAAC;QACzE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,CAAC;QAE/D,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;SACnE;QAED,IAAI,YAAY,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;SAC7D;QAED,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;SACzE;QAED,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE;gBACzD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM;aACrD,CAAC,CAAC;SACJ;QAED,OAAO,EAAE,CAAC;KACX;IAED,IAAY,iBAAiB;QAC3B,QACE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,QAAQ;YAC5C,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,WAAW,EACxD;KACH;IAED,IAAY,oBAAoB;QAC9B,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;QACvE,QACE,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EACrE;KACH;IAED,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,SAAS,CAAC;KACxD;IAED,IAAY,aAAa;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe;cAC5B,4BAA4B;cAC5B,6BAA6B,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAC7C;IAED,IAAY,YAAY;QACtB,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;KAC1C;IAED,IAAY,sBAAsB;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC;SAC3E;QAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;cAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;cACxD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;KAChE;IAED,IAAY,wBAAwB;QAClC,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC,IAAI,CAAC;KACf;IAEO,MAAM,eAAe,CAAC,MAAc;QAC1C,IAAI;YACF,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,CAAC;SACvD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK;iBACP,WAAW,EAAE;iBACb,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;SACjE;QAED,UAAU,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAChC,EAAE,IAAI,CAAC,CAAC;KACV;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE;YAClD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC;SAC3C;KACF;IAEO,WAAW,CAAC,QAAiC;QACnD,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,CAAC;QACzB,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAExC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;cACtB,QAAQ;cACR,EAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAC,CAAC;KAC9C;IAEO,eAAe;QACrB,MAAM,EACJ,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,GAAG,IAAI,CAAC,KAAK,CAAC;QACf,MAAM,EAAC,SAAS,EAAC,GAAG,uBAAuB,EAAE,IAAI,EAAE,CAAC;QACpD,MAAM,EAAC,gBAAgB,EAAC,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAEtD,OAAO,SAAS,EAAE,GAAG,CACnB,CAAC,QAAiC,EAAE,KAAa;YAC/C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;gBACnD,OAAO,EAAE;oBACP,QAAQ;iBACT;aACF,CAAC,CAAC;YACH,QACE,UAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAC,YAAY;gBACtC,uBACE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EACpC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,CAAC,mBAA2B;wBAC7C,gBAAgB,GAAG,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;qBACtD,EACD,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,wBAAwB,EAClD,WAAW,EAAC,2BAA2B,GACvC,CACC,EACL;SACH,CACF,CAAC;KACH;IAEO,4BAA4B;QAClC,MAAM,EAAC,uBAAuB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAC,GACnE,IAAI,CAAC,KAAK,CAAC;QACb,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAC,GAC1C,uBAAuB,EAAE,IAAI,EAAE,CAAC;QAElC,MAAM,gBAAgB,GAAG;YACvB,kBAAkB;YAClB,MAAM;YACN,KAAK;YACL,UAAU;YACV,OAAO;YACP,UAAU;YACV,OAAO;YACP,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,GAAG,SAAS;SAC/C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QAED,QACE,WAAK,KAAK,EAAE,gBAAgB;YAC1B,EAAC,cAAc,IACb,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,EACxC,OAAO,EAAC,MAAM,EACd,MAAM,EAAE,CAAC,CAAC,KAAK,EACf,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,GAC/B;YACF,EAAC,cAAc,IACb,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAC5C,OAAO,EAAC,SAAS,EACjB,MAAM,EAAE,CAAC,CAAC,QAAQ,EAClB,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,GAClC;YACD,IAAI,CAAC,YAAY,IAChB,EAAC,UAAU,IACT,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAClC,QAAQ,EAAE,SAAS,EAAE,EACrB,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE;oBACP,IAAI,MAAM,EAAE;wBACV,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;qBACpC;iBACF,GACD,IACA,IAAI,CACJ,EACN;KACH;IAEO,kBAAkB,CAAC,eAAwB;QACjD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;SACzC;KACF;IAEO,iBAAiB;QACvB,IACE,IAAI,CAAC,QAAQ;YACb,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,iBAAiB,EACxD;YACA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;KACF;IAEO,YAAY;QAClB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAEO,SAAS;QACf,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAEO,gBAAgB;QACtB,MAAM,EAAC,uBAAuB,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1D,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAC,WAAW,EAAC,GAAG,uBAAuB,EAAE,IAAI,EAAE,CAAC;QAEtD,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,QACE,WAAK,KAAK,EAAC,kCAAkC;YAC3C,YAAM,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,IACtC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CACjC,CACH,EACN;KACH;IAEO,gBAAgB;QACtB,MAAM,EAAC,uBAAuB,EAAE,WAAW,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACvE,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAC,QAAQ,EAAE,WAAW,EAAC,GAAG,uBAAuB,EAAE,IAAI,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC;QAE9C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QACD,QACE,EAAC,UAAU,IACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,EACvC,WAAW,EAAE,CAAC,QAAQ,GACV,EACd;KACH;IAEO,2BAA2B;QACjC,MAAM,EAAC,uBAAuB,EAAE,WAAW,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACvE,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAC,WAAW,EAAC,GAAG,uBAAuB,EAAE,IAAI,EAAE,CAAC;QAEtD,MAAM,SAAS,GAAG,WAAW,IAAI,WAAW,CAAC;QAE7C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QACD,QACE,WACE,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,0CAA0C;YAE/C,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;kBACxB,EACN;KACH;IAEO,aAAa;QACnB,MAAM,EAAC,uBAAuB,EAAE,WAAW,EAAE,kBAAkB,EAAC,GAC9D,IAAI,CAAC,KAAK,CAAC;QACb,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAC,GACzD,uBAAuB,EAAE,IAAI,EAAE,CAAC;QAElC,QACE,WAAK,IAAI,EAAC,mBAAmB;YAC3B,WAAK,KAAK,EAAC,mBAAmB;gBAC5B,EAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,oFAAoF,IAEzF,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACzB;gBACV,WAAK,KAAK,EAAC,+BAA+B;oBACxC,EAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,QAAQ,EAAE,CAAC,OAAO;4BAChB,OAAO;kCACH,kBAAkB,EAAE,EAAE,IAAI,EAAE;kCAC5B,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC;yBAClC,EACD,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAC3C,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GACzB,CACN,CACF;YACL,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,IAC7C,EAAC,WAAW,IACV,OAAO,EAAE,MAAM,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAC5C,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAC5B,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,GACvC,IACA,IAAI;YAEP,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,IAC9C,EAAC,yBAAyB,IACxB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAEzB,IAAI,CAAC,4BAA4B,EAAE;gBACpC,EAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAE7B,IAAI,CAAC,eAAe,EAAE,CACP,CACQ,IAC1B,IAAI;YAEP,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,KAC9C,WAAK,IAAI,EAAC,yBAAyB,EAAC,KAAK,EAAC,uBAAuB;gBAC9D,IAAI,CAAC,2BAA2B,EAAE;gBAClC,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,gBAAgB,EAAE,CACpB,CACP,CACG,EACN;KACH;IAEO,2BAA2B;QACjC,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,EAAC,IAAI,EAAC,GAAG,WAAW,EAAE,CAAC;QAE7B,QACE,WAAK,IAAI,EAAC,mBAAmB;YAC3B,WAAK,KAAK,EAAC,mBAAmB;gBAC5B,EAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,oFAAoF,IAEzF,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACzB,CACN;YACN,WAAK,IAAI,EAAC,qBAAqB,EAAC,KAAK,EAAC,kBAAkB;gBACtD,YAAM,IAAI,EAAC,mBAAmB,GAAQ,CAClC,CACF,EACN;KACH;IAEM,MAAM;QACX,MAAM,EAAC,uBAAuB,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,MAAM,EAAC,YAAY,EAAC,GAAG,uBAAuB,EAAE,IAAI,EAAE,CAAC;QACvD,MAAM,cAAc,GAClB,uGAAuG,CAAC;QAE1G,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,YAAY,IAAI,IAAI,CAAC,wBAAwB,IAClD;gBACE,aAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAC,WAAW;oBAC5C,mBAAU,IAAI,CAAC,2BAA2B,EAAE,CAAW,CACjD,CACJ,IACJ,IAAI,CAAC;SACV;QAED,QACE;YACE,aAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAC,WAAW;gBAC5C,mBAAU,IAAI,CAAC,aAAa,EAAE,CAAW,CACnC,CACJ,EACN;KACH;;;;;","names":["this","marked","ArrowTopIcon"],"sources":["src/components/common/switch.tsx","src/components/common/generated-answer/copy-button.tsx","src/components/common/generated-answer/feedback-button.tsx","../../node_modules/marked/lib/marked.umd.js","src/components/common/generated-answer/generated-content/markdown-utils.ts","src/components/common/generated-answer/generated-content/generated-markdown-content.tsx","src/components/common/generated-answer/generated-content/generated-text-content.tsx","src/components/common/generated-answer/generated-content-container.tsx","src/components/common/generated-answer/retry-prompt.tsx","src/components/common/generated-answer/show-button.tsx","src/components/common/generated-answer/source-citations.tsx","src/components/common/generated-answer/generated-answer-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface SwitchProps {\n checked?: boolean;\n onToggle?(checked: boolean): void;\n ariaLabel?: string;\n part?: string;\n tabIndex?: number;\n title?: string;\n withToggle?: boolean;\n}\n\nexport const Switch: FunctionalComponent<SwitchProps> = (props) => {\n const attributes = {\n onClick: () => props.onToggle?.(!props.checked),\n 'arial-label': props.ariaLabel,\n 'aria-checked': String(!!props.checked),\n part: props.part,\n tabIndex: props.tabIndex,\n title: props.title,\n };\n\n const containerClasses = [\n 'w-12',\n 'h-6',\n 'p-1',\n 'rounded-full',\n props.checked ? 'bg-primary' : 'bg-neutral',\n ].join(' ');\n\n const handleClasses = [\n 'w-4',\n 'h-4',\n 'rounded-full',\n 'bg-white',\n props.checked ? 'ml-6' : '',\n ].join(' ');\n\n const buttonClasses = [\n 'rounded-full',\n 'btn-outline-neutral',\n props.withToggle ? 'flex' : 'hidden',\n ].join(' ');\n\n return (\n <button role=\"switch\" {...attributes} class={buttonClasses}>\n <div class={containerClasses}>\n <div class={handleClasses}></div>\n </div>\n </button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport CopyIcon from '../../../images/copy.svg';\nimport {Button} from '../stencil-button';\n\ninterface CopyButtonProps {\n title: string;\n isCopied: boolean;\n error: boolean;\n onClick: () => void;\n}\n\nexport const CopyButton: FunctionalComponent<CopyButtonProps> = (props) => {\n return (\n <Button\n title={props.title}\n part=\"copy-button\"\n style={'text-transparent'}\n class={`rounded-md p-2 ${props.isCopied ? 'copied' : ''} ${\n props.error ? 'error' : ''\n }`}\n onClick={props.onClick}\n >\n <div class=\"icon-container text-neutral-dark\">\n <atomic-icon class=\"w-5\" icon={CopyIcon}></atomic-icon>\n </div>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport Thumbs from '../../../images/thumbs.svg';\nimport {Button} from '../stencil-button';\n\ntype FeedbackVariant = 'like' | 'dislike';\n\ninterface FeedbackButtonProps {\n title: string;\n variant: FeedbackVariant;\n active: boolean;\n onClick: () => void;\n}\n\nexport const FeedbackButton: FunctionalComponent<FeedbackButtonProps> = (\n props\n) => {\n return (\n <Button\n title={props.title}\n style=\"text-transparent\"\n part=\"feedback-button\"\n class={`feedback-button rounded-md p-2 ${props.variant} ${\n props.active ? 'active' : ''\n }`}\n onClick={props.onClick}\n ariaPressed={`${props.active}`}\n >\n <atomic-icon class=\"w-5\" icon={Thumbs}></atomic-icon>\n </Button>\n );\n};\n","/**\n * marked v12.0.2 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n /**\n * Gets the original marked default options.\n */\n function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n }\n exports.defaults = _getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n const escapeTest = /[&<>\"']/;\n const escapeReplace = new RegExp(escapeTest.source, 'g');\n const escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\n const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\n const escapeReplacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n };\n const getEscapeReplacement = (ch) => escapeReplacements[ch];\n function escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n }\n const unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n }\n const caret = /(^|[^\\[])\\^/g;\n function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n }\n function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n }\n const noopTest = { exec: () => null };\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\n function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n }\n\n function outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n }\n function indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n }\n /**\n * Tokenizer\n */\n class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || exports.defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n // precede setext continuation with 4 spaces so it isn't a setext\n let text = cap[0].replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, '\\n $1');\n text = rtrim(text.replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n }\n else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n }\n\n /**\n * Block-Level Grammar\n */\n const newline = /^(?: *(?:\\n|$))+/;\n const blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\n const fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\n const hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\n const heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\n const bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n const lheading = edit(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, / {4}/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .getRegex();\n const _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\n const blockText = /^[^\\n]+/;\n const _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n const def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\n const list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\n const _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\n const _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\n const html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n const paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n const blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n /**\n * Normal Block Grammar\n */\n const blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n };\n /**\n * GFM Block Grammar\n */\n const gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n const blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n };\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n const blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n };\n /**\n * Inline-Level Grammar\n */\n const escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\n const inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n const br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\n const inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\n // list of unicode punctuation marks, plus any missing characters from CommonMark spec\n const _punctuation = '\\\\p{P}\\\\p{S}';\n const punctuation = edit(/^((?![*_])[\\spunctuation])/, 'u')\n .replace(/punctuation/g, _punctuation).getRegex();\n // sequences em should skip over [title](link), `code`, <html>\n const blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\n const emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n // (6) Not allowed for _\n const emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n const anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\n const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\n const tag = edit('^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\n const _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n const link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\n const reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\n const nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\n const reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n /**\n * Normal Inline Grammar\n */\n const inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n };\n /**\n * Pedantic Inline Grammar\n */\n const inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n };\n /**\n * GFM Inline Grammar\n */\n const inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n };\n /**\n * GFM + Line Breaks Inline Grammar\n */\n const inlineBreaks = {\n ...inlineGfm,\n br: edit(br).replace('{2,}', '*').getRegex(),\n text: edit(inlineGfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n };\n /**\n * exports\n */\n const block = {\n normal: blockNormal,\n gfm: blockGfm,\n pedantic: blockPedantic\n };\n const inline = {\n normal: inlineNormal,\n gfm: inlineGfm,\n breaks: inlineBreaks,\n pedantic: inlinePedantic\n };\n\n /**\n * Block Lexer\n */\n class _Lexer {\n tokens;\n options;\n state;\n tokenizer;\n inlineQueue;\n constructor(options) {\n // TokenList cannot be created in one go\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || exports.defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n }\n else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n }\n else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n for (let i = 0; i < this.inlineQueue.length; i++) {\n const next = this.inlineQueue[i];\n this.inlineTokens(next.src, next.tokens);\n }\n this.inlineQueue = [];\n return this.tokens;\n }\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n }\n else {\n src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n }\n\n /**\n * Renderer\n */\n class _Renderer {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n return '<pre><code class=\"language-'\n + escape$1(lang)\n + '\">'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n blockquote(quote) {\n return `<blockquote>\\n${quote}</blockquote>\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `<h${level}>${text}</h${level}>\\n`;\n }\n hr() {\n return '<hr>\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `<li>${text}</li>\\n`;\n }\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\">';\n }\n paragraph(text) {\n return `<p>${text}</p>\\n`;\n }\n table(header, body) {\n if (body)\n body = `<tbody>${body}</tbody>`;\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n tablerow(content) {\n return `<tr>\\n${content}</tr>\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `<strong>${text}</strong>`;\n }\n em(text) {\n return `<em>${text}</em>`;\n }\n codespan(text) {\n return `<code>${text}</code>`;\n }\n br() {\n return '<br>';\n }\n del(text) {\n return `<del>${text}</del>`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${title}\"`;\n }\n out += '>';\n return out;\n }\n text(text) {\n return text;\n }\n }\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n class _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return '' + text;\n }\n image(href, title, text) {\n return '' + text;\n }\n br() {\n return '';\n }\n }\n\n /**\n * Parsing & Compiling\n */\n class _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || exports.defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case 'code': {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case 'table': {\n const tableToken = token;\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < tableToken.header.length; j++) {\n cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });\n }\n header += this.renderer.tablerow(cell);\n let body = '';\n for (let j = 0; j < tableToken.rows.length; j++) {\n const row = tableToken.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = '';\n for (let j = 0; j < listToken.items.length; j++) {\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = '';\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n }\n\n class _Hooks {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n }\n\n class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '<p>An error occurred:</p><pre>'\n + escape$1(e.message + '', true)\n + '</pre>';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n }\n\n const markedInstance = new Marked();\n function marked(src, opt) {\n return markedInstance.parse(src, opt);\n }\n /**\n * Sets the default options.\n *\n * @param options Hash of options\n */\n marked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Gets the original marked default options.\n */\n marked.getDefaults = _getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n marked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Run callback for every token\n */\n marked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n };\n /**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\n marked.parseInline = markedInstance.parseInline;\n /**\n * Expose\n */\n marked.Parser = _Parser;\n marked.parser = _Parser.parse;\n marked.Renderer = _Renderer;\n marked.TextRenderer = _TextRenderer;\n marked.Lexer = _Lexer;\n marked.lexer = _Lexer.lex;\n marked.Tokenizer = _Tokenizer;\n marked.Hooks = _Hooks;\n marked.parse = marked;\n const options = marked.options;\n const setOptions = marked.setOptions;\n const use = marked.use;\n const walkTokens = marked.walkTokens;\n const parseInline = marked.parseInline;\n const parse = marked;\n const parser = _Parser.parse;\n const lexer = _Lexer.lex;\n\n exports.Hooks = _Hooks;\n exports.Lexer = _Lexer;\n exports.Marked = Marked;\n exports.Parser = _Parser;\n exports.Renderer = _Renderer;\n exports.TextRenderer = _TextRenderer;\n exports.Tokenizer = _Tokenizer;\n exports.getDefaults = _getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n}));\n//# sourceMappingURL=marked.umd.js.map\n","import {marked} from 'marked';\n\nconst toInlinePlainText = (textWithHtml: string): string => {\n const withoutHtmlTags = textWithHtml.replace(/<[^>]*>/g, ' ');\n const withCollapsedWhitespaces = withoutHtmlTags.replace(/\\s{2,}/g, ' ');\n\n return withCollapsedWhitespaces.trim();\n};\n\nconst unclosedElement = /(\\*{1,3}|`)($|\\w[\\w\\s]*$)/;\n\nconst completeUnclosedElement = (text: string) => {\n const match = unclosedElement.exec(text);\n if (match) {\n const symbol = match[1];\n\n const replacements: Record<string, string> = {\n '***':\n '<strong part=\"answer-strong\"><em part=\"answer-emphasis\">$2</em></strong>',\n '**': '<strong part=\"answer-strong\">$2</strong>',\n '*': '<em part=\"answer-emphasis\">$2</em>',\n '`': '<code part=\"answer-inline-code\">$2</code>',\n };\n\n return text.replace(unclosedElement, replacements[symbol]);\n }\n\n return text;\n};\n\nconst escapeHtml = (text: string) => {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n};\n\nconst customRenderer = {\n blockquote(quote: string) {\n return `<blockquote part=\"answer-quote-block\">${quote}</blockquote>`;\n },\n\n code(code: string) {\n return `<pre part=\"answer-code-block\"><code>${escapeHtml(code)}</code></pre>`;\n },\n\n codespan(text: string) {\n return `<code part=\"answer-inline-code\">${text}</code>`;\n },\n\n em(text: string) {\n return `<em part=\"answer-emphasis\">${text}</em>`;\n },\n\n heading(text: string, level: number) {\n const plainText = toInlinePlainText(text);\n\n return `<div part=\"answer-heading-${level}\" aria-label=\"${plainText}\">${text}</div>`;\n },\n\n html(text: string) {\n return escapeHtml(text);\n },\n\n list(body: string, ordered: boolean, start: number | '') {\n const type = ordered ? 'ol' : 'ul';\n const part = ordered ? 'answer-ordered-list' : 'answer-unordered-list';\n\n const tag =\n ordered && start !== 1\n ? `<${type} part=\"${part}\" start=\"${start}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${body}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to remove wrapping `<p>` element around list item content.\n * @param text The element text content.\n * @returns The list item element to render.\n */\n listitem(text: string) {\n const unwrappedText = text\n .replace(/^<p[^>]*>/, '')\n .replace(/<\\/p>\\n?$/, '');\n const withClosedElement = completeUnclosedElement(unwrappedText);\n return `<li part=\"answer-list-item\">${withClosedElement}</li>`;\n },\n\n paragraph(text: string) {\n return `<p part=\"answer-paragraph\">${text}</p>`;\n },\n\n strong(text: string) {\n return `<strong part=\"answer-strong\">${text}</strong>`;\n },\n\n /**\n * Custom Marked renderer to wrap `<table>` element in a scrolling container.\n * @param header The table header content.\n * @param body The table body content.\n * @returns The element to render.\n */\n table(header: string, body: string) {\n return `<div part=\"answer-table-container\" class=\"scrollable-table\"><table part=\"answer-table\"><thead>${header}</thead><tbody>${body}</tbody></table></div>`;\n },\n\n tablecell(\n content: string,\n flags: {header: boolean; align: 'center' | 'left' | 'right' | null}\n ) {\n const type = flags.header ? 'th' : 'td';\n const part = flags.header ? 'answer-table-header' : 'answer-table-content';\n const tag = flags.align\n ? `<${type} part=\"${part}\" align=\"${flags.align}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${content}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to complete unclosed inline elements such as bold, italic, and code.\n * @param text The text content.\n * @returns The corrected text content.\n */\n text(text: string) {\n return completeUnclosedElement(text);\n },\n};\n\nexport const transformMarkdownToHtml = (text: string): string => {\n return marked.use({renderer: customRenderer}).parse(text) as string;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {transformMarkdownToHtml} from './markdown-utils';\n\ninterface GeneratedMarkdownContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedMarkdownContent: FunctionalComponent<\n GeneratedMarkdownContentProps\n> = (props) => {\n const answerAsHtml = DOMPurify.sanitize(\n transformMarkdownToHtml(props.answer ?? ''),\n {ADD_ATTR: ['part']}\n );\n\n return (\n <div\n part=\"generated-text\"\n class={`text-on-background mb-0 ${props.isStreaming ? 'cursor' : ''}`}\n innerHTML={answerAsHtml}\n />\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface GeneratedTextContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedTextContent: FunctionalComponent<\n GeneratedTextContentProps\n> = (props) => {\n return (\n <p\n part=\"generated-text\"\n class={`text-on-background mb-0 whitespace-pre-wrap ${\n props.isStreaming ? 'cursor' : ''\n }`}\n >\n {props.answer}\n </p>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {GeneratedMarkdownContent} from './generated-content/generated-markdown-content';\nimport {GeneratedTextContent} from './generated-content/generated-text-content';\n\ninterface GeneratedContentContainerProps {\n answer?: string;\n answerContentFormat?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedContentContainer: FunctionalComponent<\n GeneratedContentContainerProps\n> = (props, children) => {\n return (\n <div part=\"generated-container\" class=\"mt-6\">\n {props.answerContentFormat === 'text/markdown' ? (\n <GeneratedMarkdownContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n ) : (\n <GeneratedTextContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n )}\n <div class=\"footer mt-6\">{children}</div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface RetryPromptProps {\n message: string;\n buttonLabel: string;\n onClick: () => void;\n}\n\nexport const RetryPrompt: FunctionalComponent<RetryPromptProps> = (props) => (\n <div part=\"retry-container\" class=\"mt-4\">\n <div class=\"text-neutral-dark mx-auto text-center\">{props.message}</div>\n <Button\n class=\"mx-auto mt-4 block px-4 py-2\"\n style=\"outline-primary\"\n onClick={props.onClick}\n >\n {props.buttonLabel}\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport ArrowBottomIcon from '../../../images/arrow-bottom-rounded.svg';\nimport ArrowTopIcon from '../../../images/arrow-top-rounded.svg';\nimport {Button} from '../stencil-button';\n\ninterface ShowButtonProps {\n i18n: i18n;\n isCollapsed: boolean;\n onClick: () => void;\n}\n\nexport const ShowButton: FunctionalComponent<ShowButtonProps> = (props) => (\n <Button\n style=\"text-primary\"\n part=\"answer-show-button\"\n class=\"hidden items-center hover:bg-transparent\"\n onClick={() => props.onClick()}\n >\n <div class=\"text-base font-light\">\n {props.isCollapsed\n ? props.i18n.t('show-more')\n : props.i18n.t('show-less')}\n </div>\n <atomic-icon\n part=\"answer-show-icon\"\n class=\"ml-2 w-3.5\"\n icon={props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon}\n ></atomic-icon>\n </Button>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface SourceCitationsProps {\n label: string;\n isVisible: boolean;\n}\n\nexport const SourceCitations: FunctionalComponent<SourceCitationsProps> = (\n props,\n children\n) =>\n props.isVisible ? (\n <div class=\"source-citations\">\n <p part=\"citations-label\" class=\"text-neutral-dark mb-2 shrink-0\">\n {props.label}\n </p>\n <ol class=\"citations-container flex list-none flex-wrap items-center gap-2\">\n {children}\n </ol>\n </div>\n ) : null;\n","import {\n GeneratedAnswer,\n GeneratedAnswerCitation,\n GeneratedAnswerState,\n InteractiveCitation,\n InteractiveCitationProps,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {\n GeneratedAnswerData,\n SafeStorage,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {getNamedSlotFromHost} from '../../../utils/slot-utils';\nimport {AnyBindings} from '../interface/bindings';\nimport {Heading} from '../stencil-heading';\nimport {Switch} from '../switch';\nimport {CopyButton} from './copy-button';\nimport {FeedbackButton} from './feedback-button';\nimport {GeneratedContentContainer} from './generated-content-container';\nimport {RetryPrompt} from './retry-prompt';\nimport {ShowButton} from './show-button';\nimport {SourceCitations} from './source-citations';\n\ninterface GeneratedAnswerCommonOptions {\n host: HTMLElement;\n withToggle?: boolean;\n collapsible?: boolean;\n disableCitationAnchoring?: boolean;\n getGeneratedAnswer: () => GeneratedAnswer | undefined;\n getGeneratedAnswerState: () => GeneratedAnswerState | undefined;\n getSearchStatusState: () => SearchStatusState | undefined;\n getBindings: () => AnyBindings;\n getCopied: () => boolean;\n setCopied: (isCopied: boolean) => void;\n getCopyError: () => boolean;\n setCopyError: (copyError: boolean) => void;\n setAriaMessage: (message: string) => void;\n buildInteractiveCitation: (\n props: InteractiveCitationProps\n ) => InteractiveCitation;\n}\n\nexport class GeneratedAnswerCommon {\n private storage: SafeStorage = new SafeStorage();\n private _data: GeneratedAnswerData;\n private modalRef?: HTMLAtomicGeneratedAnswerFeedbackModalElement;\n\n constructor(private props: GeneratedAnswerCommonOptions) {\n this._data = this.readStoredData();\n }\n\n public insertFeedbackModal() {\n this.modalRef = document.createElement(\n 'atomic-generated-answer-feedback-modal'\n );\n this.modalRef.generatedAnswer = this.props.getGeneratedAnswer()!;\n this.props.host.insertAdjacentElement('beforebegin', this.modalRef);\n }\n\n public readStoredData(): GeneratedAnswerData {\n const {withToggle} = this.props;\n const storedData = this.storage.getParsedJSON<GeneratedAnswerData>(\n StorageItems.GENERATED_ANSWER_DATA,\n {isVisible: true}\n );\n\n // This check ensures that the answer is visible when the toggle is hidden and visible is set to false in the local storage.\n return {isVisible: (withToggle && storedData.isVisible) || !withToggle};\n }\n\n public writeStoredData(data: GeneratedAnswerData) {\n this.storage.setJSON(StorageItems.GENERATED_ANSWER_DATA, data);\n }\n\n get data() {\n return this._data;\n }\n\n set data(newData: GeneratedAnswerData) {\n this._data = newData;\n }\n\n public getGeneratedAnswerStatus() {\n const isHidden = !this.props.getGeneratedAnswerState()?.isVisible;\n const isGenerating = !!this.props.getGeneratedAnswerState()?.isStreaming;\n const hasAnswer = !!this.props.getGeneratedAnswerState()?.answer;\n const hasError = !!this.props.getGeneratedAnswerState()?.error;\n\n if (isHidden) {\n return this.props.getBindings().i18n.t('generated-answer-hidden');\n }\n\n if (isGenerating) {\n return this.props.getBindings().i18n.t('generating-answer');\n }\n\n if (hasError) {\n return this.props.getBindings().i18n.t('answer-could-not-be-generated');\n }\n\n if (hasAnswer) {\n return this.props.getBindings().i18n.t('answer-generated', {\n answer: this.props.getGeneratedAnswerState()?.answer,\n });\n }\n\n return '';\n }\n\n private get hasRetryableError() {\n return (\n !this.props.getSearchStatusState()?.hasError &&\n this.props.getGeneratedAnswerState()?.error?.isRetryable\n );\n }\n\n private get hasNoAnswerGenerated() {\n const {answer, citations} = this.props.getGeneratedAnswerState() ?? {};\n return (\n answer === undefined && !citations?.length && !this.hasRetryableError\n );\n }\n\n private get isAnswerVisible() {\n return this.props.getGeneratedAnswerState()?.isVisible;\n }\n\n private get toggleTooltip() {\n const key = this.isAnswerVisible\n ? 'generated-answer-toggle-on'\n : 'generated-answer-toggle-off';\n return this.props.getBindings().i18n.t(key);\n }\n\n private get hasClipboard() {\n return !!navigator?.clipboard?.writeText;\n }\n\n private get copyToClipboardTooltip() {\n if (this.props.getCopyError()) {\n return this.props.getBindings().i18n.t('failed-to-copy-generated-answer');\n }\n\n return !this.props.getCopied()\n ? this.props.getBindings().i18n.t('copy-generated-answer')\n : this.props.getBindings().i18n.t('generated-answer-copied');\n }\n\n private get hasCustomNoAnswerMessage() {\n const slot = getNamedSlotFromHost(this.props.host, 'no-answer-message');\n return !!slot;\n }\n\n private async copyToClipboard(answer: string) {\n try {\n await navigator.clipboard.writeText(answer);\n this.props.setCopied(true);\n this.props.getGeneratedAnswer()?.logCopyToClipboard();\n } catch (error) {\n this.props.setCopyError(true);\n this.props\n .getBindings()\n .engine.logger.error(`Failed to copy to clipboard: ${error}`);\n }\n\n setTimeout(() => {\n this.props.setCopied(false);\n this.props.setCopyError(false);\n }, 2000);\n }\n\n private clickOnShowButton() {\n if (this.props.getGeneratedAnswerState()?.expanded) {\n this.props.getGeneratedAnswer()?.collapse();\n } else {\n this.props.getGeneratedAnswer()?.expand();\n }\n }\n\n private getCitation(citation: GeneratedAnswerCitation) {\n const {title} = citation;\n const {i18n} = this.props.getBindings();\n\n return title.trim() !== ''\n ? citation\n : {...citation, title: i18n.t('no-title')};\n }\n\n private renderCitations() {\n const {\n getGeneratedAnswerState,\n buildInteractiveCitation,\n getGeneratedAnswer,\n disableCitationAnchoring,\n } = this.props;\n const {citations} = getGeneratedAnswerState() ?? {};\n const {logCitationHover} = getGeneratedAnswer() ?? {};\n\n return citations?.map(\n (citation: GeneratedAnswerCitation, index: number) => {\n const interactiveCitation = buildInteractiveCitation({\n options: {\n citation,\n },\n });\n return (\n <li key={citation.id} class=\"max-w-full\">\n <atomic-citation\n citation={this.getCitation(citation)}\n index={index}\n sendHoverEndEvent={(citationHoverTimeMs: number) => {\n logCitationHover?.(citation.id, citationHoverTimeMs);\n }}\n interactiveCitation={interactiveCitation}\n disableCitationAnchoring={disableCitationAnchoring}\n exportparts=\"citation,citation-popover\"\n />\n </li>\n );\n }\n );\n }\n\n private renderFeedbackAndCopyButtons() {\n const {getGeneratedAnswerState, getBindings, getCopied, getCopyError} =\n this.props;\n const {i18n} = getBindings();\n const {liked, disliked, answer, isStreaming} =\n getGeneratedAnswerState() ?? {};\n\n const containerClasses = [\n 'feedback-buttons',\n 'flex',\n 'h-9',\n 'absolute',\n 'top-6',\n 'shrink-0',\n 'gap-2',\n this.props.withToggle ? 'right-20' : 'right-6',\n ].join(' ');\n\n if (isStreaming) {\n return null;\n }\n\n return (\n <div class={containerClasses}>\n <FeedbackButton\n title={i18n.t('this-answer-was-helpful')}\n variant=\"like\"\n active={!!liked}\n onClick={() => this.clickLike()}\n />\n <FeedbackButton\n title={i18n.t('this-answer-was-not-helpful')}\n variant=\"dislike\"\n active={!!disliked}\n onClick={() => this.clickDislike()}\n />\n {this.hasClipboard ? (\n <CopyButton\n title={this.copyToClipboardTooltip}\n isCopied={getCopied()}\n error={getCopyError()}\n onClick={async () => {\n if (answer) {\n await this.copyToClipboard(answer);\n }\n }}\n />\n ) : null}\n </div>\n );\n }\n\n private setIsAnswerHelpful(isAnswerHelpful: boolean) {\n if (this.modalRef) {\n this.modalRef.helpful = isAnswerHelpful;\n }\n }\n\n private openFeedbackModal() {\n if (\n this.modalRef &&\n !this.props.getGeneratedAnswerState()?.feedbackSubmitted\n ) {\n this.modalRef.isOpen = true;\n }\n }\n\n private clickDislike() {\n this.setIsAnswerHelpful(false);\n this.props.getGeneratedAnswer()?.dislike();\n this.openFeedbackModal();\n }\n\n private clickLike() {\n this.setIsAnswerHelpful(true);\n this.props.getGeneratedAnswer()?.like();\n this.openFeedbackModal();\n }\n\n private renderDisclaimer() {\n const {getGeneratedAnswerState, getBindings} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n if (isStreaming) {\n return null;\n }\n return (\n <div class=\"text-neutral-dark text-xs/[1rem]\">\n <slot name=\"disclaimer\" slot=\"disclaimer\">\n {i18n.t('generated-answer-disclaimer')}\n </slot>\n </div>\n );\n }\n\n private renderShowButton() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {expanded, isStreaming} = getGeneratedAnswerState() ?? {};\n const canRender = collapsible && !isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <ShowButton\n i18n={i18n}\n onClick={() => this.clickOnShowButton()}\n isCollapsed={!expanded}\n ></ShowButton>\n );\n }\n\n private renderGeneratingAnswerLabel() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n const canRender = collapsible && isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <div\n part=\"is-generating\"\n class=\"text-primary hidden text-base font-light\"\n >\n {i18n.t('generating-answer')}...\n </div>\n );\n }\n\n private renderContent() {\n const {getGeneratedAnswerState, getBindings, getGeneratedAnswer} =\n this.props;\n const {i18n} = getBindings();\n const {isStreaming, answer, citations, answerContentFormat} =\n getGeneratedAnswerState() ?? {};\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n <div class=\"ml-auto flex h-9 items-center\">\n <Switch\n part=\"toggle\"\n checked={this.isAnswerVisible}\n onToggle={(checked) => {\n checked\n ? getGeneratedAnswer()?.show()\n : getGeneratedAnswer()?.hide();\n }}\n ariaLabel={i18n.t('generated-answer-title')}\n title={this.toggleTooltip}\n withToggle={this.props.withToggle}\n ></Switch>\n </div>\n </div>\n {this.hasRetryableError && this.isAnswerVisible ? (\n <RetryPrompt\n onClick={() => getGeneratedAnswer()?.retry()}\n buttonLabel={i18n.t('retry')}\n message={i18n.t('retry-stream-message')}\n />\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible ? (\n <GeneratedContentContainer\n answer={answer}\n answerContentFormat={answerContentFormat}\n isStreaming={!!isStreaming}\n >\n {this.renderFeedbackAndCopyButtons()}\n <SourceCitations\n label={i18n.t('citations')}\n isVisible={!!citations?.length}\n >\n {this.renderCitations()}\n </SourceCitations>\n </GeneratedContentContainer>\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible && (\n <div part=\"generated-answer-footer\" class=\"mt-6 flex justify-end\">\n {this.renderGeneratingAnswerLabel()}\n {this.renderShowButton()}\n {this.renderDisclaimer()}\n </div>\n )}\n </div>\n );\n }\n\n private renderCustomNoAnswerMessage() {\n const {getBindings} = this.props;\n const {i18n} = getBindings();\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n </div>\n <div part=\"generated-container\" class=\"mt-6 break-words\">\n <slot name=\"no-answer-message\"></slot>\n </div>\n </div>\n );\n }\n\n public render() {\n const {getGeneratedAnswerState} = this.props;\n const {cannotAnswer} = getGeneratedAnswerState() ?? {};\n const contentClasses =\n 'mx-auto mt-0 mb-4 border border-neutral shadow-lg p-6 bg-background rounded-lg p-6 text-on-background';\n\n if (this.hasNoAnswerGenerated) {\n return cannotAnswer && this.hasCustomNoAnswerMessage ? (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderCustomNoAnswerMessage()}</article>\n </aside>\n </div>\n ) : null;\n }\n\n return (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderContent()}</article>\n </aside>\n </div>\n );\n }\n}\n"],"version":3}