@windstream/react-shared-components 0.1.75 → 0.1.77

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 (204) hide show
  1. package/README.md +635 -635
  2. package/dist/contentful/index.esm.js +3 -3
  3. package/dist/contentful/index.esm.js.map +1 -1
  4. package/dist/contentful/index.js +3 -3
  5. package/dist/contentful/index.js.map +1 -1
  6. package/dist/index.esm.js +5 -13
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.js +5 -13
  9. package/dist/index.js.map +1 -1
  10. package/dist/next/index.esm.js +2 -2
  11. package/dist/next/index.esm.js.map +1 -1
  12. package/dist/next/index.js +2 -2
  13. package/dist/next/index.js.map +1 -1
  14. package/dist/styles.css +1 -1
  15. package/dist/utils/index.esm.js +1 -1
  16. package/dist/utils/index.esm.js.map +1 -1
  17. package/dist/utils/index.js +1 -1
  18. package/dist/utils/index.js.map +1 -1
  19. package/package.json +185 -185
  20. package/src/components/accordion/Accordion.stories.tsx +230 -230
  21. package/src/components/accordion/index.tsx +70 -70
  22. package/src/components/accordion/types.ts +12 -12
  23. package/src/components/alert-card/AlertCard.stories.tsx +171 -171
  24. package/src/components/alert-card/index.tsx +41 -41
  25. package/src/components/alert-card/types.ts +13 -13
  26. package/src/components/brand-button/BrandButton.stories.tsx +223 -223
  27. package/src/components/brand-button/helpers.ts +35 -35
  28. package/src/components/brand-button/index.tsx +120 -120
  29. package/src/components/brand-button/types.ts +38 -38
  30. package/src/components/button/Button.stories.tsx +108 -108
  31. package/src/components/button/index.tsx +27 -27
  32. package/src/components/button/types.ts +14 -14
  33. package/src/components/call-button/CallButton.stories.tsx +324 -324
  34. package/src/components/call-button/index.tsx +106 -106
  35. package/src/components/call-button/types.ts +16 -16
  36. package/src/components/checkbox/Checkbox.stories.tsx +247 -247
  37. package/src/components/checkbox/index.tsx +197 -197
  38. package/src/components/checkbox/types.ts +27 -27
  39. package/src/components/checklist/Checklist.stories.tsx +150 -150
  40. package/src/components/checklist/index.tsx +61 -61
  41. package/src/components/checklist/types.ts +17 -17
  42. package/src/components/collapse/Collapse.stories.tsx +255 -255
  43. package/src/components/collapse/index.tsx +46 -46
  44. package/src/components/collapse/types.ts +6 -6
  45. package/src/components/divider/Divider.stories.tsx +205 -205
  46. package/src/components/divider/index.tsx +22 -22
  47. package/src/components/divider/type.ts +3 -3
  48. package/src/components/image/Image.stories.tsx +113 -113
  49. package/src/components/image/index.tsx +25 -25
  50. package/src/components/image/types.ts +40 -40
  51. package/src/components/input/Input.stories.tsx +325 -325
  52. package/src/components/input/index.tsx +177 -177
  53. package/src/components/input/types.ts +37 -37
  54. package/src/components/link/Link.stories.tsx +163 -163
  55. package/src/components/link/index.tsx +116 -116
  56. package/src/components/link/types.ts +25 -25
  57. package/src/components/list/List.stories.tsx +272 -272
  58. package/src/components/list/index.tsx +88 -88
  59. package/src/components/list/list-item/index.tsx +38 -38
  60. package/src/components/list/list-item/types.ts +13 -13
  61. package/src/components/list/types.ts +29 -29
  62. package/src/components/material-icon/MaterialIcon.stories.tsx +322 -322
  63. package/src/components/material-icon/constants.ts +99 -99
  64. package/src/components/material-icon/index.tsx +47 -47
  65. package/src/components/material-icon/types.ts +31 -31
  66. package/src/components/modal/Modal.stories.tsx +171 -171
  67. package/src/components/modal/index.tsx +164 -164
  68. package/src/components/modal/types.ts +24 -24
  69. package/src/components/next-image/index.tsx +74 -74
  70. package/src/components/next-image/types.ts +1 -1
  71. package/src/components/pagination/index.tsx +91 -91
  72. package/src/components/pagination/types.ts +6 -6
  73. package/src/components/radio-button/RadioButton.stories.tsx +307 -307
  74. package/src/components/radio-button/index.tsx +75 -75
  75. package/src/components/radio-button/types.ts +21 -21
  76. package/src/components/see-more/SeeMore.stories.tsx +181 -181
  77. package/src/components/see-more/index.tsx +44 -44
  78. package/src/components/see-more/types.ts +4 -4
  79. package/src/components/select/Select.stories.tsx +411 -411
  80. package/src/components/select/index.tsx +155 -155
  81. package/src/components/select/types.ts +36 -36
  82. package/src/components/select-plan-button/SelectPlanButton.stories.tsx +184 -184
  83. package/src/components/select-plan-button/index.tsx +63 -63
  84. package/src/components/select-plan-button/types.ts +17 -17
  85. package/src/components/skeleton/Skeleton.stories.tsx +179 -179
  86. package/src/components/skeleton/index.tsx +61 -61
  87. package/src/components/skeleton/types.ts +4 -4
  88. package/src/components/spinner/Spinner.stories.tsx +335 -335
  89. package/src/components/spinner/index.tsx +44 -44
  90. package/src/components/spinner/types.ts +5 -5
  91. package/src/components/text/Text.stories.tsx +321 -321
  92. package/src/components/text/index.tsx +25 -25
  93. package/src/components/text/types.ts +45 -45
  94. package/src/components/tooltip/Tooltip.stories.tsx +219 -219
  95. package/src/components/tooltip/index.tsx +74 -74
  96. package/src/components/tooltip/types.ts +7 -7
  97. package/src/components/view-cart-button/ViewCartButton.stories.tsx +252 -252
  98. package/src/components/view-cart-button/index.tsx +42 -42
  99. package/src/components/view-cart-button/types.ts +5 -5
  100. package/src/contentful/blocks/accordion/Accordion.stories.mocks.tsx +128 -128
  101. package/src/contentful/blocks/accordion/Accordion.stories.tsx +98 -98
  102. package/src/contentful/blocks/accordion/index.tsx +112 -112
  103. package/src/contentful/blocks/accordion/types.ts +34 -34
  104. package/src/contentful/blocks/address-input-banner/index.tsx +52 -52
  105. package/src/contentful/blocks/address-input-banner/types.ts +14 -14
  106. package/src/contentful/blocks/anchored-bottom-banner/index.tsx +181 -181
  107. package/src/contentful/blocks/anchored-bottom-banner/types.ts +13 -13
  108. package/src/contentful/blocks/blogs-grid/index.tsx +134 -134
  109. package/src/contentful/blocks/blogs-grid/types.ts +26 -26
  110. package/src/contentful/blocks/blogs-grid-base/index.tsx +119 -119
  111. package/src/contentful/blocks/blogs-grid-base/types.ts +36 -36
  112. package/src/contentful/blocks/breadcrumbs/index.tsx +81 -81
  113. package/src/contentful/blocks/breadcrumbs/types.ts +6 -6
  114. package/src/contentful/blocks/button/Button.stories.tsx +40 -40
  115. package/src/contentful/blocks/button/index.tsx +131 -131
  116. package/src/contentful/blocks/button/types.ts +39 -39
  117. package/src/contentful/blocks/callout/Callout.stories.tsx +23 -23
  118. package/src/contentful/blocks/callout/index.tsx +252 -252
  119. package/src/contentful/blocks/callout/types.ts +68 -68
  120. package/src/contentful/blocks/cards/Cards.stories.tsx +23 -23
  121. package/src/contentful/blocks/cards/blog-card/index.tsx +129 -129
  122. package/src/contentful/blocks/cards/blog-card/types.ts +34 -34
  123. package/src/contentful/blocks/cards/floating-image-card/index.tsx +119 -119
  124. package/src/contentful/blocks/cards/floating-image-card/types.ts +30 -30
  125. package/src/contentful/blocks/cards/full-image-card/index.tsx +130 -130
  126. package/src/contentful/blocks/cards/full-image-card/types.ts +29 -29
  127. package/src/contentful/blocks/cards/index.tsx +13 -13
  128. package/src/contentful/blocks/cards/product-card/index.tsx +251 -251
  129. package/src/contentful/blocks/cards/product-card/types.ts +28 -28
  130. package/src/contentful/blocks/cards/simple-card/index.tsx +325 -325
  131. package/src/contentful/blocks/cards/simple-card/types.ts +71 -71
  132. package/src/contentful/blocks/cards/testimonial-card/index.tsx +90 -90
  133. package/src/contentful/blocks/cards/testimonial-card/types.tsx +12 -12
  134. package/src/contentful/blocks/cards/types.ts +1 -1
  135. package/src/contentful/blocks/carousel/Carousel.stories.tsx +23 -23
  136. package/src/contentful/blocks/carousel/helper.tsx +440 -440
  137. package/src/contentful/blocks/carousel/index.tsx +85 -85
  138. package/src/contentful/blocks/carousel/types.ts +144 -144
  139. package/src/contentful/blocks/cart-retention-banner/index.tsx +105 -105
  140. package/src/contentful/blocks/cart-retention-banner/types.ts +11 -11
  141. package/src/contentful/blocks/comparison-table/index.tsx +29 -29
  142. package/src/contentful/blocks/comparison-table/types.ts +6 -6
  143. package/src/contentful/blocks/cookiebanner/index.tsx +146 -146
  144. package/src/contentful/blocks/cookiebanner/type.ts +7 -7
  145. package/src/contentful/blocks/cta-callout/CtaCallout.stories.tsx +46 -46
  146. package/src/contentful/blocks/cta-callout/index.tsx +71 -71
  147. package/src/contentful/blocks/cta-callout/types.ts +26 -26
  148. package/src/contentful/blocks/dynamic-tabs/index.tsx +204 -204
  149. package/src/contentful/blocks/dynamic-tabs/types.ts +21 -21
  150. package/src/contentful/blocks/email-input-block/index.tsx +116 -116
  151. package/src/contentful/blocks/email-input-block/types.ts +16 -16
  152. package/src/contentful/blocks/find-kinetic/FindKinetic.stories.tsx +23 -23
  153. package/src/contentful/blocks/find-kinetic/index.tsx +130 -130
  154. package/src/contentful/blocks/find-kinetic/types.ts +19 -19
  155. package/src/contentful/blocks/floating-banner/FloatingBanner.stories.tsx +34 -34
  156. package/src/contentful/blocks/floating-banner/index.tsx +97 -97
  157. package/src/contentful/blocks/floating-banner/types.ts +22 -22
  158. package/src/contentful/blocks/footer/Footer.stories.tsx +317 -317
  159. package/src/contentful/blocks/footer/index.tsx +91 -91
  160. package/src/contentful/blocks/footer/types.ts +13 -13
  161. package/src/contentful/blocks/image-promo-bar/ImagePromoBar.stories.tsx +23 -23
  162. package/src/contentful/blocks/image-promo-bar/helper.tsx +28 -28
  163. package/src/contentful/blocks/image-promo-bar/index.tsx +246 -246
  164. package/src/contentful/blocks/image-promo-bar/types.ts +44 -44
  165. package/src/contentful/blocks/image-promo-bar/vimeo-embed.tsx +93 -93
  166. package/src/contentful/blocks/image-promo-bar/youtube-embed.tsx +46 -46
  167. package/src/contentful/blocks/modal/constants.ts +53 -53
  168. package/src/contentful/blocks/modal/index.tsx +107 -107
  169. package/src/contentful/blocks/modal/types.ts +12 -12
  170. package/src/contentful/blocks/navigation/desktop-link-groups.tsx/index.tsx +139 -139
  171. package/src/contentful/blocks/navigation/index.tsx +567 -512
  172. package/src/contentful/blocks/navigation/mobile-link-groups.tsx/index.tsx +82 -82
  173. package/src/contentful/blocks/navigation/types.ts +71 -71
  174. package/src/contentful/blocks/primary-hero/PrimaryHero.stories.tsx +23 -23
  175. package/src/contentful/blocks/primary-hero/index.tsx +236 -236
  176. package/src/contentful/blocks/primary-hero/types.ts +37 -37
  177. package/src/contentful/blocks/search-block/index.tsx +90 -90
  178. package/src/contentful/blocks/search-block/types.ts +15 -15
  179. package/src/contentful/blocks/shape-background-wrapper/ShapeBackgroundWrapper.stories.tsx +26 -26
  180. package/src/contentful/blocks/shape-background-wrapper/index.tsx +124 -124
  181. package/src/contentful/blocks/shape-background-wrapper/types.ts +36 -36
  182. package/src/contentful/blocks/text/Text.stories.tsx +23 -23
  183. package/src/contentful/blocks/text/index.tsx +12 -12
  184. package/src/contentful/blocks/text/types.ts +1 -1
  185. package/src/contentful/index.ts +105 -105
  186. package/src/hooks/contentful/use-contentful-rich-text.tsx +309 -309
  187. package/src/hooks/contentful/use-processed-check-list.ts +63 -63
  188. package/src/hooks/use-body-scroll-lock.ts +34 -34
  189. package/src/hooks/use-carousel-swipe.ts +264 -264
  190. package/src/hooks/use-outside-click.ts +17 -17
  191. package/src/index.ts +101 -101
  192. package/src/next/index.ts +5 -5
  193. package/src/setupTests.ts +46 -46
  194. package/src/stories/DocsTemplate.tsx +24 -24
  195. package/src/styles/globals.css +343 -343
  196. package/src/types/global.d.ts +9 -9
  197. package/src/types/micro-components.ts +99 -99
  198. package/src/types/utm.ts +49 -49
  199. package/src/utils/contentful/to-document.ts +24 -24
  200. package/src/utils/cookie.ts +84 -84
  201. package/src/utils/cx.ts +49 -49
  202. package/src/utils/index.ts +41 -41
  203. package/src/utils/speed-card-bg.ts +24 -24
  204. package/src/utils/utm.ts +221 -221
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/clsx/dist/clsx.mjs","../../node_modules/tailwind-merge/dist/bundle-mjs.mjs","../../src/utils/cx.ts","../../node_modules/js-cookie/dist/js.cookie.mjs","../../node_modules/@contentful/rich-text-types/dist/cjs/blocks.js","../../node_modules/@contentful/rich-text-types/dist/cjs/inlines.js","../../node_modules/@contentful/rich-text-types/dist/cjs/marks.js","../../node_modules/@contentful/rich-text-types/dist/cjs/schemaConstraints.js","../../node_modules/@contentful/rich-text-types/dist/cjs/helpers.js","../../node_modules/is-plain-obj/index.js","../../node_modules/@contentful/rich-text-types/dist/cjs/validator/errors.js","../../node_modules/@contentful/rich-text-types/dist/cjs/validator/assert.js","../../node_modules/@contentful/rich-text-types/dist/cjs/validator/node.js","../../node_modules/@contentful/rich-text-types/dist/cjs/validator/path.js","../../node_modules/@contentful/rich-text-types/dist/cjs/validator/index.js","../../node_modules/@contentful/rich-text-types/dist/cjs/validator/text.js","../../node_modules/@contentful/rich-text-types/dist/cjs/index.js","../../node_modules/@contentful/rich-text-types/dist/cjs/types.js","../../node_modules/@contentful/rich-text-types/dist/cjs/nodeTypes.js","../../node_modules/@contentful/rich-text-types/dist/cjs/emptyDocument.js","../../node_modules/@contentful/rich-text-react-renderer/dist/rich-text-react-renderer.es5.js","../../node_modules/@contentful/rich-text-types/dist/esm/blocks.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/inlines.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/schemaConstraints.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/emptyDocument.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/validator/errors.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/validator/assert.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/validator/node.mjs","../../node_modules/@contentful/rich-text-types/dist/esm/validator/index.mjs","../../src/components/list/list-item/index.tsx","../../src/components/list/index.tsx","../../src/components/text/index.tsx","../../src/components/link/index.tsx","../../src/hooks/contentful/use-contentful-rich-text.tsx","../../src/components/next-image/index.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift();\n }\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n const conflicts = conflictingClassGroups[classGroupId] || [];\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n }\n return conflicts;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[0];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart;\n }\n if (classPartObject.validators.length === 0) {\n return undefined;\n }\n const classRest = classParts.join(CLASS_PART_SEPARATOR);\n return classPartObject.validators.find(({\n validator\n }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property;\n }\n }\n};\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n classGroups\n } = config;\n const classMap = {\n nextPart: new Map(),\n validators: []\n };\n for (const classGroupId in classGroups) {\n processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);\n }\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n classGroup.forEach(classDefinition => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n return;\n }\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId\n });\n return;\n }\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n });\n });\n};\nconst getPart = (classPartObject, path) => {\n let currentClassPartObject = classPartObject;\n path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: []\n });\n }\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n });\n return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = new Map();\n let previousCache = new Map();\n const update = (key, value) => {\n cache.set(key, value);\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = new Map();\n }\n };\n return {\n get(key) {\n let value = cache.get(key);\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value);\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;\nconst createParseClassName = config => {\n const {\n prefix,\n experimentalParseClassName\n } = config;\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = className => {\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + MODIFIER_SEPARATOR_LENGTH;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') {\n bracketDepth++;\n } else if (currentCharacter === ']') {\n bracketDepth--;\n } else if (currentCharacter === '(') {\n parenDepth++;\n } else if (currentCharacter === ')') {\n parenDepth--;\n }\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);\n const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n };\n };\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {\n isExternal: true,\n modifiers: [],\n hasImportantModifier: false,\n baseClassName: className,\n maybePostfixModifierPosition: undefined\n };\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n};\nconst stripImportantModifier = baseClassName => {\n if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(0, baseClassName.length - 1);\n }\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(1);\n }\n return baseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));\n const sortModifiers = modifiers => {\n if (modifiers.length <= 1) {\n return modifiers;\n }\n const sortedModifiers = [];\n let unsortedModifiers = [];\n modifiers.forEach(modifier => {\n const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];\n if (isPositionSensitive) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n unsortedModifiers = [];\n } else {\n unsortedModifiers.push(modifier);\n }\n });\n sortedModifiers.push(...unsortedModifiers.sort());\n return sortedModifiers;\n };\n return sortModifiers;\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nfunction twJoin() {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < arguments.length) {\n if (argument = arguments[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n}\nconst toValue = mix => {\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall = initTailwindMerge;\n function initTailwindMerge(classList) {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n }\n function tailwindMerge(classList) {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n }\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments));\n };\n}\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || [];\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n const themeColor = fromTheme('color');\n const themeFont = fromTheme('font');\n const themeText = fromTheme('text');\n const themeFontWeight = fromTheme('font-weight');\n const themeTracking = fromTheme('tracking');\n const themeLeading = fromTheme('leading');\n const themeBreakpoint = fromTheme('breakpoint');\n const themeContainer = fromTheme('container');\n const themeSpacing = fromTheme('spacing');\n const themeRadius = fromTheme('radius');\n const themeShadow = fromTheme('shadow');\n const themeInsetShadow = fromTheme('inset-shadow');\n const themeTextShadow = fromTheme('text-shadow');\n const themeDropShadow = fromTheme('drop-shadow');\n const themeBlur = fromTheme('blur');\n const themePerspective = fromTheme('perspective');\n const themeAspect = fromTheme('aspect');\n const themeEase = fromTheme('ease');\n const themeAnimate = fromTheme('animate');\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top', 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top', 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom', 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom'];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const scaleOverscroll = () => ['auto', 'contain', 'none'];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => ['auto', {\n span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => ['no-repeat', {\n repeat: ['', 'x', 'y', 'space', 'round']\n }];\n const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': scaleInset()\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': scaleInset()\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: scaleInset()\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['nowrap', 'wrap', 'wrap-reverse']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: [...scaleAlignPrimaryAxis(), 'normal']\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', ...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{\n 'space-x': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{\n 'space-y': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, 'screen', ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none', ...scaleSizing()]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n }, ...scaleSizing()]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: ['screen', 'lh', ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': ['screen', 'lh', ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [{\n 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading, ...scaleUnambiguousSpacing()]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...scaleLineStyle(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: ['break-word', 'anywhere', 'normal']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n linear: [{\n to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': scaleBorderWidth()\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': scaleBorderWidth()\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': scaleBorderWidth()\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{\n 'divide-x': scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{\n 'divide-y': scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{\n divide: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: scaleColor()\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': scaleColor()\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': scaleColor()\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': scaleColor()\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: [...scaleLineStyle(), 'none', 'hidden']\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [{\n 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{\n 'inset-shadow': scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{\n 'ring-offset': [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{\n 'ring-offset': scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{\n 'inset-ring': scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{\n 'inset-ring': scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [{\n 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{\n 'text-shadow': scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [{\n 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }, 'mask-no-clip'],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{\n mask: ['add', 'subtract', 'intersect', 'exclude']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{\n 'mask-linear': [isNumber]\n }],\n 'mask-image-linear-from-pos': [{\n 'mask-linear-from': scaleMaskImagePosition()\n }],\n 'mask-image-linear-to-pos': [{\n 'mask-linear-to': scaleMaskImagePosition()\n }],\n 'mask-image-linear-from-color': [{\n 'mask-linear-from': scaleColor()\n }],\n 'mask-image-linear-to-color': [{\n 'mask-linear-to': scaleColor()\n }],\n 'mask-image-t-from-pos': [{\n 'mask-t-from': scaleMaskImagePosition()\n }],\n 'mask-image-t-to-pos': [{\n 'mask-t-to': scaleMaskImagePosition()\n }],\n 'mask-image-t-from-color': [{\n 'mask-t-from': scaleColor()\n }],\n 'mask-image-t-to-color': [{\n 'mask-t-to': scaleColor()\n }],\n 'mask-image-r-from-pos': [{\n 'mask-r-from': scaleMaskImagePosition()\n }],\n 'mask-image-r-to-pos': [{\n 'mask-r-to': scaleMaskImagePosition()\n }],\n 'mask-image-r-from-color': [{\n 'mask-r-from': scaleColor()\n }],\n 'mask-image-r-to-color': [{\n 'mask-r-to': scaleColor()\n }],\n 'mask-image-b-from-pos': [{\n 'mask-b-from': scaleMaskImagePosition()\n }],\n 'mask-image-b-to-pos': [{\n 'mask-b-to': scaleMaskImagePosition()\n }],\n 'mask-image-b-from-color': [{\n 'mask-b-from': scaleColor()\n }],\n 'mask-image-b-to-color': [{\n 'mask-b-to': scaleColor()\n }],\n 'mask-image-l-from-pos': [{\n 'mask-l-from': scaleMaskImagePosition()\n }],\n 'mask-image-l-to-pos': [{\n 'mask-l-to': scaleMaskImagePosition()\n }],\n 'mask-image-l-from-color': [{\n 'mask-l-from': scaleColor()\n }],\n 'mask-image-l-to-color': [{\n 'mask-l-to': scaleColor()\n }],\n 'mask-image-x-from-pos': [{\n 'mask-x-from': scaleMaskImagePosition()\n }],\n 'mask-image-x-to-pos': [{\n 'mask-x-to': scaleMaskImagePosition()\n }],\n 'mask-image-x-from-color': [{\n 'mask-x-from': scaleColor()\n }],\n 'mask-image-x-to-color': [{\n 'mask-x-to': scaleColor()\n }],\n 'mask-image-y-from-pos': [{\n 'mask-y-from': scaleMaskImagePosition()\n }],\n 'mask-image-y-to-pos': [{\n 'mask-y-to': scaleMaskImagePosition()\n }],\n 'mask-image-y-from-color': [{\n 'mask-y-from': scaleColor()\n }],\n 'mask-image-y-to-color': [{\n 'mask-y-to': scaleColor()\n }],\n 'mask-image-radial': [{\n 'mask-radial': [isArbitraryVariable, isArbitraryValue]\n }],\n 'mask-image-radial-from-pos': [{\n 'mask-radial-from': scaleMaskImagePosition()\n }],\n 'mask-image-radial-to-pos': [{\n 'mask-radial-to': scaleMaskImagePosition()\n }],\n 'mask-image-radial-from-color': [{\n 'mask-radial-from': scaleColor()\n }],\n 'mask-image-radial-to-color': [{\n 'mask-radial-to': scaleColor()\n }],\n 'mask-image-radial-shape': [{\n 'mask-radial': ['circle', 'ellipse']\n }],\n 'mask-image-radial-size': [{\n 'mask-radial': [{\n closest: ['side', 'corner'],\n farthest: ['side', 'corner']\n }]\n }],\n 'mask-image-radial-pos': [{\n 'mask-radial-at': scalePosition()\n }],\n 'mask-image-conic-pos': [{\n 'mask-conic': [isNumber]\n }],\n 'mask-image-conic-from-pos': [{\n 'mask-conic-from': scaleMaskImagePosition()\n }],\n 'mask-image-conic-to-pos': [{\n 'mask-conic-to': scaleMaskImagePosition()\n }],\n 'mask-image-conic-from-color': [{\n 'mask-conic-from': scaleColor()\n }],\n 'mask-image-conic-to-color': [{\n 'mask-conic-to': scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{\n mask: ['alpha', 'luminance', 'match']\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [{\n 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{\n 'mask-type': ['alpha', 'luminance']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{\n mask: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{\n 'drop-shadow': scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{\n transition: ['normal', 'discrete']\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: ['hidden', 'visible']\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{\n 'perspective-origin': scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{\n 'rotate-x': scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{\n 'rotate-y': scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{\n 'rotate-z': scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{\n 'scale-z': scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{\n transform: ['3d', 'flat']\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{\n 'translate-z': scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [{\n scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{\n 'field-sizing': ['fixed', 'content']\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['auto', 'none']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', '', 'y', 'x']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: ['none', ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: ['none', ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n },\n orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n overrideConfigProperties(baseConfig.theme, override.theme);\n overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n mergeConfigProperties(baseConfig.theme, extend.theme);\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key);\n }\n }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n",null,"/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"BLOCKS\", {\n enumerable: true,\n get: function() {\n return BLOCKS;\n }\n});\nvar BLOCKS = /*#__PURE__*/ function(BLOCKS) {\n BLOCKS[\"DOCUMENT\"] = \"document\";\n BLOCKS[\"PARAGRAPH\"] = \"paragraph\";\n BLOCKS[\"HEADING_1\"] = \"heading-1\";\n BLOCKS[\"HEADING_2\"] = \"heading-2\";\n BLOCKS[\"HEADING_3\"] = \"heading-3\";\n BLOCKS[\"HEADING_4\"] = \"heading-4\";\n BLOCKS[\"HEADING_5\"] = \"heading-5\";\n BLOCKS[\"HEADING_6\"] = \"heading-6\";\n BLOCKS[\"OL_LIST\"] = \"ordered-list\";\n BLOCKS[\"UL_LIST\"] = \"unordered-list\";\n BLOCKS[\"LIST_ITEM\"] = \"list-item\";\n BLOCKS[\"HR\"] = \"hr\";\n BLOCKS[\"QUOTE\"] = \"blockquote\";\n BLOCKS[\"EMBEDDED_ENTRY\"] = \"embedded-entry-block\";\n BLOCKS[\"EMBEDDED_ASSET\"] = \"embedded-asset-block\";\n BLOCKS[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-block\";\n BLOCKS[\"TABLE\"] = \"table\";\n BLOCKS[\"TABLE_ROW\"] = \"table-row\";\n BLOCKS[\"TABLE_CELL\"] = \"table-cell\";\n BLOCKS[\"TABLE_HEADER_CELL\"] = \"table-header-cell\";\n return BLOCKS;\n}({});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"INLINES\", {\n enumerable: true,\n get: function() {\n return INLINES;\n }\n});\nvar INLINES = /*#__PURE__*/ function(INLINES) {\n INLINES[\"ASSET_HYPERLINK\"] = \"asset-hyperlink\";\n INLINES[\"EMBEDDED_ENTRY\"] = \"embedded-entry-inline\";\n INLINES[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-inline\";\n INLINES[\"ENTRY_HYPERLINK\"] = \"entry-hyperlink\";\n INLINES[\"HYPERLINK\"] = \"hyperlink\";\n INLINES[\"RESOURCE_HYPERLINK\"] = \"resource-hyperlink\";\n return INLINES;\n}({});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"MARKS\", {\n enumerable: true,\n get: function() {\n return MARKS;\n }\n});\nvar MARKS = /*#__PURE__*/ function(MARKS) {\n MARKS[\"BOLD\"] = \"bold\";\n MARKS[\"ITALIC\"] = \"italic\";\n MARKS[\"UNDERLINE\"] = \"underline\";\n MARKS[\"CODE\"] = \"code\";\n MARKS[\"SUPERSCRIPT\"] = \"superscript\";\n MARKS[\"SUBSCRIPT\"] = \"subscript\";\n MARKS[\"STRIKETHROUGH\"] = \"strikethrough\";\n return MARKS;\n}({});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: Object.getOwnPropertyDescriptor(all, name).get\n });\n}\n_export(exports, {\n get CONTAINERS () {\n return CONTAINERS;\n },\n get HEADINGS () {\n return HEADINGS;\n },\n get LIST_ITEM_BLOCKS () {\n return LIST_ITEM_BLOCKS;\n },\n get TABLE_BLOCKS () {\n return TABLE_BLOCKS;\n },\n get TEXT_CONTAINERS () {\n return TEXT_CONTAINERS;\n },\n get TOP_LEVEL_BLOCKS () {\n return TOP_LEVEL_BLOCKS;\n },\n get V1_MARKS () {\n return V1_MARKS;\n },\n get V1_NODE_TYPES () {\n return V1_NODE_TYPES;\n },\n get VOID_BLOCKS () {\n return VOID_BLOCKS;\n }\n});\nvar _blocks = require(\"./blocks.js\");\nvar _inlines = require(\"./inlines.js\");\nvar _marks = require(\"./marks.js\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nvar TOP_LEVEL_BLOCKS = [\n _blocks.BLOCKS.PARAGRAPH,\n _blocks.BLOCKS.HEADING_1,\n _blocks.BLOCKS.HEADING_2,\n _blocks.BLOCKS.HEADING_3,\n _blocks.BLOCKS.HEADING_4,\n _blocks.BLOCKS.HEADING_5,\n _blocks.BLOCKS.HEADING_6,\n _blocks.BLOCKS.OL_LIST,\n _blocks.BLOCKS.UL_LIST,\n _blocks.BLOCKS.HR,\n _blocks.BLOCKS.QUOTE,\n _blocks.BLOCKS.EMBEDDED_ENTRY,\n _blocks.BLOCKS.EMBEDDED_ASSET,\n _blocks.BLOCKS.EMBEDDED_RESOURCE,\n _blocks.BLOCKS.TABLE\n];\nvar LIST_ITEM_BLOCKS = [\n _blocks.BLOCKS.PARAGRAPH,\n _blocks.BLOCKS.HEADING_1,\n _blocks.BLOCKS.HEADING_2,\n _blocks.BLOCKS.HEADING_3,\n _blocks.BLOCKS.HEADING_4,\n _blocks.BLOCKS.HEADING_5,\n _blocks.BLOCKS.HEADING_6,\n _blocks.BLOCKS.OL_LIST,\n _blocks.BLOCKS.UL_LIST,\n _blocks.BLOCKS.HR,\n _blocks.BLOCKS.QUOTE,\n _blocks.BLOCKS.EMBEDDED_ENTRY,\n _blocks.BLOCKS.EMBEDDED_ASSET,\n _blocks.BLOCKS.EMBEDDED_RESOURCE\n];\nvar TABLE_BLOCKS = [\n _blocks.BLOCKS.TABLE,\n _blocks.BLOCKS.TABLE_ROW,\n _blocks.BLOCKS.TABLE_CELL,\n _blocks.BLOCKS.TABLE_HEADER_CELL\n];\nvar VOID_BLOCKS = [\n _blocks.BLOCKS.HR,\n _blocks.BLOCKS.EMBEDDED_ENTRY,\n _blocks.BLOCKS.EMBEDDED_ASSET,\n _blocks.BLOCKS.EMBEDDED_RESOURCE\n];\nvar _obj;\nvar CONTAINERS = (_obj = {}, _define_property(_obj, _blocks.BLOCKS.OL_LIST, [\n _blocks.BLOCKS.LIST_ITEM\n]), _define_property(_obj, _blocks.BLOCKS.UL_LIST, [\n _blocks.BLOCKS.LIST_ITEM\n]), _define_property(_obj, _blocks.BLOCKS.LIST_ITEM, LIST_ITEM_BLOCKS), _define_property(_obj, _blocks.BLOCKS.QUOTE, [\n _blocks.BLOCKS.PARAGRAPH\n]), _define_property(_obj, _blocks.BLOCKS.TABLE, [\n _blocks.BLOCKS.TABLE_ROW\n]), _define_property(_obj, _blocks.BLOCKS.TABLE_ROW, [\n _blocks.BLOCKS.TABLE_CELL,\n _blocks.BLOCKS.TABLE_HEADER_CELL\n]), _define_property(_obj, _blocks.BLOCKS.TABLE_CELL, [\n _blocks.BLOCKS.PARAGRAPH,\n _blocks.BLOCKS.UL_LIST,\n _blocks.BLOCKS.OL_LIST\n]), _define_property(_obj, _blocks.BLOCKS.TABLE_HEADER_CELL, [\n _blocks.BLOCKS.PARAGRAPH\n]), _obj);\nvar HEADINGS = [\n _blocks.BLOCKS.HEADING_1,\n _blocks.BLOCKS.HEADING_2,\n _blocks.BLOCKS.HEADING_3,\n _blocks.BLOCKS.HEADING_4,\n _blocks.BLOCKS.HEADING_5,\n _blocks.BLOCKS.HEADING_6\n];\nvar TEXT_CONTAINERS = [\n _blocks.BLOCKS.PARAGRAPH\n].concat(_to_consumable_array(HEADINGS));\nvar V1_NODE_TYPES = [\n _blocks.BLOCKS.DOCUMENT,\n _blocks.BLOCKS.PARAGRAPH,\n _blocks.BLOCKS.HEADING_1,\n _blocks.BLOCKS.HEADING_2,\n _blocks.BLOCKS.HEADING_3,\n _blocks.BLOCKS.HEADING_4,\n _blocks.BLOCKS.HEADING_5,\n _blocks.BLOCKS.HEADING_6,\n _blocks.BLOCKS.OL_LIST,\n _blocks.BLOCKS.UL_LIST,\n _blocks.BLOCKS.LIST_ITEM,\n _blocks.BLOCKS.HR,\n _blocks.BLOCKS.QUOTE,\n _blocks.BLOCKS.EMBEDDED_ENTRY,\n _blocks.BLOCKS.EMBEDDED_ASSET,\n _inlines.INLINES.HYPERLINK,\n _inlines.INLINES.ENTRY_HYPERLINK,\n _inlines.INLINES.ASSET_HYPERLINK,\n _inlines.INLINES.EMBEDDED_ENTRY,\n 'text'\n];\nvar V1_MARKS = [\n _marks.MARKS.BOLD,\n _marks.MARKS.CODE,\n _marks.MARKS.ITALIC,\n _marks.MARKS.UNDERLINE\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: Object.getOwnPropertyDescriptor(all, name).get\n });\n}\n_export(exports, {\n get isBlock () {\n return isBlock;\n },\n get isEmptyParagraph () {\n return isEmptyParagraph;\n },\n get isInline () {\n return isInline;\n },\n get isText () {\n return isText;\n },\n get stripEmptyTrailingParagraphFromDocument () {\n return stripEmptyTrailingParagraphFromDocument;\n }\n});\nvar _blocks = require(\"./blocks.js\");\nvar _inlines = require(\"./inlines.js\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction hasValue(obj, value) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.keys(obj)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var key = _step.value;\n if (value === obj[key]) {\n return true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return false;\n}\nfunction isInline(node) {\n return hasValue(_inlines.INLINES, node.nodeType);\n}\nfunction isBlock(node) {\n return hasValue(_blocks.BLOCKS, node.nodeType);\n}\nfunction isText(node) {\n return node.nodeType === 'text';\n}\nfunction isEmptyParagraph(node) {\n if (node.nodeType !== _blocks.BLOCKS.PARAGRAPH) {\n return false;\n }\n if (node.content.length !== 1) {\n return false;\n }\n var textNode = node.content[0];\n return textNode.nodeType === 'text' && textNode.value === '';\n}\nfunction isValidDocument(document) {\n return document != null && (typeof document === \"undefined\" ? \"undefined\" : _type_of(document)) === 'object' && 'content' in document && Array.isArray(document.content);\n}\nvar MIN_NODES_FOR_STRIPPING = 2;\nfunction stripEmptyTrailingParagraphFromDocument(document) {\n if (!isValidDocument(document) || document.content.length < MIN_NODES_FOR_STRIPPING) {\n return document;\n }\n var lastNode = document.content[document.content.length - 1];\n if (isEmptyParagraph(lastNode)) {\n return _object_spread_props(_object_spread({}, document), {\n content: document.content.slice(0, -1)\n });\n }\n return document;\n}\n","'use strict';\n\nmodule.exports = value => {\n\tif (Object.prototype.toString.call(value) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype === null || prototype === Object.prototype;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: Object.getOwnPropertyDescriptor(all, name).get\n });\n}\n_export(exports, {\n get enumError () {\n return enumError;\n },\n get maxSizeError () {\n return maxSizeError;\n },\n get minSizeError () {\n return minSizeError;\n },\n get requiredPropertyError () {\n return requiredPropertyError;\n },\n get typeMismatchError () {\n return typeMismatchError;\n },\n get unknownPropertyError () {\n return unknownPropertyError;\n }\n});\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nvar typeMismatchError = function(param) {\n var path = param.path, property = param.property, typeName = param.typeName, value = param.value;\n return {\n details: 'The type of \"'.concat(property, '\" is incorrect, expected type: ').concat(typeName),\n name: 'type',\n path: path.toArray(),\n type: typeName,\n value: value\n };\n};\nvar minSizeError = function(param) {\n var min = param.min, value = param.value, path = param.path;\n return {\n name: 'size',\n min: min,\n path: path.toArray(),\n details: \"Size must be at least \".concat(min),\n value: value\n };\n};\nvar maxSizeError = function(param) {\n var max = param.max, value = param.value, path = param.path;\n return {\n name: 'size',\n max: max,\n path: path.toArray(),\n details: \"Size must be at most \".concat(max),\n value: value\n };\n};\nvar enumError = function(param) {\n var expected = param.expected, value = param.value, path = param.path;\n return {\n details: \"Value must be one of expected values\",\n name: 'in',\n expected: _to_consumable_array(expected).sort(),\n path: path.toArray(),\n value: value\n };\n};\nvar unknownPropertyError = function(param) {\n var property = param.property, path = param.path;\n return {\n details: 'The property \"'.concat(property, '\" is not expected'),\n name: 'unexpected',\n path: path.toArray()\n };\n};\nvar requiredPropertyError = function(param) {\n var property = param.property, path = param.path;\n return {\n details: 'The property \"'.concat(property, '\" is required here'),\n name: 'required',\n path: path.toArray()\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"ObjectAssertion\", {\n enumerable: true,\n get: function() {\n return ObjectAssertion;\n }\n});\nvar _isplainobj = /*#__PURE__*/ _interop_require_default(require(\"is-plain-obj\"));\nvar _errors = require(\"./errors.js\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nvar ObjectAssertion = /*#__PURE__*/ function() {\n \"use strict\";\n function ObjectAssertion(obj, path) {\n var _this = this;\n var _this1 = this;\n _class_call_check(this, ObjectAssertion);\n _define_property(this, \"obj\", void 0);\n _define_property(this, \"path\", void 0);\n _define_property(this, \"_errors\", void 0);\n _define_property(this, \"catch\", void 0);\n _define_property(this, \"exists\", void 0);\n _define_property(this, \"object\", void 0);\n _define_property(this, \"string\", void 0);\n _define_property(this, \"number\", void 0);\n _define_property(this, \"array\", void 0);\n _define_property(this, \"enum\", void 0);\n _define_property(this, \"empty\", void 0);\n _define_property(this, \"minLength\", void 0);\n _define_property(this, \"noAdditionalProperties\", void 0);\n _define_property(this, \"each\", void 0);\n this.obj = obj;\n this.path = path;\n this._errors = [];\n this.catch = function() {\n for(var _len = arguments.length, errors = new Array(_len), _key = 0; _key < _len; _key++){\n errors[_key] = arguments[_key];\n }\n var _this__errors;\n (_this__errors = _this1._errors).push.apply(_this__errors, _to_consumable_array(errors));\n };\n this.exists = function(key) {\n if (key in _this.obj) {\n return true;\n }\n _this.catch((0, _errors.requiredPropertyError)({\n property: key,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.object = function(key) {\n var value = key ? _this.obj[key] : _this.obj;\n if (key) {\n if (!_this.exists(key)) {\n return false;\n }\n }\n if ((0, _isplainobj.default)(value)) {\n return true;\n }\n var _$path = key ? _this.path.of(key) : _this.path;\n var _ref;\n var property = (_ref = key !== null && key !== void 0 ? key : _this.path.last()) !== null && _ref !== void 0 ? _ref : 'value';\n _this.catch((0, _errors.typeMismatchError)({\n typeName: 'Object',\n property: property,\n path: _$path,\n value: value\n }));\n return false;\n };\n this.string = function(key) {\n var value = _this.obj[key];\n if (key && !_this.exists(key)) {\n return false;\n }\n if (typeof value === 'string') {\n return true;\n }\n _this.catch((0, _errors.typeMismatchError)({\n typeName: 'String',\n property: key,\n path: _this.path.of(key),\n value: value\n }));\n return false;\n };\n this.number = function(key, optional) {\n var value = _this.obj[key];\n if (optional && !(key in _this.obj)) {\n return true;\n }\n if (!_this.exists(key)) {\n return false;\n }\n if (typeof value === 'number' && !Number.isNaN(value)) {\n return true;\n }\n _this.catch((0, _errors.typeMismatchError)({\n typeName: 'Number',\n property: key,\n path: _this.path.of(key),\n value: value\n }));\n return false;\n };\n this.array = function(key) {\n var value = _this.obj[key];\n if (key && !_this.exists(key)) {\n return false;\n }\n if (Array.isArray(value)) {\n return true;\n }\n _this.catch((0, _errors.typeMismatchError)({\n typeName: 'Array',\n property: key,\n path: _this.path.of(key),\n value: value\n }));\n return false;\n };\n this.enum = function(key, expected) {\n var value = _this.obj[key];\n if (typeof value === 'string' && expected.includes(value)) {\n return true;\n }\n _this.catch((0, _errors.enumError)({\n expected: expected,\n value: value,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.empty = function(key) {\n if (!_this.array(key)) {\n return false;\n }\n var value = _this.obj[key];\n if (value.length === 0) {\n return true;\n }\n _this.catch((0, _errors.maxSizeError)({\n max: 0,\n value: value,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.minLength = function(key, min) {\n if (!_this.array(key)) {\n return false;\n }\n var value = _this.obj[key];\n if (value.length >= min) {\n return true;\n }\n _this.catch((0, _errors.minSizeError)({\n min: min,\n value: value,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.noAdditionalProperties = function(properties) {\n var unknowns = Object.keys(_this.obj).sort().filter(function(key) {\n return !properties.includes(key);\n });\n unknowns.forEach(function(property) {\n return _this.catch((0, _errors.unknownPropertyError)({\n property: property,\n path: _this.path.of(property)\n }));\n });\n return unknowns.length === 0;\n };\n this.each = function(key, assert) {\n if (!_this.array(key)) {\n return;\n }\n var value = _this.obj[key];\n var foundErrors = false;\n value.forEach(function(item, index) {\n if (foundErrors) {\n return;\n }\n var errors = assert(item, _this.path.of(key).of(index));\n if (errors.length > 0) {\n foundErrors = true;\n }\n _this.catch.apply(_this, _to_consumable_array(errors));\n });\n };\n }\n _create_class(ObjectAssertion, [\n {\n key: \"errors\",\n get: function get() {\n var _this = this;\n var serializeError = function(error) {\n return JSON.stringify({\n details: error.details,\n path: error.path\n });\n };\n return this._errors.filter(function(error, index) {\n return _this._errors.findIndex(function(step) {\n return serializeError(error) === serializeError(step);\n }) === index;\n });\n }\n }\n ]);\n return ObjectAssertion;\n}();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: Object.getOwnPropertyDescriptor(all, name).get\n });\n}\n_export(exports, {\n get EntityLinkAssertion () {\n return EntityLinkAssertion;\n },\n get HyperLinkAssertion () {\n return HyperLinkAssertion;\n },\n get NodeAssertion () {\n return NodeAssertion;\n },\n get VOID_CONTENT () {\n return VOID_CONTENT;\n },\n get assert () {\n return assert;\n },\n get assertLink () {\n return assertLink;\n }\n});\nvar _assert = require(\"./assert.js\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _call_super(_this, derived, args) {\n derived = _get_prototype_of(derived);\n return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _is_native_reflect_construct() {\n try {\n var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n } catch (_) {}\n return (_is_native_reflect_construct = function() {\n return !!result;\n })();\n}\nvar VOID_CONTENT = [];\nvar NodeAssertion = /*#__PURE__*/ function() {\n \"use strict\";\n function NodeAssertion(contentRule, validateData) {\n _class_call_check(this, NodeAssertion);\n _define_property(this, \"contentRule\", void 0);\n _define_property(this, \"validateData\", void 0);\n this.contentRule = contentRule;\n this.validateData = validateData;\n }\n _create_class(NodeAssertion, [\n {\n key: \"assert\",\n value: function assert(node, path) {\n var $ = new _assert.ObjectAssertion(node, path);\n if (!$.object()) {\n return $.errors;\n }\n $.noAdditionalProperties([\n 'nodeType',\n 'data',\n 'content'\n ]);\n var _ref = Array.isArray(this.contentRule) ? {\n nodeTypes: this.contentRule\n } : this.contentRule(node, path), nodeTypes = _ref.nodeTypes, _ref_min = _ref.min, min = _ref_min === void 0 ? 0 : _ref_min;\n if (nodeTypes.length === 0 && min > 0) {\n throw new Error(\"Invalid content rule. Cannot have enforce a 'min' of \".concat(min, \" with no nodeTypes\"));\n }\n $.minLength('content', min);\n if (nodeTypes.length === 0) {\n $.empty('content');\n } else {\n $.each('content', function(item, path) {\n var item$ = new _assert.ObjectAssertion(item, path);\n if (!item$.object()) {\n return item$.errors;\n }\n item$.enum('nodeType', nodeTypes);\n return item$.errors;\n });\n }\n if ($.object('data')) {\n var _$;\n var _this_validateData, _this;\n var _this_validateData1;\n var dataErrors = (_this_validateData1 = (_this_validateData = (_this = this).validateData) === null || _this_validateData === void 0 ? void 0 : _this_validateData.call(_this, node.data, path.of('data'))) !== null && _this_validateData1 !== void 0 ? _this_validateData1 : [];\n (_$ = $).catch.apply(_$, _to_consumable_array(dataErrors));\n }\n return $.errors;\n }\n }\n ]);\n return NodeAssertion;\n}();\nvar EntityLinkAssertion = /*#__PURE__*/ function(NodeAssertion) {\n \"use strict\";\n _inherits(EntityLinkAssertion, NodeAssertion);\n function EntityLinkAssertion(linkType, contentNodeTypes) {\n _class_call_check(this, EntityLinkAssertion);\n var _this;\n _this = _call_super(this, EntityLinkAssertion, [\n contentNodeTypes,\n function(data, path) {\n return _assert_this_initialized(_this).assertLink(data, path);\n }\n ]), _define_property(_this, \"linkType\", void 0), _define_property(_this, \"type\", void 0), _define_property(_this, \"assertLink\", void 0), _this.linkType = linkType, _this.assertLink = function(data, path) {\n var $ = new _assert.ObjectAssertion(data, path);\n if ($.object('target')) {\n var _$;\n var sys$ = new _assert.ObjectAssertion(data.target.sys, path.of('target').of('sys'));\n if (sys$.object()) {\n sys$.enum('type', [\n _this.type\n ]);\n sys$.enum('linkType', [\n _this.linkType\n ]);\n if (_this.type === 'Link') {\n sys$.string('id');\n sys$.noAdditionalProperties([\n 'type',\n 'linkType',\n 'id'\n ]);\n } else if (_this.type === 'ResourceLink') {\n sys$.string('urn');\n sys$.noAdditionalProperties([\n 'type',\n 'linkType',\n 'urn'\n ]);\n }\n }\n (_$ = $).catch.apply(_$, _to_consumable_array(sys$.errors));\n }\n $.noAdditionalProperties([\n 'target'\n ]);\n return $.errors;\n };\n _this.type = _this.linkType.startsWith('Contentful:') ? 'ResourceLink' : 'Link';\n return _this;\n }\n return EntityLinkAssertion;\n}(NodeAssertion);\nvar HyperLinkAssertion = /*#__PURE__*/ function(NodeAssertion) {\n \"use strict\";\n _inherits(HyperLinkAssertion, NodeAssertion);\n function HyperLinkAssertion() {\n _class_call_check(this, HyperLinkAssertion);\n var _this;\n _this = _call_super(this, HyperLinkAssertion, [\n [\n 'text'\n ],\n function(data, path) {\n return _assert_this_initialized(_this).assertLink(data, path);\n }\n ]), _define_property(_this, \"assertLink\", function(data, path) {\n var $ = new _assert.ObjectAssertion(data, path);\n $.string('uri');\n $.noAdditionalProperties([\n 'uri'\n ]);\n return $.errors;\n });\n return _this;\n }\n return HyperLinkAssertion;\n}(NodeAssertion);\nvar assert = function(contentRule, validateData) {\n return new NodeAssertion(contentRule, validateData);\n};\nvar assertLink = function(linkType, contentRule) {\n return new EntityLinkAssertion(linkType, contentRule);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Path\", {\n enumerable: true,\n get: function() {\n return Path;\n }\n});\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nvar Path = function Path() {\n \"use strict\";\n var _this = this;\n var path = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n _class_call_check(this, Path);\n _define_property(this, \"path\", void 0);\n _define_property(this, \"of\", void 0);\n _define_property(this, \"isRoot\", void 0);\n _define_property(this, \"last\", void 0);\n _define_property(this, \"toArray\", void 0);\n this.path = path;\n this.of = function(element) {\n return new Path(_to_consumable_array(_this.path).concat([\n element\n ]));\n };\n this.isRoot = function() {\n return _this.path.length === 0;\n };\n this.last = function() {\n return _this.path[_this.path.length - 1];\n };\n this.toArray = function() {\n return _this.path;\n };\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"validateRichTextDocument\", {\n enumerable: true,\n get: function() {\n return validateRichTextDocument;\n }\n});\nvar _blocks = require(\"../blocks.js\");\nvar _inlines = require(\"../inlines.js\");\nvar _schemaConstraints = require(\"../schemaConstraints.js\");\nvar _assert = require(\"./assert.js\");\nvar _node = require(\"./node.js\");\nvar _path = require(\"./path.js\");\nvar _text = require(\"./text.js\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nvar assertInlineOrText = (0, _node.assert)(_to_consumable_array(Object.values(_inlines.INLINES)).concat([\n 'text'\n]).sort());\nvar assertList = (0, _node.assert)([\n _blocks.BLOCKS.LIST_ITEM\n]);\nvar assertVoidEntryLink = (0, _node.assertLink)('Entry', _node.VOID_CONTENT);\nvar assertTableCell = (0, _node.assert)(function() {\n return {\n nodeTypes: [\n _blocks.BLOCKS.PARAGRAPH\n ],\n min: 1\n };\n}, function(data, path) {\n var $ = new _assert.ObjectAssertion(data, path);\n $.noAdditionalProperties([\n 'colspan',\n 'rowspan'\n ]);\n $.number('colspan', true);\n $.number('rowspan', true);\n return $.errors;\n});\nvar _obj;\nvar nodeValidator = (_obj = {}, _define_property(_obj, _blocks.BLOCKS.DOCUMENT, (0, _node.assert)(_schemaConstraints.TOP_LEVEL_BLOCKS)), _define_property(_obj, _blocks.BLOCKS.PARAGRAPH, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.HEADING_1, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.HEADING_2, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.HEADING_3, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.HEADING_4, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.HEADING_5, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.HEADING_6, assertInlineOrText), _define_property(_obj, _blocks.BLOCKS.QUOTE, (0, _node.assert)(_schemaConstraints.CONTAINERS[_blocks.BLOCKS.QUOTE])), _define_property(_obj, _blocks.BLOCKS.EMBEDDED_ENTRY, assertVoidEntryLink), _define_property(_obj, _blocks.BLOCKS.EMBEDDED_ASSET, (0, _node.assertLink)('Asset', _node.VOID_CONTENT)), _define_property(_obj, _blocks.BLOCKS.EMBEDDED_RESOURCE, (0, _node.assertLink)('Contentful:Entry', _node.VOID_CONTENT)), _define_property(_obj, _blocks.BLOCKS.HR, (0, _node.assert)(_node.VOID_CONTENT)), _define_property(_obj, _blocks.BLOCKS.OL_LIST, assertList), _define_property(_obj, _blocks.BLOCKS.UL_LIST, assertList), _define_property(_obj, _blocks.BLOCKS.LIST_ITEM, (0, _node.assert)(_to_consumable_array(_schemaConstraints.LIST_ITEM_BLOCKS).sort())), _define_property(_obj, _blocks.BLOCKS.TABLE, (0, _node.assert)(function() {\n return {\n nodeTypes: [\n _blocks.BLOCKS.TABLE_ROW\n ],\n min: 1\n };\n})), _define_property(_obj, _blocks.BLOCKS.TABLE_ROW, (0, _node.assert)(function() {\n return {\n nodeTypes: [\n _blocks.BLOCKS.TABLE_CELL,\n _blocks.BLOCKS.TABLE_HEADER_CELL\n ],\n min: 1\n };\n})), _define_property(_obj, _blocks.BLOCKS.TABLE_CELL, assertTableCell), _define_property(_obj, _blocks.BLOCKS.TABLE_HEADER_CELL, assertTableCell), _define_property(_obj, _inlines.INLINES.HYPERLINK, new _node.HyperLinkAssertion()), _define_property(_obj, _inlines.INLINES.EMBEDDED_ENTRY, assertVoidEntryLink), _define_property(_obj, _inlines.INLINES.EMBEDDED_RESOURCE, (0, _node.assertLink)('Contentful:Entry', _node.VOID_CONTENT)), _define_property(_obj, _inlines.INLINES.ENTRY_HYPERLINK, (0, _node.assertLink)('Entry', [\n 'text'\n])), _define_property(_obj, _inlines.INLINES.ASSET_HYPERLINK, (0, _node.assertLink)('Asset', [\n 'text'\n])), _define_property(_obj, _inlines.INLINES.RESOURCE_HYPERLINK, (0, _node.assertLink)('Contentful:Entry', [\n 'text'\n])), _obj);\nfunction validateNode(node, path) {\n if (node.nodeType === 'text') {\n return (0, _text.assertText)(node, path);\n }\n var errors = nodeValidator[node.nodeType].assert(node, path);\n if (errors.length > 0) {\n return errors;\n }\n var $ = new _assert.ObjectAssertion(node, path);\n $.each('content', function(item, path) {\n return validateNode(item, path);\n });\n return $.errors;\n}\nvar validateRichTextDocument = function(document) {\n var path = new _path.Path();\n var $ = new _assert.ObjectAssertion(document, path);\n if ($.object()) {\n $.enum('nodeType', [\n _blocks.BLOCKS.DOCUMENT\n ]);\n }\n if ($.errors.length > 0) {\n return $.errors;\n }\n return validateNode(document, path);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"assertText\", {\n enumerable: true,\n get: function() {\n return assertText;\n }\n});\nvar _assert = require(\"./assert.js\");\nfunction assertText(text, path) {\n var $ = new _assert.ObjectAssertion(text, path);\n if (!$.object()) {\n return $.errors;\n }\n $.noAdditionalProperties([\n 'nodeType',\n 'data',\n 'value',\n 'marks'\n ]);\n $.object('data');\n $.each('marks', function(mark, path) {\n var mark$ = new _assert.ObjectAssertion(mark, path);\n if (!mark$.object()) {\n return mark$.errors;\n }\n mark$.string('type');\n return mark$.errors;\n });\n $.string('value');\n return $.errors;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: Object.getOwnPropertyDescriptor(all, name).get\n });\n}\n_export(exports, {\n get BLOCKS () {\n return _blocks.BLOCKS;\n },\n get EMPTY_DOCUMENT () {\n return _emptyDocument.EMPTY_DOCUMENT;\n },\n get INLINES () {\n return _inlines.INLINES;\n },\n get MARKS () {\n return _marks.MARKS;\n },\n get helpers () {\n return _helpers;\n },\n get validateRichTextDocument () {\n return _index.validateRichTextDocument;\n }\n});\nvar _blocks = require(\"./blocks.js\");\nvar _inlines = require(\"./inlines.js\");\nvar _marks = require(\"./marks.js\");\n_export_star(require(\"./schemaConstraints.js\"), exports);\n_export_star(require(\"./types.js\"), exports);\n_export_star(require(\"./nodeTypes.js\"), exports);\nvar _emptyDocument = require(\"./emptyDocument.js\");\nvar _helpers = /*#__PURE__*/ _interop_require_wildcard(require(\"./helpers.js\"));\nvar _index = require(\"./validator/index.js\");\nfunction _export_star(from, to) {\n Object.keys(from).forEach(function(k) {\n if (k !== \"default\" && !Object.prototype.hasOwnProperty.call(to, k)) {\n Object.defineProperty(to, k, {\n enumerable: true,\n get: function() {\n return from[k];\n }\n });\n }\n });\n return from;\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {\n __proto__: null\n };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"EMPTY_DOCUMENT\", {\n enumerable: true,\n get: function() {\n return EMPTY_DOCUMENT;\n }\n});\nvar _blocks = require(\"./blocks.js\");\nvar EMPTY_DOCUMENT = {\n nodeType: _blocks.BLOCKS.DOCUMENT,\n data: {},\n content: [\n {\n nodeType: _blocks.BLOCKS.PARAGRAPH,\n data: {},\n content: [\n {\n nodeType: 'text',\n value: '',\n marks: [],\n data: {}\n }\n ]\n }\n ]\n};\n","'use strict';\n\nvar React = require('react');\nvar richTextTypes = require('@contentful/rich-text-types');\n\nfunction appendKeyToValidElement(element, key) {\n if (React.isValidElement(element) && element.key === null) {\n return React.cloneElement(element, {\n key\n });\n }\n return element;\n}\n\nfunction nodeListToReactComponents(nodes, options) {\n return nodes.map((node, index)=>{\n return appendKeyToValidElement(nodeToReactComponent(node, options), index);\n });\n}\nfunction nodeToReactComponent(node, options) {\n const { renderNode, renderMark, renderText, preserveWhitespace } = options;\n if (richTextTypes.helpers.isText(node)) {\n let nodeValue = renderText ? renderText(node.value) : node.value;\n if (preserveWhitespace && !renderText) {\n nodeValue = nodeValue.replace(/ {2,}/g, (match)=>'\\u00A0'.repeat(match.length));\n const lines = nodeValue.split('\\n');\n const jsxLines = [];\n lines.forEach((line, index)=>{\n jsxLines.push(line);\n if (index !== lines.length - 1) {\n jsxLines.push(React.createElement(\"br\", null));\n }\n });\n nodeValue = jsxLines;\n }\n return node.marks.reduce((value, mark)=>{\n if (!renderMark[mark.type]) {\n return value;\n }\n return renderMark[mark.type](value);\n }, nodeValue);\n } else {\n const children = nodeListToReactComponents(node.content, options);\n if (!node.nodeType || !renderNode[node.nodeType]) {\n return React.createElement(React.Fragment, null, children);\n }\n return renderNode[node.nodeType](node, children);\n }\n}\n\nconst defaultNodeRenderers = {\n [richTextTypes.BLOCKS.DOCUMENT]: (node, children)=>children,\n [richTextTypes.BLOCKS.PARAGRAPH]: (node, children)=>React.createElement(\"p\", null, children),\n [richTextTypes.BLOCKS.HEADING_1]: (node, children)=>React.createElement(\"h1\", null, children),\n [richTextTypes.BLOCKS.HEADING_2]: (node, children)=>React.createElement(\"h2\", null, children),\n [richTextTypes.BLOCKS.HEADING_3]: (node, children)=>React.createElement(\"h3\", null, children),\n [richTextTypes.BLOCKS.HEADING_4]: (node, children)=>React.createElement(\"h4\", null, children),\n [richTextTypes.BLOCKS.HEADING_5]: (node, children)=>React.createElement(\"h5\", null, children),\n [richTextTypes.BLOCKS.HEADING_6]: (node, children)=>React.createElement(\"h6\", null, children),\n [richTextTypes.BLOCKS.EMBEDDED_ENTRY]: (node, children)=>React.createElement(\"div\", null, children),\n [richTextTypes.BLOCKS.EMBEDDED_RESOURCE]: (node, children)=>React.createElement(\"div\", null, children),\n [richTextTypes.BLOCKS.UL_LIST]: (node, children)=>React.createElement(\"ul\", null, children),\n [richTextTypes.BLOCKS.OL_LIST]: (node, children)=>React.createElement(\"ol\", null, children),\n [richTextTypes.BLOCKS.LIST_ITEM]: (node, children)=>React.createElement(\"li\", null, children),\n [richTextTypes.BLOCKS.QUOTE]: (node, children)=>React.createElement(\"blockquote\", null, children),\n [richTextTypes.BLOCKS.HR]: ()=>React.createElement(\"hr\", null),\n [richTextTypes.BLOCKS.TABLE]: (node, children)=>React.createElement(\"table\", null, React.createElement(\"tbody\", null, children)),\n [richTextTypes.BLOCKS.TABLE_ROW]: (node, children)=>React.createElement(\"tr\", null, children),\n [richTextTypes.BLOCKS.TABLE_HEADER_CELL]: (node, children)=>React.createElement(\"th\", null, children),\n [richTextTypes.BLOCKS.TABLE_CELL]: (node, children)=>React.createElement(\"td\", null, children),\n [richTextTypes.INLINES.ASSET_HYPERLINK]: (node)=>defaultInline(richTextTypes.INLINES.ASSET_HYPERLINK, node),\n [richTextTypes.INLINES.ENTRY_HYPERLINK]: (node)=>defaultInline(richTextTypes.INLINES.ENTRY_HYPERLINK, node),\n [richTextTypes.INLINES.RESOURCE_HYPERLINK]: (node)=>defaultInlineResource(richTextTypes.INLINES.RESOURCE_HYPERLINK, node),\n [richTextTypes.INLINES.EMBEDDED_ENTRY]: (node)=>defaultInline(richTextTypes.INLINES.EMBEDDED_ENTRY, node),\n [richTextTypes.INLINES.EMBEDDED_RESOURCE]: (node, _children)=>defaultInlineResource(richTextTypes.INLINES.EMBEDDED_RESOURCE, node),\n [richTextTypes.INLINES.HYPERLINK]: (node, children)=>React.createElement(\"a\", {\n href: node.data.uri\n }, children)\n};\nconst defaultMarkRenderers = {\n [richTextTypes.MARKS.BOLD]: (text)=>React.createElement(\"b\", null, text),\n [richTextTypes.MARKS.ITALIC]: (text)=>React.createElement(\"i\", null, text),\n [richTextTypes.MARKS.UNDERLINE]: (text)=>React.createElement(\"u\", null, text),\n [richTextTypes.MARKS.CODE]: (text)=>React.createElement(\"code\", null, text),\n [richTextTypes.MARKS.SUPERSCRIPT]: (text)=>React.createElement(\"sup\", null, text),\n [richTextTypes.MARKS.SUBSCRIPT]: (text)=>React.createElement(\"sub\", null, text),\n [richTextTypes.MARKS.STRIKETHROUGH]: (text)=>React.createElement(\"s\", null, text)\n};\nfunction defaultInline(type, node) {\n return React.createElement(\"span\", {\n key: node.data.target.sys.id\n }, \"type: \", node.nodeType, \" id: \", node.data.target.sys.id);\n}\nfunction defaultInlineResource(type, node) {\n return React.createElement(\"span\", {\n key: node.data.target.sys.urn\n }, \"type: \", node.nodeType, \" urn: \", node.data.target.sys.urn);\n}\nfunction documentToReactComponents(richTextDocument, options = {}) {\n if (!richTextDocument) {\n return null;\n }\n let processedDocument = richTextDocument;\n if (options.stripEmptyTrailingParagraph) {\n processedDocument = richTextTypes.helpers.stripEmptyTrailingParagraphFromDocument(richTextDocument);\n }\n return nodeToReactComponent(processedDocument, {\n renderNode: {\n ...defaultNodeRenderers,\n ...options.renderNode\n },\n renderMark: {\n ...defaultMarkRenderers,\n ...options.renderMark\n },\n renderText: options.renderText,\n preserveWhitespace: options.preserveWhitespace\n });\n}\n\nexports.documentToReactComponents = documentToReactComponents;\n//# sourceMappingURL=rich-text-react-renderer.es5.js.map\n","export var BLOCKS = /*#__PURE__*/ function(BLOCKS) {\n BLOCKS[\"DOCUMENT\"] = \"document\";\n BLOCKS[\"PARAGRAPH\"] = \"paragraph\";\n BLOCKS[\"HEADING_1\"] = \"heading-1\";\n BLOCKS[\"HEADING_2\"] = \"heading-2\";\n BLOCKS[\"HEADING_3\"] = \"heading-3\";\n BLOCKS[\"HEADING_4\"] = \"heading-4\";\n BLOCKS[\"HEADING_5\"] = \"heading-5\";\n BLOCKS[\"HEADING_6\"] = \"heading-6\";\n BLOCKS[\"OL_LIST\"] = \"ordered-list\";\n BLOCKS[\"UL_LIST\"] = \"unordered-list\";\n BLOCKS[\"LIST_ITEM\"] = \"list-item\";\n BLOCKS[\"HR\"] = \"hr\";\n BLOCKS[\"QUOTE\"] = \"blockquote\";\n BLOCKS[\"EMBEDDED_ENTRY\"] = \"embedded-entry-block\";\n BLOCKS[\"EMBEDDED_ASSET\"] = \"embedded-asset-block\";\n BLOCKS[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-block\";\n BLOCKS[\"TABLE\"] = \"table\";\n BLOCKS[\"TABLE_ROW\"] = \"table-row\";\n BLOCKS[\"TABLE_CELL\"] = \"table-cell\";\n BLOCKS[\"TABLE_HEADER_CELL\"] = \"table-header-cell\";\n return BLOCKS;\n}({});\n","export var INLINES = /*#__PURE__*/ function(INLINES) {\n INLINES[\"ASSET_HYPERLINK\"] = \"asset-hyperlink\";\n INLINES[\"EMBEDDED_ENTRY\"] = \"embedded-entry-inline\";\n INLINES[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-inline\";\n INLINES[\"ENTRY_HYPERLINK\"] = \"entry-hyperlink\";\n INLINES[\"HYPERLINK\"] = \"hyperlink\";\n INLINES[\"RESOURCE_HYPERLINK\"] = \"resource-hyperlink\";\n return INLINES;\n}({});\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nimport { BLOCKS } from './blocks.mjs';\nimport { INLINES } from './inlines.mjs';\nimport { MARKS } from './marks.mjs';\nexport var TOP_LEVEL_BLOCKS = [\n BLOCKS.PARAGRAPH,\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6,\n BLOCKS.OL_LIST,\n BLOCKS.UL_LIST,\n BLOCKS.HR,\n BLOCKS.QUOTE,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n BLOCKS.EMBEDDED_RESOURCE,\n BLOCKS.TABLE\n];\nexport var LIST_ITEM_BLOCKS = [\n BLOCKS.PARAGRAPH,\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6,\n BLOCKS.OL_LIST,\n BLOCKS.UL_LIST,\n BLOCKS.HR,\n BLOCKS.QUOTE,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n BLOCKS.EMBEDDED_RESOURCE\n];\nexport var TABLE_BLOCKS = [\n BLOCKS.TABLE,\n BLOCKS.TABLE_ROW,\n BLOCKS.TABLE_CELL,\n BLOCKS.TABLE_HEADER_CELL\n];\nexport var VOID_BLOCKS = [\n BLOCKS.HR,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n BLOCKS.EMBEDDED_RESOURCE\n];\nvar _obj;\nexport var CONTAINERS = (_obj = {}, _define_property(_obj, BLOCKS.OL_LIST, [\n BLOCKS.LIST_ITEM\n]), _define_property(_obj, BLOCKS.UL_LIST, [\n BLOCKS.LIST_ITEM\n]), _define_property(_obj, BLOCKS.LIST_ITEM, LIST_ITEM_BLOCKS), _define_property(_obj, BLOCKS.QUOTE, [\n BLOCKS.PARAGRAPH\n]), _define_property(_obj, BLOCKS.TABLE, [\n BLOCKS.TABLE_ROW\n]), _define_property(_obj, BLOCKS.TABLE_ROW, [\n BLOCKS.TABLE_CELL,\n BLOCKS.TABLE_HEADER_CELL\n]), _define_property(_obj, BLOCKS.TABLE_CELL, [\n BLOCKS.PARAGRAPH,\n BLOCKS.UL_LIST,\n BLOCKS.OL_LIST\n]), _define_property(_obj, BLOCKS.TABLE_HEADER_CELL, [\n BLOCKS.PARAGRAPH\n]), _obj);\nexport var HEADINGS = [\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6\n];\nexport var TEXT_CONTAINERS = [\n BLOCKS.PARAGRAPH\n].concat(_to_consumable_array(HEADINGS));\nexport var V1_NODE_TYPES = [\n BLOCKS.DOCUMENT,\n BLOCKS.PARAGRAPH,\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6,\n BLOCKS.OL_LIST,\n BLOCKS.UL_LIST,\n BLOCKS.LIST_ITEM,\n BLOCKS.HR,\n BLOCKS.QUOTE,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n INLINES.HYPERLINK,\n INLINES.ENTRY_HYPERLINK,\n INLINES.ASSET_HYPERLINK,\n INLINES.EMBEDDED_ENTRY,\n 'text'\n];\nexport var V1_MARKS = [\n MARKS.BOLD,\n MARKS.CODE,\n MARKS.ITALIC,\n MARKS.UNDERLINE\n];\n","import { BLOCKS } from './blocks.mjs';\nexport var EMPTY_DOCUMENT = {\n nodeType: BLOCKS.DOCUMENT,\n data: {},\n content: [\n {\n nodeType: BLOCKS.PARAGRAPH,\n data: {},\n content: [\n {\n nodeType: 'text',\n value: '',\n marks: [],\n data: {}\n }\n ]\n }\n ]\n};\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nexport var typeMismatchError = function(param) {\n var path = param.path, property = param.property, typeName = param.typeName, value = param.value;\n return {\n details: 'The type of \"'.concat(property, '\" is incorrect, expected type: ').concat(typeName),\n name: 'type',\n path: path.toArray(),\n type: typeName,\n value: value\n };\n};\nexport var minSizeError = function(param) {\n var min = param.min, value = param.value, path = param.path;\n return {\n name: 'size',\n min: min,\n path: path.toArray(),\n details: \"Size must be at least \".concat(min),\n value: value\n };\n};\nexport var maxSizeError = function(param) {\n var max = param.max, value = param.value, path = param.path;\n return {\n name: 'size',\n max: max,\n path: path.toArray(),\n details: \"Size must be at most \".concat(max),\n value: value\n };\n};\nexport var enumError = function(param) {\n var expected = param.expected, value = param.value, path = param.path;\n return {\n details: \"Value must be one of expected values\",\n name: 'in',\n expected: _to_consumable_array(expected).sort(),\n path: path.toArray(),\n value: value\n };\n};\nexport var unknownPropertyError = function(param) {\n var property = param.property, path = param.path;\n return {\n details: 'The property \"'.concat(property, '\" is not expected'),\n name: 'unexpected',\n path: path.toArray()\n };\n};\nexport var requiredPropertyError = function(param) {\n var property = param.property, path = param.path;\n return {\n details: 'The property \"'.concat(property, '\" is required here'),\n name: 'required',\n path: path.toArray()\n };\n};\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nimport isPlainObject from 'is-plain-obj';\nimport { maxSizeError, typeMismatchError, enumError, unknownPropertyError, requiredPropertyError, minSizeError } from './errors.mjs';\nexport var ObjectAssertion = /*#__PURE__*/ function() {\n \"use strict\";\n function ObjectAssertion(obj, path) {\n var _this = this;\n var _this1 = this;\n _class_call_check(this, ObjectAssertion);\n _define_property(this, \"obj\", void 0);\n _define_property(this, \"path\", void 0);\n _define_property(this, \"_errors\", void 0);\n _define_property(this, \"catch\", void 0);\n _define_property(this, \"exists\", void 0);\n _define_property(this, \"object\", void 0);\n _define_property(this, \"string\", void 0);\n _define_property(this, \"number\", void 0);\n _define_property(this, \"array\", void 0);\n _define_property(this, \"enum\", void 0);\n _define_property(this, \"empty\", void 0);\n _define_property(this, \"minLength\", void 0);\n _define_property(this, \"noAdditionalProperties\", void 0);\n _define_property(this, \"each\", void 0);\n this.obj = obj;\n this.path = path;\n this._errors = [];\n this.catch = function() {\n for(var _len = arguments.length, errors = new Array(_len), _key = 0; _key < _len; _key++){\n errors[_key] = arguments[_key];\n }\n var _this__errors;\n (_this__errors = _this1._errors).push.apply(_this__errors, _to_consumable_array(errors));\n };\n this.exists = function(key) {\n if (key in _this.obj) {\n return true;\n }\n _this.catch(requiredPropertyError({\n property: key,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.object = function(key) {\n var value = key ? _this.obj[key] : _this.obj;\n if (key) {\n if (!_this.exists(key)) {\n return false;\n }\n }\n if (isPlainObject(value)) {\n return true;\n }\n var _$path = key ? _this.path.of(key) : _this.path;\n var _ref;\n var property = (_ref = key !== null && key !== void 0 ? key : _this.path.last()) !== null && _ref !== void 0 ? _ref : 'value';\n _this.catch(typeMismatchError({\n typeName: 'Object',\n property: property,\n path: _$path,\n value: value\n }));\n return false;\n };\n this.string = function(key) {\n var value = _this.obj[key];\n if (key && !_this.exists(key)) {\n return false;\n }\n if (typeof value === 'string') {\n return true;\n }\n _this.catch(typeMismatchError({\n typeName: 'String',\n property: key,\n path: _this.path.of(key),\n value: value\n }));\n return false;\n };\n this.number = function(key, optional) {\n var value = _this.obj[key];\n if (optional && !(key in _this.obj)) {\n return true;\n }\n if (!_this.exists(key)) {\n return false;\n }\n if (typeof value === 'number' && !Number.isNaN(value)) {\n return true;\n }\n _this.catch(typeMismatchError({\n typeName: 'Number',\n property: key,\n path: _this.path.of(key),\n value: value\n }));\n return false;\n };\n this.array = function(key) {\n var value = _this.obj[key];\n if (key && !_this.exists(key)) {\n return false;\n }\n if (Array.isArray(value)) {\n return true;\n }\n _this.catch(typeMismatchError({\n typeName: 'Array',\n property: key,\n path: _this.path.of(key),\n value: value\n }));\n return false;\n };\n this.enum = function(key, expected) {\n var value = _this.obj[key];\n if (typeof value === 'string' && expected.includes(value)) {\n return true;\n }\n _this.catch(enumError({\n expected: expected,\n value: value,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.empty = function(key) {\n if (!_this.array(key)) {\n return false;\n }\n var value = _this.obj[key];\n if (value.length === 0) {\n return true;\n }\n _this.catch(maxSizeError({\n max: 0,\n value: value,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.minLength = function(key, min) {\n if (!_this.array(key)) {\n return false;\n }\n var value = _this.obj[key];\n if (value.length >= min) {\n return true;\n }\n _this.catch(minSizeError({\n min: min,\n value: value,\n path: _this.path.of(key)\n }));\n return false;\n };\n this.noAdditionalProperties = function(properties) {\n var unknowns = Object.keys(_this.obj).sort().filter(function(key) {\n return !properties.includes(key);\n });\n unknowns.forEach(function(property) {\n return _this.catch(unknownPropertyError({\n property: property,\n path: _this.path.of(property)\n }));\n });\n return unknowns.length === 0;\n };\n this.each = function(key, assert) {\n if (!_this.array(key)) {\n return;\n }\n var value = _this.obj[key];\n var foundErrors = false;\n value.forEach(function(item, index) {\n if (foundErrors) {\n return;\n }\n var errors = assert(item, _this.path.of(key).of(index));\n if (errors.length > 0) {\n foundErrors = true;\n }\n _this.catch.apply(_this, _to_consumable_array(errors));\n });\n };\n }\n _create_class(ObjectAssertion, [\n {\n key: \"errors\",\n get: function get() {\n var _this = this;\n var serializeError = function(error) {\n return JSON.stringify({\n details: error.details,\n path: error.path\n });\n };\n return this._errors.filter(function(error, index) {\n return _this._errors.findIndex(function(step) {\n return serializeError(error) === serializeError(step);\n }) === index;\n });\n }\n }\n ]);\n return ObjectAssertion;\n}();\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _call_super(_this, derived, args) {\n derived = _get_prototype_of(derived);\n return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _set_prototype_of(o, p);\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _is_native_reflect_construct() {\n try {\n var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n } catch (_) {}\n return (_is_native_reflect_construct = function() {\n return !!result;\n })();\n}\nimport { ObjectAssertion } from './assert.mjs';\nexport var VOID_CONTENT = [];\nexport var NodeAssertion = /*#__PURE__*/ function() {\n \"use strict\";\n function NodeAssertion(contentRule, validateData) {\n _class_call_check(this, NodeAssertion);\n _define_property(this, \"contentRule\", void 0);\n _define_property(this, \"validateData\", void 0);\n this.contentRule = contentRule;\n this.validateData = validateData;\n }\n _create_class(NodeAssertion, [\n {\n key: \"assert\",\n value: function assert(node, path) {\n var $ = new ObjectAssertion(node, path);\n if (!$.object()) {\n return $.errors;\n }\n $.noAdditionalProperties([\n 'nodeType',\n 'data',\n 'content'\n ]);\n var _ref = Array.isArray(this.contentRule) ? {\n nodeTypes: this.contentRule\n } : this.contentRule(node, path), nodeTypes = _ref.nodeTypes, _ref_min = _ref.min, min = _ref_min === void 0 ? 0 : _ref_min;\n if (nodeTypes.length === 0 && min > 0) {\n throw new Error(\"Invalid content rule. Cannot have enforce a 'min' of \".concat(min, \" with no nodeTypes\"));\n }\n $.minLength('content', min);\n if (nodeTypes.length === 0) {\n $.empty('content');\n } else {\n $.each('content', function(item, path) {\n var item$ = new ObjectAssertion(item, path);\n if (!item$.object()) {\n return item$.errors;\n }\n item$.enum('nodeType', nodeTypes);\n return item$.errors;\n });\n }\n if ($.object('data')) {\n var _$;\n var _this_validateData, _this;\n var _this_validateData1;\n var dataErrors = (_this_validateData1 = (_this_validateData = (_this = this).validateData) === null || _this_validateData === void 0 ? void 0 : _this_validateData.call(_this, node.data, path.of('data'))) !== null && _this_validateData1 !== void 0 ? _this_validateData1 : [];\n (_$ = $).catch.apply(_$, _to_consumable_array(dataErrors));\n }\n return $.errors;\n }\n }\n ]);\n return NodeAssertion;\n}();\nexport var EntityLinkAssertion = /*#__PURE__*/ function(NodeAssertion) {\n \"use strict\";\n _inherits(EntityLinkAssertion, NodeAssertion);\n function EntityLinkAssertion(linkType, contentNodeTypes) {\n _class_call_check(this, EntityLinkAssertion);\n var _this;\n _this = _call_super(this, EntityLinkAssertion, [\n contentNodeTypes,\n function(data, path) {\n return _assert_this_initialized(_this).assertLink(data, path);\n }\n ]), _define_property(_this, \"linkType\", void 0), _define_property(_this, \"type\", void 0), _define_property(_this, \"assertLink\", void 0), _this.linkType = linkType, _this.assertLink = function(data, path) {\n var $ = new ObjectAssertion(data, path);\n if ($.object('target')) {\n var _$;\n var sys$ = new ObjectAssertion(data.target.sys, path.of('target').of('sys'));\n if (sys$.object()) {\n sys$.enum('type', [\n _this.type\n ]);\n sys$.enum('linkType', [\n _this.linkType\n ]);\n if (_this.type === 'Link') {\n sys$.string('id');\n sys$.noAdditionalProperties([\n 'type',\n 'linkType',\n 'id'\n ]);\n } else if (_this.type === 'ResourceLink') {\n sys$.string('urn');\n sys$.noAdditionalProperties([\n 'type',\n 'linkType',\n 'urn'\n ]);\n }\n }\n (_$ = $).catch.apply(_$, _to_consumable_array(sys$.errors));\n }\n $.noAdditionalProperties([\n 'target'\n ]);\n return $.errors;\n };\n _this.type = _this.linkType.startsWith('Contentful:') ? 'ResourceLink' : 'Link';\n return _this;\n }\n return EntityLinkAssertion;\n}(NodeAssertion);\nexport var HyperLinkAssertion = /*#__PURE__*/ function(NodeAssertion) {\n \"use strict\";\n _inherits(HyperLinkAssertion, NodeAssertion);\n function HyperLinkAssertion() {\n _class_call_check(this, HyperLinkAssertion);\n var _this;\n _this = _call_super(this, HyperLinkAssertion, [\n [\n 'text'\n ],\n function(data, path) {\n return _assert_this_initialized(_this).assertLink(data, path);\n }\n ]), _define_property(_this, \"assertLink\", function(data, path) {\n var $ = new ObjectAssertion(data, path);\n $.string('uri');\n $.noAdditionalProperties([\n 'uri'\n ]);\n return $.errors;\n });\n return _this;\n }\n return HyperLinkAssertion;\n}(NodeAssertion);\nexport var assert = function(contentRule, validateData) {\n return new NodeAssertion(contentRule, validateData);\n};\nexport var assertLink = function(linkType, contentRule) {\n return new EntityLinkAssertion(linkType, contentRule);\n};\n","function _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nimport { BLOCKS } from '../blocks.mjs';\nimport { INLINES } from '../inlines.mjs';\nimport { CONTAINERS, LIST_ITEM_BLOCKS, TOP_LEVEL_BLOCKS } from '../schemaConstraints.mjs';\nimport { ObjectAssertion } from './assert.mjs';\nimport { HyperLinkAssertion, assert, assertLink, VOID_CONTENT } from './node.mjs';\nimport { Path } from './path.mjs';\nimport { assertText } from './text.mjs';\nvar assertInlineOrText = assert(_to_consumable_array(Object.values(INLINES)).concat([\n 'text'\n]).sort());\nvar assertList = assert([\n BLOCKS.LIST_ITEM\n]);\nvar assertVoidEntryLink = assertLink('Entry', VOID_CONTENT);\nvar assertTableCell = assert(function() {\n return {\n nodeTypes: [\n BLOCKS.PARAGRAPH\n ],\n min: 1\n };\n}, function(data, path) {\n var $ = new ObjectAssertion(data, path);\n $.noAdditionalProperties([\n 'colspan',\n 'rowspan'\n ]);\n $.number('colspan', true);\n $.number('rowspan', true);\n return $.errors;\n});\nvar _obj;\nvar nodeValidator = (_obj = {}, _define_property(_obj, BLOCKS.DOCUMENT, assert(TOP_LEVEL_BLOCKS)), _define_property(_obj, BLOCKS.PARAGRAPH, assertInlineOrText), _define_property(_obj, BLOCKS.HEADING_1, assertInlineOrText), _define_property(_obj, BLOCKS.HEADING_2, assertInlineOrText), _define_property(_obj, BLOCKS.HEADING_3, assertInlineOrText), _define_property(_obj, BLOCKS.HEADING_4, assertInlineOrText), _define_property(_obj, BLOCKS.HEADING_5, assertInlineOrText), _define_property(_obj, BLOCKS.HEADING_6, assertInlineOrText), _define_property(_obj, BLOCKS.QUOTE, assert(CONTAINERS[BLOCKS.QUOTE])), _define_property(_obj, BLOCKS.EMBEDDED_ENTRY, assertVoidEntryLink), _define_property(_obj, BLOCKS.EMBEDDED_ASSET, assertLink('Asset', VOID_CONTENT)), _define_property(_obj, BLOCKS.EMBEDDED_RESOURCE, assertLink('Contentful:Entry', VOID_CONTENT)), _define_property(_obj, BLOCKS.HR, assert(VOID_CONTENT)), _define_property(_obj, BLOCKS.OL_LIST, assertList), _define_property(_obj, BLOCKS.UL_LIST, assertList), _define_property(_obj, BLOCKS.LIST_ITEM, assert(_to_consumable_array(LIST_ITEM_BLOCKS).sort())), _define_property(_obj, BLOCKS.TABLE, assert(function() {\n return {\n nodeTypes: [\n BLOCKS.TABLE_ROW\n ],\n min: 1\n };\n})), _define_property(_obj, BLOCKS.TABLE_ROW, assert(function() {\n return {\n nodeTypes: [\n BLOCKS.TABLE_CELL,\n BLOCKS.TABLE_HEADER_CELL\n ],\n min: 1\n };\n})), _define_property(_obj, BLOCKS.TABLE_CELL, assertTableCell), _define_property(_obj, BLOCKS.TABLE_HEADER_CELL, assertTableCell), _define_property(_obj, INLINES.HYPERLINK, new HyperLinkAssertion()), _define_property(_obj, INLINES.EMBEDDED_ENTRY, assertVoidEntryLink), _define_property(_obj, INLINES.EMBEDDED_RESOURCE, assertLink('Contentful:Entry', VOID_CONTENT)), _define_property(_obj, INLINES.ENTRY_HYPERLINK, assertLink('Entry', [\n 'text'\n])), _define_property(_obj, INLINES.ASSET_HYPERLINK, assertLink('Asset', [\n 'text'\n])), _define_property(_obj, INLINES.RESOURCE_HYPERLINK, assertLink('Contentful:Entry', [\n 'text'\n])), _obj);\nfunction validateNode(node, path) {\n if (node.nodeType === 'text') {\n return assertText(node, path);\n }\n var errors = nodeValidator[node.nodeType].assert(node, path);\n if (errors.length > 0) {\n return errors;\n }\n var $ = new ObjectAssertion(node, path);\n $.each('content', function(item, path) {\n return validateNode(item, path);\n });\n return $.errors;\n}\nexport var validateRichTextDocument = function(document) {\n var path = new Path();\n var $ = new ObjectAssertion(document, path);\n if ($.object()) {\n $.enum('nodeType', [\n BLOCKS.DOCUMENT\n ]);\n }\n if ($.errors.length > 0) {\n return $.errors;\n }\n return validateNode(document, path);\n};\n",null,null,null,null,null,null],"names":["r","e","t","f","n","Array","isArray","o","length","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","getPart","isThemeGetter","push","Object","entries","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","postfixModifierPosition","bracketDepth","parenDepth","modifierStart","index","currentCharacter","MODIFIER_SEPARATOR","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortedModifiers","unsortedModifiers","sort","SPLIT_CLASSES_REGEX","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","configUtils","cacheGet","cacheSet","functionToCall","classList","reduce","previousConfig","createConfigCurrent","sortModifiers","createConfigUtils","tailwindMerge","cachedResult","result","classGroupsInConflict","classNames","trim","originalClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","mergeClassList","apply","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scalePositionWithArbitrary","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","repeat","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","overrideProperty","baseObject","overrideKey","overrideValue","overrideConfigProperties","overrideObject","mergeConfigProperties","mergeObject","mergeArrayProperties","mergeValue","concat","twMerge","configExtension","createConfig","baseConfig","extend","override","mergeConfigs","extendTailwindMerge","cx","val","clsx","assign","target","source","init","converter","defaultAttributes","name","attributes","document","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","write","create","cookies","jar","parts","found","read","remove","withAttributes","this","withConverter","freeze","defineProperty","exports","enumerable","BLOCKS","INLINES","MARKS","all","getOwnPropertyDescriptor","_export","CONTAINERS","HEADINGS","LIST_ITEM_BLOCKS","TABLE_BLOCKS","TEXT_CONTAINERS","TOP_LEVEL_BLOCKS","V1_MARKS","V1_NODE_TYPES","VOID_BLOCKS","_blocks","require$$0","_inlines","require$$1","_marks","require$$2","_array_like_to_array","arr","len","arr2","_define_property","obj","configurable","writable","_obj","PARAGRAPH","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6","OL_LIST","UL_LIST","HR","QUOTE","EMBEDDED_ENTRY","EMBEDDED_ASSET","EMBEDDED_RESOURCE","TABLE","TABLE_ROW","TABLE_CELL","TABLE_HEADER_CELL","LIST_ITEM","_array_without_holes","iter","Symbol","iterator","_iterable_to_array","minLen","prototype","toString","call","constructor","_unsupported_iterable_to_array","TypeError","_non_iterable_spread","DOCUMENT","HYPERLINK","ENTRY_HYPERLINK","ASSET_HYPERLINK","BOLD","CODE","ITALIC","UNDERLINE","isBlock","isEmptyParagraph","isInline","isText","stripEmptyTrailingParagraphFromDocument","_object_spread_props","getOwnPropertyDescriptors","defineProperties","keys","getOwnPropertySymbols","symbols","ownKeys","hasValue","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","err","return","node","nodeType","textNode","isValidDocument","MIN_NODES_FOR_STRIPPING","sym","_object_spread","isPlainObj","getPrototypeOf","_to_consumable_array","enumError","maxSizeError","minSizeError","requiredPropertyError","typeMismatchError","unknownPropertyError","param","typeName","details","toArray","type","min","max","expected","ObjectAssertion","_isplainobj","_interop_require_default","_errors","_create_class","Constructor","protoProps","staticProps","props","descriptor","_defineProperties","__esModule","default","_this","_this1","instance","_class_call_check","catch","_len","errors","_key","_this__errors","exists","of","_ref","_$path","last","number","optional","array","enum","empty","minLength","noAdditionalProperties","properties","unknowns","each","assert","foundErrors","item","serializeError","error","JSON","stringify","findIndex","step","EntityLinkAssertion","HyperLinkAssertion","NodeAssertion","VOID_CONTENT","assertLink","_assert","_assert_this_initialized","ReferenceError","_call_super","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","setPrototypeOf","__proto__","_inherits","subClass","superClass","_set_prototype_of","Boolean","valueOf","_","contentRule","validateData","$","nodeTypes","_ref_min","Error","item$","_$","_this_validateData","_this_validateData1","dataErrors","data","linkType","contentNodeTypes","sys$","sys","Path","element","isRoot","validateRichTextDocument","_schemaConstraints","require$$3","_node","require$$4","_path","require$$5","_text","assertText","mark","mark$","assertInlineOrText","values","assertList","assertVoidEntryLink","assertTableCell","nodeValidator","RESOURCE_HYPERLINK","validateNode","EMPTY_DOCUMENT","_emptyDocument","helpers","_helpers","_index","_export_star","types","marks","_interop_require_wildcard","require$$7","require$$8","hasOwnProperty","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","newObj","hasPropertyDescriptor","desc","React","richTextTypes","nodeListToReactComponents","nodes","options","nodeToReactComponent","isValidElement","cloneElement","renderNode","renderMark","renderText","preserveWhitespace","nodeValue","match","lines","jsxLines","line","createElement","children","Fragment","defaultNodeRenderers","defaultInline","defaultInlineResource","_children","href","uri","defaultMarkRenderers","SUPERSCRIPT","SUBSCRIPT","STRIKETHROUGH","id","urn","richTextReactRenderer_es5","documentToReactComponents","richTextDocument","processedDocument","stripEmptyTrailingParagraph","isPlainObject","ListItem","forwardRef","variant","style","ref","combinedClassName","_jsx","displayName","renderItem","tailwindClasses","getVariantClasses","listProps","Text","as","elementType","NextLink","NextLinkImport","_a","onClick","external","disabled","variantClasses","stateClasses","handleClick","event","preventDefault","linkProps","rel","tabIndex","NextJsImage","mod","current","resolveDefaultExport","NextJsImageImport","contentfulImageLoader","src","width","quality","url","URL","searchParams","String","NextImage","srcString","urlWithoutParams","toLowerCase","isContentfulImage","isSvgFromContentful","loaderProps","loader","unoptimized"],"mappings":";;8LAAA,SAASA,EAAEC,GAAG,IAAIC,EAAEC,EAAEC,EAAE,GAAG,GAAG,iBAAiBH,GAAG,iBAAiBA,EAAEG,GAAGH,OAAO,GAAG,iBAAiBA,EAAE,GAAGI,MAAMC,QAAQL,GAAG,CAAC,IAAIM,EAAEN,EAAEO,OAAO,IAAIN,EAAE,EAAEA,EAAEK,EAAEL,IAAID,EAAEC,KAAKC,EAAEH,EAAEC,EAAEC,OAAOE,IAAIA,GAAG,KAAKA,GAAGD,EAAE,MAAM,IAAIA,KAAKF,EAAEA,EAAEE,KAAKC,IAAIA,GAAG,KAAKA,GAAGD,GAAG,OAAOC,CAAC,CCAhP,MACMK,EAAwBC,IAC5B,MAAMC,EAAWC,EAAeF,IAC1BG,uBACJA,EAAsBC,+BACtBA,GACEJ,EAgBJ,MAAO,CACLK,gBAhBsBC,IACtB,MAAMC,EAAaD,EAAUE,MARJ,KAazB,MAHsB,KAAlBD,EAAW,IAAmC,IAAtBA,EAAWT,QACrCS,EAAWE,QAENC,EAAkBH,EAAYN,IAAaU,EAA+BL,IAWjFM,4BATkC,CAACC,EAAcC,KACjD,MAAMC,EAAYZ,EAAuBU,IAAiB,GAC1D,OAAIC,GAAsBV,EAA+BS,GAChD,IAAIE,KAAcX,EAA+BS,IAEnDE,KAOLL,EAAoB,CAACH,EAAYS,KACrC,GAA0B,IAAtBT,EAAWT,OACb,OAAOkB,EAAgBH,aAEzB,MAAMI,EAAmBV,EAAW,GAC9BW,EAAsBF,EAAgBG,SAASC,IAAIH,GACnDI,EAA8BH,EAAsBR,EAAkBH,EAAWe,MAAM,GAAIJ,QAAuBK,EACxH,GAAIF,EACF,OAAOA,EAET,GAA0C,IAAtCL,EAAgBQ,WAAW1B,OAC7B,OAEF,MAAM2B,EAAYlB,EAAWmB,KAxCF,KAyC3B,OAAOV,EAAgBQ,WAAWG,KAAK,EACrCC,eACIA,EAAUH,KAAaZ,cAEzBgB,EAAyB,aACzBlB,EAAiCL,IACrC,GAAIuB,EAAuBC,KAAKxB,GAAY,CAC1C,MAAMyB,EAA6BF,EAAuBG,KAAK1B,GAAW,GACpE2B,EAAWF,GAA4BG,UAAU,EAAGH,EAA2BI,QAAQ,MAC7F,GAAIF,EAEF,MAAO,cAAgBA,CAE3B,GAKI/B,EAAiBF,IACrB,MAAMoC,MACJA,EAAKC,YACLA,GACErC,EACEC,EAAW,CACfkB,SAAU,IAAImB,IACdd,WAAY,IAEd,IAAK,MAAMX,KAAgBwB,EACzBE,EAA0BF,EAAYxB,GAAeZ,EAAUY,EAAcuB,GAE/E,OAAOnC,GAEHsC,EAA4B,CAACC,EAAYxB,EAAiBH,EAAcuB,KAC5EI,EAAWC,QAAQC,IACjB,GAA+B,iBAApBA,EAA8B,CAGvC,aAFkD,KAApBA,EAAyB1B,EAAkB2B,EAAQ3B,EAAiB0B,IAC5E7B,aAAeA,EAEvC,CACA,GAA+B,mBAApB6B,EACT,OAAIE,EAAcF,QAChBH,EAA0BG,EAAgBN,GAAQpB,EAAiBH,EAAcuB,QAGnFpB,EAAgBQ,WAAWqB,KAAK,CAC9BjB,UAAWc,EACX7B,iBAIJiC,OAAOC,QAAQL,GAAiBD,QAAQ,EAAEO,EAAKR,MAC7CD,EAA0BC,EAAYG,EAAQ3B,EAAiBgC,GAAMnC,EAAcuB,QAInFO,EAAU,CAAC3B,EAAiBiC,KAChC,IAAIC,EAAyBlC,EAU7B,OATAiC,EAAKzC,MAlGsB,KAkGMiC,QAAQU,IAClCD,EAAuB/B,SAASiC,IAAID,IACvCD,EAAuB/B,SAASkC,IAAIF,EAAU,CAC5ChC,SAAU,IAAImB,IACdd,WAAY,KAGhB0B,EAAyBA,EAAuB/B,SAASC,IAAI+B,KAExDD,GAEHN,EAAgBU,GAAQA,EAAKV,cAG7BW,EAAiBC,IACrB,GAAIA,EAAe,EACjB,MAAO,CACLpC,IAAK,OACLiC,IAAK,QAGT,IAAII,EAAY,EACZC,EAAQ,IAAIpB,IACZqB,EAAgB,IAAIrB,IACxB,MAAMsB,EAAS,CAACZ,EAAKa,KACnBH,EAAML,IAAIL,EAAKa,GACfJ,IACIA,EAAYD,IACdC,EAAY,EACZE,EAAgBD,EAChBA,EAAQ,IAAIpB,MAGhB,MAAO,CACL,GAAAlB,CAAI4B,GACF,IAAIa,EAAQH,EAAMtC,IAAI4B,GACtB,YAAczB,IAAVsC,EACKA,OAEgCtC,KAApCsC,EAAQF,EAAcvC,IAAI4B,KAC7BY,EAAOZ,EAAKa,GACLA,QAFT,CAIF,EACA,GAAAR,CAAIL,EAAKa,GACHH,EAAMN,IAAIJ,GACZU,EAAML,IAAIL,EAAKa,GAEfD,EAAOZ,EAAKa,EAEhB,IAMEC,EAAuB9D,IAC3B,MAAM+D,OACJA,EAAMC,2BACNA,GACEhE,EAOJ,IAAIiE,EAAiB3D,IACnB,MAAM4D,EAAY,GAClB,IAGIC,EAHAC,EAAe,EACfC,EAAa,EACbC,EAAgB,EAEpB,IAAK,IAAIC,EAAQ,EAAGA,EAAQjE,EAAUR,OAAQyE,IAAS,CACrD,IAAIC,EAAmBlE,EAAUiE,GACjC,GAAqB,IAAjBH,GAAqC,IAAfC,EAAkB,CAC1C,GAtBmB,MAsBfG,EAAyC,CAC3CN,EAAUrB,KAAKvC,EAAUgB,MAAMgD,EAAeC,IAC9CD,EAAgBC,EAvBQE,EAwBxB,QACF,CACA,GAAyB,MAArBD,EAA0B,CAC5BL,EAA0BI,EAC1B,QACF,CACF,CACyB,MAArBC,EACFJ,IAC8B,MAArBI,EACTJ,IAC8B,MAArBI,EACTH,IAC8B,MAArBG,GACTH,GAEJ,CACA,MAAMK,EAA0D,IAArBR,EAAUpE,OAAeQ,EAAYA,EAAU4B,UAAUoC,GAC9FK,EAAgBC,EAAuBF,GAG7C,MAAO,CACLR,YACAW,qBAJ2BF,IAAkBD,EAK7CC,gBACAG,6BALmCX,GAA2BA,EAA0BG,EAAgBH,EAA0BG,OAAgB/C,IAQtJ,GAAIwC,EAAQ,CACV,MAAMgB,EAAahB,EAtDI,IAuDjBiB,EAAyBf,EAC/BA,EAAiB3D,GAAaA,EAAU2E,WAAWF,GAAcC,EAAuB1E,EAAU4B,UAAU6C,EAAWjF,SAAW,CAChIoF,YAAY,EACZhB,UAAW,GACXW,sBAAsB,EACtBF,cAAerE,EACfwE,kCAA8BvD,EAElC,CACA,GAAIyC,EAA4B,CAC9B,MAAMgB,EAAyBf,EAC/BA,EAAiB3D,GAAa0D,EAA2B,CACvD1D,YACA2D,eAAgBe,GAEpB,CACA,OAAOf,GAEHW,EAAyBD,GACzBA,EAAcQ,SA3EO,KA4EhBR,EAAczC,UAAU,EAAGyC,EAAc7E,OAAS,GAMvD6E,EAAcM,WAlFO,KAmFhBN,EAAczC,UAAU,GAE1ByC,EAQHS,EAAsBpF,IAC1B,MAAMqF,EAA0BvC,OAAOwC,YAAYtF,EAAOqF,wBAAwBE,IAAIC,GAAY,CAACA,GAAU,KAmB7G,OAlBsBtB,IACpB,GAAIA,EAAUpE,QAAU,EACtB,OAAOoE,EAET,MAAMuB,EAAkB,GACxB,IAAIC,EAAoB,GAWxB,OAVAxB,EAAUzB,QAAQ+C,IAC4B,MAAhBA,EAAS,IAAcH,EAAwBG,IAEzEC,EAAgB5C,QAAQ6C,EAAkBC,OAAQH,GAClDE,EAAoB,IAEpBA,EAAkB7C,KAAK2C,KAG3BC,EAAgB5C,QAAQ6C,EAAkBC,QACnCF,IAULG,EAAsB,MA2E5B,SAASC,IACP,IACIC,EACAC,EAFAxB,EAAQ,EAGRyB,EAAS,GACb,KAAOzB,EAAQ0B,UAAUnG,SACnBgG,EAAWG,UAAU1B,QACnBwB,EAAgBG,EAAQJ,MAC1BE,IAAWA,GAAU,KACrBA,GAAUD,GAIhB,OAAOC,CACT,CACA,MAAME,EAAUC,IACd,GAAmB,iBAARA,EACT,OAAOA,EAET,IAAIJ,EACAC,EAAS,GACb,IAAK,IAAII,EAAI,EAAGA,EAAID,EAAIrG,OAAQsG,IAC1BD,EAAIC,KACFL,EAAgBG,EAAQC,EAAIC,OAC9BJ,IAAWA,GAAU,KACrBA,GAAUD,GAIhB,OAAOC,GAET,SAASK,EAAoBC,KAAsBC,GACjD,IAAIC,EACAC,EACAC,EACAC,EACJ,SAA2BC,GACzB,MAAM5G,EAASuG,EAAiBM,OAAO,CAACC,EAAgBC,IAAwBA,EAAoBD,GAAiBR,KAKrH,OAJAE,EAvHsBxG,KAAM,CAC9B0D,MAAOH,EAAevD,EAAOyD,WAC7BQ,eAAgBH,EAAqB9D,GACrCgH,cAAe5B,EAAoBpF,MAChCD,EAAsBC,KAmHTiH,CAAkBjH,GAChCyG,EAAWD,EAAY9C,MAAMtC,IAC7BsF,EAAWF,EAAY9C,MAAML,IAC7BsD,EAAiBO,EACVA,EAAcN,EACvB,EACA,SAASM,EAAcN,GACrB,MAAMO,EAAeV,EAASG,GAC9B,GAAIO,EACF,OAAOA,EAET,MAAMC,EA3Ha,EAACR,EAAWJ,KACjC,MAAMvC,eACJA,EAAc5D,gBACdA,EAAeO,4BACfA,EAA2BoG,cAC3BA,GACER,EAQEa,EAAwB,GACxBC,EAAaV,EAAUW,OAAO/G,MAAMoF,GAC1C,IAAIwB,EAAS,GACb,IAAK,IAAI7C,EAAQ+C,EAAWxH,OAAS,EAAGyE,GAAS,EAAGA,GAAS,EAAG,CAC9D,MAAMiD,EAAoBF,EAAW/C,IAC/BW,WACJA,EAAUhB,UACVA,EAASW,qBACTA,EAAoBF,cACpBA,EAAaG,6BACbA,GACEb,EAAeuD,GACnB,GAAItC,EAAY,CACdkC,EAASI,GAAqBJ,EAAOtH,OAAS,EAAI,IAAMsH,EAASA,GACjE,QACF,CACA,IAAItG,IAAuBgE,EACvBjE,EAAeR,EAAgBS,EAAqB6D,EAAczC,UAAU,EAAG4C,GAAgCH,GACnH,IAAK9D,EAAc,CACjB,IAAKC,EAAoB,CAEvBsG,EAASI,GAAqBJ,EAAOtH,OAAS,EAAI,IAAMsH,EAASA,GACjE,QACF,CAEA,GADAvG,EAAeR,EAAgBsE,IAC1B9D,EAAc,CAEjBuG,EAASI,GAAqBJ,EAAOtH,OAAS,EAAI,IAAMsH,EAASA,GACjE,QACF,CACAtG,GAAqB,CACvB,CACA,MAAM2G,EAAkBT,EAAc9C,GAAWxC,KAAK,KAChDgG,EAAa7C,EAAuB4C,EAzKnB,IAyK0DA,EAC3EE,EAAUD,EAAa7G,EAC7B,GAAIwG,EAAsBO,SAASD,GAEjC,SAEFN,EAAsBxE,KAAK8E,GAC3B,MAAME,EAAiBjH,EAA4BC,EAAcC,GACjE,IAAK,IAAIgH,EAAI,EAAGA,EAAID,EAAe/H,SAAUgI,EAAG,CAC9C,MAAMC,EAAQF,EAAeC,GAC7BT,EAAsBxE,KAAK6E,EAAaK,EAC1C,CAEAX,EAASI,GAAqBJ,EAAOtH,OAAS,EAAI,IAAMsH,EAASA,EACnE,CACA,OAAOA,GA6DUY,CAAepB,EAAWJ,GAEzC,OADAE,EAASE,EAAWQ,GACbA,CACT,CACA,OAAO,WACL,OAAOT,EAAed,EAAOoC,MAAM,KAAMhC,WAC3C,CACF,CACA,MAAMiC,EAAYlF,IAChB,MAAMmF,EAAc/F,GAASA,EAAMY,IAAQ,GAE3C,OADAmF,EAAYvF,eAAgB,EACrBuF,GAEHC,EAAsB,8BACtBC,EAAyB,8BACzBC,EAAgB,aAChBC,EAAkB,mCAClBC,EAAkB,4HAClBC,EAAqB,qDAErBC,EAAc,kEACdC,EAAa,+FACbC,EAAa/E,GAASyE,EAAcxG,KAAK+B,GACzCgF,EAAWhF,KAAWA,IAAUiF,OAAOC,MAAMD,OAAOjF,IACpDmF,EAAYnF,KAAWA,GAASiF,OAAOE,UAAUF,OAAOjF,IACxDoF,EAAYpF,GAASA,EAAMsB,SAAS,MAAQ0D,EAAShF,EAAMvC,MAAM,GAAG,IACpE4H,EAAerF,GAAS0E,EAAgBzG,KAAK+B,GAC7CsF,EAAQ,KAAM,EACdC,EAAevF,GAIrB2E,EAAgB1G,KAAK+B,KAAW4E,EAAmB3G,KAAK+B,GAClDwF,EAAU,KAAM,EAChBC,EAAWzF,GAAS6E,EAAY5G,KAAK+B,GACrC0F,EAAU1F,GAAS8E,EAAW7G,KAAK+B,GACnC2F,EAAoB3F,IAAU4F,EAAiB5F,KAAW6F,EAAoB7F,GAC9E8F,EAAkB9F,GAAS+F,GAAoB/F,EAAOgG,GAAaR,GACnEI,EAAmB5F,GAASuE,EAAoBtG,KAAK+B,GACrDiG,EAAoBjG,GAAS+F,GAAoB/F,EAAOkG,GAAeX,GACvEY,EAAoBnG,GAAS+F,GAAoB/F,EAAOoG,GAAepB,GACvEqB,EAAsBrG,GAAS+F,GAAoB/F,EAAOsG,GAAiBd,GAC3Ee,EAAmBvG,GAAS+F,GAAoB/F,EAAOwG,GAAcd,GACrEe,EAAoBzG,GAAS+F,GAAoB/F,EAAO0G,GAAejB,GACvEI,EAAsB7F,GAASwE,EAAuBvG,KAAK+B,GAC3D2G,EAA4B3G,GAAS4G,GAAuB5G,EAAOkG,IACnEW,GAAgC7G,GAAS4G,GAAuB5G,EAAO8G,IACvEC,GAA8B/G,GAAS4G,GAAuB5G,EAAOsG,IACrEU,GAA0BhH,GAAS4G,GAAuB5G,EAAOgG,IACjEiB,GAA2BjH,GAAS4G,GAAuB5G,EAAOwG,IAClEU,GAA4BlH,GAAS4G,GAAuB5G,EAAO0G,IAAe,GAElFX,GAAsB,CAAC/F,EAAOmH,EAAWC,KAC7C,MAAM7D,EAASgB,EAAoBpG,KAAK6B,GACxC,QAAIuD,IACEA,EAAO,GACF4D,EAAU5D,EAAO,IAEnB6D,EAAU7D,EAAO,MAItBqD,GAAyB,CAAC5G,EAAOmH,EAAWE,GAAqB,KACrE,MAAM9D,EAASiB,EAAuBrG,KAAK6B,GAC3C,QAAIuD,IACEA,EAAO,GACF4D,EAAU5D,EAAO,IAEnB8D,IAKLf,GAAkBgB,GAAmB,aAAVA,GAAkC,eAAVA,EACnDd,GAAec,GAAmB,UAAVA,GAA+B,QAAVA,EAC7CtB,GAAcsB,GAAmB,WAAVA,GAAgC,SAAVA,GAA8B,YAAVA,EACjEpB,GAAgBoB,GAAmB,WAAVA,EACzBlB,GAAgBkB,GAAmB,WAAVA,EACzBR,GAAoBQ,GAAmB,gBAAVA,EAC7BZ,GAAgBY,GAAmB,WAAVA,EA2BzBC,GAAmB,KAMvB,MAAMC,EAAanD,EAAU,SACvBoD,EAAYpD,EAAU,QACtBqD,EAAYrD,EAAU,QACtBsD,EAAkBtD,EAAU,eAC5BuD,EAAgBvD,EAAU,YAC1BwD,EAAexD,EAAU,WACzByD,EAAkBzD,EAAU,cAC5B0D,EAAiB1D,EAAU,aAC3B2D,EAAe3D,EAAU,WACzB4D,EAAc5D,EAAU,UACxB6D,EAAc7D,EAAU,UACxB8D,EAAmB9D,EAAU,gBAC7B+D,EAAkB/D,EAAU,eAC5BgE,EAAkBhE,EAAU,eAC5BiE,EAAYjE,EAAU,QACtBkE,EAAmBlE,EAAU,eAC7BmE,EAAcnE,EAAU,UACxBoE,EAAYpE,EAAU,QACtBqE,EAAerE,EAAU,WAkBzBsE,EAA6B,IAAM,CATZ,SAAU,MAAO,SAAU,OAAQ,QAAS,WAEzE,WAAY,YAEZ,YAAa,eAEb,eAAgB,cAEhB,cAC8D9C,EAAqBD,GAG7EgD,EAA0B,IAAM,CAAC/C,EAAqBD,EAAkBoC,GACxEa,EAAa,IAAM,CAAC9D,EAAY,OAAQ,UAAW6D,KACnDE,EAA4B,IAAM,CAAC3D,EAAW,OAAQ,UAAWU,EAAqBD,GACtFmD,EAA6B,IAAM,CAAC,OAAQ,CAChDC,KAAM,CAAC,OAAQ7D,EAAWU,EAAqBD,IAC9CT,EAAWU,EAAqBD,GAC7BqD,EAA4B,IAAM,CAAC9D,EAAW,OAAQU,EAAqBD,GAC3EsD,EAAwB,IAAM,CAAC,OAAQ,MAAO,MAAO,KAAMrD,EAAqBD,GAGhFuD,EAAc,IAAM,CAAC,UAAWP,KAChCQ,EAAc,IAAM,CAACrE,EAAY,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,SAAU6D,KACnHS,EAAa,IAAM,CAAC7B,EAAY3B,EAAqBD,GACrD0D,EAAkB,IAAM,CAzBD,SAAU,MAAO,SAAU,OAAQ,QAAS,WAEzE,WAAY,YAEZ,YAAa,eAEb,eAAgB,cAEhB,cAiBmDvC,GAA6BV,EAAqB,CACnGkD,SAAU,CAAC1D,EAAqBD,KAK5B4D,EAAc,IAAM,CAAC,OAAQ,QAAS,UAAWxC,GAAyBlB,EAAiB,CAC/F2D,KAAM,CAAC5D,EAAqBD,KAExB8D,EAA4B,IAAM,CAACtE,EAAWuB,EAA2BV,GACzE0D,EAAc,IAAM,CAE1B,GAAI,OAAQ,OAAQ1B,EAAapC,EAAqBD,GAChDgE,EAAmB,IAAM,CAAC,GAAI5E,EAAU2B,EAA2BV,GAGnE4D,EAAyB,IAAM,CAAC7E,EAAUI,EAAW2B,GAA6BV,GAClFyD,EAAY,IAAM,CAExB,GAAI,OAAQxB,EAAWzC,EAAqBD,GACtCmE,EAAc,IAAM,CAAC,OAAQ/E,EAAUa,EAAqBD,GAC5DoE,GAAa,IAAM,CAAC,OAAQhF,EAAUa,EAAqBD,GAC3DqE,GAAY,IAAM,CAACjF,EAAUa,EAAqBD,GAClDsE,GAAiB,IAAM,CAACnF,EAAY,UAAW6D,KACrD,MAAO,CACLhJ,UAAW,IACXrB,MAAO,CACL4L,QAAS,CAAC,OAAQ,OAAQ,QAAS,UACnCC,OAAQ,CAAC,SACTC,KAAM,CAAChF,GACPiF,WAAY,CAACjF,GACbkF,MAAO,CAACjF,GACRkF,UAAW,CAACnF,GACZ,cAAe,CAACA,GAChBoF,KAAM,CAAC,KAAM,MAAO,UACpBC,KAAM,CAAC/E,GACP,cAAe,CAAC,OAAQ,aAAc,QAAS,SAAU,SAAU,WAAY,OAAQ,YAAa,SACpG,eAAgB,CAACN,GACjBsF,QAAS,CAAC,OAAQ,QAAS,OAAQ,SAAU,UAAW,SACxDC,YAAa,CAAC,WAAY,OAAQ,SAAU,WAAY,UAAW,QACnEC,OAAQ,CAACxF,GACTyF,OAAQ,CAACzF,GACT0F,QAAS,CAAC,KAAM/F,GAChBgG,KAAM,CAAC3F,GACP,cAAe,CAACA,GAChB4F,SAAU,CAAC,UAAW,QAAS,SAAU,OAAQ,QAAS,WAE5DzM,YAAa,CAQX4L,OAAQ,CAAC,CACPA,OAAQ,CAAC,OAAQ,SAAUrF,EAAYa,EAAkBC,EAAqB2C,KAOhFgC,UAAW,CAAC,aAKZU,QAAS,CAAC,CACRA,QAAS,CAAClG,EAAUY,EAAkBC,EAAqBkC,KAM7D,cAAe,CAAC,CACd,cAtGmB,CAAC,OAAQ,QAAS,MAAO,aAAc,OAAQ,OAAQ,QAAS,YA4GrF,eAAgB,CAAC,CACf,eA7GmB,CAAC,OAAQ,QAAS,MAAO,aAAc,OAAQ,OAAQ,QAAS,YAmHrF,eAAgB,CAAC,CACf,eAAgB,CAAC,OAAQ,QAAS,aAAc,kBAMlD,iBAAkB,CAAC,CACjB,iBAAkB,CAAC,QAAS,WAM9BoD,IAAK,CAAC,CACJA,IAAK,CAAC,SAAU,aAMlBC,QAAS,CAAC,QAAS,eAAgB,SAAU,OAAQ,cAAe,QAAS,eAAgB,gBAAiB,aAAc,eAAgB,qBAAsB,qBAAsB,qBAAsB,kBAAmB,YAAa,YAAa,OAAQ,cAAe,WAAY,YAAa,UAK3SC,GAAI,CAAC,UAAW,eAKhBC,MAAO,CAAC,CACNA,MAAO,CAAC,QAAS,OAAQ,OAAQ,QAAS,SAM5CC,MAAO,CAAC,CACNA,MAAO,CAAC,OAAQ,QAAS,OAAQ,OAAQ,QAAS,SAMpDC,UAAW,CAAC,UAAW,kBAKvB,aAAc,CAAC,CACbC,OAAQ,CAAC,UAAW,QAAS,OAAQ,OAAQ,gBAM/C,kBAAmB,CAAC,CAClBA,OAAQ9C,MAMV+C,SAAU,CAAC,CACTA,SAzKsB,CAAC,OAAQ,SAAU,OAAQ,UAAW,YA+K9D,aAAc,CAAC,CACb,aAhLsB,CAAC,OAAQ,SAAU,OAAQ,UAAW,YAsL9D,aAAc,CAAC,CACb,aAvLsB,CAAC,OAAQ,SAAU,OAAQ,UAAW,YA6L9DC,WAAY,CAAC,CACXA,WA7LwB,CAAC,OAAQ,UAAW,UAmM9C,eAAgB,CAAC,CACf,eApMwB,CAAC,OAAQ,UAAW,UA0M9C,eAAgB,CAAC,CACf,eA3MwB,CAAC,OAAQ,UAAW,UAiN9CpC,SAAU,CAAC,SAAU,QAAS,WAAY,WAAY,UAKtDqC,MAAO,CAAC,CACNA,MAAO/C,MAMT,UAAW,CAAC,CACV,UAAWA,MAMb,UAAW,CAAC,CACV,UAAWA,MAMbgD,MAAO,CAAC,CACNA,MAAOhD,MAMTiD,IAAK,CAAC,CACJA,IAAKjD,MAMPkD,IAAK,CAAC,CACJA,IAAKlD,MAMPmD,MAAO,CAAC,CACNA,MAAOnD,MAMToD,OAAQ,CAAC,CACPA,OAAQpD,MAMVqD,KAAM,CAAC,CACLA,KAAMrD,MAMRsD,WAAY,CAAC,UAAW,YAAa,YAKrCC,EAAG,CAAC,CACFA,EAAG,CAACjH,EAAW,OAAQU,EAAqBD,KAS9CyG,MAAO,CAAC,CACNA,MAAO,CAACtH,EAAY,OAAQ,OAAQgD,KAAmBa,OAMzD,iBAAkB,CAAC,CACjB0D,KAAM,CAAC,MAAO,cAAe,MAAO,iBAMtC,YAAa,CAAC,CACZA,KAAM,CAAC,SAAU,OAAQ,kBAM3BA,KAAM,CAAC,CACLA,KAAM,CAACtH,EAAUD,EAAY,OAAQ,UAAW,OAAQa,KAM1D2G,KAAM,CAAC,CACLA,KAAM,CAAC,GAAIvH,EAAUa,EAAqBD,KAM5C4G,OAAQ,CAAC,CACPA,OAAQ,CAAC,GAAIxH,EAAUa,EAAqBD,KAM9C6G,MAAO,CAAC,CACNA,MAAO,CAACtH,EAAW,QAAS,OAAQ,OAAQU,EAAqBD,KAMnE,YAAa,CAAC,CACZ,YAAakD,MAMf,gBAAiB,CAAC,CAChB4D,IAAK3D,MAMP,YAAa,CAAC,CACZ,YAAaE,MAMf,UAAW,CAAC,CACV,UAAWA,MAMb,YAAa,CAAC,CACZ,YAAaH,MAMf,gBAAiB,CAAC,CAChB6D,IAAK5D,MAMP,YAAa,CAAC,CACZ,YAAaE,MAMf,UAAW,CAAC,CACV,UAAWA,MAMb,YAAa,CAAC,CACZ,YAAa,CAAC,MAAO,MAAO,QAAS,YAAa,eAMpD,YAAa,CAAC,CACZ,YAAaC,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf0D,IAAK,CAAC,CACJA,IAAKhE,MAMP,QAAS,CAAC,CACR,QAASA,MAMX,QAAS,CAAC,CACR,QAASA,MAMX,kBAAmB,CAAC,CAClBiE,QAAS,CA/asB,QAAS,MAAO,SAAU,UAAW,SAAU,SAAU,UAAW,WAAY,cAAe,WA+axF,YAMxC,gBAAiB,CAAC,CAChB,gBAAiB,CArbgB,QAAS,MAAO,SAAU,UAAW,cAAe,WAqbrC,YAMlD,eAAgB,CAAC,CACf,eAAgB,CAAC,OA5bgB,QAAS,MAAO,SAAU,UAAW,cAAe,cAkcvF,gBAAiB,CAAC,CAChBC,QAAS,CAAC,SApcqB,QAAS,MAAO,SAAU,UAAW,SAAU,SAAU,UAAW,WAAY,cAAe,cA0chI,cAAe,CAAC,CACdC,MAAO,CA1c0B,QAAS,MAAO,SAAU,UAAW,cAAe,WA0c/C,CACpCC,SAAU,CAAC,GAAI,YAOnB,aAAc,CAAC,CACbC,KAAM,CAAC,OAnd0B,QAAS,MAAO,SAAU,UAAW,cAAe,WAmdxC,CAC3CD,SAAU,CAAC,GAAI,YAOnB,gBAAiB,CAAC,CAChB,gBA7d8B,CAAC,QAAS,MAAO,SAAU,UAAW,SAAU,SAAU,UAAW,WAAY,cAAe,cAmehI,cAAe,CAAC,CACd,cAAe,CAnekB,QAAS,MAAO,SAAU,UAAW,cAAe,WAmevC,cAMhD,aAAc,CAAC,CACb,aAAc,CAAC,OA1ekB,QAAS,MAAO,SAAU,UAAW,cAAe,cAifvFE,EAAG,CAAC,CACFA,EAAGtE,MAMLuE,GAAI,CAAC,CACHA,GAAIvE,MAMNwE,GAAI,CAAC,CACHA,GAAIxE,MAMNyE,GAAI,CAAC,CACHA,GAAIzE,MAMN0E,GAAI,CAAC,CACHA,GAAI1E,MAMN2E,GAAI,CAAC,CACHA,GAAI3E,MAMN4E,GAAI,CAAC,CACHA,GAAI5E,MAMN6E,GAAI,CAAC,CACHA,GAAI7E,MAMN8E,GAAI,CAAC,CACHA,GAAI9E,MAMN+E,EAAG,CAAC,CACFA,EAAGxE,MAMLyE,GAAI,CAAC,CACHA,GAAIzE,MAMN0E,GAAI,CAAC,CACHA,GAAI1E,MAMN2E,GAAI,CAAC,CACHA,GAAI3E,MAMN4E,GAAI,CAAC,CACHA,GAAI5E,MAMN6E,GAAI,CAAC,CACHA,GAAI7E,MAMN8E,GAAI,CAAC,CACHA,GAAI9E,MAMN+E,GAAI,CAAC,CACHA,GAAI/E,MAMNgF,GAAI,CAAC,CACHA,GAAIhF,MAMN,UAAW,CAAC,CACV,UAAWP,MAMb,kBAAmB,CAAC,mBAKpB,UAAW,CAAC,CACV,UAAWA,MAMb,kBAAmB,CAAC,mBAQpBa,KAAM,CAAC,CACLA,KAAML,MAMRgF,EAAG,CAAC,CACFA,EAAG,CAACrG,EAAgB,YAAaqB,OAMnC,QAAS,CAAC,CACR,QAAS,CAACrB,EAAgB,SAC1B,UAAWqB,OAMb,QAAS,CAAC,CACR,QAAS,CAACrB,EAAgB,SAAU,OACpC,QACA,CACEsG,OAAQ,CAACvG,OACLsB,OAMRkF,EAAG,CAAC,CACFA,EAAG,CAAC,SAAU,QAASlF,OAMzB,QAAS,CAAC,CACR,QAAS,CAAC,SAAU,KAAM,UAAWA,OAMvC,QAAS,CAAC,CACR,QAAS,CAAC,SAAU,QAASA,OAS/B,YAAa,CAAC,CACZ4B,KAAM,CAAC,OAAQtD,EAAWf,EAA2BV,KAMvD,iBAAkB,CAAC,cAAe,wBAKlC,aAAc,CAAC,SAAU,cAKzB,cAAe,CAAC,CACdyE,KAAM,CAAC/C,EAAiB9B,EAAqBM,KAM/C,eAAgB,CAAC,CACf,eAAgB,CAAC,kBAAmB,kBAAmB,YAAa,iBAAkB,SAAU,gBAAiB,WAAY,iBAAkB,iBAAkBf,EAAWQ,KAM9K,cAAe,CAAC,CACd8E,KAAM,CAAC7D,GAA+BjB,EAAkB6B,KAM1D,aAAc,CAAC,eAKf,cAAe,CAAC,WAKhB,mBAAoB,CAAC,gBAKrB,aAAc,CAAC,cAAe,iBAK9B,cAAe,CAAC,oBAAqB,gBAKrC,eAAgB,CAAC,qBAAsB,qBAKvCwD,SAAU,CAAC,CACTA,SAAU,CAACrD,EAAe/B,EAAqBD,KAMjD,aAAc,CAAC,CACb,aAAc,CAACZ,EAAU,OAAQa,EAAqBM,KAMxDwE,QAAS,CAAC,CACRA,QAAS,CACT9C,KAAiBe,OAMnB,aAAc,CAAC,CACb,aAAc,CAAC,OAAQ/C,EAAqBD,KAM9C,sBAAuB,CAAC,CACtB2I,KAAM,CAAC,SAAU,aAMnB,kBAAmB,CAAC,CAClBA,KAAM,CAAC,OAAQ,UAAW,OAAQ1I,EAAqBD,KAMzD,iBAAkB,CAAC,CACjBoF,KAAM,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,SAOxD,oBAAqB,CAAC,CACpBwD,YAAanF,MAMf,aAAc,CAAC,CACb2B,KAAM3B,MAMR,kBAAmB,CAAC,YAAa,WAAY,eAAgB,gBAK7D,wBAAyB,CAAC,CACxBoF,WAAY,CA5zBY,QAAS,SAAU,SAAU,SA4zBnB,UAMpC,4BAA6B,CAAC,CAC5BA,WAAY,CAACzJ,EAAU,YAAa,OAAQa,EAAqBI,KAMnE,wBAAyB,CAAC,CACxBwI,WAAYpF,MAMd,mBAAoB,CAAC,CACnB,mBAAoB,CAACrE,EAAU,OAAQa,EAAqBD,KAM9D,iBAAkB,CAAC,YAAa,YAAa,aAAc,eAK3D,gBAAiB,CAAC,WAAY,gBAAiB,aAK/C,YAAa,CAAC,CACZoF,KAAM,CAAC,OAAQ,SAAU,UAAW,YAMtC0D,OAAQ,CAAC,CACPA,OAAQ9F,MAMV,iBAAkB,CAAC,CACjB+F,MAAO,CAAC,WAAY,MAAO,SAAU,SAAU,WAAY,cAAe,MAAO,QAAS9I,EAAqBD,KAMjHgJ,WAAY,CAAC,CACXA,WAAY,CAAC,SAAU,SAAU,MAAO,WAAY,WAAY,kBAMlEC,MAAO,CAAC,CACNA,MAAO,CAAC,SAAU,QAAS,MAAO,UAMpCC,KAAM,CAAC,CACLA,KAAM,CAAC,aAAc,WAAY,YAMnCC,QAAS,CAAC,CACRA,QAAS,CAAC,OAAQ,SAAU,UAM9BjC,QAAS,CAAC,CACRA,QAAS,CAAC,OAAQjH,EAAqBD,KASzC,gBAAiB,CAAC,CAChBoJ,GAAI,CAAC,QAAS,QAAS,YAMzB,UAAW,CAAC,CACV,UAAW,CAAC,SAAU,UAAW,UAAW,UAM9C,YAAa,CAAC,CACZ,YAAa,CAAC,SAAU,UAAW,aAMrC,cAAe,CAAC,CACdA,GAAI1F,MAMN,YAAa,CAAC,CACZ0F,GAp8BsB,CAAC,YAAa,CACxCC,OAAQ,CAAC,GAAI,IAAK,IAAK,QAAS,aAy8B9B,UAAW,CAAC,CACVD,GAAIxF,MAMN,WAAY,CAAC,CACXwF,GAAI,CAAC,OAAQ,CACXE,OAAQ,CAAC,CACPC,GAAI,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,OAC1ChK,EAAWU,EAAqBD,GACnCwJ,OAAQ,CAAC,GAAIvJ,EAAqBD,GAClCyJ,MAAO,CAAClK,EAAWU,EAAqBD,IACvCqB,GAA0BV,KAM/B,WAAY,CAAC,CACXyI,GAAI3F,MAMN,oBAAqB,CAAC,CACpBiG,KAAM5F,MAMR,mBAAoB,CAAC,CACnB6F,IAAK7F,MAMP,kBAAmB,CAAC,CAClByF,GAAIzF,MAMN,gBAAiB,CAAC,CAChB4F,KAAMjG,MAMR,eAAgB,CAAC,CACfkG,IAAKlG,MAMP,cAAe,CAAC,CACd8F,GAAI9F,MASNmG,QAAS,CAAC,CACRA,QAAS7F,MAMX,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,aAAc,CAAC,CACb,aAAcA,MAMhB,WAAY,CAAC,CACX8F,OAAQ7F,MAMV,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,aAAc,CAAC,CACb,WAAYA,MAMd,WAAY,CAAC,CACX,WAAYA,MAMd,mBAAoB,CAAC,oBAKrB,WAAY,CAAC,CACX,WAAYA,MAMd,mBAAoB,CAAC,oBAKrB,eAAgB,CAAC,CACf6F,OAAQ,CAxsCgB,QAAS,SAAU,SAAU,SAwsCvB,SAAU,UAM1C,eAAgB,CAAC,CACfC,OAAQ,CA/sCgB,QAAS,SAAU,SAAU,SA+sCvB,SAAU,UAM1C,eAAgB,CAAC,CACfD,OAAQpG,MAMV,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,iBAAkB,CAAC,CACjB,WAAYA,MAMd,eAAgB,CAAC,CACfqG,OAAQrG,MAMV,gBAAiB,CAAC,CAChBsG,QAAS,CA5xCe,QAAS,SAAU,SAAU,SA4xCtB,OAAQ,YAMzC,iBAAkB,CAAC,CACjB,iBAAkB,CAAC3K,EAAUa,EAAqBD,KAMpD,YAAa,CAAC,CACZ+J,QAAS,CAAC,GAAI3K,EAAU2B,EAA2BV,KAMrD,gBAAiB,CAAC,CAChB0J,QAAStG,MASXyB,OAAQ,CAAC,CACPA,OAAQ,CAER,GAAI,OAAQ5C,EAAahB,GAA2BT,KAMtD,eAAgB,CAAC,CACfqE,OAAQzB,MAMV,eAAgB,CAAC,CACf,eAAgB,CAAC,OAAQlB,EAAkBjB,GAA2BT,KAMxE,qBAAsB,CAAC,CACrB,eAAgB4C,MAMlB,SAAU,CAAC,CACTuG,KAAMhG,MAQR,eAAgB,CAAC,cAKjB,aAAc,CAAC,CACbgG,KAAMvG,MAQR,gBAAiB,CAAC,CAChB,cAAe,CAACrE,EAAUiB,KAQ5B,oBAAqB,CAAC,CACpB,cAAeoD,MAMjB,eAAgB,CAAC,CACf,aAAcO,MAMhB,mBAAoB,CAAC,CACnB,aAAcP,MAMhB,cAAe,CAAC,CACd,cAAe,CAAC,OAAQjB,EAAiBlB,GAA2BT,KAMtE,oBAAqB,CAAC,CACpB,cAAe4C,MAMjBwG,QAAS,CAAC,CACRA,QAAS,CAAC7K,EAAUa,EAAqBD,KAM3C,YAAa,CAAC,CACZ,YAAa,CAl6CW,SAAU,WAAY,SAAU,UAAW,SAAU,UAAW,cAAe,aAAc,aAAc,aAAc,aAAc,YAAa,MAAO,aAAc,QAAS,aAk6CvK,cAAe,kBAMpD,WAAY,CAAC,CACX,WAz6CuB,CAAC,SAAU,WAAY,SAAU,UAAW,SAAU,UAAW,cAAe,aAAc,aAAc,aAAc,aAAc,YAAa,MAAO,aAAc,QAAS,gBA+6C5M,YAAa,CAAC,CACZ,YAAa,CAAC,SAAU,UAAW,UAAW,OAAQ,SAAU,SAC/D,gBAKH,iBAAkB,CAAC,CACjBkK,KAAM,CAAC,MAAO,WAAY,YAAa,aAMzC,wBAAyB,CAAC,CACxB,cAAe,CAAC9K,KAElB,6BAA8B,CAAC,CAC7B,mBAAoB6E,MAEtB,2BAA4B,CAAC,CAC3B,iBAAkBA,MAEpB,+BAAgC,CAAC,CAC/B,mBAAoBR,MAEtB,6BAA8B,CAAC,CAC7B,iBAAkBA,MAEpB,wBAAyB,CAAC,CACxB,cAAeQ,MAEjB,sBAAuB,CAAC,CACtB,YAAaA,MAEf,0BAA2B,CAAC,CAC1B,cAAeR,MAEjB,wBAAyB,CAAC,CACxB,YAAaA,MAEf,wBAAyB,CAAC,CACxB,cAAeQ,MAEjB,sBAAuB,CAAC,CACtB,YAAaA,MAEf,0BAA2B,CAAC,CAC1B,cAAeR,MAEjB,wBAAyB,CAAC,CACxB,YAAaA,MAEf,wBAAyB,CAAC,CACxB,cAAeQ,MAEjB,sBAAuB,CAAC,CACtB,YAAaA,MAEf,0BAA2B,CAAC,CAC1B,cAAeR,MAEjB,wBAAyB,CAAC,CACxB,YAAaA,MAEf,wBAAyB,CAAC,CACxB,cAAeQ,MAEjB,sBAAuB,CAAC,CACtB,YAAaA,MAEf,0BAA2B,CAAC,CAC1B,cAAeR,MAEjB,wBAAyB,CAAC,CACxB,YAAaA,MAEf,wBAAyB,CAAC,CACxB,cAAeQ,MAEjB,sBAAuB,CAAC,CACtB,YAAaA,MAEf,0BAA2B,CAAC,CAC1B,cAAeR,MAEjB,wBAAyB,CAAC,CACxB,YAAaA,MAEf,wBAAyB,CAAC,CACxB,cAAeQ,MAEjB,sBAAuB,CAAC,CACtB,YAAaA,MAEf,0BAA2B,CAAC,CAC1B,cAAeR,MAEjB,wBAAyB,CAAC,CACxB,YAAaA,MAEf,oBAAqB,CAAC,CACpB,cAAe,CAACxD,EAAqBD,KAEvC,6BAA8B,CAAC,CAC7B,mBAAoBiE,MAEtB,2BAA4B,CAAC,CAC3B,iBAAkBA,MAEpB,+BAAgC,CAAC,CAC/B,mBAAoBR,MAEtB,6BAA8B,CAAC,CAC7B,iBAAkBA,MAEpB,0BAA2B,CAAC,CAC1B,cAAe,CAAC,SAAU,aAE5B,yBAA0B,CAAC,CACzB,cAAe,CAAC,CACd0G,QAAS,CAAC,OAAQ,UAClBC,SAAU,CAAC,OAAQ,cAGvB,wBAAyB,CAAC,CACxB,iBArlDsB,CAAC,SAAU,MAAO,SAAU,OAAQ,QAAS,WAEzE,WAAY,YAEZ,YAAa,eAEb,eAAgB,cAEhB,iBA+kDI,uBAAwB,CAAC,CACvB,aAAc,CAAChL,KAEjB,4BAA6B,CAAC,CAC5B,kBAAmB6E,MAErB,0BAA2B,CAAC,CAC1B,gBAAiBA,MAEnB,8BAA+B,CAAC,CAC9B,kBAAmBR,MAErB,4BAA6B,CAAC,CAC5B,gBAAiBA,MAMnB,YAAa,CAAC,CACZyG,KAAM,CAAC,QAAS,YAAa,WAM/B,cAAe,CAAC,CACd,cAAe,CAAC,SAAU,UAAW,UAAW,OAAQ,SAAU,UAMpE,gBAAiB,CAAC,CAChBA,KAAMxG,MAMR,cAAe,CAAC,CACdwG,KApmDsB,CAAC,YAAa,CACxCb,OAAQ,CAAC,GAAI,IAAK,IAAK,QAAS,aAymD9B,YAAa,CAAC,CACZa,KAAMtG,MAMR,YAAa,CAAC,CACZ,YAAa,CAAC,QAAS,eAMzB,aAAc,CAAC,CACbsG,KAAM,CAAC,OAAQjK,EAAqBD,KAStCqK,OAAQ,CAAC,CACPA,OAAQ,CAER,GAAI,OAAQpK,EAAqBD,KAMnCyE,KAAM,CAAC,CACLA,KAAMP,MAMRoG,WAAY,CAAC,CACXA,WAAY,CAAClL,EAAUa,EAAqBD,KAM9CuK,SAAU,CAAC,CACTA,SAAU,CAACnL,EAAUa,EAAqBD,KAM5C,cAAe,CAAC,CACd,cAAe,CAEf,GAAI,OAAQyC,EAAiBnB,GAA2BT,KAM1D,oBAAqB,CAAC,CACpB,cAAe4C,MAMjB+G,UAAW,CAAC,CACVA,UAAW,CAAC,GAAIpL,EAAUa,EAAqBD,KAMjD,aAAc,CAAC,CACb,aAAc,CAACZ,EAAUa,EAAqBD,KAMhDyK,OAAQ,CAAC,CACPA,OAAQ,CAAC,GAAIrL,EAAUa,EAAqBD,KAM9C0K,SAAU,CAAC,CACTA,SAAU,CAACtL,EAAUa,EAAqBD,KAM5C2K,MAAO,CAAC,CACNA,MAAO,CAAC,GAAIvL,EAAUa,EAAqBD,KAM7C,kBAAmB,CAAC,CAClB,kBAAmB,CAEnB,GAAI,OAAQC,EAAqBD,KAMnC,gBAAiB,CAAC,CAChB,gBAAiBkE,MAMnB,sBAAuB,CAAC,CACtB,sBAAuB,CAAC9E,EAAUa,EAAqBD,KAMzD,oBAAqB,CAAC,CACpB,oBAAqB,CAACZ,EAAUa,EAAqBD,KAMvD,qBAAsB,CAAC,CACrB,qBAAsB,CAAC,GAAIZ,EAAUa,EAAqBD,KAM5D,sBAAuB,CAAC,CACtB,sBAAuB,CAACZ,EAAUa,EAAqBD,KAMzD,kBAAmB,CAAC,CAClB,kBAAmB,CAAC,GAAIZ,EAAUa,EAAqBD,KAMzD,mBAAoB,CAAC,CACnB,mBAAoB,CAACZ,EAAUa,EAAqBD,KAMtD,oBAAqB,CAAC,CACpB,oBAAqB,CAACZ,EAAUa,EAAqBD,KAMvD,iBAAkB,CAAC,CACjB,iBAAkB,CAAC,GAAIZ,EAAUa,EAAqBD,KASxD,kBAAmB,CAAC,CAClB6J,OAAQ,CAAC,WAAY,cAMvB,iBAAkB,CAAC,CACjB,iBAAkB7G,MAMpB,mBAAoB,CAAC,CACnB,mBAAoBA,MAMtB,mBAAoB,CAAC,CACnB,mBAAoBA,MAMtB,eAAgB,CAAC,CACf4H,MAAO,CAAC,OAAQ,WAMlBC,QAAS,CAAC,CACRA,QAAS,CAAC,MAAO,YASnBC,WAAY,CAAC,CACXA,WAAY,CAAC,GAAI,MAAO,SAAU,UAAW,SAAU,YAAa,OAAQ7K,EAAqBD,KAMnG,sBAAuB,CAAC,CACtB8K,WAAY,CAAC,SAAU,cAMzBC,SAAU,CAAC,CACTA,SAAU,CAAC3L,EAAU,UAAWa,EAAqBD,KAMvD6E,KAAM,CAAC,CACLA,KAAM,CAAC,SAAU,UAAWhC,EAAW5C,EAAqBD,KAM9DgL,MAAO,CAAC,CACNA,MAAO,CAAC5L,EAAUa,EAAqBD,KAMzCuE,QAAS,CAAC,CACRA,QAAS,CAAC,OAAQzB,EAAc7C,EAAqBD,KASvDiL,SAAU,CAAC,CACTA,SAAU,CAAC,SAAU,aAMvBjG,YAAa,CAAC,CACZA,YAAa,CAACrC,EAAkB1C,EAAqBD,KAMvD,qBAAsB,CAAC,CACrB,qBAAsB+C,MAMxBmI,OAAQ,CAAC,CACPA,OAAQ/G,MAMV,WAAY,CAAC,CACX,WAAYA,MAMd,WAAY,CAAC,CACX,WAAYA,MAMd,WAAY,CAAC,CACX,WAAYA,MAMdgH,MAAO,CAAC,CACNA,MAAO/G,OAMT,UAAW,CAAC,CACV,UAAWA,OAMb,UAAW,CAAC,CACV,UAAWA,OAMb,UAAW,CAAC,CACV,UAAWA,OAMb,WAAY,CAAC,YAKbgH,KAAM,CAAC,CACLA,KAAM/G,OAMR,SAAU,CAAC,CACT,SAAUA,OAMZ,SAAU,CAAC,CACT,SAAUA,OAMZgH,UAAW,CAAC,CACVA,UAAW,CAACpL,EAAqBD,EAAkB,GAAI,OAAQ,MAAO,SAMxE,mBAAoB,CAAC,CACnBsL,OAAQvI,MAMV,kBAAmB,CAAC,CAClBsI,UAAW,CAAC,KAAM,UAMpBE,UAAW,CAAC,CACVA,UAAWjH,OAMb,cAAe,CAAC,CACd,cAAeA,OAMjB,cAAe,CAAC,CACd,cAAeA,OAMjB,cAAe,CAAC,CACd,cAAeA,OAMjB,iBAAkB,CAAC,kBAQnBkH,OAAQ,CAAC,CACPA,OAAQ/H,MAMVgI,WAAY,CAAC,CACXA,WAAY,CAAC,OAAQ,UAMvB,cAAe,CAAC,CACdC,MAAOjI,MAMT,eAAgB,CAAC,CACfkI,OAAQ,CAAC,SAAU,OAAQ,QAAS,aAAc,YAAa,gBAMjEC,OAAQ,CAAC,CACPA,OAAQ,CAAC,OAAQ,UAAW,UAAW,OAAQ,OAAQ,OAAQ,OAAQ,cAAe,OAAQ,eAAgB,WAAY,OAAQ,YAAa,gBAAiB,QAAS,OAAQ,UAAW,OAAQ,WAAY,aAAc,aAAc,aAAc,WAAY,WAAY,WAAY,WAAY,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,cAAe,cAAe,UAAW,WAAY3L,EAAqBD,KAMpc,eAAgB,CAAC,CACf,eAAgB,CAAC,QAAS,aAM5B,iBAAkB,CAAC,CACjB,iBAAkB,CAAC,OAAQ,UAM7B6L,OAAQ,CAAC,CACPA,OAAQ,CAAC,OAAQ,GAAI,IAAK,OAM5B,kBAAmB,CAAC,CAClBC,OAAQ,CAAC,OAAQ,YAMnB,WAAY,CAAC,CACX,WAAY9I,MAMd,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,WAAY,CAAC,CACX,WAAYA,MAMd,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,YAAa,CAAC,CACZ,YAAaA,MAMf,aAAc,CAAC,CACb+I,KAAM,CAAC,QAAS,MAAO,SAAU,gBAMnC,YAAa,CAAC,CACZA,KAAM,CAAC,SAAU,YAMnB,YAAa,CAAC,CACZA,KAAM,CAAC,OAAQ,IAAK,IAAK,UAM3B,kBAAmB,CAAC,CAClBA,KAAM,CAAC,YAAa,eAMtBC,MAAO,CAAC,CACNA,MAAO,CAAC,OAAQ,OAAQ,kBAM1B,UAAW,CAAC,CACV,YAAa,CAAC,IAAK,OAAQ,WAM7B,UAAW,CAAC,CACV,YAAa,CAAC,IAAK,KAAM,UAM3B,WAAY,CAAC,oBAKbC,OAAQ,CAAC,CACPA,OAAQ,CAAC,OAAQ,OAAQ,MAAO,UAMlC,cAAe,CAAC,CACd,cAAe,CAAC,OAAQ,SAAU,WAAY,YAAahM,EAAqBD,KASlFkM,KAAM,CAAC,CACLA,KAAM,CAAC,UAAWzI,OAMpB,WAAY,CAAC,CACX0I,OAAQ,CAAC/M,EAAU2B,EAA2BV,EAAmBE,KAMnE4L,OAAQ,CAAC,CACPA,OAAQ,CAAC,UAAW1I,OAStB,sBAAuB,CAAC,CACtB,sBAAuB,CAAC,OAAQ,WAGpC/M,uBAAwB,CACtBoP,SAAU,CAAC,aAAc,cACzBC,WAAY,CAAC,eAAgB,gBAC7BC,MAAO,CAAC,UAAW,UAAW,QAAS,MAAO,MAAO,QAAS,SAAU,QACxE,UAAW,CAAC,QAAS,QACrB,UAAW,CAAC,MAAO,UACnBU,KAAM,CAAC,QAAS,OAAQ,UACxBM,IAAK,CAAC,QAAS,SACfM,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC9CC,GAAI,CAAC,KAAM,MACXC,GAAI,CAAC,KAAM,MACXO,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC9CC,GAAI,CAAC,KAAM,MACXC,GAAI,CAAC,KAAM,MACXpE,KAAM,CAAC,IAAK,KACZ,YAAa,CAAC,WACd,aAAc,CAAC,cAAe,mBAAoB,aAAc,cAAe,gBAC/E,cAAe,CAAC,cAChB,mBAAoB,CAAC,cACrB,aAAc,CAAC,cACf,cAAe,CAAC,cAChB,eAAgB,CAAC,cACjB,aAAc,CAAC,UAAW,YAC1B+F,QAAS,CAAC,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,cAC1L,YAAa,CAAC,aAAc,cAC5B,YAAa,CAAC,aAAc,cAC5B,YAAa,CAAC,aAAc,cAC5B,YAAa,CAAC,aAAc,cAC5B,YAAa,CAAC,aAAc,cAC5B,YAAa,CAAC,aAAc,cAC5B,iBAAkB,CAAC,mBAAoB,oBACvC,WAAY,CAAC,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,cAC/G,aAAc,CAAC,aAAc,cAC7B,aAAc,CAAC,aAAc,cAC7B,eAAgB,CAAC,iBAAkB,iBAAkB,iBAAkB,iBAAkB,iBAAkB,iBAAkB,iBAAkB,kBAC/I,iBAAkB,CAAC,iBAAkB,kBACrC,iBAAkB,CAAC,iBAAkB,kBACrC2B,UAAW,CAAC,cAAe,cAAe,kBAC1C,iBAAkB,CAAC,YAAa,cAAe,cAAe,eAC9D,WAAY,CAAC,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,aACxG,YAAa,CAAC,YAAa,aAC3B,YAAa,CAAC,YAAa,aAC3B,WAAY,CAAC,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,aACxG,YAAa,CAAC,YAAa,aAC3B,YAAa,CAAC,YAAa,aAC3BS,MAAO,CAAC,UAAW,UAAW,YAC9B,UAAW,CAAC,SACZ,UAAW,CAAC,SACZ,WAAY,CAAC,UAEfrV,+BAAgC,CAC9B,YAAa,CAAC,YAEhBiF,wBAAyB,CAAC,IAAK,KAAM,QAAS,WAAY,SAAU,kBAAmB,OAAQ,eAAgB,aAAc,SAAU,cAAe,eA8BpJwQ,GAAmB,CAACC,EAAYC,EAAaC,UAC3BzU,IAAlByU,IACFF,EAAWC,GAAeC,IAGxBC,GAA2B,CAACH,EAAYI,KAC5C,GAAIA,EACF,IAAK,MAAMlT,KAAOkT,EAChBL,GAAiBC,EAAY9S,EAAKkT,EAAelT,KAIjDmT,GAAwB,CAACL,EAAYM,KACzC,GAAIA,EACF,IAAK,MAAMpT,KAAOoT,EAChBC,GAAqBP,EAAYM,EAAapT,IAI9CqT,GAAuB,CAACP,EAAYM,EAAapT,KACrD,MAAMsT,EAAaF,EAAYpT,QACZzB,IAAf+U,IACFR,EAAW9S,GAAO8S,EAAW9S,GAAO8S,EAAW9S,GAAKuT,OAAOD,GAAcA,ICj9FvEE,GDo9FsB,EAACC,KAAoBC,IAA4C,mBAApBD,EAAiCpQ,EAAoB+E,GAAkBqL,KAAoBC,GAAgBrQ,EAAoB,IA/CnL,EAACsQ,GACpBlT,YACAM,SACAC,6BACA4S,SAAS,CAAA,EACTC,WAAW,CAAA,MAEXhB,GAAiBc,EAAY,YAAalT,GAC1CoS,GAAiBc,EAAY,SAAU5S,GACvC8R,GAAiBc,EAAY,6BAA8B3S,GAC3DiS,GAAyBU,EAAWvU,MAAOyU,EAASzU,OACpD6T,GAAyBU,EAAWtU,YAAawU,EAASxU,aAC1D4T,GAAyBU,EAAWxW,uBAAwB0W,EAAS1W,wBACrE8V,GAAyBU,EAAWvW,+BAAgCyW,EAASzW,gCAC7EyV,GAAiBc,EAAY,0BAA2BE,EAASxR,yBACjE8Q,GAAsBQ,EAAWvU,MAAOwU,EAAOxU,OAC/C+T,GAAsBQ,EAAWtU,YAAauU,EAAOvU,aACrD8T,GAAsBQ,EAAWxW,uBAAwByW,EAAOzW,wBAChEgW,GAAsBQ,EAAWvW,+BAAgCwW,EAAOxW,gCACxEiW,GAAqBM,EAAYC,EAAQ,2BAClCD,GA2BqMG,CAAa1L,KAAoBqL,MAAqBC,GCp9FpPK,CAAoB,CAElCH,OAAQ,CACNvU,YAAa,CACX,gBAA0B,CACxB,WACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,QACA,QACA,QACA,WACA,QACA,SACA,SACA,SACA,UAEF,eAAyB,CACvB,YACA,aACA,YACA,mBAWK2U,GAAK,IAAIC,IAAsBT,GF7C4M,WAAgB,IAAI,IAAIjX,EAAEC,EAAEC,EAAE,EAAEC,EAAE,GAAGG,EAAEoG,UAAUnG,OAAOL,EAAEI,EAAEJ,KAAKF,EAAE0G,UAAUxG,MAAMD,EAAEF,EAAEC,MAAMG,IAAIA,GAAG,KAAKA,GAAGF,GAAG,OAAOE,CAAC,CE6C3TwX,IAAQD;;AC3C5D,SAASE,GAAQC,GACf,IAAK,IAAItP,EAAI,EAAGA,EAAI7B,UAAUnG,OAAQgI,IAAK,CACzC,IAAIuP,EAASpR,UAAU6B,GACvB,IAAK,IAAI9E,KAAOqU,EACdD,EAAOpU,GAAOqU,EAAOrU,EAEzB,CACA,OAAOoU,CACT,uGAsBA,SAASE,EAAMC,EAAWC,GACxB,SAASnU,EAAKoU,EAAM5T,EAAO6T,GACzB,GAAwB,oBAAbC,SAAX,CAMkC,iBAFlCD,EAAaP,GAAO,GAAIK,EAAmBE,IAErBE,UACpBF,EAAWE,QAAU,IAAIC,KAAKA,KAAKC,MAA6B,MAArBJ,EAAWE,UAEpDF,EAAWE,UACbF,EAAWE,QAAUF,EAAWE,QAAQG,eAG1CN,EAAOO,mBAAmBP,GACvBQ,QAAQ,uBAAwBC,oBAChCD,QAAQ,QAASE,QAEpB,IAAIC,EAAwB,GAC5B,IAAK,IAAIC,KAAiBX,EACnBA,EAAWW,KAIhBD,GAAyB,KAAOC,GAEE,IAA9BX,EAAWW,KAWfD,GAAyB,IAAMV,EAAWW,GAAe7X,MAAM,KAAK,KAGtE,OAAQmX,SAASW,OACfb,EAAO,IAAMF,EAAUgB,MAAM1U,EAAO4T,GAAQW,CAtC9C,CAuCF,CA4BA,OAAOtV,OAAO0V,OACZ,CACEnV,MACAjC,IA7BJ,SAAcqW,GACZ,GAAwB,oBAAbE,YAA6B1R,UAAUnG,QAAW2X,GAA7D,CAQA,IAFA,IAAIgB,EAAUd,SAASW,OAASX,SAASW,OAAO9X,MAAM,MAAQ,GAC1DkY,EAAM,CAAA,EACD5Q,EAAI,EAAGA,EAAI2Q,EAAQ3Y,OAAQgI,IAAK,CACvC,IAAI6Q,EAAQF,EAAQ3Q,GAAGtH,MAAM,KACzBqD,EAAQ8U,EAAMrX,MAAM,GAAGI,KAAK,KAEhC,IACE,IAAIkX,EAAQV,mBAAmBS,EAAM,IAGrC,GAFAD,EAAIE,GAASrB,EAAUsB,KAAKhV,EAAO+U,GAE/BnB,IAASmB,EACX,KAEJ,CAAE,MAAOrZ,GAAI,CACf,CAEA,OAAOkY,EAAOiB,EAAIjB,GAAQiB,CApB1B,CAqBF,EAMII,OAAQ,SAAUrB,EAAMC,GACtBrU,EACEoU,EACA,GACAN,GAAO,CAAA,EAAIO,EAAY,CACrBE,SAAS,IAGf,EACAmB,eAAgB,SAAUrB,GACxB,OAAOJ,EAAK0B,KAAKzB,UAAWJ,GAAO,CAAA,EAAI6B,KAAKtB,WAAYA,GAC1D,EACAuB,cAAe,SAAU1B,GACvB,OAAOD,EAAKH,GAAO,GAAI6B,KAAKzB,UAAWA,GAAYyB,KAAKtB,WAC1D,GAEF,CACEA,WAAY,CAAE7T,MAAOf,OAAOoW,OAAO1B,IACnCD,UAAW,CAAE1T,MAAOf,OAAOoW,OAAO3B,KAGxC,CAEUD,CApHa,CACrBuB,KAAM,SAAUhV,GAId,MAHiB,MAAbA,EAAM,KACRA,EAAQA,EAAMvC,MAAM,GAAG,IAElBuC,EAAMoU,QAAQ,mBAAoBC,mBAC3C,EACAK,MAAO,SAAU1U,GACf,OAAOmU,mBAAmBnU,GAAOoU,QAC/B,2CACAC,mBAEJ,GAwG+B,CAAEjV,KAAM,0ECjIzCH,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,SAAU,CACrCC,YAAY,EACZjY,IAAK,WACD,OAAOkY,CACf,IAEA,IAAIA,EAAuB,SAASA,GAqBhC,OApBAA,EAAiB,SAAI,WACrBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAgB,QAAI,eACpBA,EAAgB,QAAI,iBACpBA,EAAkB,UAAI,YACtBA,EAAW,GAAI,KACfA,EAAc,MAAI,aAClBA,EAAuB,eAAI,uBAC3BA,EAAuB,eAAI,uBAC3BA,EAA0B,kBAAI,0BAC9BA,EAAc,MAAI,QAClBA,EAAkB,UAAI,YACtBA,EAAmB,WAAI,aACvBA,EAA0B,kBAAI,oBACvBA,CACX,CAtB2B,CAsBzB,CAAA,oEC/BFxW,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,UAAW,CACtCC,YAAY,EACZjY,IAAK,WACD,OAAOmY,CACf,IAEA,IAAIA,EAAwB,SAASA,GAOjC,OANAA,EAAyB,gBAAI,kBAC7BA,EAAwB,eAAI,wBAC5BA,EAA2B,kBAAI,2BAC/BA,EAAyB,gBAAI,kBAC7BA,EAAmB,UAAI,YACvBA,EAA4B,mBAAI,qBACzBA,CACX,CAR4B,CAQ1B,CAAA,oECjBFzW,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,QAAS,CACpCC,YAAY,EACZjY,IAAK,WACD,OAAOoY,CACf,IAEA,IAAIA,EAAsB,SAASA,GAQ/B,OAPAA,EAAY,KAAI,OAChBA,EAAc,OAAI,SAClBA,EAAiB,UAAI,YACrBA,EAAY,KAAI,OAChBA,EAAmB,YAAI,cACvBA,EAAiB,UAAI,YACrBA,EAAqB,cAAI,gBAClBA,CACX,CAT0B,CASxB,CAAA,oEClBF1W,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEX,SAAiBuT,EAAQqC,GACrB,IAAI,IAAIhC,KAAQgC,EAAI3W,OAAOqW,eAAe/B,EAAQK,EAAM,CACpD4B,YAAY,EACZjY,IAAK0B,OAAO4W,yBAAyBD,EAAKhC,GAAMrW,KAExD,CACAuY,CAAQP,EAAS,CACb,cAAIQ,GACA,OAAOA,CACf,EACI,YAAIC,GACA,OAAOA,CACf,EACI,oBAAIC,GACA,OAAOA,CACf,EACI,gBAAIC,GACA,OAAOA,CACf,EACI,mBAAIC,GACA,OAAOA,CACf,EACI,oBAAIC,GACA,OAAOA,CACf,EACI,YAAIC,GACA,OAAOA,CACf,EACI,iBAAIC,GACA,OAAOA,CACf,EACI,eAAIC,GACA,OAAOA,CACf,IAEA,IAAIC,EAAUC,KACVC,EAAWC,KACXC,EAASC,KACb,SAASC,EAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAIA,SAASC,EAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CAkBA,IA6CIG,EAxD0BP,EAW1BX,EAAmB,CACnBI,EAAQf,OAAO8B,UACff,EAAQf,OAAO+B,UACfhB,EAAQf,OAAOgC,UACfjB,EAAQf,OAAOiC,UACflB,EAAQf,OAAOkC,UACfnB,EAAQf,OAAOmC,UACfpB,EAAQf,OAAOoC,UACfrB,EAAQf,OAAOqC,QACftB,EAAQf,OAAOsC,QACfvB,EAAQf,OAAOuC,GACfxB,EAAQf,OAAOwC,MACfzB,EAAQf,OAAOyC,eACf1B,EAAQf,OAAO0C,eACf3B,EAAQf,OAAO2C,kBACf5B,EAAQf,OAAO4C,OAEfpC,EAAmB,CACnBO,EAAQf,OAAO8B,UACff,EAAQf,OAAO+B,UACfhB,EAAQf,OAAOgC,UACfjB,EAAQf,OAAOiC,UACflB,EAAQf,OAAOkC,UACfnB,EAAQf,OAAOmC,UACfpB,EAAQf,OAAOoC,UACfrB,EAAQf,OAAOqC,QACftB,EAAQf,OAAOsC,QACfvB,EAAQf,OAAOuC,GACfxB,EAAQf,OAAOwC,MACfzB,EAAQf,OAAOyC,eACf1B,EAAQf,OAAO0C,eACf3B,EAAQf,OAAO2C,mBAEflC,EAAe,CACfM,EAAQf,OAAO4C,MACf7B,EAAQf,OAAO6C,UACf9B,EAAQf,OAAO8C,WACf/B,EAAQf,OAAO+C,mBAEfjC,EAAc,CACdC,EAAQf,OAAOuC,GACfxB,EAAQf,OAAOyC,eACf1B,EAAQf,OAAO0C,eACf3B,EAAQf,OAAO2C,mBAGfrC,GAAyBmB,EAAXI,EAAO,GAA2Bd,EAAQf,OAAOqC,QAAS,CACxEtB,EAAQf,OAAOgD,YACfvB,EAAiBI,EAAMd,EAAQf,OAAOsC,QAAS,CAC/CvB,EAAQf,OAAOgD,YACfvB,EAAiBI,EAAMd,EAAQf,OAAOgD,UAAWxC,GAAmBiB,EAAiBI,EAAMd,EAAQf,OAAOwC,MAAO,CACjHzB,EAAQf,OAAO8B,YACfL,EAAiBI,EAAMd,EAAQf,OAAO4C,MAAO,CAC7C7B,EAAQf,OAAO6C,YACfpB,EAAiBI,EAAMd,EAAQf,OAAO6C,UAAW,CACjD9B,EAAQf,OAAO8C,WACf/B,EAAQf,OAAO+C,oBACftB,EAAiBI,EAAMd,EAAQf,OAAO8C,WAAY,CAClD/B,EAAQf,OAAO8B,UACff,EAAQf,OAAOsC,QACfvB,EAAQf,OAAOqC,UACfZ,EAAiBI,EAAMd,EAAQf,OAAO+C,kBAAmB,CACzDhC,EAAQf,OAAO8B,YACfD,GACAtB,EAAW,CACXQ,EAAQf,OAAO+B,UACfhB,EAAQf,OAAOgC,UACfjB,EAAQf,OAAOiC,UACflB,EAAQf,OAAOkC,UACfnB,EAAQf,OAAOmC,UACfpB,EAAQf,OAAOoC,WAEf1B,EAAkB,CAClBK,EAAQf,OAAO8B,WACjB7E,OA3GF,SAA8BqE,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,EAAqBC,EACxD,CAqBW2B,CADmB3B,EAqFAf,IA3F9B,SAA4B2C,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,GAAK/c,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO8a,EAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MAEhD,MADU,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MAC7C,QAAN/X,GAAqB,QAANA,EAAoBC,MAAMwT,KAAKzT,GACxC,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAWib,EAAqB9a,EAAG+c,QAA5G,CALQ,CAMZ,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,IAqFtGhD,EAAgB,CAChBE,EAAQf,OAAO8D,SACf/C,EAAQf,OAAO8B,UACff,EAAQf,OAAO+B,UACfhB,EAAQf,OAAOgC,UACfjB,EAAQf,OAAOiC,UACflB,EAAQf,OAAOkC,UACfnB,EAAQf,OAAOmC,UACfpB,EAAQf,OAAOoC,UACfrB,EAAQf,OAAOqC,QACftB,EAAQf,OAAOsC,QACfvB,EAAQf,OAAOgD,UACfjC,EAAQf,OAAOuC,GACfxB,EAAQf,OAAOwC,MACfzB,EAAQf,OAAOyC,eACf1B,EAAQf,OAAO0C,eACfzB,EAAShB,QAAQ8D,UACjB9C,EAAShB,QAAQ+D,gBACjB/C,EAAShB,QAAQgE,gBACjBhD,EAAShB,QAAQwC,eACjB,QAEA7B,EAAW,CACXO,EAAOjB,MAAMgE,KACb/C,EAAOjB,MAAMiE,KACbhD,EAAOjB,MAAMkE,OACbjD,EAAOjB,MAAMmE,mHCpLjB7a,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEX,SAAiBuT,EAAQqC,GACrB,IAAI,IAAIhC,KAAQgC,EAAI3W,OAAOqW,eAAe/B,EAAQK,EAAM,CACpD4B,YAAY,EACZjY,IAAK0B,OAAO4W,yBAAyBD,EAAKhC,GAAMrW,KAExD,CACAuY,CAAQP,EAAS,CACb,WAAIwE,GACA,OAAOA,CACf,EACI,oBAAIC,GACA,OAAOA,CACf,EACI,YAAIC,GACA,OAAOA,CACf,EACI,UAAIC,GACA,OAAOA,CACf,EACI,2CAAIC,GACA,OAAOA,CACf,IAEA,IAAI3D,EAAUC,KACVC,EAAWC,KACf,SAASO,EAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CA6BA,SAASiD,EAAqB7G,EAAQC,GASlC,OARAA,EAAmB,MAAVA,EAAiBA,EAAS,CAAA,EAC/BvU,OAAOob,0BACPpb,OAAOqb,iBAAiB/G,EAAQtU,OAAOob,0BAA0B7G,IAhBzE,SAAiB/H,GACb,IAAI8O,EAAOtb,OAAOsb,KAAK9O,GACvB,GAAIxM,OAAOub,sBAAuB,CAC9B,IAAIC,EAAUxb,OAAOub,sBAAsB/O,GAM3C8O,EAAKvb,KAAKoF,MAAMmW,EAAME,EAC9B,CACI,OAAOF,CACX,CAMQG,CAAQzb,OAAOuU,IAAS5U,QAAQ,SAASO,GACrCF,OAAOqW,eAAe/B,EAAQpU,EAAKF,OAAO4W,yBAAyBrC,EAAQrU,GACvF,GAEWoU,CACX,CAKA,SAASoH,EAASxD,EAAKnX,GACnB,IAAI4a,GAA4B,EAAMC,GAAoB,EAAOC,OAAiBpd,EAClF,IACI,IAAI,IAAqDqd,EAAjDC,EAAY/b,OAAOsb,KAAKpD,GAAKyB,OAAOC,cAAsB+B,GAA6BG,EAAQC,EAAUC,QAAQC,MAAON,GAA4B,EAAK,CAE7J,GAAI5a,IAAUmX,EADJ4D,EAAM/a,OAEZ,OAAO,CAEvB,CACA,CAAM,MAAOmb,GACLN,GAAoB,EACpBC,EAAiBK,CACzB,CAAK,QACG,IACSP,GAAiD,MAApBI,EAAUI,QACxCJ,EAAUI,QAE1B,CAAS,QACG,GAAIP,EACA,MAAMC,CAEtB,CACA,CACI,OAAO,CACX,CACA,SAASb,EAASoB,GACd,OAAOV,EAASjE,EAAShB,QAAS2F,EAAKC,SAC3C,CACA,SAASvB,EAAQsB,GACb,OAAOV,EAASnE,EAAQf,OAAQ4F,EAAKC,SACzC,CACA,SAASpB,EAAOmB,GACZ,MAAyB,SAAlBA,EAAKC,QAChB,CACA,SAAStB,EAAiBqB,GACtB,GAAIA,EAAKC,WAAa9E,EAAQf,OAAO8B,UACjC,OAAO,EAEX,GAA4B,IAAxB8D,EAAKvO,QAAQ7Q,OACb,OAAO,EAEX,IAAIsf,EAAWF,EAAKvO,QAAQ,GAC5B,MAA6B,SAAtByO,EAASD,UAA0C,KAAnBC,EAASvb,KACpD,CACA,SAASwb,EAAgB1H,GACrB,OAAmB,MAAZA,GAA6F,gBAApD,IAAbA,EAA2B,aAjDhDqD,EAiDuErD,IA/CrD,oBAAX8E,QAA0BzB,EAAIgC,cAAgBP,OAAS,gBAAkBzB,IA+CkB,YAAarD,GAAYhY,MAAMC,QAAQ+X,EAAShH,SAjDpK,IAAkBqK,CAkDlB,CACA,IAAIsE,EAA0B,EAC9B,SAAStB,EAAwCrG,GAC7C,OAAK0H,EAAgB1H,IAAaA,EAAShH,QAAQ7Q,OAASwf,EACjD3H,EAGPkG,EADWlG,EAAShH,QAAQgH,EAAShH,QAAQ7Q,OAAS,IAE/Cme,EAjGf,SAAwB7G,GACpB,IAAI,IAAItP,EAAI,EAAGA,EAAI7B,UAAUnG,OAAQgI,IAAI,CACrC,IAAIuP,EAAyB,MAAhBpR,UAAU6B,GAAa7B,UAAU6B,GAAK,CAAA,EAC/CyW,EAAUzb,OAAOsb,KAAK/G,GACkB,mBAAjCvU,OAAOub,wBACdE,EAAUA,EAAQhI,OAAOzT,OAAOub,sBAAsBhH,GAAQvD,OAAO,SAASyL,GAC1E,OAAOzc,OAAO4W,yBAAyBrC,EAAQkI,GAAKlG,UACpE,KAEQkF,EAAQ9b,QAAQ,SAASO,GACrB+X,EAAiB3D,EAAQpU,EAAKqU,EAAOrU,GACjD,EACA,CACI,OAAOoU,CACX,CAmFoCoI,CAAe,CAAA,EAAI7H,GAAW,CACtDhH,QAASgH,EAAShH,QAAQrP,MAAM,GAAG,KAGpCqW,CACX,kEC9IA8H,GAAiB5b,IAChB,GAA8C,oBAA1Cf,OAAO+Z,UAAUC,SAASC,KAAKlZ,GAClC,OAAO,EAGR,MAAMgZ,EAAY/Z,OAAO4c,eAAe7b,GACxC,OAAqB,OAAdgZ,GAAsBA,IAAc/Z,OAAO+Z,uECsBnD,SAASlC,EAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAUA,SAAS6E,EAAqB/E,GAC1B,OAVJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,EAAqBC,EACxD,CAQW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,EAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,EAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CA7CAra,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEX,SAAiBuT,EAAQqC,GACrB,IAAI,IAAIhC,KAAQgC,EAAI3W,OAAOqW,eAAe/B,EAAQK,EAAM,CACpD4B,YAAY,EACZjY,IAAK0B,OAAO4W,yBAAyBD,EAAKhC,GAAMrW,KAExD,CACAuY,CAAQP,EAAS,CACb,aAAIwG,GACA,OAAOA,CACf,EACI,gBAAIC,GACA,OAAOA,CACf,EACI,gBAAIC,GACA,OAAOA,CACf,EACI,yBAAIC,GACA,OAAOA,CACf,EACI,qBAAIC,GACA,OAAOA,CACf,EACI,wBAAIC,GACA,OAAOA,CACf,IA2BA,IAAID,EAAoB,SAASE,GAC7B,IAAIjd,EAAOid,EAAMjd,KAAMhB,EAAWie,EAAMje,SAAUke,EAAWD,EAAMC,SAAUtc,EAAQqc,EAAMrc,MAC3F,MAAO,CACHuc,QAAS,gBAAgB7J,OAAOtU,EAAU,mCAAmCsU,OAAO4J,GACpF1I,KAAM,OACNxU,KAAMA,EAAKod,UACXC,KAAMH,EACNtc,MAAOA,EAEf,EACIic,EAAe,SAASI,GACxB,IAAIK,EAAML,EAAMK,IAAK1c,EAAQqc,EAAMrc,MACnC,MAAO,CACH4T,KAAM,OACN8I,IAAKA,EACLtd,KAJ6Cid,EAAMjd,KAIxCod,UACXD,QAAS,yBAAyB7J,OAAOgK,GACzC1c,MAAOA,EAEf,EACIgc,EAAe,SAASK,GACxB,IAAIM,EAAMN,EAAMM,IAAK3c,EAAQqc,EAAMrc,MACnC,MAAO,CACH4T,KAAM,OACN+I,IAAKA,EACLvd,KAJ6Cid,EAAMjd,KAIxCod,UACXD,QAAS,wBAAwB7J,OAAOiK,GACxC3c,MAAOA,EAEf,EACI+b,EAAY,SAASM,GACrB,IAAIO,EAAWP,EAAMO,SAAU5c,EAAQqc,EAAMrc,MAAOZ,EAAOid,EAAMjd,KACjE,MAAO,CACHmd,QAAS,uCACT3I,KAAM,KACNgJ,SAAUd,EAAqBc,GAAU9a,OACzC1C,KAAMA,EAAKod,UACXxc,MAAOA,EAEf,EACIoc,EAAuB,SAASC,GAChC,IAAIje,EAAWie,EAAMje,SAAUgB,EAAOid,EAAMjd,KAC5C,MAAO,CACHmd,QAAS,iBAAiB7J,OAAOtU,EAAU,qBAC3CwV,KAAM,aACNxU,KAAMA,EAAKod,UAEnB,EACIN,EAAwB,SAASG,GACjC,IAAIje,EAAWie,EAAMje,SAAUgB,EAAOid,EAAMjd,KAC5C,MAAO,CACHmd,QAAS,iBAAiB7J,OAAOtU,EAAU,sBAC3CwV,KAAM,WACNxU,KAAMA,EAAKod,UAEnB,sDC7GAvd,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,kBAAmB,CAC9CC,YAAY,EACZjY,IAAK,WACD,OAAOsf,CACf,IAEA,IAAIC,EAA4BC,EAAyBtG,MACrDuG,EAAUrG,KACd,SAASG,EAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAkBA,SAASgG,EAAcC,EAAaC,EAAYC,GAG5C,OAFID,GAVR,SAA2B5J,EAAQ8J,GAC/B,IAAI,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAAMphB,OAAQgI,IAAI,CACjC,IAAIqZ,EAAaD,EAAMpZ,GACvBqZ,EAAW9H,WAAa8H,EAAW9H,aAAc,EACjD8H,EAAWlG,cAAe,EACtB,UAAWkG,IAAYA,EAAWjG,UAAW,GACjDpY,OAAOqW,eAAe/B,EAAQ+J,EAAWne,IAAKme,EACtD,CACA,CAEoBC,CAAkBL,EAAYlE,UAAWmE,GAElDD,CACX,CACA,SAAShG,EAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CACA,SAAS4F,EAAyB5F,GAC9B,OAAOA,GAAOA,EAAIqG,WAAarG,EAAM,CACjCsG,QAAStG,EAEjB,CAOA,SAAS2E,EAAqB/E,GAC1B,OA/CJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,EAAqBC,EACxD,CA6CW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,EAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,EAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CASA,IAAIuD,EAAgC,WAEhC,SAASA,EAAgB1F,EAAK/X,GAC1B,IAAIse,EAAQvI,KACRwI,EAASxI,MA1DrB,SAA2ByI,EAAUV,GACjC,KAAMU,aAAoBV,GACtB,MAAM,IAAI7D,UAAU,oCAE5B,CAuDQwE,CAAkB1I,KAAM0H,GACxB3F,EAAiB/B,KAAM,WAAO,GAC9B+B,EAAiB/B,KAAM,YAAQ,GAC/B+B,EAAiB/B,KAAM,eAAW,GAClC+B,EAAiB/B,KAAM,aAAS,GAChC+B,EAAiB/B,KAAM,cAAU,GACjC+B,EAAiB/B,KAAM,cAAU,GACjC+B,EAAiB/B,KAAM,cAAU,GACjC+B,EAAiB/B,KAAM,cAAU,GACjC+B,EAAiB/B,KAAM,aAAS,GAChC+B,EAAiB/B,KAAM,YAAQ,GAC/B+B,EAAiB/B,KAAM,aAAS,GAChC+B,EAAiB/B,KAAM,iBAAa,GACpC+B,EAAiB/B,KAAM,8BAA0B,GACjD+B,EAAiB/B,KAAM,YAAQ,GAC/BA,KAAKgC,IAAMA,EACXhC,KAAK/V,KAAOA,EACZ+V,KAAK6H,QAAU,GACf7H,KAAK2I,MAAQ,WACT,IAAI,IAAIC,EAAO3b,UAAUnG,OAAQ+hB,EAAS,IAAIliB,MAAMiiB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAOC,GAAQ7b,UAAU6b,GAE7B,IAAIC,GACHA,EAAgBP,EAAOX,SAAShe,KAAKoF,MAAM8Z,EAAepC,EAAqBkC,GAC5F,EACQ7I,KAAKgJ,OAAS,SAAShf,GACnB,OAAIA,KAAOue,EAAMvG,MAGjBuG,EAAMI,OAAM,EAAId,EAAQd,uBAAuB,CAC3C9d,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACnB,EACQgW,KAAK1J,OAAS,SAAStM,GACnB,IAAIa,EAAQb,EAAMue,EAAMvG,IAAIhY,GAAOue,EAAMvG,IACzC,GAAIhY,IACKue,EAAMS,OAAOhf,GACd,OAAO,EAGf,IAAI,EAAI2d,EAAYW,SAASzd,GACzB,OAAO,EAEX,IACIqe,EADAC,EAASnf,EAAMue,EAAMte,KAAKgf,GAAGjf,GAAOue,EAAMte,KAE1ChB,EAAiF,QAArEigB,EAAOlf,QAAiCA,EAAMue,EAAMte,KAAKmf,cAA6B,IAATF,EAAkBA,EAAO,QAOtH,OANAX,EAAMI,OAAM,EAAId,EAAQb,mBAAmB,CACvCG,SAAU,SACVle,SAAUA,EACVgB,KAAMkf,EACNte,MAAOA,MAEJ,CACnB,EACQmV,KAAKhT,OAAS,SAAShD,GACnB,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,QAAIA,IAAQue,EAAMS,OAAOhf,MAGJ,iBAAVa,IAGX0d,EAAMI,OAAM,EAAId,EAAQb,mBAAmB,CACvCG,SAAU,SACVle,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,GACpBa,MAAOA,MAEJ,GACnB,EACQmV,KAAKqJ,OAAS,SAASrf,EAAKsf,GACxB,IAAIze,EAAQ0d,EAAMvG,IAAIhY,GACtB,SAAIsf,GAActf,KAAOue,EAAMvG,QAG1BuG,EAAMS,OAAOhf,KAGG,iBAAVa,IAAuBiF,OAAOC,MAAMlF,KAG/C0d,EAAMI,OAAM,EAAId,EAAQb,mBAAmB,CACvCG,SAAU,SACVle,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,GACpBa,MAAOA,MAEJ,GACnB,EACQmV,KAAKuJ,MAAQ,SAASvf,GAClB,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,QAAIA,IAAQue,EAAMS,OAAOhf,QAGrBrD,MAAMC,QAAQiE,KAGlB0d,EAAMI,OAAM,EAAId,EAAQb,mBAAmB,CACvCG,SAAU,QACVle,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,GACpBa,MAAOA,MAEJ,GACnB,EACQmV,KAAKwJ,KAAO,SAASxf,EAAKyd,GACtB,IAAI5c,EAAQ0d,EAAMvG,IAAIhY,GACtB,QAAqB,iBAAVa,IAAsB4c,EAAS7Y,SAAS/D,MAGnD0d,EAAMI,OAAM,EAAId,EAAQjB,WAAW,CAC/Ba,SAAUA,EACV5c,MAAOA,EACPZ,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACnB,EACQgW,KAAKyJ,MAAQ,SAASzf,GAClB,IAAKue,EAAMgB,MAAMvf,GACb,OAAO,EAEX,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,OAAqB,IAAjBa,EAAM/D,SAGVyhB,EAAMI,OAAM,EAAId,EAAQhB,cAAc,CAClCW,IAAK,EACL3c,MAAOA,EACPZ,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACnB,EACQgW,KAAK0J,UAAY,SAAS1f,EAAKud,GAC3B,IAAKgB,EAAMgB,MAAMvf,GACb,OAAO,EAEX,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,OAAIa,EAAM/D,QAAUygB,IAGpBgB,EAAMI,OAAM,EAAId,EAAQf,cAAc,CAClCS,IAAKA,EACL1c,MAAOA,EACPZ,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACnB,EACQgW,KAAK2J,uBAAyB,SAASC,GACnC,IAAIC,EAAW/f,OAAOsb,KAAKmD,EAAMvG,KAAKrV,OAAOmO,OAAO,SAAS9Q,GACzD,OAAQ4f,EAAWhb,SAAS5E,EAC5C,GAOY,OANA6f,EAASpgB,QAAQ,SAASR,GACtB,OAAOsf,EAAMI,OAAM,EAAId,EAAQZ,sBAAsB,CACjDhe,SAAUA,EACVgB,KAAMse,EAAMte,KAAKgf,GAAGhgB,KAExC,GACuC,IAApB4gB,EAAS/iB,MAC5B,EACQkZ,KAAK8J,KAAO,SAAS9f,EAAK+f,GACtB,GAAKxB,EAAMgB,MAAMvf,GAAjB,CAGA,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GAClBggB,GAAc,EAClBnf,EAAMpB,QAAQ,SAASwgB,EAAM1e,GACzB,IAAIye,EAAJ,CAGA,IAAInB,EAASkB,EAAOE,EAAM1B,EAAMte,KAAKgf,GAAGjf,GAAKif,GAAG1d,IAC5Csd,EAAO/hB,OAAS,IAChBkjB,GAAc,GAElBzB,EAAMI,MAAM1Z,MAAMsZ,EAAO5B,EAAqBkC,GAL9D,CAMA,EAZA,CAaA,CACA,CAoBI,OAnBAf,EAAcJ,EAAiB,CAC3B,CACI1d,IAAK,SACL5B,IAAK,WACD,IAAImgB,EAAQvI,KACRkK,EAAiB,SAASC,GAC1B,OAAOC,KAAKC,UAAU,CAClBjD,QAAS+C,EAAM/C,QACfnd,KAAMkgB,EAAMlgB,MAEpC,EACgB,OAAO+V,KAAK6H,QAAQ/M,OAAO,SAASqP,EAAO5e,GACvC,OAAOgd,EAAMV,QAAQyC,UAAU,SAASC,GACpC,OAAOL,EAAeC,KAAWD,EAAeK,EACxE,KAA2Bhf,CAC3B,EACA,KAGWmc,CACX,CA5MoC,oECzEpC5d,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEX,SAAiBuT,EAAQqC,GACrB,IAAI,IAAIhC,KAAQgC,EAAI3W,OAAOqW,eAAe/B,EAAQK,EAAM,CACpD4B,YAAY,EACZjY,IAAK0B,OAAO4W,yBAAyBD,EAAKhC,GAAMrW,KAExD,CACAuY,CAAQP,EAAS,CACb,uBAAIoK,GACA,OAAOA,CACf,EACI,sBAAIC,GACA,OAAOA,CACf,EACI,iBAAIC,GACA,OAAOA,CACf,EACI,gBAAIC,GACA,OAAOA,CACf,EACI,UAAIZ,GACA,OAAOA,CACf,EACI,cAAIa,GACA,OAAOA,CACf,IAEA,IAAIC,EAAUvJ,KACd,SAASK,EAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAIA,SAASgJ,EAAyBhT,GAC9B,QAAa,IAATA,EACA,MAAM,IAAIiT,eAAe,6DAE7B,OAAOjT,CACX,CACA,SAASkT,EAAYzC,EAAO0C,EAASC,GAEjC,OADAD,EAAUE,EAAkBF,GA4DhC,SAAsCnT,EAAMiM,GACxC,GAAIA,IAA4B,WAelB/B,EAfQ+B,EAiBf/B,GAAyB,oBAAXyB,QAA0BzB,EAAIgC,cAAgBP,OAAS,gBAAkBzB,IAjBlC,mBAAT+B,GAC/C,OAAOA,EAcf,IAAkB/B,EAZd,OAAO8I,EAAyBhT,EACpC,CAhEWsT,CAA6B7C,EAAO8C,IAAiCC,QAAQC,UAAUN,EAASC,GAAQ,GAAIC,EAAkB5C,GAAOvE,aAAeiH,EAAQhc,MAAMsZ,EAAO2C,GACpL,CACA,SAASxC,EAAkBD,EAAUV,GACjC,KAAMU,aAAoBV,GACtB,MAAM,IAAI7D,UAAU,oCAE5B,CAUA,SAAS4D,EAAcC,EAAaC,EAAYC,GAG5C,OAFID,GAVR,SAA2B5J,EAAQ8J,GAC/B,IAAI,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAAMphB,OAAQgI,IAAI,CACjC,IAAIqZ,EAAaD,EAAMpZ,GACvBqZ,EAAW9H,WAAa8H,EAAW9H,aAAc,EACjD8H,EAAWlG,cAAe,EACtB,UAAWkG,IAAYA,EAAWjG,UAAW,GACjDpY,OAAOqW,eAAe/B,EAAQ+J,EAAWne,IAAKme,EACtD,CACA,CAEoBC,CAAkBL,EAAYlE,UAAWmE,GAElDD,CACX,CACA,SAAShG,EAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CACA,SAASmJ,EAAkBtkB,GAIvB,OAHAskB,EAAoBrhB,OAAO0hB,eAAiB1hB,OAAO4c,eAAiB,SAAwB7f,GACxF,OAAOA,EAAE4kB,WAAa3hB,OAAO4c,eAAe7f,EACpD,EACWskB,EAAkBtkB,EAC7B,CACA,SAAS6kB,EAAUC,EAAUC,GACzB,GAA0B,mBAAfA,GAA4C,OAAfA,EACpC,MAAM,IAAI1H,UAAU,sDAExByH,EAAS9H,UAAY/Z,OAAO0V,OAAOoM,GAAcA,EAAW/H,UAAW,CACnEG,YAAa,CACTnZ,MAAO8gB,EACPzJ,UAAU,EACVD,cAAc,KAGlB2J,GAAYC,EAAkBF,EAAUC,EAChD,CAaA,SAASC,EAAkBhlB,EAAGkR,GAK1B,OAJA8T,EAAoB/hB,OAAO0hB,gBAAkB,SAAwB3kB,EAAGkR,GAEpE,OADAlR,EAAE4kB,UAAY1T,EACPlR,CACf,EACWglB,EAAkBhlB,EAAGkR,EAChC,CACA,SAAS4O,EAAqB/E,GAC1B,OApFJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,EAAqBC,EACxD,CAkFW2B,CAAqB3B,IApBhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAkBwCG,CAAmB/B,IAM3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,EAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,EAAqB9a,EAAG+c,EAChH,CAbmEK,CAA+BrC,IAjBlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAe0GC,EAC1G,CAaA,SAASkH,IACL,IACI,IAAIjd,GAAU0d,QAAQjI,UAAUkI,QAAQhI,KAAKuH,QAAQC,UAAUO,QAAS,GAAI,WAAW,GAC/F,CAAM,MAAOE,GAAG,CACZ,OAAQX,EAA+B,WACnC,QAASjd,CACjB,IACA,CACA,IAAIuc,EAAe,GACfD,EAA8B,WAE9B,SAASA,EAAcuB,EAAaC,GAChCxD,EAAkB1I,KAAM0K,GACxB3I,EAAiB/B,KAAM,mBAAe,GACtC+B,EAAiB/B,KAAM,oBAAgB,GACvCA,KAAKiM,YAAcA,EACnBjM,KAAKkM,aAAeA,CAC5B,CA4CI,OA3CApE,EAAc4C,EAAe,CACzB,CACI1gB,IAAK,SACLa,MAAO,SAAgBqb,EAAMjc,GACzB,IAAIkiB,EAAI,IAAItB,EAAQnD,gBAAgBxB,EAAMjc,GAC1C,IAAKkiB,EAAE7V,SACH,OAAO6V,EAAEtD,OAEbsD,EAAExC,uBAAuB,CACrB,WACA,OACA,YAEJ,IAAIT,EAAOviB,MAAMC,QAAQoZ,KAAKiM,aAAe,CACzCG,UAAWpM,KAAKiM,aAChBjM,KAAKiM,YAAY/F,EAAMjc,GAAOmiB,EAAYlD,EAAKkD,UAAWC,EAAWnD,EAAK3B,IAAKA,OAAmB,IAAb8E,EAAsB,EAAIA,EACnH,GAAyB,IAArBD,EAAUtlB,QAAgBygB,EAAM,EAChC,MAAM,IAAI+E,MAAM,wDAAwD/O,OAAOgK,EAAK,uBAexF,GAbA4E,EAAEzC,UAAU,UAAWnC,GACE,IAArB6E,EAAUtlB,OACVqlB,EAAE1C,MAAM,WAER0C,EAAErC,KAAK,UAAW,SAASG,EAAMhgB,GAC7B,IAAIsiB,EAAQ,IAAI1B,EAAQnD,gBAAgBuC,EAAMhgB,GAC9C,OAAKsiB,EAAMjW,UAGXiW,EAAM/C,KAAK,WAAY4C,GAChBG,EAAM1D,QAHF0D,EAAM1D,MAIzC,GAEoBsD,EAAE7V,OAAO,QAAS,CAClB,IAAIkW,EACAC,EACAC,EACAC,EAA4M,QAA9LD,EAA6E,QAAtDD,EAA8BzM,KAAMkM,oBAAiD,IAAvBO,OAAgC,EAASA,EAAmB1I,KAA5F/D,KAAwGkG,EAAK0G,KAAM3iB,EAAKgf,GAAG,gBAA8C,IAAxByD,EAAiCA,EAAsB,IAC9QF,EAAKL,GAAGxD,MAAM1Z,MAAMud,EAAI7F,EAAqBgG,GAClE,CACgB,OAAOR,EAAEtD,MACzB,KAGW6B,CACX,CArDkC,GAsD9BF,EAAoC,SAASE,GAG7C,SAASF,EAAoBqC,EAAUC,GAEnC,IAAIvE,EA0CJ,OA3CAG,EAAkB1I,KAAMwK,GAExBjC,EAAQyC,EAAYhL,KAAMwK,EAAqB,CAC3CsC,EACA,SAASF,EAAM3iB,GACX,OAAO6gB,EAAyBvC,GAAOqC,WAAWgC,EAAM3iB,EACxE,IACY8X,EAAiBwG,EAAO,gBAAY,GAASxG,EAAiBwG,EAAO,YAAQ,GAASxG,EAAiBwG,EAAO,kBAAc,GAASA,EAAMsE,SAAWA,EAAUtE,EAAMqC,WAAa,SAASgC,EAAM3iB,GAClM,IAAIkiB,EAAI,IAAItB,EAAQnD,gBAAgBkF,EAAM3iB,GAC1C,GAAIkiB,EAAE7V,OAAO,UAAW,CACpB,IAAIkW,EACAO,EAAO,IAAIlC,EAAQnD,gBAAgBkF,EAAKxO,OAAO4O,IAAK/iB,EAAKgf,GAAG,UAAUA,GAAG,QACzE8D,EAAKzW,WACLyW,EAAKvD,KAAK,OAAQ,CACdjB,EAAMjB,OAEVyF,EAAKvD,KAAK,WAAY,CAClBjB,EAAMsE,WAES,SAAftE,EAAMjB,MACNyF,EAAK/f,OAAO,MACZ+f,EAAKpD,uBAAuB,CACxB,OACA,WACA,QAEkB,iBAAfpB,EAAMjB,OACbyF,EAAK/f,OAAO,OACZ+f,EAAKpD,uBAAuB,CACxB,OACA,WACA,WAIX6C,EAAKL,GAAGxD,MAAM1Z,MAAMud,EAAI7F,EAAqBoG,EAAKlE,QACnE,CAIY,OAHAsD,EAAExC,uBAAuB,CACrB,WAEGwC,EAAEtD,MACrB,EACQN,EAAMjB,KAAOiB,EAAMsE,SAAS5gB,WAAW,eAAiB,eAAiB,OAClEsc,CACf,CACI,OA/CAmD,EAAUlB,EAAqBE,GA+CxBF,CACX,CAlDwC,CAkDtCE,GACED,EAAmC,SAASC,GAG5C,SAASD,IAEL,IAAIlC,EAgBJ,OAjBAG,EAAkB1I,KAAMyK,GAExBlC,EAAQyC,EAAYhL,KAAMyK,EAAoB,CAC1C,CACI,QAEJ,SAASmC,EAAM3iB,GACX,OAAO6gB,EAAyBvC,GAAOqC,WAAWgC,EAAM3iB,EACxE,IACY8X,EAAiBwG,EAAO,aAAc,SAASqE,EAAM3iB,GACrD,IAAIkiB,EAAI,IAAItB,EAAQnD,gBAAgBkF,EAAM3iB,GAK1C,OAJAkiB,EAAEnf,OAAO,OACTmf,EAAExC,uBAAuB,CACrB,QAEGwC,EAAEtD,MACrB,GACeN,CACf,CACI,OArBAmD,EAAUjB,EAAoBC,GAqBvBD,CACX,CAxBuC,CAwBrCC,GACEX,EAAS,SAASkC,EAAaC,GAC/B,OAAO,IAAIxB,EAAcuB,EAAaC,EAC1C,EACItB,EAAa,SAASiC,EAAUZ,GAChC,OAAO,IAAIzB,EAAoBqC,EAAUZ,EAC7C,mEC5QA,SAAStK,EAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CASA,SAASC,EAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CAOA,SAAS2E,EAAqB/E,GAC1B,OA5BJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,EAAqBC,EACxD,CA0BW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,EAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,EAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CA3CAra,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,OAAQ,CACnCC,YAAY,EACZjY,IAAK,WACD,OAAO6kB,CACf,IA6CA,IAAIA,EAAO,SAASA,IAEhB,IAAI1E,EAAQvI,KACR/V,EAAOgD,UAAUnG,OAAS,QAAsB,IAAjBmG,UAAU,GAAgBA,UAAU,GAAK,IAtChF,SAA2Bwb,EAAUV,GACjC,KAAMU,aAAoBV,GACtB,MAAM,IAAI7D,UAAU,oCAE5B,CAmCIwE,CAAkB1I,KAAMiN,GACxBlL,EAAiB/B,KAAM,YAAQ,GAC/B+B,EAAiB/B,KAAM,UAAM,GAC7B+B,EAAiB/B,KAAM,cAAU,GACjC+B,EAAiB/B,KAAM,YAAQ,GAC/B+B,EAAiB/B,KAAM,eAAW,GAClCA,KAAK/V,KAAOA,EACZ+V,KAAKiJ,GAAK,SAASiE,GACf,OAAO,IAAID,EAAKtG,EAAqB4B,EAAMte,MAAMsT,OAAO,CACpD2P,IAEZ,EACIlN,KAAKmN,OAAS,WACV,OAA6B,IAAtB5E,EAAMte,KAAKnD,MAC1B,EACIkZ,KAAKoJ,KAAO,WACR,OAAOb,EAAMte,KAAKse,EAAMte,KAAKnD,OAAS,EAC9C,EACIkZ,KAAKqH,QAAU,WACX,OAAOkB,EAAMte,IACrB,CACA,4EC7EAH,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,2BAA4B,CACvDC,YAAY,EACZjY,IAAK,WACD,OAAOglB,CACf,IAEA,IAAI/L,EAAUC,KACVC,EAAWC,KACX6L,EAAqB3L,KACrBmJ,EAAUyC,KACVC,EAAQC,KACRC,EAAQC,KACRC,yBCfJ7jB,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,aAAc,CACzCC,YAAY,EACZjY,IAAK,WACD,OAAOwlB,CACf,IAEA,IAAI/C,EAAUvJ,KACd,SAASsM,EAAW/X,EAAM5L,GACtB,IAAIkiB,EAAI,IAAItB,EAAQnD,gBAAgB7R,EAAM5L,GAC1C,OAAKkiB,EAAE7V,UAGP6V,EAAExC,uBAAuB,CACrB,WACA,OACA,QACA,UAEJwC,EAAE7V,OAAO,QACT6V,EAAErC,KAAK,QAAS,SAAS+D,EAAM5jB,GAC3B,IAAI6jB,EAAQ,IAAIjD,EAAQnD,gBAAgBmG,EAAM5jB,GAC9C,OAAK6jB,EAAMxX,UAGXwX,EAAM9gB,OAAO,QACN8gB,EAAMjF,QAHFiF,EAAMjF,MAIzB,GACIsD,EAAEnf,OAAO,SACFmf,EAAEtD,QAlBEsD,EAAEtD,MAmBjB,YDhBA,SAASlH,EAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAIA,SAASC,EAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CAOA,SAAS2E,EAAqB/E,GAC1B,OAvBJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,EAAqBC,EACxD,CAqBW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,EAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,EAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CASA,IAwBIhC,EAxBA4L,GAAqB,EAAIR,EAAMxD,QAAQpD,EAAqB7c,OAAOkkB,OAAOzM,EAAShB,UAAUhD,OAAO,CACpG,SACD5Q,QACCshB,GAAa,EAAIV,EAAMxD,QAAQ,CAC/B1I,EAAQf,OAAOgD,YAEf4K,GAAsB,EAAIX,EAAM3C,YAAY,QAAS2C,EAAM5C,cAC3DwD,GAAkB,EAAIZ,EAAMxD,QAAQ,WACpC,MAAO,CACHqC,UAAW,CACP/K,EAAQf,OAAO8B,WAEnBmF,IAAK,EAEb,EAAG,SAASqF,EAAM3iB,GACd,IAAIkiB,EAAI,IAAItB,EAAQnD,gBAAgBkF,EAAM3iB,GAO1C,OANAkiB,EAAExC,uBAAuB,CACrB,UACA,YAEJwC,EAAE9C,OAAO,WAAW,GACpB8C,EAAE9C,OAAO,WAAW,GACb8C,EAAEtD,MACb,GAEIuF,GAA4BrM,EAAXI,EAAO,CAAA,EAA2Bd,EAAQf,OAAO8D,UAAU,EAAImJ,EAAMxD,QAAQsD,EAAmBpM,mBAAoBc,EAAiBI,EAAMd,EAAQf,OAAO8B,UAAW2L,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAO+B,UAAW0L,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAOgC,UAAWyL,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAOiC,UAAWwL,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAOkC,UAAWuL,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAOmC,UAAWsL,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAOoC,UAAWqL,GAAqBhM,EAAiBI,EAAMd,EAAQf,OAAOwC,OAAO,EAAIyK,EAAMxD,QAAQsD,EAAmBzM,WAAWS,EAAQf,OAAOwC,SAAUf,EAAiBI,EAAMd,EAAQf,OAAOyC,eAAgBmL,GAAsBnM,EAAiBI,EAAMd,EAAQf,OAAO0C,gBAAgB,EAAIuK,EAAM3C,YAAY,QAAS2C,EAAM5C,eAAgB5I,EAAiBI,EAAMd,EAAQf,OAAO2C,mBAAmB,EAAIsK,EAAM3C,YAAY,mBAAoB2C,EAAM5C,eAAgB5I,EAAiBI,EAAMd,EAAQf,OAAOuC,IAAI,EAAI0K,EAAMxD,QAAQwD,EAAM5C,eAAgB5I,EAAiBI,EAAMd,EAAQf,OAAOqC,QAASsL,GAAalM,EAAiBI,EAAMd,EAAQf,OAAOsC,QAASqL,GAAalM,EAAiBI,EAAMd,EAAQf,OAAOgD,WAAW,EAAIiK,EAAMxD,QAAQpD,EAAqB0G,EAAmBvM,kBAAkBnU,SAAUoV,EAAiBI,EAAMd,EAAQf,OAAO4C,OAAO,EAAIqK,EAAMxD,QAAQ,WACr6C,MAAO,CACHqC,UAAW,CACP/K,EAAQf,OAAO6C,WAEnBoE,IAAK,EAEb,IAAKxF,EAAiBI,EAAMd,EAAQf,OAAO6C,WAAW,EAAIoK,EAAMxD,QAAQ,WACpE,MAAO,CACHqC,UAAW,CACP/K,EAAQf,OAAO8C,WACf/B,EAAQf,OAAO+C,mBAEnBkE,IAAK,EAEb,IAAKxF,EAAiBI,EAAMd,EAAQf,OAAO8C,WAAY+K,GAAkBpM,EAAiBI,EAAMd,EAAQf,OAAO+C,kBAAmB8K,GAAkBpM,EAAiBI,EAAMZ,EAAShB,QAAQ8D,UAAW,IAAIkJ,EAAM9C,oBAAuB1I,EAAiBI,EAAMZ,EAAShB,QAAQwC,eAAgBmL,GAAsBnM,EAAiBI,EAAMZ,EAAShB,QAAQ0C,mBAAmB,EAAIsK,EAAM3C,YAAY,mBAAoB2C,EAAM5C,eAAgB5I,EAAiBI,EAAMZ,EAAShB,QAAQ+D,iBAAiB,EAAIiJ,EAAM3C,YAAY,QAAS,CACrgB,UACC7I,EAAiBI,EAAMZ,EAAShB,QAAQgE,iBAAiB,EAAIgJ,EAAM3C,YAAY,QAAS,CACzF,UACC7I,EAAiBI,EAAMZ,EAAShB,QAAQ8N,oBAAoB,EAAId,EAAM3C,YAAY,mBAAoB,CACvG,UACCzI,GACL,SAASmM,EAAapI,EAAMjc,GACxB,GAAsB,SAAlBic,EAAKC,SACL,OAAO,EAAIwH,EAAMC,YAAY1H,EAAMjc,GAEvC,IAAI4e,EAASuF,EAAclI,EAAKC,UAAU4D,OAAO7D,EAAMjc,GACvD,GAAI4e,EAAO/hB,OAAS,EAChB,OAAO+hB,EAEX,IAAIsD,EAAI,IAAItB,EAAQnD,gBAAgBxB,EAAMjc,GAI1C,OAHAkiB,EAAErC,KAAK,UAAW,SAASG,EAAMhgB,GAC7B,OAAOqkB,EAAarE,EAAMhgB,EAClC,GACWkiB,EAAEtD,MACb,CACA,IAAIuE,EAA2B,SAASzO,GACpC,IAAI1U,EAAO,IAAIwjB,EAAMR,KACjBd,EAAI,IAAItB,EAAQnD,gBAAgB/I,EAAU1U,GAM9C,OALIkiB,EAAE7V,UACF6V,EAAE3C,KAAK,WAAY,CACfnI,EAAQf,OAAO8D,WAGnB+H,EAAEtD,OAAO/hB,OAAS,EACXqlB,EAAEtD,OAENyF,EAAa3P,EAAU1U,EAClC,sDE/HAH,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEX,SAAiBuT,EAAQqC,GACrB,IAAI,IAAIhC,KAAQgC,EAAI3W,OAAOqW,eAAe/B,EAAQK,EAAM,CACpD4B,YAAY,EACZjY,IAAK0B,OAAO4W,yBAAyBD,EAAKhC,GAAMrW,KAExD,CACAuY,CAAQP,EAAS,CACb,UAAIE,GACA,OAAOe,EAAQf,MACvB,EACI,kBAAIiO,GACA,OAAOC,EAAeD,cAC9B,EACI,WAAIhO,GACA,OAAOgB,EAAShB,OACxB,EACI,SAAIC,GACA,OAAOiB,EAAOjB,KACtB,EACI,WAAIiO,GACA,OAAOC,CACf,EACI,4BAAItB,GACA,OAAOuB,EAAOvB,wBACtB,IAEA,IAAI/L,EAAUC,KACVC,EAAWC,KACXC,EAASC,KACbkN,EAAatB,KAAmClN,GAChDwO,aCjCA9kB,OAAOqW,eAAe0O,GAAS,aAAc,CACzChkB,OAAO,SDgCyBuV,GACpCwO,aElCA9kB,OAAOqW,eAAeiM,GAAS,aAAc,CACzCvhB,OAAO,SFiC6BuV,GACxC,IAAIoO,yBGnCJ1kB,OAAOqW,eAAcC,EAAU,aAAc,CACzCvV,OAAO,IAEXf,OAAOqW,eAAeC,EAAS,iBAAkB,CAC7CC,YAAY,EACZjY,IAAK,WACD,OAAOmmB,CACf,IAEA,IAAIlN,EAAUC,KACViN,EAAiB,CACjBpI,SAAU9E,EAAQf,OAAO8D,SACzBwI,KAAM,CAAA,EACNjV,QAAS,CACL,CACIwO,SAAU9E,EAAQf,OAAO8B,UACzBwK,KAAM,CAAA,EACNjV,QAAS,CACL,CACIwO,SAAU,OACVtb,MAAO,GACPikB,MAAO,GACPlC,KAAM,CAAA,iBHctB8B,EAAyBK,EAA0BC,MACnDL,EAASM,KACb,SAASL,EAAazU,EAAMH,GAWxB,OAVAlQ,OAAOsb,KAAKjL,GAAM1Q,QAAQ,SAAS2D,GACrB,YAANA,GAAoBtD,OAAO+Z,UAAUqL,eAAenL,KAAK/J,EAAI5M,IAC7DtD,OAAOqW,eAAenG,EAAI5M,EAAG,CACzBiT,YAAY,EACZjY,IAAK,WACD,OAAO+R,EAAK/M,EAChC,GAGA,GACW+M,CACX,CACA,SAASgV,EAAyBC,GAC9B,GAAuB,mBAAZC,QAAwB,OAAO,KAC1C,IAAIC,EAAoB,IAAID,QACxBE,EAAmB,IAAIF,QAC3B,OAAQF,EAA2B,SAASC,GACxC,OAAOA,EAAcG,EAAmBD,CAChD,GAAOF,EACP,CACA,SAASL,EAA0B/M,EAAKoN,GACpC,GAAoBpN,GAAOA,EAAIqG,WAC3B,OAAOrG,EAEX,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAClD,MAAO,CACHsG,QAAStG,GAGjB,IAAItX,EAAQykB,EAAyBC,GACrC,GAAI1kB,GAASA,EAAMN,IAAI4X,GACnB,OAAOtX,EAAMtC,IAAI4Z,GAErB,IAAIwN,EAAS,CACT/D,UAAW,MAEXgE,EAAwB3lB,OAAOqW,gBAAkBrW,OAAO4W,yBAC5D,IAAI,IAAI1W,KAAOgY,EACX,GAAY,YAARhY,GAAqBF,OAAO+Z,UAAUqL,eAAenL,KAAK/B,EAAKhY,GAAM,CACrE,IAAI0lB,EAAOD,EAAwB3lB,OAAO4W,yBAAyBsB,EAAKhY,GAAO,KAC3E0lB,IAASA,EAAKtnB,KAAOsnB,EAAKrlB,KAC1BP,OAAOqW,eAAeqP,EAAQxlB,EAAK0lB,GAEnCF,EAAOxlB,GAAOgY,EAAIhY,EAElC,CAMI,OAJAwlB,EAAOlH,QAAUtG,EACbtX,GACAA,EAAML,IAAI2X,EAAKwN,GAEZA,CACX,4CI1FA,IAAIG,EAAQrO,EAAAA,QACRsO,EAAgBpO,KAWpB,SAASqO,EAA0BC,EAAOC,GACtC,OAAOD,EAAMvjB,IAAI,CAAC2Z,EAAM3a,KACpB,OAXyB2hB,EAWM8C,EAAqB9J,EAAM6J,GAXxB/lB,EAWkCuB,EAVpEokB,EAAMM,eAAe/C,IAA4B,OAAhBA,EAAQljB,IAClC2lB,EAAMO,aAAahD,EAAS,CAC/BljB,QAGDkjB,EANX,IAAiCA,EAASljB,GAa1C,CACA,SAASgmB,EAAqB9J,EAAM6J,GAChC,MAAMI,WAAEA,EAAUC,WAAEA,EAAUC,WAAEA,EAAUC,mBAAEA,GAAuBP,EACnE,GAAIH,EAAcnB,QAAQ1J,OAAOmB,GAAO,CACpC,IAAIqK,EAAYF,EAAaA,EAAWnK,EAAKrb,OAASqb,EAAKrb,MAC3D,GAAIylB,IAAuBD,EAAY,CACnCE,EAAYA,EAAUtR,QAAQ,SAAWuR,GAAQ,IAAS1W,OAAO0W,EAAM1pB,SACvE,MAAM2pB,EAAQF,EAAU/oB,MAAM,MACxBkpB,EAAW,GACjBD,EAAMhnB,QAAQ,CAACknB,EAAMplB,KACjBmlB,EAAS7mB,KAAK8mB,GACVplB,IAAUklB,EAAM3pB,OAAS,GACzB4pB,EAAS7mB,KAAK8lB,EAAMiB,cAAc,KAAM,SAGhDL,EAAYG,CACxB,CACQ,OAAOxK,EAAK4I,MAAMjhB,OAAO,CAAChD,EAAOgjB,IACxBuC,EAAWvC,EAAKvG,MAGd8I,EAAWvC,EAAKvG,MAAMzc,GAFlBA,EAGZ0lB,EACX,CAAW,CACH,MAAMM,EAAWhB,EAA0B3J,EAAKvO,QAASoY,GACzD,OAAK7J,EAAKC,UAAagK,EAAWjK,EAAKC,UAGhCgK,EAAWjK,EAAKC,UAAUD,EAAM2K,GAF5BlB,EAAMiB,cAAcjB,EAAMmB,SAAU,KAAMD,EAG7D,CACA,CAEA,MAAME,EAAuB,CACzB,CAACnB,EAActP,OAAO8D,UAAW,CAAC8B,EAAM2K,IAAWA,EACnD,CAACjB,EAActP,OAAO8B,WAAY,CAAC8D,EAAM2K,IAAWlB,EAAMiB,cAAc,IAAK,KAAMC,GACnF,CAACjB,EAActP,OAAO+B,WAAY,CAAC6D,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOgC,WAAY,CAAC4D,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOiC,WAAY,CAAC2D,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOkC,WAAY,CAAC0D,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOmC,WAAY,CAACyD,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOoC,WAAY,CAACwD,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOyC,gBAAiB,CAACmD,EAAM2K,IAAWlB,EAAMiB,cAAc,MAAO,KAAMC,GAC1F,CAACjB,EAActP,OAAO2C,mBAAoB,CAACiD,EAAM2K,IAAWlB,EAAMiB,cAAc,MAAO,KAAMC,GAC7F,CAACjB,EAActP,OAAOsC,SAAU,CAACsD,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GAClF,CAACjB,EAActP,OAAOqC,SAAU,CAACuD,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GAClF,CAACjB,EAActP,OAAOgD,WAAY,CAAC4C,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAOwC,OAAQ,CAACoD,EAAM2K,IAAWlB,EAAMiB,cAAc,aAAc,KAAMC,GACxF,CAACjB,EAActP,OAAOuC,IAAK,IAAI8M,EAAMiB,cAAc,KAAM,MACzD,CAAChB,EAActP,OAAO4C,OAAQ,CAACgD,EAAM2K,IAAWlB,EAAMiB,cAAc,QAAS,KAAMjB,EAAMiB,cAAc,QAAS,KAAMC,IACtH,CAACjB,EAActP,OAAO6C,WAAY,CAAC+C,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACpF,CAACjB,EAActP,OAAO+C,mBAAoB,CAAC6C,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GAC5F,CAACjB,EAActP,OAAO8C,YAAa,CAAC8C,EAAM2K,IAAWlB,EAAMiB,cAAc,KAAM,KAAMC,GACrF,CAACjB,EAAcrP,QAAQgE,iBAAmB2B,GAAO8K,EAAcpB,EAAcrP,QAAQgE,gBAAiB2B,GACtG,CAAC0J,EAAcrP,QAAQ+D,iBAAmB4B,GAAO8K,EAAcpB,EAAcrP,QAAQ+D,gBAAiB4B,GACtG,CAAC0J,EAAcrP,QAAQ8N,oBAAsBnI,GAAO+K,EAAsBrB,EAAcrP,QAAQ8N,mBAAoBnI,GACpH,CAAC0J,EAAcrP,QAAQwC,gBAAkBmD,GAAO8K,EAAcpB,EAAcrP,QAAQwC,eAAgBmD,GACpG,CAAC0J,EAAcrP,QAAQ0C,mBAAoB,CAACiD,EAAMgL,IAAYD,EAAsBrB,EAAcrP,QAAQ0C,kBAAmBiD,GAC7H,CAAC0J,EAAcrP,QAAQ8D,WAAY,CAAC6B,EAAM2K,IAAWlB,EAAMiB,cAAc,IAAK,CACtEO,KAAMjL,EAAK0G,KAAKwE,KACjBP,IAELQ,EAAuB,CACzB,CAACzB,EAAcpP,MAAMgE,MAAQ3O,GAAO8Z,EAAMiB,cAAc,IAAK,KAAM/a,GACnE,CAAC+Z,EAAcpP,MAAMkE,QAAU7O,GAAO8Z,EAAMiB,cAAc,IAAK,KAAM/a,GACrE,CAAC+Z,EAAcpP,MAAMmE,WAAa9O,GAAO8Z,EAAMiB,cAAc,IAAK,KAAM/a,GACxE,CAAC+Z,EAAcpP,MAAMiE,MAAQ5O,GAAO8Z,EAAMiB,cAAc,OAAQ,KAAM/a,GACtE,CAAC+Z,EAAcpP,MAAM8Q,aAAezb,GAAO8Z,EAAMiB,cAAc,MAAO,KAAM/a,GAC5E,CAAC+Z,EAAcpP,MAAM+Q,WAAa1b,GAAO8Z,EAAMiB,cAAc,MAAO,KAAM/a,GAC1E,CAAC+Z,EAAcpP,MAAMgR,eAAiB3b,GAAO8Z,EAAMiB,cAAc,IAAK,KAAM/a,IAEhF,SAASmb,EAAc1J,EAAMpB,GACzB,OAAOyJ,EAAMiB,cAAc,OAAQ,CAC/B5mB,IAAKkc,EAAK0G,KAAKxO,OAAO4O,IAAIyE,IAC3B,SAAUvL,EAAKC,SAAU,QAASD,EAAK0G,KAAKxO,OAAO4O,IAAIyE,GAC9D,CACA,SAASR,EAAsB3J,EAAMpB,GACjC,OAAOyJ,EAAMiB,cAAc,OAAQ,CAC/B5mB,IAAKkc,EAAK0G,KAAKxO,OAAO4O,IAAI0E,KAC3B,SAAUxL,EAAKC,SAAU,SAAUD,EAAK0G,KAAKxO,OAAO4O,IAAI0E,IAC/D,CAuBAC,GAAAC,0BAtBA,SAAmCC,EAAkB9B,EAAU,IAC3D,IAAK8B,EACD,OAAO,KAEX,IAAIC,EAAoBD,EAIxB,OAHI9B,EAAQgC,8BACRD,EAAoBlC,EAAcnB,QAAQzJ,wCAAwC6M,IAE/E7B,EAAqB8B,EAAmB,CAC3C3B,WAAY,IACLY,KACAhB,EAAQI,YAEfC,WAAY,IACLiB,KACAtB,EAAQK,YAEfC,WAAYN,EAAQM,WACpBC,mBAAoBP,EAAQO,oBAEpC,KCtHO,IAAIhQ,GAAuB,SAASA,GAqBvC,OApBAA,EAAiB,SAAI,WACrBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAkB,UAAI,YACtBA,EAAgB,QAAI,eACpBA,EAAgB,QAAI,iBACpBA,EAAkB,UAAI,YACtBA,EAAW,GAAI,KACfA,EAAc,MAAI,aAClBA,EAAuB,eAAI,uBAC3BA,EAAuB,eAAI,uBAC3BA,EAA0B,kBAAI,0BAC9BA,EAAc,MAAI,QAClBA,EAAkB,UAAI,YACtBA,EAAmB,WAAI,aACvBA,EAA0B,kBAAI,oBACvBA,CACX,CAtBkC,CAsBhC,ICtBSC,GAAwB,SAASA,GAOxC,OANAA,EAAyB,gBAAI,kBAC7BA,EAAwB,eAAI,wBAC5BA,EAA2B,kBAAI,2BAC/BA,EAAyB,gBAAI,kBAC7BA,EAAmB,UAAI,YACvBA,EAA4B,mBAAI,qBACzBA,CACX,CARmC,CAQjC,ICRF,SAASoB,GAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAIA,SAASC,GAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CAqBO,IA6CHG,GA7COlB,GAAmB,CAC1BX,GAAO8B,UACP9B,GAAO+B,UACP/B,GAAOgC,UACPhC,GAAOiC,UACPjC,GAAOkC,UACPlC,GAAOmC,UACPnC,GAAOoC,UACPpC,GAAOqC,QACPrC,GAAOsC,QACPtC,GAAOuC,GACPvC,GAAOwC,MACPxC,GAAOyC,eACPzC,GAAO0C,eACP1C,GAAO2C,kBACP3C,GAAO4C,OAEApC,GAAmB,CAC1BR,GAAO8B,UACP9B,GAAO+B,UACP/B,GAAOgC,UACPhC,GAAOiC,UACPjC,GAAOkC,UACPlC,GAAOmC,UACPnC,GAAOoC,UACPpC,GAAOqC,QACPrC,GAAOsC,QACPtC,GAAOuC,GACPvC,GAAOwC,MACPxC,GAAOyC,eACPzC,GAAO0C,eACP1C,GAAO2C,mBAGP3C,GAAO4C,MACP5C,GAAO6C,UACP7C,GAAO8C,WACP9C,GAAO+C,kBAGP/C,GAAOuC,GACPvC,GAAOyC,eACPzC,GAAO0C,eACP1C,GAAO2C,kBAGJ,IA5DuBrB,GA4DnBhB,IAAyBmB,GAAXI,GAAO,CAAA,EAA2B7B,GAAOqC,QAAS,CACvErC,GAAOgD,YACPvB,GAAiBI,GAAM7B,GAAOsC,QAAS,CACvCtC,GAAOgD,YACPvB,GAAiBI,GAAM7B,GAAOgD,UAAWxC,IAAmBiB,GAAiBI,GAAM7B,GAAOwC,MAAO,CACjGxC,GAAO8B,YACPL,GAAiBI,GAAM7B,GAAO4C,MAAO,CACrC5C,GAAO6C,YACPpB,GAAiBI,GAAM7B,GAAO6C,UAAW,CACzC7C,GAAO8C,WACP9C,GAAO+C,oBACPtB,GAAiBI,GAAM7B,GAAO8C,WAAY,CAC1C9C,GAAO8B,UACP9B,GAAOsC,QACPtC,GAAOqC,UACPZ,GAAiBI,GAAM7B,GAAO+C,kBAAmB,CACjD/C,GAAO8B,YACPD,IACOtB,GAAW,CAClBP,GAAO+B,UACP/B,GAAOgC,UACPhC,GAAOiC,UACPjC,GAAOkC,UACPlC,GAAOmC,UACPnC,GAAOoC,WAEkB,CACzBpC,GAAO8B,WACT7E,OA9GF,SAA8BqE,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,GAAqBC,EACxD,CAqBW2B,CADmB3B,GAwFAf,KA9F9B,SAA4B2C,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,KAE3D,SAAwC/a,EAAG+c,GACvC,GAAK/c,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO8a,GAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MAEhD,MADU,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MAC7C,QAAN/X,GAAqB,QAANA,EAAoBC,MAAMwT,KAAKzT,GACxC,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAWib,GAAqB9a,EAAG+c,QAA5G,CALQ,CAMZ,CATmEK,CAA+BrC,KAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,IAyFtG7D,GAAO8D,SACP9D,GAAO8B,UACP9B,GAAO+B,UACP/B,GAAOgC,UACPhC,GAAOiC,UACPjC,GAAOkC,UACPlC,GAAOmC,UACPnC,GAAOoC,UACPpC,GAAOqC,QACPrC,GAAOsC,QACPtC,GAAOgD,UACPhD,GAAOuC,GACPvC,GAAOwC,MACPxC,GAAOyC,eACPzC,GAAO0C,eACPzC,GAAQ8D,UACR9D,GAAQ+D,gBACR/D,GAAQgE,gBACRhE,GAAQwC,eCrIEzC,GAAO8D,SAIC9D,GAAO8B,0BCN7B,SAAST,GAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAUA,SAAS6E,GAAqB/E,GAC1B,OAVJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,GAAqBC,EACxD,CAQW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,GAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,GAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CASO,IAAI6C,GAAoB,SAASE,GACpC,IAAIjd,EAAOid,EAAMjd,KAAMhB,EAAWie,EAAMje,SAAUke,EAAWD,EAAMC,SAAUtc,EAAQqc,EAAMrc,MAC3F,MAAO,CACHuc,QAAS,gBAAgB7J,OAAOtU,EAAU,mCAAmCsU,OAAO4J,GACpF1I,KAAM,OACNxU,KAAMA,EAAKod,UACXC,KAAMH,EACNtc,MAAOA,EAEf,EClCA,SAAS8W,GAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAkBA,SAASgG,GAAcC,EAAaC,EAAYC,GAG5C,OAFID,GAVR,SAA2B5J,EAAQ8J,GAC/B,IAAI,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAAMphB,OAAQgI,IAAI,CACjC,IAAIqZ,EAAaD,EAAMpZ,GACvBqZ,EAAW9H,WAAa8H,EAAW9H,aAAc,EACjD8H,EAAWlG,cAAe,EACtB,UAAWkG,IAAYA,EAAWjG,UAAW,GACjDpY,OAAOqW,eAAe/B,EAAQ+J,EAAWne,IAAKme,EAClD,CACJ,CAEoBC,CAAkBL,EAAYlE,UAAWmE,GAElDD,CACX,CACA,SAAShG,GAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CAOA,SAAS2E,GAAqB/E,GAC1B,OA1CJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,GAAqBC,EACxD,CAwCW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,GAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,GAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CAWO,IAAIuD,GAAgC,WAEvC,SAASA,EAAgB1F,EAAK/X,GAC1B,IAAIse,EAAQvI,KACRwI,EAASxI,MAvDrB,SAA2ByI,EAAUV,GACjC,KAAMU,aAAoBV,GACtB,MAAM,IAAI7D,UAAU,oCAE5B,CAoDQwE,CAAkB1I,KAAM0H,GACxB3F,GAAiB/B,KAAM,WAAO,GAC9B+B,GAAiB/B,KAAM,YAAQ,GAC/B+B,GAAiB/B,KAAM,eAAW,GAClC+B,GAAiB/B,KAAM,aAAS,GAChC+B,GAAiB/B,KAAM,cAAU,GACjC+B,GAAiB/B,KAAM,cAAU,GACjC+B,GAAiB/B,KAAM,cAAU,GACjC+B,GAAiB/B,KAAM,cAAU,GACjC+B,GAAiB/B,KAAM,aAAS,GAChC+B,GAAiB/B,KAAM,YAAQ,GAC/B+B,GAAiB/B,KAAM,aAAS,GAChC+B,GAAiB/B,KAAM,iBAAa,GACpC+B,GAAiB/B,KAAM,8BAA0B,GACjD+B,GAAiB/B,KAAM,YAAQ,GAC/BA,KAAKgC,IAAMA,EACXhC,KAAK/V,KAAOA,EACZ+V,KAAK6H,QAAU,GACf7H,KAAK2I,MAAQ,WACT,IAAI,IAAIC,EAAO3b,UAAUnG,OAAQ+hB,EAAS,IAAIliB,MAAMiiB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC9ED,EAAOC,GAAQ7b,UAAU6b,GAE7B,IAAIC,GACHA,EAAgBP,EAAOX,SAAShe,KAAKoF,MAAM8Z,EAAepC,GAAqBkC,GACpF,EACA7I,KAAKgJ,OAAS,SAAShf,GACnB,OAAIA,KAAOue,EAAMvG,MAGjBuG,EAAMI,MDpBiB,SAASzB,GACxC,IAAIje,EAAWie,EAAMje,SAAUgB,EAAOid,EAAMjd,KAC5C,MAAO,CACHmd,QAAS,iBAAiB7J,OAAOtU,EAAU,sBAC3CwV,KAAM,WACNxU,KAAMA,EAAKod,UAEnB,CCawBN,CAAsB,CAC9B9d,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACX,EACAgW,KAAK1J,OAAS,SAAStM,GACnB,IAAIa,EAAQb,EAAMue,EAAMvG,IAAIhY,GAAOue,EAAMvG,IACzC,GAAIhY,IACKue,EAAMS,OAAOhf,GACd,OAAO,EAGf,GAAIgoB,GAAcnnB,GACd,OAAO,EAEX,IACIqe,EADAC,EAASnf,EAAMue,EAAMte,KAAKgf,GAAGjf,GAAOue,EAAMte,KAE1ChB,EAAiF,QAArEigB,EAAOlf,QAAiCA,EAAMue,EAAMte,KAAKmf,cAA6B,IAATF,EAAkBA,EAAO,QAOtH,OANAX,EAAMI,MAAM3B,GAAkB,CAC1BG,SAAU,SACVle,SAAUA,EACVgB,KAAMkf,EACNte,MAAOA,MAEJ,CACX,EACAmV,KAAKhT,OAAS,SAAShD,GACnB,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,QAAIA,IAAQue,EAAMS,OAAOhf,MAGJ,iBAAVa,IAGX0d,EAAMI,MAAM3B,GAAkB,CAC1BG,SAAU,SACVle,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,GACpBa,MAAOA,MAEJ,GACX,EACAmV,KAAKqJ,OAAS,SAASrf,EAAKsf,GACxB,IAAIze,EAAQ0d,EAAMvG,IAAIhY,GACtB,SAAIsf,GAActf,KAAOue,EAAMvG,QAG1BuG,EAAMS,OAAOhf,KAGG,iBAAVa,IAAuBiF,OAAOC,MAAMlF,KAG/C0d,EAAMI,MAAM3B,GAAkB,CAC1BG,SAAU,SACVle,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,GACpBa,MAAOA,MAEJ,GACX,EACAmV,KAAKuJ,MAAQ,SAASvf,GAClB,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,QAAIA,IAAQue,EAAMS,OAAOhf,QAGrBrD,MAAMC,QAAQiE,KAGlB0d,EAAMI,MAAM3B,GAAkB,CAC1BG,SAAU,QACVle,SAAUe,EACVC,KAAMse,EAAMte,KAAKgf,GAAGjf,GACpBa,MAAOA,MAEJ,GACX,EACAmV,KAAKwJ,KAAO,SAASxf,EAAKyd,GACtB,IAAI5c,EAAQ0d,EAAMvG,IAAIhY,GACtB,QAAqB,iBAAVa,IAAsB4c,EAAS7Y,SAAS/D,MAGnD0d,EAAMI,MDzHK,SAASzB,GAC5B,IAAIO,EAAWP,EAAMO,SAAU5c,EAAQqc,EAAMrc,MAAOZ,EAAOid,EAAMjd,KACjE,MAAO,CACHmd,QAAS,uCACT3I,KAAM,KACNgJ,SAAUd,GAAqBc,GAAU9a,OACzC1C,KAAMA,EAAKod,UACXxc,MAAOA,EAEf,CCgHwB+b,CAAU,CAClBa,SAAUA,EACV5c,MAAOA,EACPZ,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACX,EACAgW,KAAKyJ,MAAQ,SAASzf,GAClB,IAAKue,EAAMgB,MAAMvf,GACb,OAAO,EAEX,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,OAAqB,IAAjBa,EAAM/D,SAGVyhB,EAAMI,MDlJQ,SAASzB,GAC/B,IAAIM,EAAMN,EAAMM,IAAK3c,EAAQqc,EAAMrc,MACnC,MAAO,CACH4T,KAAM,OACN+I,IAAKA,EACLvd,KAJ6Cid,EAAMjd,KAIxCod,UACXD,QAAS,wBAAwB7J,OAAOiK,GACxC3c,MAAOA,EAEf,CCyIwBgc,CAAa,CACrBW,IAAK,EACL3c,MAAOA,EACPZ,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACX,EACAgW,KAAK0J,UAAY,SAAS1f,EAAKud,GAC3B,IAAKgB,EAAMgB,MAAMvf,GACb,OAAO,EAEX,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GACtB,OAAIa,EAAM/D,QAAUygB,IAGpBgB,EAAMI,MD3KQ,SAASzB,GAC/B,IAAIK,EAAML,EAAMK,IAAK1c,EAAQqc,EAAMrc,MACnC,MAAO,CACH4T,KAAM,OACN8I,IAAKA,EACLtd,KAJ6Cid,EAAMjd,KAIxCod,UACXD,QAAS,yBAAyB7J,OAAOgK,GACzC1c,MAAOA,EAEf,CCkKwBic,CAAa,CACrBS,IAAKA,EACL1c,MAAOA,EACPZ,KAAMse,EAAMte,KAAKgf,GAAGjf,OAEjB,EACX,EACAgW,KAAK2J,uBAAyB,SAASC,GACnC,IAAIC,EAAW/f,OAAOsb,KAAKmD,EAAMvG,KAAKrV,OAAOmO,OAAO,SAAS9Q,GACzD,OAAQ4f,EAAWhb,SAAS5E,EAChC,GAOA,OANA6f,EAASpgB,QAAQ,SAASR,GACtB,OAAOsf,EAAMI,MDzJK,SAASzB,GACvC,IAAIje,EAAWie,EAAMje,SAAUgB,EAAOid,EAAMjd,KAC5C,MAAO,CACHmd,QAAS,iBAAiB7J,OAAOtU,EAAU,qBAC3CwV,KAAM,aACNxU,KAAMA,EAAKod,UAEnB,CCkJmCJ,CAAqB,CACpChe,SAAUA,EACVgB,KAAMse,EAAMte,KAAKgf,GAAGhgB,KAE5B,GAC2B,IAApB4gB,EAAS/iB,MACpB,EACAkZ,KAAK8J,KAAO,SAAS9f,EAAK+f,GACtB,GAAKxB,EAAMgB,MAAMvf,GAAjB,CAGA,IAAIa,EAAQ0d,EAAMvG,IAAIhY,GAClBggB,GAAc,EAClBnf,EAAMpB,QAAQ,SAASwgB,EAAM1e,GACzB,IAAIye,EAAJ,CAGA,IAAInB,EAASkB,EAAOE,EAAM1B,EAAMte,KAAKgf,GAAGjf,GAAKif,GAAG1d,IAC5Csd,EAAO/hB,OAAS,IAChBkjB,GAAc,GAElBzB,EAAMI,MAAM1Z,MAAMsZ,EAAO5B,GAAqBkC,GAL9C,CAMJ,EAZA,CAaJ,CACJ,CAoBA,OAnBAf,GAAcJ,EAAiB,CAC3B,CACI1d,IAAK,SACL5B,IAAK,WACD,IAAImgB,EAAQvI,KACRkK,EAAiB,SAASC,GAC1B,OAAOC,KAAKC,UAAU,CAClBjD,QAAS+C,EAAM/C,QACfnd,KAAMkgB,EAAMlgB,MAEpB,EACA,OAAO+V,KAAK6H,QAAQ/M,OAAO,SAASqP,EAAO5e,GACvC,OAAOgd,EAAMV,QAAQyC,UAAU,SAASC,GACpC,OAAOL,EAAeC,KAAWD,EAAeK,EACpD,KAAOhf,CACX,EACJ,KAGDmc,CACX,CA5M2C,GC3D3C,SAAS/F,GAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAIA,SAASgJ,GAAyBhT,GAC9B,QAAa,IAATA,EACA,MAAM,IAAIiT,eAAe,6DAE7B,OAAOjT,CACX,CACA,SAASkT,GAAYzC,EAAO0C,EAASC,GAEjC,OADAD,EAAUE,GAAkBF,GA4DhC,SAAsCnT,EAAMiM,GACxC,GAAIA,IAA4B,WAelB/B,EAfQ+B,EAiBf/B,GAAyB,oBAAXyB,QAA0BzB,EAAIgC,cAAgBP,OAAS,gBAAkBzB,IAjBlC,mBAAT+B,GAC/C,OAAOA,EAcf,IAAkB/B,EAZd,OAAO8I,GAAyBhT,EACpC,CAhEWsT,CAA6B7C,EAAO8C,KAAiCC,QAAQC,UAAUN,EAASC,GAAQ,GAAIC,GAAkB5C,GAAOvE,aAAeiH,EAAQhc,MAAMsZ,EAAO2C,GACpL,CACA,SAASxC,GAAkBD,EAAUV,GACjC,KAAMU,aAAoBV,GACtB,MAAM,IAAI7D,UAAU,oCAE5B,CAUA,SAAS4D,GAAcC,EAAaC,EAAYC,GAG5C,OAFID,GAVR,SAA2B5J,EAAQ8J,GAC/B,IAAI,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAAMphB,OAAQgI,IAAI,CACjC,IAAIqZ,EAAaD,EAAMpZ,GACvBqZ,EAAW9H,WAAa8H,EAAW9H,aAAc,EACjD8H,EAAWlG,cAAe,EACtB,UAAWkG,IAAYA,EAAWjG,UAAW,GACjDpY,OAAOqW,eAAe/B,EAAQ+J,EAAWne,IAAKme,EAClD,CACJ,CAEoBC,CAAkBL,EAAYlE,UAAWmE,GAElDD,CACX,CACA,SAAShG,GAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CACA,SAASmJ,GAAkBtkB,GAIvB,OAHAskB,GAAoBrhB,OAAO0hB,eAAiB1hB,OAAO4c,eAAiB,SAAwB7f,GACxF,OAAOA,EAAE4kB,WAAa3hB,OAAO4c,eAAe7f,EAChD,EACOskB,GAAkBtkB,EAC7B,CACA,SAAS6kB,GAAUC,EAAUC,GACzB,GAA0B,mBAAfA,GAA4C,OAAfA,EACpC,MAAM,IAAI1H,UAAU,sDAExByH,EAAS9H,UAAY/Z,OAAO0V,OAAOoM,GAAcA,EAAW/H,UAAW,CACnEG,YAAa,CACTnZ,MAAO8gB,EACPzJ,UAAU,EACVD,cAAc,KAGlB2J,GAAYC,GAAkBF,EAAUC,EAChD,CAaA,SAASC,GAAkBhlB,EAAGkR,GAK1B,OAJA8T,GAAoB/hB,OAAO0hB,gBAAkB,SAAwB3kB,EAAGkR,GAEpE,OADAlR,EAAE4kB,UAAY1T,EACPlR,CACX,EACOglB,GAAkBhlB,EAAGkR,EAChC,CACA,SAAS4O,GAAqB/E,GAC1B,OApFJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,GAAqBC,EACxD,CAkFW2B,CAAqB3B,IApBhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAkBwCG,CAAmB/B,IAM3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,GAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,GAAqB9a,EAAG+c,EAChH,CAbmEK,CAA+BrC,IAjBlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAe0GC,EAC1G,CAaA,SAASkH,KACL,IACI,IAAIjd,GAAU0d,QAAQjI,UAAUkI,QAAQhI,KAAKuH,QAAQC,UAAUO,QAAS,GAAI,WAAY,GAC5F,CAAE,MAAOE,GAAI,CACb,OAAQX,GAA+B,WACnC,QAASjd,CACb,IACJ,CAEO,IAAIuc,GAAe,GACfD,GAA8B,WAErC,SAASA,EAAcuB,EAAaC,GAChCxD,GAAkB1I,KAAM0K,GACxB3I,GAAiB/B,KAAM,mBAAe,GACtC+B,GAAiB/B,KAAM,oBAAgB,GACvCA,KAAKiM,YAAcA,EACnBjM,KAAKkM,aAAeA,CACxB,CA4CA,OA3CApE,GAAc4C,EAAe,CACzB,CACI1gB,IAAK,SACLa,MAAO,SAAgBqb,EAAMjc,GACzB,IAAIkiB,EAAI,IAAIzE,GAAgBxB,EAAMjc,GAClC,IAAKkiB,EAAE7V,SACH,OAAO6V,EAAEtD,OAEbsD,EAAExC,uBAAuB,CACrB,WACA,OACA,YAEJ,IAAIT,EAAOviB,MAAMC,QAAQoZ,KAAKiM,aAAe,CACzCG,UAAWpM,KAAKiM,aAChBjM,KAAKiM,YAAY/F,EAAMjc,GAAOmiB,EAAYlD,EAAKkD,UAAWC,EAAWnD,EAAK3B,IAAKA,OAAmB,IAAb8E,EAAsB,EAAIA,EACnH,GAAyB,IAArBD,EAAUtlB,QAAgBygB,EAAM,EAChC,MAAM,IAAI+E,MAAM,wDAAwD/O,OAAOgK,EAAK,uBAexF,GAbA4E,EAAEzC,UAAU,UAAWnC,GACE,IAArB6E,EAAUtlB,OACVqlB,EAAE1C,MAAM,WAER0C,EAAErC,KAAK,UAAW,SAASG,EAAMhgB,GAC7B,IAAIsiB,EAAQ,IAAI7E,GAAgBuC,EAAMhgB,GACtC,OAAKsiB,EAAMjW,UAGXiW,EAAM/C,KAAK,WAAY4C,GAChBG,EAAM1D,QAHF0D,EAAM1D,MAIrB,GAEAsD,EAAE7V,OAAO,QAAS,CAClB,IAAIkW,EACAC,EACAC,EACAC,EAA4M,QAA9LD,EAA6E,QAAtDD,EAA8BzM,KAAMkM,oBAAiD,IAAvBO,OAAgC,EAASA,EAAmB1I,KAA5F/D,KAAwGkG,EAAK0G,KAAM3iB,EAAKgf,GAAG,gBAA8C,IAAxByD,EAAiCA,EAAsB,IAC9QF,EAAKL,GAAGxD,MAAM1Z,MAAMud,EAAI7F,GAAqBgG,GAClD,CACA,OAAOR,EAAEtD,MACb,KAGD6B,CACX,CArDyC,GAsD9BF,GAAoC,SAASE,GAGpD,SAASF,EAAoBqC,EAAUC,GAEnC,IAAIvE,EA0CJ,OA3CAG,GAAkB1I,KAAMwK,GAExBjC,EAAQyC,GAAYhL,KAAMwK,EAAqB,CAC3CsC,EACA,SAASF,EAAM3iB,GACX,OAAO6gB,GAAyBvC,GAAOqC,WAAWgC,EAAM3iB,EAC5D,IACA8X,GAAiBwG,EAAO,gBAAY,GAASxG,GAAiBwG,EAAO,YAAQ,GAASxG,GAAiBwG,EAAO,kBAAc,GAASA,EAAMsE,SAAWA,EAAUtE,EAAMqC,WAAa,SAASgC,EAAM3iB,GAClM,IAAIkiB,EAAI,IAAIzE,GAAgBkF,EAAM3iB,GAClC,GAAIkiB,EAAE7V,OAAO,UAAW,CACpB,IAAIkW,EACAO,EAAO,IAAIrF,GAAgBkF,EAAKxO,OAAO4O,IAAK/iB,EAAKgf,GAAG,UAAUA,GAAG,QACjE8D,EAAKzW,WACLyW,EAAKvD,KAAK,OAAQ,CACdjB,EAAMjB,OAEVyF,EAAKvD,KAAK,WAAY,CAClBjB,EAAMsE,WAES,SAAftE,EAAMjB,MACNyF,EAAK/f,OAAO,MACZ+f,EAAKpD,uBAAuB,CACxB,OACA,WACA,QAEkB,iBAAfpB,EAAMjB,OACbyF,EAAK/f,OAAO,OACZ+f,EAAKpD,uBAAuB,CACxB,OACA,WACA,WAIX6C,EAAKL,GAAGxD,MAAM1Z,MAAMud,EAAI7F,GAAqBoG,EAAKlE,QACvD,CAIA,OAHAsD,EAAExC,uBAAuB,CACrB,WAEGwC,EAAEtD,MACb,EACAN,EAAMjB,KAAOiB,EAAMsE,SAAS5gB,WAAW,eAAiB,eAAiB,OAClEsc,CACX,CACA,OA/CAmD,GAAUlB,EAAqBE,GA+CxBF,CACX,CAlD+C,CAkD7CE,IACSD,GAAmC,SAASC,GAGnD,SAASD,IAEL,IAAIlC,EAgBJ,OAjBAG,GAAkB1I,KAAMyK,GAExBlC,EAAQyC,GAAYhL,KAAMyK,EAAoB,CAC1C,CACI,QAEJ,SAASmC,EAAM3iB,GACX,OAAO6gB,GAAyBvC,GAAOqC,WAAWgC,EAAM3iB,EAC5D,IACA8X,GAAiBwG,EAAO,aAAc,SAASqE,EAAM3iB,GACrD,IAAIkiB,EAAI,IAAIzE,GAAgBkF,EAAM3iB,GAKlC,OAJAkiB,EAAEnf,OAAO,OACTmf,EAAExC,uBAAuB,CACrB,QAEGwC,EAAEtD,MACb,GACON,CACX,CACA,OArBAmD,GAAUjB,EAAoBC,GAqBvBD,CACX,CAxB8C,CAwB5CC,IACSX,GAAS,SAASkC,EAAaC,GACtC,OAAO,IAAIxB,GAAcuB,EAAaC,EAC1C,EACWtB,GAAa,SAASiC,EAAUZ,GACvC,OAAO,IAAIzB,GAAoBqC,EAAUZ,EAC7C,ECxPA,SAAStK,GAAqBC,EAAKC,IACpB,MAAPA,GAAeA,EAAMD,EAAI9a,UAAQ+a,EAAMD,EAAI9a,QAC/C,IAAI,IAAIgI,EAAI,EAAGgT,EAAO,IAAInb,MAAMkb,GAAM/S,EAAI+S,EAAK/S,IAAIgT,EAAKhT,GAAK8S,EAAI9S,GACjE,OAAOgT,CACX,CAIA,SAASC,GAAiBC,EAAKhY,EAAKa,GAWhC,OAVIb,KAAOgY,EACPlY,OAAOqW,eAAe6B,EAAKhY,EAAK,CAC5Ba,MAAOA,EACPwV,YAAY,EACZ4B,cAAc,EACdC,UAAU,IAGdF,EAAIhY,GAAOa,EAERmX,CACX,CAOA,SAAS2E,GAAqB/E,GAC1B,OAvBJ,SAA8BA,GAC1B,GAAIjb,MAAMC,QAAQgb,GAAM,OAAOD,GAAqBC,EACxD,CAqBW2B,CAAqB3B,IAPhC,SAA4B4B,GACxB,GAAsB,oBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAO7c,MAAMwT,KAAKqJ,EACxH,CAKwCG,CAAmB/B,IAE3D,SAAwC/a,EAAG+c,GACvC,IAAK/c,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO8a,GAAqB9a,EAAG+c,GAC1D,IAAIld,EAAIoD,OAAO+Z,UAAUC,SAASC,KAAKld,GAAGyB,MAAM,MACtC,WAAN5B,GAAkBG,EAAEmd,cAAatd,EAAIG,EAAEmd,YAAYvF,MACvD,GAAU,QAAN/X,GAAqB,QAANA,EAAa,OAAOC,MAAMwT,KAAKzT,GAClD,GAAU,cAANA,GAAqB,2CAA2CoC,KAAKpC,GAAI,OAAOib,GAAqB9a,EAAG+c,EAChH,CATmEK,CAA+BrC,IAJlG,WACI,MAAM,IAAIsC,UAAU,wIACxB,CAE0GC,EAC1G,CAgBA,IAwBIhC,GAxBA4L,GAAqBhE,GAAOpD,GAAqB7c,OAAOkkB,OAAOzN,KAAUhD,OAAO,CAChF,SACD5Q,QACCshB,GAAalE,GAAO,CACpBzJ,GAAOgD,YAEP4K,GAAsBtD,GAAW,QAASD,IAC1CwD,GAAkBpE,GAAO,WACzB,MAAO,CACHqC,UAAW,CACP9L,GAAO8B,WAEXmF,IAAK,EAEb,EAAG,SAASqF,EAAM3iB,GACd,IAAIkiB,EAAI,IAAIzE,GAAgBkF,EAAM3iB,GAOlC,OANAkiB,EAAExC,uBAAuB,CACrB,UACA,YAEJwC,EAAE9C,OAAO,WAAW,GACpB8C,EAAE9C,OAAO,WAAW,GACb8C,EAAEtD,MACb,GAEgC9G,GAAXI,GAAO,CAAA,EAA2B7B,GAAO8D,SAAU2F,GAAO9I,KAAoBc,GAAiBI,GAAM7B,GAAO8B,UAAW2L,IAAqBhM,GAAiBI,GAAM7B,GAAO+B,UAAW0L,IAAqBhM,GAAiBI,GAAM7B,GAAOgC,UAAWyL,IAAqBhM,GAAiBI,GAAM7B,GAAOiC,UAAWwL,IAAqBhM,GAAiBI,GAAM7B,GAAOkC,UAAWuL,IAAqBhM,GAAiBI,GAAM7B,GAAOmC,UAAWsL,IAAqBhM,GAAiBI,GAAM7B,GAAOoC,UAAWqL,IAAqBhM,GAAiBI,GAAM7B,GAAOwC,MAAOiH,GAAOnJ,GAAWN,GAAOwC,SAAUf,GAAiBI,GAAM7B,GAAOyC,eAAgBmL,IAAsBnM,GAAiBI,GAAM7B,GAAO0C,eAAgB4H,GAAW,QAASD,KAAgB5I,GAAiBI,GAAM7B,GAAO2C,kBAAmB2H,GAAW,mBAAoBD,KAAgB5I,GAAiBI,GAAM7B,GAAOuC,GAAIkH,GAAOY,KAAgB5I,GAAiBI,GAAM7B,GAAOqC,QAASsL,IAAalM,GAAiBI,GAAM7B,GAAOsC,QAASqL,IAAalM,GAAiBI,GAAM7B,GAAOgD,UAAWyG,GAAOpD,GAAqB7F,IAAkBnU,SAAUoV,GAAiBI,GAAM7B,GAAO4C,MAAO6G,GAAO,WAC7nC,MAAO,CACHqC,UAAW,CACP9L,GAAO6C,WAEXoE,IAAK,EAEb,IAAKxF,GAAiBI,GAAM7B,GAAO6C,UAAW4G,GAAO,WACjD,MAAO,CACHqC,UAAW,CACP9L,GAAO8C,WACP9C,GAAO+C,mBAEXkE,IAAK,EAEb,IAAKxF,GAAiBI,GAAM7B,GAAO8C,WAAY+K,IAAkBpM,GAAiBI,GAAM7B,GAAO+C,kBAAmB8K,IAAkBpM,GAAiBI,GAAM5B,GAAQ8D,UAAW,IAAIoG,IAAuB1I,GAAiBI,GAAM5B,GAAQwC,eAAgBmL,IAAsBnM,GAAiBI,GAAM5B,GAAQ0C,kBAAmB2H,GAAW,mBAAoBD,KAAgB5I,GAAiBI,GAAM5B,GAAQ+D,gBAAiBsG,GAAW,QAAS,CAC/a,UACC7I,GAAiBI,GAAM5B,GAAQgE,gBAAiBqG,GAAW,QAAS,CACrE,UACC7I,GAAiBI,GAAM5B,GAAQ8N,mBAAoBzD,GAAW,mBAAoB,CACnF,UCpFG,MAAMqH,GAAWC,EAAAA,WACtB,EACIrB,WAAUvpB,YAAY,GAAI6qB,UAAU,WAAYC,WAAUlK,GAC5DmK,KAGA,MAQMC,EAAoBtU,GAPR,aAAZmU,EAA+B,GAG5B,iBAMP,YACA,cAAcA,IACd7qB,GAGF,OACEirB,EAAAA,IAAA,KAAA,CAAIF,IAAKA,EAAK/qB,UAAWgrB,EAAmBF,MAAOA,KAAWlK,WAC3D2I,MAMToB,GAASO,YAAc,WC5BHN,EAAAA,WAClB,EAEI5K,OAAO,KACP1P,QACAtQ,YAAY,GACZmrB,aACA5B,WACAsB,UAAU,WACVC,WACGlK,GAELmK,KAGA,MAaMK,EAboB,MACxB,GAAgB,aAAZP,EACF,MAAO,GAQT,MAAO,WAFI,OAAT7K,EAAgB,oBAAsB,oBAKlBqL,GAgClBC,EAAY,CAChBtrB,UAhCwB0W,GACxB0U,EACA,SAASpL,IACT,SAAS6K,IACT7qB,GA6BA8qB,WACGlK,EACH2I,SAPcA,IAnBTjZ,GAA0B,IAAjBA,EAAM9Q,OAEb8Q,EAAMrL,IAAI,CAAC0d,EAAM1e,IAClBknB,EACKA,EAAWxI,EAAM1e,GAIxBgnB,EAAAA,IAACN,GAAQ,CAEP3qB,UAAW2iB,EAAK3iB,UAChB6qB,QAASA,EAAOtB,SAEf5G,EAAKtS,SAJDsS,EAAKwH,IAAMlmB,IATmB,OA8B3C,MAAa,OAAT+b,EACKiL,EAAAA,aAAQK,EAAWP,IAAKA,IAG1BE,EAAAA,aAAQK,EAAWP,IAAKA,MAI9BG,YAAc,OC9EZ,MAAMK,GAAOX,EAAAA,WAClB,EAAGrB,WAAUiC,KAAIxrB,YAAY,GAAI8qB,WAAUlK,GAASmK,KAClD,MAAMU,EAAcD,GAAM,IAE1B,OAAOnD,EAAAA,QAAMiB,cACXmC,EACA,CACEV,MACA/qB,YACA8qB,WACGlK,GAEL2I,YAKNgC,GAAKL,YAAc,OCbnB,MAAMQ,GACsB,mBAAnBC,EAAAA,QACHA,EAAAA,QACgC,QAA/BC,GAACD,EAAAA,QAAuB3K,eAAO,IAAA4K,GAAAA,GAAID,UAEtBf,EAAAA,WAClB,EAEIrB,WACAM,OACA7pB,YAAY,GACZ6rB,UACAhB,UAAU,WACVC,QACAgB,YAAW,EACXC,YAAW,KACRnL,GAELmK,KAGA,MA6BMK,EA7BoB,MACxB,GAAgB,aAAZP,EAAwB,MAAO,GAGnC,MAGMmB,EAAiB,CACrBhL,QAAS,uBAGLiL,EAAe,CACnBF,EACI,oDACA,kBAEHvY,OAAOgR,SACPpjB,KAAK,KAER,MAAO,CAdL,qFAgBA4qB,EAAenB,IACbmB,EAAehL,QACjBiL,GAECzY,OAAOgR,SACPpjB,KAAK,MAGciqB,GAGlBa,EAAeC,IACfJ,EACFI,EAAMC,iBAIRP,SAAAA,EAAUM,IAINnB,EAAoBtU,GACxB0U,EACA,SAASP,IACTkB,GAAY,iBACZ/rB,GAIIqsB,EAAY,IACbzL,EACHmK,MACA/qB,UAAWgrB,EACXF,QACAjB,KAAMkC,OAAW9qB,EAAY4oB,EAC7BgC,QAASK,KACLJ,IACDC,GAAY,CACXjV,OAAQ,SACRwV,IAAK,0BAELP,GAAY,CACd,iBAAiB,EACjBQ,UAAU,IAGd,OAAIT,GAA6B,iBAATjC,GAAqBA,EAAKllB,WAAW,QACpDsmB,EAAAA,IAAA,IAAA,IAAOoB,EAAS9C,SAAGA,IAG1B0B,EAAAA,IAACS,GAAQ,CACP7B,KAAMA,GAAQ,IACd7pB,UAAWgrB,EACXa,QAASK,KACLtL,EAAK2I,SAERA,MAMJ2B,YAAc,OCvFdlS,GAAO8B,UAGP9B,GAAO+B,UAOP/B,GAAOgC,UAKPhC,GAAOiC,UAKPjC,GAAOkC,UAKPlC,GAAOmC,UAKPnC,GAAOoC,UAKPpC,GAAOwC,MACPxC,GAAOsC,QACPtC,GAAOqC,QACPrC,GAAOgD,UAePhD,GAAO0C,eAUP1C,GAAOyC,eC5EZ,MAaM+Q,GAbuB,CAACC,IAC5B,IAAIC,EAAeD,EAEnB,IAAK,IAAIjlB,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,GAAuB,mBAAZklB,EAAwB,OAAOA,EAC1C,IAAIA,GAA8B,iBAAZA,KAAwB,YAAaA,GAI3D,OAAOA,EAHLA,EAAUA,EAAQ1L,OAItB,CACA,OAAO0L,GAEWC,CAClBC,WAYIC,GAAwB,EAAGC,MAAKC,QAAOC,cAC3C,MAAMC,EAAM,IAAIC,IAAIJ,GAIpB,OAHAG,EAAIE,aAAapqB,IAAI,IAAKqqB,OAAOL,IACjCE,EAAIE,aAAapqB,IAAI,IAAKqqB,OAAOJ,GAAW,KAC5CC,EAAIE,aAAapqB,IAAI,KAAM,QACpBkqB,EAAIzQ,YAGA6Q,GAAYzC,EAAAA,WACvB,EAAG5qB,eAAc4gB,GAASmK,KACxB,MAAMuC,EAAiC,iBAAd1M,EAAMkM,IAAmBlM,EAAMkM,IAAM,GACxDS,EAAmBD,EAAUE,cAActtB,MAAM,KAAK,IAAM,GAC5DutB,EAAoBH,EAAUhmB,SAAS,wBACvComB,EACJD,GAAqBF,EAAiB1oB,SAAS,QAI3C8oB,EACJF,IAAsBC,EAClB,CAAEE,OAAQf,GAAuBgB,aAAa,GAC9C,CAAEA,YAAaH,GAErB,OACEzC,MAACuB,GAAW,CACVzB,IAAKA,EACL/qB,UAAW0W,GAAG1W,MACV4gB,KACA+M,MAMZN,GAAUnC,YAAc","x_google_ignoreList":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs","../../src/utils/cx.ts","../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/blocks.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/inlines.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/schemaConstraints.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/emptyDocument.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/validator/errors.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/validator/assert.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/validator/node.mjs","../../node_modules/.pnpm/@contentful+rich-text-types@17.2.7/node_modules/@contentful/rich-text-types/dist/esm/validator/index.mjs","../../node_modules/.pnpm/@contentful+rich-text-react-renderer@16.2.1_react-dom@19.2.5_react@19.2.5/node_modules/@contentful/rich-text-react-renderer/dist/rich-text-react-renderer.esm.js","../../src/components/list/list-item/index.tsx","../../src/components/list/index.tsx","../../src/components/text/index.tsx","../../src/components/link/index.tsx","../../src/hooks/contentful/use-contentful-rich-text.tsx","../../src/components/next-image/index.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift();\n }\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n const conflicts = conflictingClassGroups[classGroupId] || [];\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n }\n return conflicts;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[0];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart;\n }\n if (classPartObject.validators.length === 0) {\n return undefined;\n }\n const classRest = classParts.join(CLASS_PART_SEPARATOR);\n return classPartObject.validators.find(({\n validator\n }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property;\n }\n }\n};\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n classGroups\n } = config;\n const classMap = {\n nextPart: new Map(),\n validators: []\n };\n for (const classGroupId in classGroups) {\n processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);\n }\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n classGroup.forEach(classDefinition => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n return;\n }\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId\n });\n return;\n }\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n });\n });\n};\nconst getPart = (classPartObject, path) => {\n let currentClassPartObject = classPartObject;\n path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: []\n });\n }\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n });\n return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = new Map();\n let previousCache = new Map();\n const update = (key, value) => {\n cache.set(key, value);\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = new Map();\n }\n };\n return {\n get(key) {\n let value = cache.get(key);\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value);\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;\nconst createParseClassName = config => {\n const {\n prefix,\n experimentalParseClassName\n } = config;\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = className => {\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + MODIFIER_SEPARATOR_LENGTH;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') {\n bracketDepth++;\n } else if (currentCharacter === ']') {\n bracketDepth--;\n } else if (currentCharacter === '(') {\n parenDepth++;\n } else if (currentCharacter === ')') {\n parenDepth--;\n }\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);\n const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n };\n };\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {\n isExternal: true,\n modifiers: [],\n hasImportantModifier: false,\n baseClassName: className,\n maybePostfixModifierPosition: undefined\n };\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n};\nconst stripImportantModifier = baseClassName => {\n if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(0, baseClassName.length - 1);\n }\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(1);\n }\n return baseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));\n const sortModifiers = modifiers => {\n if (modifiers.length <= 1) {\n return modifiers;\n }\n const sortedModifiers = [];\n let unsortedModifiers = [];\n modifiers.forEach(modifier => {\n const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];\n if (isPositionSensitive) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n unsortedModifiers = [];\n } else {\n unsortedModifiers.push(modifier);\n }\n });\n sortedModifiers.push(...unsortedModifiers.sort());\n return sortedModifiers;\n };\n return sortModifiers;\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nfunction twJoin() {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < arguments.length) {\n if (argument = arguments[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n}\nconst toValue = mix => {\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall = initTailwindMerge;\n function initTailwindMerge(classList) {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n }\n function tailwindMerge(classList) {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n }\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments));\n };\n}\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || [];\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n const themeColor = fromTheme('color');\n const themeFont = fromTheme('font');\n const themeText = fromTheme('text');\n const themeFontWeight = fromTheme('font-weight');\n const themeTracking = fromTheme('tracking');\n const themeLeading = fromTheme('leading');\n const themeBreakpoint = fromTheme('breakpoint');\n const themeContainer = fromTheme('container');\n const themeSpacing = fromTheme('spacing');\n const themeRadius = fromTheme('radius');\n const themeShadow = fromTheme('shadow');\n const themeInsetShadow = fromTheme('inset-shadow');\n const themeTextShadow = fromTheme('text-shadow');\n const themeDropShadow = fromTheme('drop-shadow');\n const themeBlur = fromTheme('blur');\n const themePerspective = fromTheme('perspective');\n const themeAspect = fromTheme('aspect');\n const themeEase = fromTheme('ease');\n const themeAnimate = fromTheme('animate');\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top', 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top', 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom', 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom'];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const scaleOverscroll = () => ['auto', 'contain', 'none'];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => ['auto', {\n span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => ['no-repeat', {\n repeat: ['', 'x', 'y', 'space', 'round']\n }];\n const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': scaleInset()\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': scaleInset()\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: scaleInset()\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['nowrap', 'wrap', 'wrap-reverse']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: [...scaleAlignPrimaryAxis(), 'normal']\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', ...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{\n 'space-x': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{\n 'space-y': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, 'screen', ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none', ...scaleSizing()]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n }, ...scaleSizing()]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: ['screen', 'lh', ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': ['screen', 'lh', ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [{\n 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading, ...scaleUnambiguousSpacing()]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...scaleLineStyle(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: ['break-word', 'anywhere', 'normal']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n linear: [{\n to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': scaleBorderWidth()\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': scaleBorderWidth()\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': scaleBorderWidth()\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{\n 'divide-x': scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{\n 'divide-y': scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{\n divide: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: scaleColor()\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': scaleColor()\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': scaleColor()\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': scaleColor()\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: [...scaleLineStyle(), 'none', 'hidden']\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [{\n 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{\n 'inset-shadow': scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{\n 'ring-offset': [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{\n 'ring-offset': scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{\n 'inset-ring': scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{\n 'inset-ring': scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [{\n 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{\n 'text-shadow': scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [{\n 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }, 'mask-no-clip'],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{\n mask: ['add', 'subtract', 'intersect', 'exclude']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{\n 'mask-linear': [isNumber]\n }],\n 'mask-image-linear-from-pos': [{\n 'mask-linear-from': scaleMaskImagePosition()\n }],\n 'mask-image-linear-to-pos': [{\n 'mask-linear-to': scaleMaskImagePosition()\n }],\n 'mask-image-linear-from-color': [{\n 'mask-linear-from': scaleColor()\n }],\n 'mask-image-linear-to-color': [{\n 'mask-linear-to': scaleColor()\n }],\n 'mask-image-t-from-pos': [{\n 'mask-t-from': scaleMaskImagePosition()\n }],\n 'mask-image-t-to-pos': [{\n 'mask-t-to': scaleMaskImagePosition()\n }],\n 'mask-image-t-from-color': [{\n 'mask-t-from': scaleColor()\n }],\n 'mask-image-t-to-color': [{\n 'mask-t-to': scaleColor()\n }],\n 'mask-image-r-from-pos': [{\n 'mask-r-from': scaleMaskImagePosition()\n }],\n 'mask-image-r-to-pos': [{\n 'mask-r-to': scaleMaskImagePosition()\n }],\n 'mask-image-r-from-color': [{\n 'mask-r-from': scaleColor()\n }],\n 'mask-image-r-to-color': [{\n 'mask-r-to': scaleColor()\n }],\n 'mask-image-b-from-pos': [{\n 'mask-b-from': scaleMaskImagePosition()\n }],\n 'mask-image-b-to-pos': [{\n 'mask-b-to': scaleMaskImagePosition()\n }],\n 'mask-image-b-from-color': [{\n 'mask-b-from': scaleColor()\n }],\n 'mask-image-b-to-color': [{\n 'mask-b-to': scaleColor()\n }],\n 'mask-image-l-from-pos': [{\n 'mask-l-from': scaleMaskImagePosition()\n }],\n 'mask-image-l-to-pos': [{\n 'mask-l-to': scaleMaskImagePosition()\n }],\n 'mask-image-l-from-color': [{\n 'mask-l-from': scaleColor()\n }],\n 'mask-image-l-to-color': [{\n 'mask-l-to': scaleColor()\n }],\n 'mask-image-x-from-pos': [{\n 'mask-x-from': scaleMaskImagePosition()\n }],\n 'mask-image-x-to-pos': [{\n 'mask-x-to': scaleMaskImagePosition()\n }],\n 'mask-image-x-from-color': [{\n 'mask-x-from': scaleColor()\n }],\n 'mask-image-x-to-color': [{\n 'mask-x-to': scaleColor()\n }],\n 'mask-image-y-from-pos': [{\n 'mask-y-from': scaleMaskImagePosition()\n }],\n 'mask-image-y-to-pos': [{\n 'mask-y-to': scaleMaskImagePosition()\n }],\n 'mask-image-y-from-color': [{\n 'mask-y-from': scaleColor()\n }],\n 'mask-image-y-to-color': [{\n 'mask-y-to': scaleColor()\n }],\n 'mask-image-radial': [{\n 'mask-radial': [isArbitraryVariable, isArbitraryValue]\n }],\n 'mask-image-radial-from-pos': [{\n 'mask-radial-from': scaleMaskImagePosition()\n }],\n 'mask-image-radial-to-pos': [{\n 'mask-radial-to': scaleMaskImagePosition()\n }],\n 'mask-image-radial-from-color': [{\n 'mask-radial-from': scaleColor()\n }],\n 'mask-image-radial-to-color': [{\n 'mask-radial-to': scaleColor()\n }],\n 'mask-image-radial-shape': [{\n 'mask-radial': ['circle', 'ellipse']\n }],\n 'mask-image-radial-size': [{\n 'mask-radial': [{\n closest: ['side', 'corner'],\n farthest: ['side', 'corner']\n }]\n }],\n 'mask-image-radial-pos': [{\n 'mask-radial-at': scalePosition()\n }],\n 'mask-image-conic-pos': [{\n 'mask-conic': [isNumber]\n }],\n 'mask-image-conic-from-pos': [{\n 'mask-conic-from': scaleMaskImagePosition()\n }],\n 'mask-image-conic-to-pos': [{\n 'mask-conic-to': scaleMaskImagePosition()\n }],\n 'mask-image-conic-from-color': [{\n 'mask-conic-from': scaleColor()\n }],\n 'mask-image-conic-to-color': [{\n 'mask-conic-to': scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{\n mask: ['alpha', 'luminance', 'match']\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [{\n 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{\n 'mask-type': ['alpha', 'luminance']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{\n mask: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{\n 'drop-shadow': scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{\n transition: ['normal', 'discrete']\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: ['hidden', 'visible']\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{\n 'perspective-origin': scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{\n 'rotate-x': scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{\n 'rotate-y': scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{\n 'rotate-z': scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{\n 'scale-z': scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{\n transform: ['3d', 'flat']\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{\n 'translate-z': scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [{\n scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{\n 'field-sizing': ['fixed', 'content']\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['auto', 'none']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', '', 'y', 'x']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: ['none', ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: ['none', ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n },\n orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n overrideConfigProperties(baseConfig.theme, override.theme);\n overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n mergeConfigProperties(baseConfig.theme, extend.theme);\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key);\n }\n }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n",null,"/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","export var BLOCKS = /*#__PURE__*/ function(BLOCKS) {\n BLOCKS[\"DOCUMENT\"] = \"document\";\n BLOCKS[\"PARAGRAPH\"] = \"paragraph\";\n BLOCKS[\"HEADING_1\"] = \"heading-1\";\n BLOCKS[\"HEADING_2\"] = \"heading-2\";\n BLOCKS[\"HEADING_3\"] = \"heading-3\";\n BLOCKS[\"HEADING_4\"] = \"heading-4\";\n BLOCKS[\"HEADING_5\"] = \"heading-5\";\n BLOCKS[\"HEADING_6\"] = \"heading-6\";\n BLOCKS[\"OL_LIST\"] = \"ordered-list\";\n BLOCKS[\"UL_LIST\"] = \"unordered-list\";\n BLOCKS[\"LIST_ITEM\"] = \"list-item\";\n BLOCKS[\"HR\"] = \"hr\";\n BLOCKS[\"QUOTE\"] = \"blockquote\";\n BLOCKS[\"EMBEDDED_ENTRY\"] = \"embedded-entry-block\";\n BLOCKS[\"EMBEDDED_ASSET\"] = \"embedded-asset-block\";\n BLOCKS[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-block\";\n BLOCKS[\"TABLE\"] = \"table\";\n BLOCKS[\"TABLE_ROW\"] = \"table-row\";\n BLOCKS[\"TABLE_CELL\"] = \"table-cell\";\n BLOCKS[\"TABLE_HEADER_CELL\"] = \"table-header-cell\";\n return BLOCKS;\n}({});\n","export var INLINES = /*#__PURE__*/ function(INLINES) {\n INLINES[\"ASSET_HYPERLINK\"] = \"asset-hyperlink\";\n INLINES[\"EMBEDDED_ENTRY\"] = \"embedded-entry-inline\";\n INLINES[\"EMBEDDED_RESOURCE\"] = \"embedded-resource-inline\";\n INLINES[\"ENTRY_HYPERLINK\"] = \"entry-hyperlink\";\n INLINES[\"HYPERLINK\"] = \"hyperlink\";\n INLINES[\"RESOURCE_HYPERLINK\"] = \"resource-hyperlink\";\n return INLINES;\n}({});\n","import { BLOCKS } from './blocks.mjs';\nimport { INLINES } from './inlines.mjs';\nimport { MARKS } from './marks.mjs';\nexport const TOP_LEVEL_BLOCKS = [\n BLOCKS.PARAGRAPH,\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6,\n BLOCKS.OL_LIST,\n BLOCKS.UL_LIST,\n BLOCKS.HR,\n BLOCKS.QUOTE,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n BLOCKS.EMBEDDED_RESOURCE,\n BLOCKS.TABLE\n];\nexport const LIST_ITEM_BLOCKS = [\n BLOCKS.PARAGRAPH,\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6,\n BLOCKS.OL_LIST,\n BLOCKS.UL_LIST,\n BLOCKS.HR,\n BLOCKS.QUOTE,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n BLOCKS.EMBEDDED_RESOURCE\n];\nexport const TABLE_BLOCKS = [\n BLOCKS.TABLE,\n BLOCKS.TABLE_ROW,\n BLOCKS.TABLE_CELL,\n BLOCKS.TABLE_HEADER_CELL\n];\nexport const VOID_BLOCKS = [\n BLOCKS.HR,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n BLOCKS.EMBEDDED_RESOURCE\n];\nexport const CONTAINERS = {\n [BLOCKS.OL_LIST]: [\n BLOCKS.LIST_ITEM\n ],\n [BLOCKS.UL_LIST]: [\n BLOCKS.LIST_ITEM\n ],\n [BLOCKS.LIST_ITEM]: LIST_ITEM_BLOCKS,\n [BLOCKS.QUOTE]: [\n BLOCKS.PARAGRAPH\n ],\n [BLOCKS.TABLE]: [\n BLOCKS.TABLE_ROW\n ],\n [BLOCKS.TABLE_ROW]: [\n BLOCKS.TABLE_CELL,\n BLOCKS.TABLE_HEADER_CELL\n ],\n [BLOCKS.TABLE_CELL]: [\n BLOCKS.PARAGRAPH,\n BLOCKS.UL_LIST,\n BLOCKS.OL_LIST\n ],\n [BLOCKS.TABLE_HEADER_CELL]: [\n BLOCKS.PARAGRAPH\n ]\n};\nexport const HEADINGS = [\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6\n];\nexport const TEXT_CONTAINERS = [\n BLOCKS.PARAGRAPH,\n ...HEADINGS\n];\nexport const V1_NODE_TYPES = [\n BLOCKS.DOCUMENT,\n BLOCKS.PARAGRAPH,\n BLOCKS.HEADING_1,\n BLOCKS.HEADING_2,\n BLOCKS.HEADING_3,\n BLOCKS.HEADING_4,\n BLOCKS.HEADING_5,\n BLOCKS.HEADING_6,\n BLOCKS.OL_LIST,\n BLOCKS.UL_LIST,\n BLOCKS.LIST_ITEM,\n BLOCKS.HR,\n BLOCKS.QUOTE,\n BLOCKS.EMBEDDED_ENTRY,\n BLOCKS.EMBEDDED_ASSET,\n INLINES.HYPERLINK,\n INLINES.ENTRY_HYPERLINK,\n INLINES.ASSET_HYPERLINK,\n INLINES.EMBEDDED_ENTRY,\n 'text'\n];\nexport const V1_MARKS = [\n MARKS.BOLD,\n MARKS.CODE,\n MARKS.ITALIC,\n MARKS.UNDERLINE\n];\n","import { BLOCKS } from './blocks.mjs';\nexport const EMPTY_DOCUMENT = {\n nodeType: BLOCKS.DOCUMENT,\n data: {},\n content: [\n {\n nodeType: BLOCKS.PARAGRAPH,\n data: {},\n content: [\n {\n nodeType: 'text',\n value: '',\n marks: [],\n data: {}\n }\n ]\n }\n ]\n};\n","export const typeMismatchError = ({ path, property, typeName, value })=>{\n return {\n details: `The type of \"${property}\" is incorrect, expected type: ${typeName}`,\n name: 'type',\n path: path.toArray(),\n type: typeName,\n value\n };\n};\nexport const minSizeError = ({ min, value, path })=>{\n return {\n name: 'size',\n min,\n path: path.toArray(),\n details: `Size must be at least ${min}`,\n value\n };\n};\nexport const maxSizeError = ({ max, value, path })=>{\n return {\n name: 'size',\n max,\n path: path.toArray(),\n details: `Size must be at most ${max}`,\n value\n };\n};\nexport const enumError = ({ expected, value, path })=>{\n return {\n details: `Value must be one of expected values`,\n name: 'in',\n expected: [\n ...expected\n ].sort(),\n path: path.toArray(),\n value\n };\n};\nexport const unknownPropertyError = ({ property, path })=>{\n return {\n details: `The property \"${property}\" is not expected`,\n name: 'unexpected',\n path: path.toArray()\n };\n};\nexport const requiredPropertyError = ({ property, path })=>{\n return {\n details: `The property \"${property}\" is required here`,\n name: 'required',\n path: path.toArray()\n };\n};\n","import { maxSizeError, typeMismatchError, enumError, unknownPropertyError, requiredPropertyError, minSizeError } from './errors.mjs';\nexport class ObjectAssertion {\n obj;\n path;\n _errors = [];\n constructor(obj, path){\n this.obj = obj;\n this.path = path;\n }\n catch = (...errors)=>{\n this._errors.push(...errors);\n };\n get errors() {\n const serializeError = (error)=>JSON.stringify({\n details: error.details,\n path: error.path\n });\n return this._errors.filter((error, index)=>this._errors.findIndex((step)=>serializeError(error) === serializeError(step)) === index);\n }\n exists = (key)=>{\n if (key in this.obj) {\n return true;\n }\n this.catch(requiredPropertyError({\n property: key,\n path: this.path.of(key)\n }));\n return false;\n };\n object = (key)=>{\n const value = key ? this.obj[key] : this.obj;\n if (key) {\n if (!this.exists(key)) {\n return false;\n }\n }\n if (typeof value === 'object' && !Array.isArray(value) && value !== null) {\n return true;\n }\n const path = key ? this.path.of(key) : this.path;\n const property = key ?? this.path.last() ?? 'value';\n this.catch(typeMismatchError({\n typeName: 'Object',\n property,\n path,\n value\n }));\n return false;\n };\n string = (key)=>{\n const value = this.obj[key];\n if (key && !this.exists(key)) {\n return false;\n }\n if (typeof value === 'string') {\n return true;\n }\n this.catch(typeMismatchError({\n typeName: 'String',\n property: key,\n path: this.path.of(key),\n value\n }));\n return false;\n };\n number = (key, optional)=>{\n const value = this.obj[key];\n if (optional && !(key in this.obj)) {\n return true;\n }\n if (!this.exists(key)) {\n return false;\n }\n if (typeof value === 'number' && !Number.isNaN(value)) {\n return true;\n }\n this.catch(typeMismatchError({\n typeName: 'Number',\n property: key,\n path: this.path.of(key),\n value\n }));\n return false;\n };\n array = (key)=>{\n const value = this.obj[key];\n if (key && !this.exists(key)) {\n return false;\n }\n if (Array.isArray(value)) {\n return true;\n }\n this.catch(typeMismatchError({\n typeName: 'Array',\n property: key,\n path: this.path.of(key),\n value\n }));\n return false;\n };\n enum = (key, expected)=>{\n const value = this.obj[key];\n if (typeof value === 'string' && expected.includes(value)) {\n return true;\n }\n this.catch(enumError({\n expected,\n value,\n path: this.path.of(key)\n }));\n return false;\n };\n empty = (key)=>{\n if (!this.array(key)) {\n return false;\n }\n const value = this.obj[key];\n if (value.length === 0) {\n return true;\n }\n this.catch(maxSizeError({\n max: 0,\n value,\n path: this.path.of(key)\n }));\n return false;\n };\n minLength = (key, min)=>{\n if (!this.array(key)) {\n return false;\n }\n const value = this.obj[key];\n if (value.length >= min) {\n return true;\n }\n this.catch(minSizeError({\n min,\n value,\n path: this.path.of(key)\n }));\n return false;\n };\n noAdditionalProperties = (properties)=>{\n const unknowns = Object.keys(this.obj).sort().filter((key)=>!properties.includes(key));\n unknowns.forEach((property)=>this.catch(unknownPropertyError({\n property,\n path: this.path.of(property)\n })));\n return unknowns.length === 0;\n };\n each = (key, assert)=>{\n if (!this.array(key)) {\n return;\n }\n const value = this.obj[key];\n let foundErrors = false;\n value.forEach((item, index)=>{\n if (foundErrors) {\n return;\n }\n const errors = assert(item, this.path.of(key).of(index));\n if (errors.length > 0) {\n foundErrors = true;\n }\n this.catch(...errors);\n });\n };\n}\n","import { ObjectAssertion } from './assert.mjs';\nexport const VOID_CONTENT = [];\nexport class NodeAssertion {\n contentRule;\n validateData;\n constructor(contentRule, validateData){\n this.contentRule = contentRule;\n this.validateData = validateData;\n }\n assert(node, path) {\n const $ = new ObjectAssertion(node, path);\n if (!$.object()) {\n return $.errors;\n }\n $.noAdditionalProperties([\n 'nodeType',\n 'data',\n 'content'\n ]);\n const { nodeTypes, min = 0 } = Array.isArray(this.contentRule) ? {\n nodeTypes: this.contentRule\n } : this.contentRule(node, path);\n if (nodeTypes.length === 0 && min > 0) {\n throw new Error(`Invalid content rule. Cannot have enforce a 'min' of ${min} with no nodeTypes`);\n }\n $.minLength('content', min);\n if (nodeTypes.length === 0) {\n $.empty('content');\n } else {\n $.each('content', (item, path)=>{\n const item$ = new ObjectAssertion(item, path);\n if (!item$.object()) {\n return item$.errors;\n }\n item$.enum('nodeType', nodeTypes);\n return item$.errors;\n });\n }\n if ($.object('data')) {\n const dataErrors = this.validateData?.(node.data, path.of('data')) ?? [];\n $.catch(...dataErrors);\n }\n return $.errors;\n }\n}\nexport class EntityLinkAssertion extends NodeAssertion {\n linkType;\n type;\n constructor(linkType, contentNodeTypes){\n super(contentNodeTypes, (data, path)=>this.assertLink(data, path)), this.linkType = linkType;\n this.type = this.linkType.startsWith('Contentful:') ? 'ResourceLink' : 'Link';\n }\n assertLink = (data, path)=>{\n const $ = new ObjectAssertion(data, path);\n if ($.object('target')) {\n const sys$ = new ObjectAssertion(data.target.sys, path.of('target').of('sys'));\n if (sys$.object()) {\n sys$.enum('type', [\n this.type\n ]);\n sys$.enum('linkType', [\n this.linkType\n ]);\n if (this.type === 'Link') {\n sys$.string('id');\n sys$.noAdditionalProperties([\n 'type',\n 'linkType',\n 'id'\n ]);\n } else if (this.type === 'ResourceLink') {\n sys$.string('urn');\n sys$.noAdditionalProperties([\n 'type',\n 'linkType',\n 'urn'\n ]);\n }\n }\n $.catch(...sys$.errors);\n }\n $.noAdditionalProperties([\n 'target'\n ]);\n return $.errors;\n };\n}\nexport class HyperLinkAssertion extends NodeAssertion {\n constructor(){\n super([\n 'text'\n ], (data, path)=>this.assertLink(data, path));\n }\n assertLink = (data, path)=>{\n const $ = new ObjectAssertion(data, path);\n $.string('uri');\n $.noAdditionalProperties([\n 'uri'\n ]);\n return $.errors;\n };\n}\nexport const assert = (contentRule, validateData)=>{\n return new NodeAssertion(contentRule, validateData);\n};\nexport const assertLink = (linkType, contentRule)=>{\n return new EntityLinkAssertion(linkType, contentRule);\n};\n","import { BLOCKS } from '../blocks.mjs';\nimport { INLINES } from '../inlines.mjs';\nimport { CONTAINERS, LIST_ITEM_BLOCKS, TOP_LEVEL_BLOCKS } from '../schemaConstraints.mjs';\nimport { ObjectAssertion } from './assert.mjs';\nimport { HyperLinkAssertion, assert, assertLink, VOID_CONTENT } from './node.mjs';\nimport { Path } from './path.mjs';\nimport { assertText } from './text.mjs';\nconst assertInlineOrText = assert([\n ...Object.values(INLINES),\n 'text'\n].sort());\nconst assertList = assert([\n BLOCKS.LIST_ITEM\n]);\nconst assertVoidEntryLink = assertLink('Entry', VOID_CONTENT);\nconst assertTableCell = assert(()=>({\n nodeTypes: [\n BLOCKS.PARAGRAPH\n ],\n min: 1\n }), (data, path)=>{\n const $ = new ObjectAssertion(data, path);\n $.noAdditionalProperties([\n 'colspan',\n 'rowspan'\n ]);\n $.number('colspan', true);\n $.number('rowspan', true);\n return $.errors;\n});\nconst nodeValidator = {\n [BLOCKS.DOCUMENT]: assert(TOP_LEVEL_BLOCKS),\n [BLOCKS.PARAGRAPH]: assertInlineOrText,\n [BLOCKS.HEADING_1]: assertInlineOrText,\n [BLOCKS.HEADING_2]: assertInlineOrText,\n [BLOCKS.HEADING_3]: assertInlineOrText,\n [BLOCKS.HEADING_4]: assertInlineOrText,\n [BLOCKS.HEADING_5]: assertInlineOrText,\n [BLOCKS.HEADING_6]: assertInlineOrText,\n [BLOCKS.QUOTE]: assert(CONTAINERS[BLOCKS.QUOTE]),\n [BLOCKS.EMBEDDED_ENTRY]: assertVoidEntryLink,\n [BLOCKS.EMBEDDED_ASSET]: assertLink('Asset', VOID_CONTENT),\n [BLOCKS.EMBEDDED_RESOURCE]: assertLink('Contentful:Entry', VOID_CONTENT),\n [BLOCKS.HR]: assert(VOID_CONTENT),\n [BLOCKS.OL_LIST]: assertList,\n [BLOCKS.UL_LIST]: assertList,\n [BLOCKS.LIST_ITEM]: assert([\n ...LIST_ITEM_BLOCKS\n ].sort()),\n [BLOCKS.TABLE]: assert(()=>({\n nodeTypes: [\n BLOCKS.TABLE_ROW\n ],\n min: 1\n })),\n [BLOCKS.TABLE_ROW]: assert(()=>({\n nodeTypes: [\n BLOCKS.TABLE_CELL,\n BLOCKS.TABLE_HEADER_CELL\n ],\n min: 1\n })),\n [BLOCKS.TABLE_CELL]: assertTableCell,\n [BLOCKS.TABLE_HEADER_CELL]: assertTableCell,\n [INLINES.HYPERLINK]: new HyperLinkAssertion(),\n [INLINES.EMBEDDED_ENTRY]: assertVoidEntryLink,\n [INLINES.EMBEDDED_RESOURCE]: assertLink('Contentful:Entry', VOID_CONTENT),\n [INLINES.ENTRY_HYPERLINK]: assertLink('Entry', [\n 'text'\n ]),\n [INLINES.ASSET_HYPERLINK]: assertLink('Asset', [\n 'text'\n ]),\n [INLINES.RESOURCE_HYPERLINK]: assertLink('Contentful:Entry', [\n 'text'\n ])\n};\nfunction validateNode(node, path) {\n if (node.nodeType === 'text') {\n return assertText(node, path);\n }\n const errors = nodeValidator[node.nodeType].assert(node, path);\n if (errors.length > 0) {\n return errors;\n }\n const $ = new ObjectAssertion(node, path);\n $.each('content', (item, path)=>{\n return validateNode(item, path);\n });\n return $.errors;\n}\nexport const validateRichTextDocument = (document)=>{\n const path = new Path();\n const $ = new ObjectAssertion(document, path);\n if ($.object()) {\n $.enum('nodeType', [\n BLOCKS.DOCUMENT\n ]);\n }\n if ($.errors.length > 0) {\n return $.errors;\n }\n return validateNode(document, path);\n};\n","import React, { isValidElement, cloneElement } from 'react';\nimport { helpers, INLINES, BLOCKS, MARKS } from '@contentful/rich-text-types';\n\nfunction appendKeyToValidElement(element, key) {\n if (isValidElement(element) && element.key === null) {\n return cloneElement(element, {\n key\n });\n }\n return element;\n}\n\nfunction nodeListToReactComponents(nodes, options) {\n return nodes.map((node, index)=>{\n return appendKeyToValidElement(nodeToReactComponent(node, options), index);\n });\n}\nfunction nodeToReactComponent(node, options) {\n const { renderNode, renderMark, renderText, preserveWhitespace } = options;\n if (helpers.isText(node)) {\n let nodeValue = renderText ? renderText(node.value) : node.value;\n if (preserveWhitespace && !renderText) {\n nodeValue = nodeValue.replace(/ {2,}/g, (match)=>'\\u00A0'.repeat(match.length));\n const lines = nodeValue.split('\\n');\n const jsxLines = [];\n lines.forEach((line, index)=>{\n jsxLines.push(line);\n if (index !== lines.length - 1) {\n jsxLines.push(React.createElement(\"br\", null));\n }\n });\n nodeValue = jsxLines;\n }\n return node.marks.reduce((value, mark)=>{\n if (!renderMark[mark.type]) {\n return value;\n }\n return renderMark[mark.type](value);\n }, nodeValue);\n } else {\n const children = nodeListToReactComponents(node.content, options);\n if (!node.nodeType || !renderNode[node.nodeType]) {\n return React.createElement(React.Fragment, null, children);\n }\n return renderNode[node.nodeType](node, children);\n }\n}\n\nconst defaultNodeRenderers = {\n [BLOCKS.DOCUMENT]: (node, children)=>children,\n [BLOCKS.PARAGRAPH]: (node, children)=>React.createElement(\"p\", null, children),\n [BLOCKS.HEADING_1]: (node, children)=>React.createElement(\"h1\", null, children),\n [BLOCKS.HEADING_2]: (node, children)=>React.createElement(\"h2\", null, children),\n [BLOCKS.HEADING_3]: (node, children)=>React.createElement(\"h3\", null, children),\n [BLOCKS.HEADING_4]: (node, children)=>React.createElement(\"h4\", null, children),\n [BLOCKS.HEADING_5]: (node, children)=>React.createElement(\"h5\", null, children),\n [BLOCKS.HEADING_6]: (node, children)=>React.createElement(\"h6\", null, children),\n [BLOCKS.EMBEDDED_ENTRY]: (node, children)=>React.createElement(\"div\", null, children),\n [BLOCKS.EMBEDDED_RESOURCE]: (node, children)=>React.createElement(\"div\", null, children),\n [BLOCKS.UL_LIST]: (node, children)=>React.createElement(\"ul\", null, children),\n [BLOCKS.OL_LIST]: (node, children)=>React.createElement(\"ol\", null, children),\n [BLOCKS.LIST_ITEM]: (node, children)=>React.createElement(\"li\", null, children),\n [BLOCKS.QUOTE]: (node, children)=>React.createElement(\"blockquote\", null, children),\n [BLOCKS.HR]: ()=>React.createElement(\"hr\", null),\n [BLOCKS.TABLE]: (node, children)=>React.createElement(\"table\", null, React.createElement(\"tbody\", null, children)),\n [BLOCKS.TABLE_ROW]: (node, children)=>React.createElement(\"tr\", null, children),\n [BLOCKS.TABLE_HEADER_CELL]: (node, children)=>React.createElement(\"th\", null, children),\n [BLOCKS.TABLE_CELL]: (node, children)=>React.createElement(\"td\", null, children),\n [INLINES.ASSET_HYPERLINK]: (node)=>defaultInline(INLINES.ASSET_HYPERLINK, node),\n [INLINES.ENTRY_HYPERLINK]: (node)=>defaultInline(INLINES.ENTRY_HYPERLINK, node),\n [INLINES.RESOURCE_HYPERLINK]: (node)=>defaultInlineResource(INLINES.RESOURCE_HYPERLINK, node),\n [INLINES.EMBEDDED_ENTRY]: (node)=>defaultInline(INLINES.EMBEDDED_ENTRY, node),\n [INLINES.EMBEDDED_RESOURCE]: (node, _children)=>defaultInlineResource(INLINES.EMBEDDED_RESOURCE, node),\n [INLINES.HYPERLINK]: (node, children)=>React.createElement(\"a\", {\n href: node.data.uri\n }, children)\n};\nconst defaultMarkRenderers = {\n [MARKS.BOLD]: (text)=>React.createElement(\"b\", null, text),\n [MARKS.ITALIC]: (text)=>React.createElement(\"i\", null, text),\n [MARKS.UNDERLINE]: (text)=>React.createElement(\"u\", null, text),\n [MARKS.CODE]: (text)=>React.createElement(\"code\", null, text),\n [MARKS.SUPERSCRIPT]: (text)=>React.createElement(\"sup\", null, text),\n [MARKS.SUBSCRIPT]: (text)=>React.createElement(\"sub\", null, text),\n [MARKS.STRIKETHROUGH]: (text)=>React.createElement(\"s\", null, text)\n};\nfunction defaultInline(type, node) {\n return React.createElement(\"span\", {\n key: node.data.target.sys.id\n }, \"type: \", node.nodeType, \" id: \", node.data.target.sys.id);\n}\nfunction defaultInlineResource(type, node) {\n return React.createElement(\"span\", {\n key: node.data.target.sys.urn\n }, \"type: \", node.nodeType, \" urn: \", node.data.target.sys.urn);\n}\nfunction documentToReactComponents(richTextDocument, options = {}) {\n if (!richTextDocument) {\n return null;\n }\n let processedDocument = richTextDocument;\n if (options.stripEmptyTrailingParagraph) {\n processedDocument = helpers.stripEmptyTrailingParagraphFromDocument(richTextDocument);\n }\n return nodeToReactComponent(processedDocument, {\n renderNode: {\n ...defaultNodeRenderers,\n ...options.renderNode\n },\n renderMark: {\n ...defaultMarkRenderers,\n ...options.renderMark\n },\n renderText: options.renderText,\n preserveWhitespace: options.preserveWhitespace\n });\n}\n\nexport { documentToReactComponents };\n//# sourceMappingURL=rich-text-react-renderer.esm.js.map\n",null,null,null,null,null,null],"names":["r","e","t","f","n","Array","isArray","o","length","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","getPart","isThemeGetter","push","Object","entries","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","postfixModifierPosition","bracketDepth","parenDepth","modifierStart","index","currentCharacter","MODIFIER_SEPARATOR","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortedModifiers","unsortedModifiers","sort","SPLIT_CLASSES_REGEX","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","configUtils","cacheGet","cacheSet","functionToCall","classList","reduce","previousConfig","createConfigCurrent","sortModifiers","createConfigUtils","tailwindMerge","cachedResult","result","classGroupsInConflict","classNames","trim","originalClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","mergeClassList","apply","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scalePositionWithArbitrary","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","repeat","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","overrideProperty","baseObject","overrideKey","overrideValue","overrideConfigProperties","overrideObject","mergeConfigProperties","mergeObject","mergeArrayProperties","mergeValue","concat","twMerge","configExtension","createConfig","baseConfig","extend","override","mergeConfigs","extendTailwindMerge","cx","val","clsx","assign","target","source","init","converter","defaultAttributes","name","attributes","document","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","write","create","cookies","jar","parts","found","read","remove","withAttributes","this","withConverter","freeze","BLOCKS","INLINES","TOP_LEVEL_BLOCKS","PARAGRAPH","HEADING_1","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6","OL_LIST","UL_LIST","HR","QUOTE","EMBEDDED_ENTRY","EMBEDDED_ASSET","EMBEDDED_RESOURCE","TABLE","LIST_ITEM_BLOCKS","TABLE_ROW","TABLE_CELL","TABLE_HEADER_CELL","CONTAINERS","LIST_ITEM","DOCUMENT","HYPERLINK","ENTRY_HYPERLINK","ASSET_HYPERLINK","typeMismatchError","typeName","details","toArray","type","ObjectAssertion","obj","_errors","constructor","catch","errors","serializeError","error","JSON","stringify","findIndex","step","exists","requiredPropertyError","of","last","number","optional","array","enum","expected","enumError","empty","max","maxSizeError","minLength","min","minSizeError","noAdditionalProperties","properties","unknowns","keys","unknownPropertyError","each","assert","foundErrors","item","VOID_CONTENT","NodeAssertion","contentRule","validateData","node","$","nodeTypes","Error","item$","dataErrors","data","EntityLinkAssertion","linkType","contentNodeTypes","super","assertLink","sys$","sys","values","RESOURCE_HYPERLINK","ListItem","forwardRef","children","variant","style","props","ref","combinedClassName","_jsx","displayName","renderItem","tailwindClasses","getVariantClasses","listProps","id","Text","as","elementType","React","createElement","NextLink","NextLinkImport","_a","default","href","onClick","external","disabled","variantClasses","stateClasses","Boolean","handleClick","event","preventDefault","linkProps","rel","tabIndex","NextJsImage","mod","current","resolveDefaultExport","NextJsImageImport","contentfulImageLoader","src","width","quality","url","URL","searchParams","String","toString","NextImage","srcString","urlWithoutParams","toLowerCase","isContentfulImage","isSvgFromContentful","loaderProps","loader","unoptimized"],"mappings":"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","x_google_ignoreList":[0,1,3,4,5,6,7,8,9,10,11,12]}