@aciole/acyon 0.0.2

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 (115) hide show
  1. package/dist/acyon.cjs.js +208 -0
  2. package/dist/acyon.cjs.js.map +1 -0
  3. package/dist/acyon.css +1 -0
  4. package/dist/acyon.es.js +3667 -0
  5. package/dist/acyon.es.js.map +1 -0
  6. package/dist/components/Accordion/Accordion.d.ts +5 -0
  7. package/dist/components/Accordion/types.d.ts +16 -0
  8. package/dist/components/Avatar/Avatar.d.ts +4 -0
  9. package/dist/components/Avatar/types.d.ts +9 -0
  10. package/dist/components/Badge/Badge.d.ts +4 -0
  11. package/dist/components/Badge/types.d.ts +10 -0
  12. package/dist/components/Box/Box.d.ts +6 -0
  13. package/dist/components/Box/types.d.ts +14 -0
  14. package/dist/components/Breadcrumb/Breadcrumb.d.ts +4 -0
  15. package/dist/components/Breadcrumb/types.d.ts +11 -0
  16. package/dist/components/Button/Button.d.ts +4 -0
  17. package/dist/components/Button/types.d.ts +14 -0
  18. package/dist/components/Card/Card.d.ts +7 -0
  19. package/dist/components/Card/types.d.ts +17 -0
  20. package/dist/components/Checkbox/Checkbox.d.ts +4 -0
  21. package/dist/components/Checkbox/types.d.ts +8 -0
  22. package/dist/components/Code/Code.d.ts +4 -0
  23. package/dist/components/Code/types.d.ts +9 -0
  24. package/dist/components/Container/Container.d.ts +4 -0
  25. package/dist/components/Container/types.d.ts +8 -0
  26. package/dist/components/DatePicker/DatePicker.d.ts +4 -0
  27. package/dist/components/DatePicker/types.d.ts +7 -0
  28. package/dist/components/Divider/Divider.d.ts +3 -0
  29. package/dist/components/Divider/types.d.ts +6 -0
  30. package/dist/components/Drawer/Drawer.d.ts +4 -0
  31. package/dist/components/Drawer/types.d.ts +14 -0
  32. package/dist/components/EmptyState/EmptyState.d.ts +4 -0
  33. package/dist/components/EmptyState/types.d.ts +7 -0
  34. package/dist/components/FileUpload/FileUpload.d.ts +4 -0
  35. package/dist/components/FileUpload/types.d.ts +10 -0
  36. package/dist/components/Flex/Flex.d.ts +4 -0
  37. package/dist/components/Flex/types.d.ts +16 -0
  38. package/dist/components/FormField/FormField.d.ts +4 -0
  39. package/dist/components/FormField/types.d.ts +10 -0
  40. package/dist/components/Grid/Grid.d.ts +4 -0
  41. package/dist/components/Grid/types.d.ts +10 -0
  42. package/dist/components/Heading/Heading.d.ts +9 -0
  43. package/dist/components/Heading/types.d.ts +7 -0
  44. package/dist/components/IconButton/IconButton.d.ts +4 -0
  45. package/dist/components/IconButton/types.d.ts +11 -0
  46. package/dist/components/Image/Image.d.ts +4 -0
  47. package/dist/components/Image/types.d.ts +8 -0
  48. package/dist/components/Input/Input.d.ts +4 -0
  49. package/dist/components/Input/types.d.ts +12 -0
  50. package/dist/components/Link/Link.d.ts +7 -0
  51. package/dist/components/Link/types.d.ts +10 -0
  52. package/dist/components/List/List.d.ts +7 -0
  53. package/dist/components/List/types.d.ts +12 -0
  54. package/dist/components/Loader/Loader.d.ts +3 -0
  55. package/dist/components/Loader/types.d.ts +8 -0
  56. package/dist/components/Modal/Modal.d.ts +4 -0
  57. package/dist/components/Modal/types.d.ts +13 -0
  58. package/dist/components/MultiSelect/MultiSelect.d.ts +4 -0
  59. package/dist/components/MultiSelect/types.d.ts +18 -0
  60. package/dist/components/PageHeader/PageHeader.d.ts +4 -0
  61. package/dist/components/PageHeader/types.d.ts +9 -0
  62. package/dist/components/Pagination/Pagination.d.ts +4 -0
  63. package/dist/components/Pagination/types.d.ts +7 -0
  64. package/dist/components/Progress/Progress.d.ts +4 -0
  65. package/dist/components/Progress/types.d.ts +12 -0
  66. package/dist/components/Radio/Radio.d.ts +4 -0
  67. package/dist/components/Radio/types.d.ts +8 -0
  68. package/dist/components/Search/Search.d.ts +4 -0
  69. package/dist/components/Search/types.d.ts +5 -0
  70. package/dist/components/Select/Select.d.ts +4 -0
  71. package/dist/components/Select/types.d.ts +23 -0
  72. package/dist/components/Sidebar/Sidebar.d.ts +14 -0
  73. package/dist/components/Sidebar/types.d.ts +34 -0
  74. package/dist/components/Skeleton/Skeleton.d.ts +4 -0
  75. package/dist/components/Skeleton/types.d.ts +8 -0
  76. package/dist/components/Slider/Slider.d.ts +4 -0
  77. package/dist/components/Slider/types.d.ts +5 -0
  78. package/dist/components/Spacer/Spacer.d.ts +4 -0
  79. package/dist/components/Spacer/types.d.ts +7 -0
  80. package/dist/components/Switch/Switch.d.ts +4 -0
  81. package/dist/components/Switch/types.d.ts +6 -0
  82. package/dist/components/Table/Table.d.ts +9 -0
  83. package/dist/components/Table/types.d.ts +8 -0
  84. package/dist/components/Tabs/Tabs.d.ts +4 -0
  85. package/dist/components/Tabs/types.d.ts +19 -0
  86. package/dist/components/Tag/Tag.d.ts +3 -0
  87. package/dist/components/Tag/types.d.ts +13 -0
  88. package/dist/components/Text/Text.d.ts +4 -0
  89. package/dist/components/Text/types.d.ts +13 -0
  90. package/dist/components/TextArea/TextArea.d.ts +4 -0
  91. package/dist/components/TextArea/types.d.ts +9 -0
  92. package/dist/components/ThemeProvider/ThemeProvider.d.ts +5 -0
  93. package/dist/components/ThemeProvider/types.d.ts +15 -0
  94. package/dist/components/Timeline/Timeline.d.ts +5 -0
  95. package/dist/components/Timeline/types.d.ts +12 -0
  96. package/dist/components/Toast/Toast.d.ts +5 -0
  97. package/dist/components/Toast/types.d.ts +20 -0
  98. package/dist/components/Tooltip/Tooltip.d.ts +3 -0
  99. package/dist/components/Tooltip/types.d.ts +8 -0
  100. package/dist/components/TopBar/TopBar.d.ts +4 -0
  101. package/dist/components/TopBar/types.d.ts +17 -0
  102. package/dist/components/index.d.ts +49 -0
  103. package/dist/components/types.d.ts +7 -0
  104. package/dist/hooks/useOverlay.d.ts +9 -0
  105. package/dist/icons/IconBase.d.ts +5 -0
  106. package/dist/icons/generated.d.ts +1269 -0
  107. package/dist/icons/index.d.ts +5 -0
  108. package/dist/icons/types.d.ts +6 -0
  109. package/dist/index.d.ts +4 -0
  110. package/dist/utils/classNames.d.ts +7 -0
  111. package/dist/utils/formater.d.ts +1 -0
  112. package/dist/utils/index.d.ts +4 -0
  113. package/dist/utils/styleTokens.d.ts +14 -0
  114. package/dist/utils/variants.d.ts +25 -0
  115. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acyon.cjs.js","sources":["../src/utils/classNames.ts","../src/utils/variants.ts","../src/utils/styleTokens.ts","../src/components/Loader/Loader.tsx","../src/components/Button/Button.tsx","../src/components/IconButton/IconButton.tsx","../src/utils/formater.ts","../src/components/Text/Text.tsx","../src/components/Flex/Flex.tsx","../src/components/FormField/FormField.tsx","../src/icons/IconBase.tsx","../src/icons/generated.tsx","../src/components/Input/Input.tsx","../src/components/TextArea/TextArea.tsx","../src/components/Search/Search.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Select/Select.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/Radio.tsx","../src/components/Slider/Slider.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Heading/Heading.tsx","../src/components/Card/Card.tsx","../src/components/Box/Box.tsx","../src/components/Grid/Grid.tsx","../src/components/Container/Container.tsx","../src/components/Spacer/Spacer.tsx","../src/components/Divider/Divider.tsx","../src/components/List/List.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Code/Code.tsx","../src/components/Link/Link.tsx","../src/components/Badge/Badge.tsx","../src/components/Tag/Tag.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/Image/Image.tsx","../src/components/Switch/Switch.tsx","../src/components/Pagination/Pagination.tsx","../src/components/EmptyState/EmptyState.tsx","../src/components/Modal/Modal.tsx","../src/components/Drawer/Drawer.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/Toast/Toast.tsx","../src/components/Table/Table.tsx","../src/components/Sidebar/Sidebar.tsx","../src/components/ThemeProvider/ThemeProvider.tsx","../src/components/TopBar/TopBar.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Progress/Progress.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Timeline/Timeline.tsx"],"sourcesContent":["/**\r\n * classNames – combina strings de classes CSS ignorando falsy values.\r\n * Similar ao `clsx` mas sem dependências externas.\r\n */\r\ntype ClassValue = string | undefined | null | false | ClassValue[] | Record<string, unknown>;\r\n\r\nexport function classNames(...args: ClassValue[]): string {\r\n const classes: string[] = [];\r\n\r\n for (const arg of args) {\r\n if (!arg) continue;\r\n \r\n if (typeof arg === 'string') {\r\n classes.push(arg);\r\n } else if (Array.isArray(arg)) {\r\n const nested = classNames(...arg);\r\n if (nested) classes.push(nested);\r\n } else if (typeof arg === 'object') {\r\n for (const key in arg) {\r\n if (arg[key]) {\r\n classes.push(key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return classes.join(' ');\r\n}\r\n\r\n\r\n\r\n","/**\r\n * Sistema de variants – mapeia variant/size → classes CSS.\r\n * Inspirado no CVA mas sem dependências externas.\r\n */\r\n\r\ntype VariantMap<V extends string, S extends string> = {\r\n base?: string;\r\n variants?: Partial<Record<V, string>>;\r\n sizes?: Partial<Record<S, string>>;\r\n compound?: Array<{\r\n variant?: V;\r\n size?: S;\r\n className: string;\r\n }>;\r\n defaultVariants?: {\r\n variant?: V;\r\n size?: S;\r\n };\r\n};\r\n\r\ntype VariantOptions<V extends string, S extends string> = {\r\n variant?: V;\r\n size?: S;\r\n className?: string;\r\n};\r\n\r\nexport function createVariants<V extends string, S extends string>(\r\n config: VariantMap<V, S>\r\n) {\r\n return function resolve(options: VariantOptions<V, S> = {}): string {\r\n const variant = options.variant ?? config.defaultVariants?.variant;\r\n const size = options.size ?? config.defaultVariants?.size;\r\n\r\n const classes: string[] = [];\r\n\r\n if (config.base) classes.push(config.base);\r\n if (variant && config.variants?.[variant]) {\r\n classes.push(config.variants[variant] as string);\r\n }\r\n if (size && config.sizes?.[size]) {\r\n classes.push(config.sizes[size] as string);\r\n }\r\n if (config.compound) {\r\n for (const c of config.compound) {\r\n const matchVariant = c.variant === undefined || c.variant === variant;\r\n const matchSize = c.size === undefined || c.size === size;\r\n if (matchVariant && matchSize) classes.push(c.className);\r\n }\r\n }\r\n if (options.className) classes.push(options.className);\r\n\r\n return classes.filter(Boolean).join(' ');\r\n };\r\n}\r\n\r\n\r\n\r\n","import type { LooseStringUnion } from '../components/types';\n\nexport type TokenColor = 'primary' | 'success' | 'danger' | 'warning' | 'info' | 'neutral';\nexport type ColorValue = LooseStringUnion<TokenColor>;\nexport type TokenTextColor = LooseStringUnion<TokenColor | 'default' | 'subtle' | 'muted' | 'inverse' | 'disabled'>;\nexport type TokenIconColor = LooseStringUnion<TokenColor | 'default' | 'disabled'>;\n\nexport type TokenSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type TokenWeight = 'normal' | 'medium' | 'semibold' | 'bold';\n\nconst TOKEN_COLORS: readonly TokenColor[] = ['primary', 'success', 'danger', 'warning', 'info', 'neutral'];\n\nexport function isTokenColor(color?: string): color is TokenColor {\n if (!color) return false;\n return TOKEN_COLORS.includes(color as TokenColor);\n}\n\nfunction normalizeTokenColor(color?: ColorValue): TokenColor | undefined {\n if (!color) return undefined;\n return isTokenColor(color) ? color : undefined;\n}\n\nexport function colorVar(color?: ColorValue): string | undefined {\n if (!color) return undefined;\n if (!isTokenColor(color)) return color;\n if (color === 'neutral') return 'var(--border-main)';\n return `var(--color-${color})`;\n}\n\nexport function textColorVar(color?: TokenTextColor): string | undefined {\n if (!color) return 'var(--text-main)';\n if (color === 'default') return 'var(--text-main)';\n if (color === 'disabled') return 'var(--text-muted)';\n if (color === 'subtle') return 'var(--text-subtle)';\n if (color === 'muted') return 'var(--text-muted)';\n if (color === 'inverse') return 'var(--text-inverse)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n return `var(--color-${normalized})`;\n}\n\nexport function iconColorVar(color?: TokenIconColor): string | undefined {\n if (!color) return 'currentColor';\n if (color === 'default') return 'currentColor';\n if (color === 'disabled') return 'var(--text-muted)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n return `var(--color-${normalized})`;\n}\n\nexport function fontSizeVar(size?: TokenSize): string | undefined {\n return size ? `var(--font-size-${size})` : undefined;\n}\n\nexport function fontWeightVar(weight?: TokenWeight): string | undefined {\n return weight ? `var(--font-weight-${weight})` : undefined;\n}\n\nexport function spaceVar(space: string | number): string {\n return `var(--space-${space})`;\n}\n","import './Loader.css';\r\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LoaderProps } from './types';\n\nexport type { LoaderProps, LoaderSize } from './types';\n\r\nexport function Loader({ size = 'md', color, className, label = 'Loading...' }: LoaderProps) {\r\n const style = color ? { ['--loader-color' as string]: colorVar(color) } : {};\r\n \r\n return (\r\n <span role=\"status\" aria-label={label} className={classNames('loader', `loader--${size}`, className)} style={style}>\r\n <span className=\"loader__ring\" />\r\n <span className=\"sr-only\">{label}</span>\r\n </span>\r\n );\r\n}\r\n\r\n","import './Button.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar, isTokenColor } from '../../utils/styleTokens';\nimport { Loader } from '../Loader/Loader';\nimport type { ButtonProps } from './types';\n\nexport type { ButtonColor, ButtonProps, ButtonSize, ButtonVariant } from './types';\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({\n variant = 'solid',\n size = 'md',\n loading = false,\n disabled,\n icon,\n iconRight = false,\n full = false,\n color = 'primary',\n children,\n className,\n style,\n ...props\n }, ref) => {\n const isDisabled = disabled || loading;\n const tokenColor = isTokenColor(color) || color === 'default' ? color : undefined;\n const customColor = !color || tokenColor || color === 'default' ? undefined : colorVar(color);\n const buttonStyle = customColor\n ? {\n ...style,\n ['--btn-base' as string]: customColor,\n ['--btn-bg' as string]: customColor,\n ['--btn-text' as string]: 'var(--text-inverse)',\n }\n : style;\n\n return (\n <button\n ref={ref}\n disabled={isDisabled}\n aria-busy={loading}\n className={classNames(\n 'btn',\n `btn--${variant}`,\n `btn--${size}`,\n tokenColor && `btn--color-${tokenColor}`,\n full && 'btn--full',\n loading && 'btn--loading',\n className\n )}\n style={buttonStyle}\n {...props}\n >\n {loading && (\n <Loader \n size={size === 'xs' || size === 'sm' ? 'xs' : size === 'md' ? 'sm' : 'md'} \n className=\"btn__spinner\" \n />\n )}\n {!loading && icon && !iconRight && (\n <span className=\"btn__icon btn__icon--left\">{icon}</span>\n )}\n {children && <span className=\"btn__label\">{children}</span>}\n {!loading && icon && iconRight && (\n <span className=\"btn__icon btn__icon--right\">{icon}</span>\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport './IconButton.css';\nimport { Loader } from '../Loader/Loader';\nimport { Button } from '../Button/Button';\nimport type { IconButtonProps } from './types';\n\nexport type { IconButtonProps, IconButtonSize, IconButtonVariant } from './types';\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ icon, variant = 'solid', size = 'md', loading = false, disabled, className, style, label, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n className={classNames('icon-btn', `icon-btn--size-${size}`, className)}\n aria-label={label || (typeof icon === 'string' ? icon : 'icon-button')}\n aria-busy={loading}\n variant={variant}\n size={size}\n disabled={disabled || loading}\n style={style}\n {...props}\n >\n {loading ? (\n <Loader />\n ) : (\n <span className=\"icon-btn__content\">\n {icon}\n </span>\n )}\n </Button>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n","export function LabelFormater(text: string): string {\r\n if (!text) return '';\r\n\r\n return text\r\n .toLowerCase()\r\n .replace(/^\\p{L}/u, (char) => char.toUpperCase());\r\n}\r\n\r\n\r\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { isTokenColor, textColorVar } from '../../utils/styleTokens';\nimport './Text.css';\nimport type { TextProps } from './types';\n\nexport type { TextColor, TextOwnProps, TextProps, TextSize, TextWeight } from './types';\n\nexport const Text = <TElement extends React.ElementType = 'p'>({\n size = 'md',\n color = 'default',\n weight = 'normal',\n as,\n className,\n children,\n style,\n ...props\n}: TextProps<TElement>) => {\n const Component = (as || 'p') as React.ElementType;\n const tokenColorClass = isTokenColor(color) || ['default', 'subtle', 'muted', 'inverse'].includes(color)\n ? `text--color-${color}`\n : undefined;\n\n return (\n <Component\n className={classNames(\n 'text',\n `text--size-${size}`,\n tokenColorClass,\n `text--weight-${weight}`,\n className\n )}\n style={!tokenColorClass ? { ...style, color: textColorVar(color) } : style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n","import React from 'react';\nimport './Flex.css';\nimport { classNames } from '../../utils/classNames';\nimport type { FlexProps } from './types';\n\nexport type { FlexAlign, FlexDirection, FlexGap, FlexJustify, FlexOwnProps, FlexProps, FlexWrap } from './types';\n\nexport const Flex = <TElement extends React.ElementType = 'div'>({\n children,\r\n direction = 'row',\r\n align = 'stretch',\r\n justify = 'flex-start',\r\n wrap = 'nowrap',\r\n gap = '0',\n className,\n style,\n as,\n ...props\n}: FlexProps<TElement>) => {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames(\r\n 'flex',\r\n `flex-direction--${direction}`,\r\n `flex-align--${align}`,\r\n `flex-justify--${justify}`,\r\n `flex-wrap--${wrap}`,\r\n `flex-gap--${gap}`,\r\n className\r\n )}\r\n style={style}\r\n {...props}\r\n >\r\n {children}\n </Component>\n );\n};\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { Text } from '../Text/Text';\nimport { Flex } from '../Flex/Flex';\nimport './FormField.css';\nimport type { FormFieldProps } from './types';\n\nexport type { FormFieldProps } from './types';\n\r\nexport const FormField: React.FC<FormFieldProps> = ({\r\n label,\r\n error,\r\n hint,\r\n children,\r\n full = false,\r\n className,\r\n htmlFor\r\n}) => {\r\n return (\r\n <Flex direction=\"column\" gap=\"1\" className={classNames('form-field-root', full && 'form-field--full', className)}>\r\n {label && (\r\n <Text size=\"sm\" weight=\"medium\" as=\"label\" htmlFor={htmlFor} className=\"form-field-label\">\r\n {LabelFormater(label)}\r\n </Text>\r\n )}\r\n {children}\r\n {error && (\r\n <Text as=\"span\" color=\"danger\" size=\"sm\" className=\"form-field-message\" role=\"alert\">\r\n {error}\r\n </Text>\r\n )}\r\n {!error && hint && (\r\n <Text as=\"span\" color=\"subtle\" size=\"sm\" className=\"form-field-message\">\r\n {hint}\r\n </Text>\r\n )}\r\n </Flex>\r\n );\r\n};\r\n","import React from 'react';\n\nexport interface IconProps extends Omit<React.SVGProps<SVGSVGElement>, 'name'> {\n size?: number;\n}\n\nexport function IconBase({\n size = 20,\n width,\n height,\n viewBox = '0 0 24 24',\n fill = 'none',\n stroke = 'currentColor',\n strokeWidth = 2,\n strokeLinecap = 'round',\n strokeLinejoin = 'round',\n children,\n ...props\n}: IconProps) {\n return (\n <svg\n width={width ?? size}\n height={height ?? size}\n viewBox={viewBox}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </svg>\n );\n}\n","import React from 'react';\nimport { IconBase } from './IconBase';\nimport type { IconProps } from './IconBase';\n\nexport type IconName =\n | 'activity'\n | 'alert-circle'\n | 'alert-triangle'\n | 'align-horizontal'\n | 'align-justify'\n | 'app-window'\n | 'arrow-down'\n | 'arrow-left'\n | 'arrow-right'\n | 'arrow-up'\n | 'badge'\n | 'battery'\n | 'bell'\n | 'bluetooth'\n | 'book'\n | 'box'\n | 'calendar'\n | 'camera'\n | 'check-square'\n | 'check'\n | 'chevron-down'\n | 'chevron-left'\n | 'chevron-right'\n | 'chevron-up'\n | 'chevron'\n | 'circle-dot'\n | 'clock'\n | 'close'\n | 'cloud'\n | 'code'\n | 'component'\n | 'copy'\n | 'credit-card'\n | 'database'\n | 'download'\n | 'edit'\n | 'external-link'\n | 'eye-off'\n | 'eye'\n | 'file-text'\n | 'file'\n | 'filter'\n | 'folder'\n | 'form-input'\n | 'ghost'\n | 'gift'\n | 'git-commit'\n | 'github'\n | 'grid'\n | 'grip'\n | 'heading1'\n | 'heart'\n | 'help-circle'\n | 'history'\n | 'home'\n | 'image'\n | 'info'\n | 'lab'\n | 'laptop'\n | 'layout-template'\n | 'layout'\n | 'link'\n | 'linkedin'\n | 'list-checks'\n | 'list-collapse'\n | 'list-filter'\n | 'list'\n | 'loader2'\n | 'lock'\n | 'log-in'\n | 'log-out'\n | 'mail'\n | 'map-pin'\n | 'menu'\n | 'message-circle'\n | 'message-square'\n | 'mic'\n | 'milestone'\n | 'minus'\n | 'monitor'\n | 'moon'\n | 'more-horizontal'\n | 'mouse-pointer'\n | 'music'\n | 'panel-left'\n | 'panel-top'\n | 'panel'\n | 'phone'\n | 'plus'\n | 'rectangle-horizontal'\n | 'refresh'\n | 'rocket'\n | 'ruler'\n | 'search'\n | 'server'\n | 'settings'\n | 'share'\n | 'shield'\n | 'shopping-cart'\n | 'sliders-horizontal'\n | 'smartphone'\n | 'spark'\n | 'sparkles'\n | 'spinner'\n | 'square'\n | 'star'\n | 'sun'\n | 'table'\n | 'tablet'\n | 'tag'\n | 'text-cursor'\n | 'theme-dark'\n | 'theme-light'\n | 'toggle-right'\n | 'trash'\n | 'type'\n | 'unlock'\n | 'upload-cloud'\n | 'upload'\n | 'user-circle'\n | 'user'\n | 'video'\n | 'warning'\n | 'wifi'\n | 'x'\n | 'zap';\n\nconst icons = {\n 'activity': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\\\" />\",\n },\n 'alert-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12\\\" y1=\\\"8\\\" y2=\\\"12\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12.01\\\" y1=\\\"16\\\" y2=\\\"16\\\" />\",\n },\n 'alert-triangle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\\\" />\\n <path d=\\\"M12 9v4\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'align-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"6\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"2\\\" />\\n <rect width=\\\"6\\\" height=\\\"10\\\" x=\\\"16\\\" y=\\\"7\\\" rx=\\\"2\\\" />\\n <path d=\\\"M12 2v20\\\" />\",\n },\n 'align-justify': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 5h18\\\" />\\n <path d=\\\"M3 12h18\\\" />\\n <path d=\\\"M3 19h18\\\" />\",\n },\n 'app-window': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\" />\\n <path d=\\\"M10 4v4\\\" />\\n <path d=\\\"M2 8h20\\\" />\\n <path d=\\\"M6 4v4\\\" />\",\n },\n 'arrow-down': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 5v14\\\" />\\n <path d=\\\"m19 12-7 7-7-7\\\" />\",\n },\n 'arrow-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m12 19-7-7 7-7\\\" />\\n <path d=\\\"M19 12H5\\\" />\",\n },\n 'arrow-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\\n <path d=\\\"m12 5 7 7-7 7\\\" />\",\n },\n 'arrow-up': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m5 12 7-7 7 7\\\" />\\n <path d=\\\"M12 19V5\\\" />\",\n },\n 'badge': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\\\" />\",\n },\n 'battery': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M 22 14 L 22 10\\\" />\\n <rect x=\\\"2\\\" y=\\\"6\\\" width=\\\"16\\\" height=\\\"12\\\" rx=\\\"2\\\" />\",\n },\n 'bell': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10.268 21a2 2 0 0 0 3.464 0\\\" />\\n <path d=\\\"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326\\\" />\",\n },\n 'bluetooth': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m7 7 10 10-5 5V2l5 5L7 17\\\" />\",\n },\n 'book': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\\\" />\\n <path d=\\\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\\\" />\",\n },\n 'box': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\\\" />\\n <path d=\\\"m3.3 7 8.7 5 8.7-5\\\" />\\n <path d=\\\"M12 22V12\\\" />\",\n },\n 'calendar': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M8 2v4\\\" />\\n <path d=\\\"M16 2v4\\\" />\\n <rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"4\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 10h18\\\" />\",\n },\n 'camera': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"13\\\" r=\\\"3\\\" />\",\n },\n 'check-square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344\\\" />\\n <path d=\\\"m9 11 3 3L22 4\\\" />\",\n },\n 'check': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 6 9 17l-5-5\\\" />\",\n },\n 'chevron-down': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m6 9 6 6 6-6\\\" />\",\n },\n 'chevron-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m15 18-6-6 6-6\\\" />\",\n },\n 'chevron-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m9 18 6-6-6-6\\\" />\",\n },\n 'chevron-up': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m18 15-6-6-6 6\\\" />\",\n },\n 'chevron': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m9 18 6-6-6-6\\\" />\",\n },\n 'circle-dot': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\" />\",\n },\n 'clock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M12 6v6l4 2\\\" />\",\n },\n 'close': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 6 6 18\\\" />\\n <path d=\\\"m6 6 12 12\\\" />\",\n },\n 'cloud': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\\\" />\",\n },\n 'code': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m10 9-3 3 3 3\\\"/><path d=\\\"m14 15 3-3-3-3\\\"/><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\"/>\",\n },\n 'component': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\\\" />\",\n },\n 'copy': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\" />\",\n },\n 'credit-card': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"2\\\" />\\n <line x1=\\\"2\\\" x2=\\\"22\\\" y1=\\\"10\\\" y2=\\\"10\\\" />\",\n },\n 'database': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<ellipse cx=\\\"12\\\" cy=\\\"5\\\" rx=\\\"9\\\" ry=\\\"3\\\" />\\n <path d=\\\"M3 5V19A9 3 0 0 0 21 19V5\\\" />\\n <path d=\\\"M3 12A9 3 0 0 0 21 12\\\" />\",\n },\n 'download': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 15V3\\\" />\\n <path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\" />\\n <path d=\\\"m7 10 5 5 5-5\\\" />\",\n },\n 'edit': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\\\" />\\n <path d=\\\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\\\" />\",\n },\n 'external-link': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 3h6v6\\\" />\\n <path d=\\\"M10 14 21 3\\\" />\\n <path d=\\\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\\\" />\",\n },\n 'eye-off': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\\\" />\\n <path d=\\\"M14.084 14.158a3 3 0 0 1-4.242-4.242\\\" />\\n <path d=\\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\\\" />\\n <path d=\\\"m2 2 20 20\\\" />\",\n },\n 'eye': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\",\n },\n 'file-text': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\" />\\n <path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\" />\\n <path d=\\\"M10 9H8\\\" />\\n <path d=\\\"M16 13H8\\\" />\\n <path d=\\\"M16 17H8\\\" />\",\n },\n 'file': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\" />\\n <path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\" />\",\n },\n 'filter': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z\\\" />\",\n },\n 'folder': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\" />\",\n },\n 'form-input': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\" />\\n <path d=\\\"M12 12h.01\\\" />\\n <path d=\\\"M17 12h.01\\\" />\\n <path d=\\\"M7 12h.01\\\" />\",\n },\n 'ghost': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9 10h.01\\\" />\\n <path d=\\\"M15 10h.01\\\" />\\n <path d=\\\"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z\\\" />\",\n },\n 'gift': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 7v14\\\" />\\n <path d=\\\"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8\\\" />\\n <path d=\\\"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5\\\" />\\n <rect x=\\\"3\\\" y=\\\"7\\\" width=\\\"18\\\" height=\\\"4\\\" rx=\\\"1\\\" />\",\n },\n 'git-commit': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\\n <line x1=\\\"3\\\" x2=\\\"9\\\" y1=\\\"12\\\" y2=\\\"12\\\" />\\n <line x1=\\\"15\\\" x2=\\\"21\\\" y1=\\\"12\\\" y2=\\\"12\\\" />\",\n },\n 'github': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\\\" />\\n <path d=\\\"M9 18c-4.51 2-5-2-7-2\\\" />\",\n },\n 'grid': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\\n <path d=\\\"M3 15h18\\\" />\\n <path d=\\\"M9 3v18\\\" />\\n <path d=\\\"M15 3v18\\\" />\",\n },\n 'grip': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"12\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\",\n },\n 'heading1': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 12h8\\\" />\\n <path d=\\\"M4 18V6\\\" />\\n <path d=\\\"M12 18V6\\\" />\\n <path d=\\\"m17 12 3-2v8\\\" />\",\n },\n 'heart': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\\\" />\",\n },\n 'help-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'history': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\\\" />\\n <path d=\\\"M3 3v5h5\\\" />\\n <path d=\\\"M12 7v5l4 2\\\" />\",\n },\n 'home': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\\\" />\\n <path d=\\\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\" />\",\n },\n 'image': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <circle cx=\\\"9\\\" cy=\\\"9\\\" r=\\\"2\\\" />\\n <path d=\\\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\\\" />\",\n },\n 'info': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M12 16v-4\\\" />\\n <path d=\\\"M12 8h.01\\\" />\",\n },\n 'lab': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2\\\" />\\n <path d=\\\"M6.453 15h11.094\\\" />\\n <path d=\\\"M8.5 2h7\\\" />\",\n },\n 'laptop': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z\\\" />\\n <path d=\\\"M20.054 15.987H3.946\\\" />\",\n },\n 'layout-template': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"7\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"1\\\" />\\n <rect width=\\\"9\\\" height=\\\"7\\\" x=\\\"3\\\" y=\\\"14\\\" rx=\\\"1\\\" />\\n <rect width=\\\"5\\\" height=\\\"7\\\" x=\\\"16\\\" y=\\\"14\\\" rx=\\\"1\\\" />\",\n },\n 'layout': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" />\\n <line x1=\\\"9\\\" y1=\\\"3\\\" x2=\\\"9\\\" y2=\\\"21\\\" />\\n <line x1=\\\"9\\\" y1=\\\"9\\\" x2=\\\"21\\\" y2=\\\"9\\\" />\",\n },\n 'link': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\" />\\n <path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\" />\",\n },\n 'linkedin': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\\\" />\\n <rect width=\\\"4\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"9\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\" />\",\n },\n 'list-checks': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13 5h8\\\" />\\n <path d=\\\"M13 12h8\\\" />\\n <path d=\\\"M13 19h8\\\" />\\n <path d=\\\"m3 17 2 2 4-4\\\" />\\n <path d=\\\"m3 7 2 2 4-4\\\" />\",\n },\n 'list-collapse': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 5h11\\\" />\\n <path d=\\\"M10 12h11\\\" />\\n <path d=\\\"M10 19h11\\\" />\\n <path d=\\\"m3 10 3-3-3-3\\\" />\\n <path d=\\\"m3 20 3-3-3-3\\\" />\",\n },\n 'list-filter': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2 5h20\\\" />\\n <path d=\\\"M6 12h12\\\" />\\n <path d=\\\"M9 19h6\\\" />\",\n },\n 'list': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 5h.01\\\" />\\n <path d=\\\"M3 12h.01\\\" />\\n <path d=\\\"M3 19h.01\\\" />\\n <path d=\\\"M8 5h13\\\" />\\n <path d=\\\"M8 12h13\\\" />\\n <path d=\\\"M8 19h13\\\" />\",\n },\n 'loader2': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\" />\",\n },\n 'lock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"11\\\" x=\\\"3\\\" y=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M7 11V7a5 5 0 0 1 10 0v4\\\" />\",\n },\n 'log-in': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m10 17 5-5-5-5\\\" />\\n <path d=\\\"M15 12H3\\\" />\\n <path d=\\\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\\\" />\",\n },\n 'log-out': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m16 17 5-5-5-5\\\" />\\n <path d=\\\"M21 12H9\\\" />\\n <path d=\\\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\\\" />\",\n },\n 'mail': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\\\" />\\n <rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\" />\",\n },\n 'map-pin': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\" />\",\n },\n 'menu': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 5h16\\\" />\\n <path d=\\\"M4 12h16\\\" />\\n <path d=\\\"M4 19h16\\\" />\",\n },\n 'message-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\\\" />\",\n },\n 'message-square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\\\" />\",\n },\n 'mic': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 19v3\\\" />\\n <path d=\\\"M19 10v2a7 7 0 0 1-14 0v-2\\\" />\\n <rect x=\\\"9\\\" y=\\\"2\\\" width=\\\"6\\\" height=\\\"13\\\" rx=\\\"3\\\" />\",\n },\n 'milestone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 13v8\\\" />\\n <path d=\\\"M12 3v3\\\" />\\n <path d=\\\"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z\\\" />\",\n },\n 'minus': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\",\n },\n 'monitor': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <line x1=\\\"8\\\" x2=\\\"16\\\" y1=\\\"21\\\" y2=\\\"21\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12\\\" y1=\\\"17\\\" y2=\\\"21\\\" />\",\n },\n 'moon': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\" />\",\n },\n 'more-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\" />\\n <circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\" />\\n <circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\" />\",\n },\n 'mouse-pointer': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M14 4.1 12 6\\\" />\\n <path d=\\\"m5.1 8-2.9-.8\\\" />\\n <path d=\\\"m6 12-1.9 2\\\" />\\n <path d=\\\"M7.2 2.2 8 5.1\\\" />\\n <path d=\\\"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z\\\" />\",\n },\n 'music': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9 18V5l12-2v13\\\" />\\n <circle cx=\\\"6\\\" cy=\\\"18\\\" r=\\\"3\\\" />\\n <circle cx=\\\"18\\\" cy=\\\"16\\\" r=\\\"3\\\" />\",\n },\n 'panel-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M9 3v18\\\" />\",\n },\n 'panel-top': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\",\n },\n 'panel': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M12 3v18\\\"/>\",\n },\n 'phone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\\\" />\",\n },\n 'plus': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\\n <path d=\\\"M12 5v14\\\" />\",\n },\n 'rectangle-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\" />\",\n },\n 'refresh': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\\\" />\\n <path d=\\\"M21 3v5h-5\\\" />\\n <path d=\\\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\\\" />\\n <path d=\\\"M8 16H3v5\\\" />\",\n },\n 'rocket': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\\\" />\\n <path d=\\\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09\\\" />\\n <path d=\\\"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z\\\" />\\n <path d=\\\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05\\\" />\",\n },\n 'ruler': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z\\\" />\\n <path d=\\\"m14.5 12.5 2-2\\\" />\\n <path d=\\\"m11.5 9.5 2-2\\\" />\\n <path d=\\\"m8.5 6.5 2-2\\\" />\\n <path d=\\\"m17.5 15.5 2-2\\\" />\",\n },\n 'search': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21 21-4.34-4.34\\\" />\\n <circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\" />\",\n },\n 'server': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"8\\\" x=\\\"2\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <rect width=\\\"20\\\" height=\\\"8\\\" x=\\\"2\\\" y=\\\"14\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <line x1=\\\"6\\\" x2=\\\"6.01\\\" y1=\\\"6\\\" y2=\\\"6\\\" />\\n <line x1=\\\"6\\\" x2=\\\"6.01\\\" y1=\\\"18\\\" y2=\\\"18\\\" />\",\n },\n 'settings': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\",\n },\n 'share': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 2v13\\\" />\\n <path d=\\\"m16 6-4-4-4 4\\\" />\\n <path d=\\\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\\\" />\",\n },\n 'shield': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\\\" />\",\n },\n 'shopping-cart': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"8\\\" cy=\\\"21\\\" r=\\\"1\\\" />\\n <circle cx=\\\"19\\\" cy=\\\"21\\\" r=\\\"1\\\" />\\n <path d=\\\"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12\\\" />\",\n },\n 'sliders-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 5H3\\\" />\\n <path d=\\\"M12 19H3\\\" />\\n <path d=\\\"M14 3v4\\\" />\\n <path d=\\\"M16 17v4\\\" />\\n <path d=\\\"M21 12h-9\\\" />\\n <path d=\\\"M21 19h-5\\\" />\\n <path d=\\\"M21 5h-7\\\" />\\n <path d=\\\"M8 10v4\\\" />\\n <path d=\\\"M8 12H3\\\" />\",\n },\n 'smartphone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"14\\\" height=\\\"20\\\" x=\\\"5\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M12 18h.01\\\" />\",\n },\n 'spark': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\\\" />\\n <path d=\\\"M20 2v4\\\" />\\n <path d=\\\"M22 4h-4\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"20\\\" r=\\\"2\\\" />\",\n },\n 'sparkles': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\\\" />\\n <path d=\\\"M20 2v4\\\" />\\n <path d=\\\"M22 4h-4\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"20\\\" r=\\\"2\\\" />\",\n },\n 'spinner': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\" />\",\n },\n 'square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\",\n },\n 'star': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\\\" />\",\n },\n 'sun': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" />\\n <path d=\\\"M12 2v2\\\" />\\n <path d=\\\"M12 20v2\\\" />\\n <path d=\\\"m4.93 4.93 1.41 1.41\\\" />\\n <path d=\\\"m17.66 17.66 1.41 1.41\\\" />\\n <path d=\\\"M2 12h2\\\" />\\n <path d=\\\"M20 12h2\\\" />\\n <path d=\\\"m6.34 17.66-1.41 1.41\\\" />\\n <path d=\\\"m19.07 4.93-1.41 1.41\\\" />\",\n },\n 'table': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3v18\\\" />\\n <rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\\n <path d=\\\"M3 15h18\\\" />\",\n },\n 'tablet': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"16\\\" height=\\\"20\\\" x=\\\"4\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12.01\\\" y1=\\\"18\\\" y2=\\\"18\\\" />\",\n },\n 'tag': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\\\" />\\n <circle cx=\\\"7.5\\\" cy=\\\"7.5\\\" r=\\\".5\\\" fill=\\\"currentColor\\\" />\",\n },\n 'text-cursor': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6\\\" />\\n <path d=\\\"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7\\\" />\\n <path d=\\\"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1\\\" />\\n <path d=\\\"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1\\\" />\\n <path d=\\\"M9 6v12\\\" />\",\n },\n 'theme-dark': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\" />\",\n },\n 'theme-light': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" />\\n <path d=\\\"M12 2v2\\\" />\\n <path d=\\\"M12 20v2\\\" />\\n <path d=\\\"m4.93 4.93 1.41 1.41\\\" />\\n <path d=\\\"m17.66 17.66 1.41 1.41\\\" />\\n <path d=\\\"M2 12h2\\\" />\\n <path d=\\\"M20 12h2\\\" />\\n <path d=\\\"m6.34 17.66-1.41 1.41\\\" />\\n <path d=\\\"m19.07 4.93-1.41 1.41\\\" />\",\n },\n 'toggle-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"15\\\" cy=\\\"12\\\" r=\\\"3\\\" />\\n <rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"7\\\" />\",\n },\n 'trash': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\\\" />\\n <path d=\\\"M3 6h18\\\" />\\n <path d=\\\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\" />\",\n },\n 'type': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 4v16\\\" />\\n <path d=\\\"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2\\\" />\\n <path d=\\\"M9 20h6\\\" />\",\n },\n 'unlock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"11\\\" x=\\\"3\\\" y=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M7 11V7a5 5 0 0 1 9.9-1\\\" />\",\n },\n 'upload-cloud': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 13v8\\\" />\\n <path d=\\\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\\\" />\\n <path d=\\\"m8 17 4-4 4 4\\\" />\",\n },\n 'upload': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3v12\\\" />\\n <path d=\\\"m17 8-5-5-5 5\\\" />\\n <path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\" />\",\n },\n 'user-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\" />\\n <path d=\\\"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662\\\" />\",\n },\n 'user': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"7\\\" r=\\\"4\\\" />\",\n },\n 'video': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\\\" />\\n <rect x=\\\"2\\\" y=\\\"6\\\" width=\\\"14\\\" height=\\\"12\\\" rx=\\\"2\\\" />\",\n },\n 'warning': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\\\" />\\n <path d=\\\"M12 9v4\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'wifi': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 20h.01\\\" />\\n <path d=\\\"M2 8.82a15 15 0 0 1 20 0\\\" />\\n <path d=\\\"M5 12.859a10 10 0 0 1 14 0\\\" />\\n <path d=\\\"M8.5 16.429a5 5 0 0 1 7 0\\\" />\",\n },\n 'x': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 6 6 18\\\" />\\n <path d=\\\"m6 6 12 12\\\" />\",\n },\n 'zap': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<polygon points=\\\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\\\" />\",\n },\n} satisfies Record<IconName, {\n viewBox: string;\n fill: string;\n stroke: string;\n strokeWidth: string;\n strokeLinecap: string;\n strokeLinejoin: string;\n body: string;\n}>;\n\nexport interface NamedIconProps extends IconProps {\n name: IconName;\n}\n\nexport function Icon({ name, ...props }: NamedIconProps) {\n const icon = icons[name];\n return (\n <IconBase\n viewBox={icon.viewBox}\n fill={icon.fill}\n stroke={icon.stroke}\n strokeWidth={Number(icon.strokeWidth)}\n strokeLinecap={icon.strokeLinecap as React.SVGProps<SVGSVGElement>['strokeLinecap']}\n strokeLinejoin={icon.strokeLinejoin as React.SVGProps<SVGSVGElement>['strokeLinejoin']}\n dangerouslySetInnerHTML={{ __html: icon.body }}\n {...props}\n />\n );\n}\n\nfunction createNamedIcon(name: IconName) {\n return function NamedIcon(props: IconProps) {\n return <Icon name={name} {...props} />;\n };\n}\n\nexport const ActivityIcon = createNamedIcon('activity' as IconName);\nexport const AlertCircleIcon = createNamedIcon('alert-circle' as IconName);\nexport const AlertTriangleIcon = createNamedIcon('alert-triangle' as IconName);\nexport const AlignHorizontalIcon = createNamedIcon('align-horizontal' as IconName);\nexport const AlignJustifyIcon = createNamedIcon('align-justify' as IconName);\nexport const AppWindowIcon = createNamedIcon('app-window' as IconName);\nexport const ArrowDownIcon = createNamedIcon('arrow-down' as IconName);\nexport const ArrowLeftIcon = createNamedIcon('arrow-left' as IconName);\nexport const ArrowRightIcon = createNamedIcon('arrow-right' as IconName);\nexport const ArrowUpIcon = createNamedIcon('arrow-up' as IconName);\nexport const BadgeIcon = createNamedIcon('badge' as IconName);\nexport const BatteryIcon = createNamedIcon('battery' as IconName);\nexport const BellIcon = createNamedIcon('bell' as IconName);\nexport const BluetoothIcon = createNamedIcon('bluetooth' as IconName);\nexport const BookIcon = createNamedIcon('book' as IconName);\nexport const BoxIcon = createNamedIcon('box' as IconName);\nexport const CalendarIcon = createNamedIcon('calendar' as IconName);\nexport const CameraIcon = createNamedIcon('camera' as IconName);\nexport const CheckSquareIcon = createNamedIcon('check-square' as IconName);\nexport const CheckIcon = createNamedIcon('check' as IconName);\nexport const ChevronDownIcon = createNamedIcon('chevron-down' as IconName);\nexport const ChevronLeftIcon = createNamedIcon('chevron-left' as IconName);\nexport const ChevronRightIcon = createNamedIcon('chevron-right' as IconName);\nexport const ChevronUpIcon = createNamedIcon('chevron-up' as IconName);\nexport const ChevronIcon = createNamedIcon('chevron' as IconName);\nexport const CircleDotIcon = createNamedIcon('circle-dot' as IconName);\nexport const ClockIcon = createNamedIcon('clock' as IconName);\nexport const CloseIcon = createNamedIcon('close' as IconName);\nexport const CloudIcon = createNamedIcon('cloud' as IconName);\nexport const CodeIcon = createNamedIcon('code' as IconName);\nexport const ComponentIcon = createNamedIcon('component' as IconName);\nexport const CopyIcon = createNamedIcon('copy' as IconName);\nexport const CreditCardIcon = createNamedIcon('credit-card' as IconName);\nexport const DatabaseIcon = createNamedIcon('database' as IconName);\nexport const DownloadIcon = createNamedIcon('download' as IconName);\nexport const EditIcon = createNamedIcon('edit' as IconName);\nexport const ExternalLinkIcon = createNamedIcon('external-link' as IconName);\nexport const EyeOffIcon = createNamedIcon('eye-off' as IconName);\nexport const EyeIcon = createNamedIcon('eye' as IconName);\nexport const FileTextIcon = createNamedIcon('file-text' as IconName);\nexport const FileIcon = createNamedIcon('file' as IconName);\nexport const FilterIcon = createNamedIcon('filter' as IconName);\nexport const FolderIcon = createNamedIcon('folder' as IconName);\nexport const FormInputIcon = createNamedIcon('form-input' as IconName);\nexport const GhostIcon = createNamedIcon('ghost' as IconName);\nexport const GiftIcon = createNamedIcon('gift' as IconName);\nexport const GitCommitIcon = createNamedIcon('git-commit' as IconName);\nexport const GithubIcon = createNamedIcon('github' as IconName);\nexport const GridIcon = createNamedIcon('grid' as IconName);\nexport const GripIcon = createNamedIcon('grip' as IconName);\nexport const Heading1Icon = createNamedIcon('heading1' as IconName);\nexport const HeartIcon = createNamedIcon('heart' as IconName);\nexport const HelpCircleIcon = createNamedIcon('help-circle' as IconName);\nexport const HistoryIcon = createNamedIcon('history' as IconName);\nexport const HomeIcon = createNamedIcon('home' as IconName);\nexport const ImageIcon = createNamedIcon('image' as IconName);\nexport const InfoIcon = createNamedIcon('info' as IconName);\nexport const LabIcon = createNamedIcon('lab' as IconName);\nexport const LaptopIcon = createNamedIcon('laptop' as IconName);\nexport const LayoutTemplateIcon = createNamedIcon('layout-template' as IconName);\nexport const LayoutIcon = createNamedIcon('layout' as IconName);\nexport const LinkIcon = createNamedIcon('link' as IconName);\nexport const LinkedinIcon = createNamedIcon('linkedin' as IconName);\nexport const ListChecksIcon = createNamedIcon('list-checks' as IconName);\nexport const ListCollapseIcon = createNamedIcon('list-collapse' as IconName);\nexport const ListFilterIcon = createNamedIcon('list-filter' as IconName);\nexport const ListIcon = createNamedIcon('list' as IconName);\nexport const Loader2Icon = createNamedIcon('loader2' as IconName);\nexport const LockIcon = createNamedIcon('lock' as IconName);\nexport const LogInIcon = createNamedIcon('log-in' as IconName);\nexport const LogOutIcon = createNamedIcon('log-out' as IconName);\nexport const MailIcon = createNamedIcon('mail' as IconName);\nexport const MapPinIcon = createNamedIcon('map-pin' as IconName);\nexport const MenuIcon = createNamedIcon('menu' as IconName);\nexport const MessageCircleIcon = createNamedIcon('message-circle' as IconName);\nexport const MessageSquareIcon = createNamedIcon('message-square' as IconName);\nexport const MicIcon = createNamedIcon('mic' as IconName);\nexport const MilestoneIcon = createNamedIcon('milestone' as IconName);\nexport const MinusIcon = createNamedIcon('minus' as IconName);\nexport const MonitorIcon = createNamedIcon('monitor' as IconName);\nexport const MoonIcon = createNamedIcon('moon' as IconName);\nexport const MoreHorizontalIcon = createNamedIcon('more-horizontal' as IconName);\nexport const MousePointerIcon = createNamedIcon('mouse-pointer' as IconName);\nexport const MusicIcon = createNamedIcon('music' as IconName);\nexport const PanelLeftIcon = createNamedIcon('panel-left' as IconName);\nexport const PanelTopIcon = createNamedIcon('panel-top' as IconName);\nexport const PanelIcon = createNamedIcon('panel' as IconName);\nexport const PhoneIcon = createNamedIcon('phone' as IconName);\nexport const PlusIcon = createNamedIcon('plus' as IconName);\nexport const RectangleHorizontalIcon = createNamedIcon('rectangle-horizontal' as IconName);\nexport const RefreshIcon = createNamedIcon('refresh' as IconName);\nexport const RocketIcon = createNamedIcon('rocket' as IconName);\nexport const RulerIcon = createNamedIcon('ruler' as IconName);\nexport const SearchIcon = createNamedIcon('search' as IconName);\nexport const ServerIcon = createNamedIcon('server' as IconName);\nexport const SettingsIcon = createNamedIcon('settings' as IconName);\nexport const ShareIcon = createNamedIcon('share' as IconName);\nexport const ShieldIcon = createNamedIcon('shield' as IconName);\nexport const ShoppingCartIcon = createNamedIcon('shopping-cart' as IconName);\nexport const SlidersHorizontalIcon = createNamedIcon('sliders-horizontal' as IconName);\nexport const SmartphoneIcon = createNamedIcon('smartphone' as IconName);\nexport const SparkIcon = createNamedIcon('spark' as IconName);\nexport const SparklesIcon = createNamedIcon('sparkles' as IconName);\nexport const SpinnerIcon = createNamedIcon('spinner' as IconName);\nexport const SquareIcon = createNamedIcon('square' as IconName);\nexport const StarIcon = createNamedIcon('star' as IconName);\nexport const SunIcon = createNamedIcon('sun' as IconName);\nexport const TableIcon = createNamedIcon('table' as IconName);\nexport const TabletIcon = createNamedIcon('tablet' as IconName);\nexport const TagIcon = createNamedIcon('tag' as IconName);\nexport const TextCursorIcon = createNamedIcon('text-cursor' as IconName);\nexport const ThemeDarkIcon = createNamedIcon('theme-dark' as IconName);\nexport const ThemeLightIcon = createNamedIcon('theme-light' as IconName);\nexport const ToggleRightIcon = createNamedIcon('toggle-right' as IconName);\nexport const TrashIcon = createNamedIcon('trash' as IconName);\nexport const TypeIcon = createNamedIcon('type' as IconName);\nexport const UnlockIcon = createNamedIcon('unlock' as IconName);\nexport const UploadCloudIcon = createNamedIcon('upload-cloud' as IconName);\nexport const UploadIcon = createNamedIcon('upload' as IconName);\nexport const UserCircleIcon = createNamedIcon('user-circle' as IconName);\nexport const UserIcon = createNamedIcon('user' as IconName);\nexport const VideoIcon = createNamedIcon('video' as IconName);\nexport const WarningIcon = createNamedIcon('warning' as IconName);\nexport const WifiIcon = createNamedIcon('wifi' as IconName);\nexport const XIcon = createNamedIcon('x' as IconName);\nexport const ZapIcon = createNamedIcon('zap' as IconName);\n\nexport { icons as iconRegistry };\n","import './Input.css';\nimport { classNames, LabelFormater } from '../../utils';\nimport React from 'react';\nimport { FormField } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Icon } from '../../icons';\nimport type { InputProps } from './types';\n\nexport type { InputProps, InputSize } from './types';\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ label, error, supportText, prefix, suffix, clearable = false, size = 'md', full = false, className, id, ...props }, ref) => {\n const inputId = id ?? (label ? `input-${LabelFormater(label)}` : undefined);\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const [, forceRender] = React.useState(0);\n const isControlled = props.value !== undefined;\n const hasValue = String(isControlled ? props.value ?? '' : props.defaultValue ?? inputRef.current?.value ?? '').length > 0;\n\n const setRefs = (node: HTMLInputElement | null) => {\n inputRef.current = node;\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (ref) {\n ref.current = node;\n }\n };\n\n const handleClear = () => {\n const node = inputRef.current;\n if (!node || props.disabled || props.readOnly) {\n return;\n }\n\n const descriptor = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value');\n descriptor?.set?.call(node, '');\n node.dispatchEvent(new Event('input', { bubbles: true }));\n node.dispatchEvent(new Event('change', { bubbles: true }));\n forceRender((current) => current + 1);\n node.focus();\n };\n\n const handleInput = (event: React.FormEvent<HTMLInputElement>) => {\n props.onInput?.(event);\n if (!isControlled) {\n forceRender((current) => current + 1);\n }\n };\n\n const resolvedSuffix = clearable && hasValue ? (\n <IconButton\n icon={<Icon name=\"close\" size={12} />}\n aria-label=\"Limpar campo\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleClear}\n tabIndex={-1}\n className=\"input-field__clear\"\n />\n ) : suffix;\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} htmlFor={inputId} className={className}>\n <div className={classNames('input-field', `input-field--${size}`, error && 'input-field--error', props.disabled && 'input-field--disabled')}>\n {prefix && <span className=\"input-field__adornment input-field__adornment--prefix\">{prefix}</span>}\n <input\n ref={setRefs}\n id={inputId}\n className={classNames(\n 'input-field__input',\n Boolean(prefix) && 'input-field__input--with-prefix',\n Boolean(resolvedSuffix) && 'input-field__input--with-suffix'\n )}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : supportText ? `${inputId}-supportText` : undefined}\n {...props}\n onInput={handleInput}\n />\n {resolvedSuffix && <span className=\"input-field__adornment input-field__adornment--suffix\">{resolvedSuffix}</span>}\n </div>\n </FormField>\n );\n }\n);\n\nInput.displayName = 'Input';\n","import './TextArea.css';\nimport React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { FormField } from '../FormField/FormField';\nimport type { TextAreaProps } from './types';\n\nexport type { TextAreaProps, TextAreaResize } from './types';\n\nexport const TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ label, error, supportText, full = false, resize = 'vertical', className, id, rows = 4, style, ...props }, ref) => {\n const inputId = id ?? (label ? `textarea-${LabelFormater(label)}` : undefined);\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} htmlFor={inputId} className={className}>\n <textarea\n ref={ref}\n id={inputId}\n rows={rows}\n className={classNames(\n 'textarea',\n error && 'textarea--error'\n )}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : supportText ? `${inputId}-supportText` : undefined}\n style={{ resize, ...(style ?? {}) }}\n {...props}\n />\n </FormField>\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n","import React from 'react';\nimport { Input } from '../Input/Input';\nimport { Loader } from '../Loader/Loader';\nimport { Icon } from '../../icons';\nimport type { SearchProps } from './types';\n\nexport type { SearchProps } from './types';\n\nexport const Search = React.forwardRef<HTMLInputElement, SearchProps>(\n ({ onSearch, loading = false, onChange, ...props }, ref) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n onSearch?.(event.target.value);\n };\n\n return (\n <Input\n ref={ref}\n type=\"search\"\n clearable\n prefix={loading ? <Loader size=\"xs\" /> : <Icon name=\"search\" size={16} />}\n onChange={handleChange}\n {...props}\n />\n );\n }\n);\n\nSearch.displayName = 'Search';\n","import './DatePicker.css';\nimport React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { Icon } from '../../icons';\nimport { FormField } from '../FormField/FormField';\nimport { Button } from '../Button/Button';\nimport type { DatePickerProps } from './types';\n\nexport type { DatePickerProps } from './types';\n\nconst WEEK_DAYS = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'];\n\nfunction parseDateValue(value?: string) {\n if (!value) return null;\n\n const [year, month, day] = value.split('-').map(Number);\n if (!year || !month || !day) return null;\n\n return new Date(year, month - 1, day);\n}\n\nfunction formatDateValue(date: Date | null) {\n if (!date) return '';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${day}/${month}/${year}`;\n}\n\nfunction toIsoDate(date: Date | null) {\n if (!date) return '';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${year}-${month}-${day}`;\n}\n\nfunction isSameDay(a: Date | null, b: Date | null) {\n if (!a || !b) return false;\n\n return a.getFullYear() === b.getFullYear()\n && a.getMonth() === b.getMonth()\n && a.getDate() === b.getDate();\n}\n\nfunction buildCalendarDays(monthDate: Date) {\n const startOfMonth = new Date(monthDate.getFullYear(), monthDate.getMonth(), 1);\n const endOfMonth = new Date(monthDate.getFullYear(), monthDate.getMonth() + 1, 0);\n const startDay = startOfMonth.getDay();\n const totalDays = endOfMonth.getDate();\n const days: Array<{ date: Date; outside: boolean }> = [];\n\n for (let index = startDay - 1; index >= 0; index -= 1) {\n const date = new Date(startOfMonth);\n date.setDate(startOfMonth.getDate() - (index + 1));\n days.push({ date, outside: true });\n }\n\n for (let day = 1; day <= totalDays; day += 1) {\n days.push({ date: new Date(monthDate.getFullYear(), monthDate.getMonth(), day), outside: false });\n }\n\n const minimumCells = days.length <= 35 ? 35 : 42;\n\n while (days.length < minimumCells) {\n const lastDate = days[days.length - 1]?.date ?? endOfMonth;\n const nextDate = new Date(lastDate);\n nextDate.setDate(lastDate.getDate() + 1);\n days.push({ date: nextDate, outside: true });\n }\n\n return days;\n}\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n ({ label, error, supportText, full = false, className, id, value, defaultValue, onChange, placeholder = 'dd/mm/aaaa', disabled, size: _size, prefix: _prefix, suffix: _suffix, clearable: _clearable, ...props }, ref) => {\n const inputId = id ?? (label ? `datepicker-${LabelFormater(label)}` : undefined);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const fallbackToday = React.useMemo(() => toIsoDate(new Date()), []);\n const initialDate = React.useMemo(() => parseDateValue(value ?? defaultValue ?? fallbackToday), [defaultValue, fallbackToday, value]);\n const [internalValue, setInternalValue] = React.useState<string>(defaultValue ?? fallbackToday);\n const [open, setOpen] = React.useState(false);\n const selectedDate = parseDateValue(value ?? internalValue);\n const [viewDate, setViewDate] = React.useState<Date>(initialDate ?? new Date());\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n const nextDate = parseDateValue(value ?? internalValue);\n if (nextDate) {\n setViewDate(nextDate);\n }\n }, [internalValue, value]);\n\n React.useEffect(() => {\n if (!open) return undefined;\n\n const handlePointerDown = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n return () => document.removeEventListener('mousedown', handlePointerDown);\n }, [open]);\n\n const commitValue = (nextIsoValue: string) => {\n if (!isControlled) {\n setInternalValue(nextIsoValue);\n }\n\n const nextEvent = {\n target: { value: nextIsoValue, id: inputId, name: props.name },\n currentTarget: { value: nextIsoValue, id: inputId, name: props.name },\n } as React.ChangeEvent<HTMLInputElement>;\n\n onChange?.(nextEvent);\n };\n\n const handleSelectDate = (date: Date) => {\n const nextIsoValue = toIsoDate(date);\n commitValue(nextIsoValue);\n setViewDate(date);\n };\n\n const handleClear = () => {\n commitValue('');\n };\n\n const handleApply = () => {\n setOpen(false);\n };\n\n const monthLabel = viewDate.toLocaleDateString('pt-BR', {\n month: 'long',\n year: 'numeric',\n });\n\n const calendarDays = buildCalendarDays(viewDate);\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} htmlFor={inputId} className={className}>\n <div ref={rootRef} className=\"date-picker\">\n <div\n className={classNames(\n 'date-picker__field',\n open && 'date-picker__field--open',\n error && 'date-picker__field--error',\n disabled && 'date-picker__field--disabled'\n )}\n >\n <input\n {...props}\n ref={ref}\n id={inputId}\n type=\"text\"\n value={formatDateValue(selectedDate)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n className=\"date-picker__input\"\n onClick={() => !disabled && setOpen(true)}\n />\n <button\n type=\"button\"\n className=\"date-picker__toggle\"\n onClick={() => !disabled && setOpen((current) => !current)}\n aria-label=\"Abrir calendario\"\n disabled={disabled}\n >\n <Icon name=\"calendar\" size={18} />\n </button>\n </div>\n\n {open ? (\n <div className=\"date-picker__popover\" role=\"dialog\" aria-modal=\"false\">\n <div className=\"date-picker__header\">\n <button\n type=\"button\"\n className=\"date-picker__nav\"\n onClick={() => setViewDate((current) => new Date(current.getFullYear(), current.getMonth() - 1, 1))}\n aria-label=\"Mes anterior\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n <span className=\"date-picker__month\">{monthLabel}</span>\n <button\n type=\"button\"\n className=\"date-picker__nav\"\n onClick={() => setViewDate((current) => new Date(current.getFullYear(), current.getMonth() + 1, 1))}\n aria-label=\"Proximo mes\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n </div>\n\n <div className=\"date-picker__weekdays\">\n {WEEK_DAYS.map((day) => (\n <span key={day} className=\"date-picker__weekday\">{day}</span>\n ))}\n </div>\n\n <div className=\"date-picker__grid\">\n {calendarDays.map(({ date, outside }) => {\n const isSelected = isSameDay(date, selectedDate);\n\n return (\n <button\n key={date.toISOString()}\n type=\"button\"\n className={classNames(\n 'date-picker__day',\n outside && 'date-picker__day--outside',\n isSelected && 'date-picker__day--selected'\n )}\n onClick={() => handleSelectDate(date)}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n\n <div className=\"date-picker__footer\">\n <Button variant=\"ghost\" onClick={handleClear}>Limpar</Button>\n <Button onClick={handleApply}>Concluido</Button>\n </div>\n </div>\n ) : null}\n </div>\n </FormField>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n","import './Select.css';\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { Icon } from '../../icons';\nimport type { SelectProps } from './types';\n\nexport type { SelectOption, SelectProps, SelectSize } from './types';\n\nexport const Select = React.forwardRef<HTMLDivElement, SelectProps>(\n ({\n options,\n value,\n defaultValue,\n onChange,\n label,\n error,\n supportText,\n size = 'md',\n placeholder = 'Select...',\n full = false,\n disabled = false,\n searchable = false,\n searchPlaceholder = 'Search...',\n className,\n ...props\n }, ref) => {\n const generatedId = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState('');\n const [internalValue, setInternalValue] = useState(defaultValue ?? '');\n const selectedValue = value ?? internalValue;\n\n useEffect(() => {\n if (!isOpen) {\n setSearchTerm('');\n return;\n }\n\n if (searchable) {\n searchInputRef.current?.focus();\n }\n }, [isOpen, searchable]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const selectedOption = options.find((option) => option.value === selectedValue);\n\n const filteredOptions = useMemo(() => {\n if (!searchable || !searchTerm) return options;\n\n return options.filter((option) => {\n const term = option.searchValue ?? (typeof option.label === 'string' ? option.label : option.value);\n return term.toLowerCase().includes(searchTerm.toLowerCase());\n });\n }, [options, searchable, searchTerm]);\n\n const handleSelect = (nextValue: string, optionDisabled?: boolean) => {\n if (optionDisabled) return;\n\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n\n onChange?.(nextValue);\n setIsOpen(false);\n };\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} className={className} htmlFor={generatedId}>\n <div ref={rootRef} className={classNames('select', full && 'select--full')}>\n <div\n ref={ref}\n id={generatedId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={`${generatedId}-listbox`}\n aria-haspopup=\"listbox\"\n tabIndex={disabled ? -1 : 0}\n className={classNames(\n 'select__trigger',\n `select__trigger--${size}`,\n isOpen && 'select__trigger--open',\n error && 'select__trigger--error',\n disabled && 'select__trigger--disabled'\n )}\n onClick={() => !disabled && setIsOpen((current) => !current)}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setIsOpen((current) => !current);\n }\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n }}\n {...props}\n >\n <span className={classNames('select__value', !selectedOption && 'select__value--placeholder')}>\n {selectedOption?.label ?? placeholder}\n </span>\n <span className=\"select__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </div>\n\n {isOpen && (\n <div className=\"select__menu\">\n {searchable && (\n <div className=\"select__search\">\n <span className=\"select__search-icon\"><Icon name=\"search\" size={14} /></span>\n <input\n ref={searchInputRef}\n className=\"select__search-input\"\n value={searchTerm}\n placeholder={searchPlaceholder}\n onChange={(event) => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n\n <ul id={`${generatedId}-listbox`} className=\"select__list\" role=\"listbox\">\n {filteredOptions.length > 0 ? filteredOptions.map((option) => {\n const isSelected = option.value === selectedValue;\n\n return (\n <li\n key={option.value}\n role=\"option\"\n aria-selected={isSelected}\n className={classNames(\n 'select__option',\n isSelected && 'select__option--selected',\n option.disabled && 'select__option--disabled'\n )}\n onClick={() => handleSelect(option.value, option.disabled)}\n >\n <span>{option.label}</span>\n {isSelected && <span className=\"select__option-check\"><Icon name=\"check\" size={14} /></span>}\n </li>\n );\n }) : (\n <li className=\"select__empty\">No results found</li>\n )}\n </ul>\n </div>\n )}\n </div>\n </FormField>\n );\n }\n);\n\nSelect.displayName = 'Select';\n","import './MultiSelect.css';\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { Icon } from '../../icons';\nimport type { MultiSelectProps } from './types';\n\nexport type { MultiSelectOption, MultiSelectProps } from './types';\n\nexport const MultiSelect = React.forwardRef<HTMLDivElement, MultiSelectProps>(\n ({\n options,\n value,\n defaultValue = [],\n onChange,\n label,\n error,\n supportText,\n placeholder = 'Select options...',\n full = false,\n disabled = false,\n className,\n ...props\n }, ref) => {\n const generatedId = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState<string[]>(defaultValue);\n const selectedValues = value ?? internalValue;\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const selectedOptions = useMemo(\n () => options.filter((option) => selectedValues.includes(option.value)),\n [options, selectedValues]\n );\n\n const commitChange = (nextValue: string[]) => {\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n\n onChange?.(nextValue);\n };\n\n const toggleValue = (optionValue: string, optionDisabled?: boolean) => {\n if (optionDisabled) return;\n\n if (selectedValues.includes(optionValue)) {\n commitChange(selectedValues.filter((item) => item !== optionValue));\n return;\n }\n\n commitChange([...selectedValues, optionValue]);\n };\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} className={className} htmlFor={generatedId}>\n <div ref={rootRef} className={classNames('multiselect', full && 'multiselect--full')}>\n <div\n ref={ref}\n id={generatedId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={`${generatedId}-listbox`}\n aria-haspopup=\"listbox\"\n tabIndex={disabled ? -1 : 0}\n className={classNames(\n 'multiselect__trigger',\n isOpen && 'multiselect__trigger--open',\n error && 'multiselect__trigger--error',\n disabled && 'multiselect__trigger--disabled'\n )}\n onClick={() => !disabled && setIsOpen((current) => !current)}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setIsOpen((current) => !current);\n }\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n }}\n {...props}\n >\n <div className=\"multiselect__values\">\n {selectedOptions.length > 0 ? selectedOptions.map((option) => (\n <span key={option.value} className=\"multiselect__tag\">\n <span className=\"multiselect__tag-label\">{option.label}</span>\n <button\n type=\"button\"\n className=\"multiselect__tag-remove\"\n onClick={(event) => {\n event.stopPropagation();\n toggleValue(option.value);\n }}\n aria-label={`Remove ${option.label}`}\n >\n <Icon name=\"close\" size={12} />\n </button>\n </span>\n )) : (\n <span className=\"multiselect__placeholder\">{placeholder}</span>\n )}\n </div>\n <span className=\"multiselect__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </div>\n\n {isOpen && (\n <ul id={`${generatedId}-listbox`} className=\"multiselect__menu\" role=\"listbox\" aria-multiselectable=\"true\">\n {options.length > 0 ? options.map((option) => {\n const isSelected = selectedValues.includes(option.value);\n\n return (\n <li\n key={option.value}\n role=\"option\"\n aria-selected={isSelected}\n className={classNames(\n 'multiselect__option',\n isSelected && 'multiselect__option--selected',\n option.disabled && 'multiselect__option--disabled'\n )}\n onClick={() => toggleValue(option.value, option.disabled)}\n >\n <span className=\"multiselect__checkbox\">{isSelected ? <Icon name=\"check\" size={12} /> : null}</span>\n <span>{option.label}</span>\n </li>\n );\n }) : (\n <li className=\"multiselect__empty\">No options available</li>\n )}\n </ul>\n )}\n </div>\n </FormField>\n );\n }\n);\n\nMultiSelect.displayName = 'MultiSelect';\n","import './Checkbox.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { colorVar } from '../../utils/styleTokens';\nimport { Icon } from '../../icons';\nimport type { CheckboxProps } from './types';\n\nexport type { CheckboxProps } from './types';\n\nfunction setForwardedRef<T>(ref: React.ForwardedRef<T>, value: T | null) {\n if (typeof ref === 'function') ref(value);\n else if (ref) ref.current = value;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, indeterminate = false, supportText, className, id, disabled, color = 'primary', style, ...props }, ref) => {\n const generatedId = React.useId();\n const inputId = id ?? `checkbox-${generatedId}`;\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n\n React.useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n const handleRef = (node: HTMLInputElement | null) => {\n inputRef.current = node;\n setForwardedRef(ref, node);\n };\n\n return (\n <FormField hint={supportText} full className={className} htmlFor={inputId}>\n <label className={classNames('checkbox', disabled && 'checkbox--disabled')} style={{ ['--checkbox-color' as string]: colorVar(color), ...(style ?? {}) }}>\n <span className=\"checkbox__control\">\n <input\n ref={handleRef}\n id={inputId}\n type=\"checkbox\"\n className=\"checkbox__input\"\n disabled={disabled}\n aria-checked={indeterminate ? 'mixed' : undefined}\n {...props}\n />\n <span className=\"checkbox__box\" aria-hidden=\"true\">\n <span className=\"checkbox__icon\">{indeterminate ? <Icon name=\"minus\" /> : <Icon name=\"check\" />}</span>\n </span>\n </span>\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n </FormField>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n","import './Radio.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { RadioProps } from './types';\n\nexport type { RadioProps } from './types';\n\nexport const Radio = React.forwardRef<HTMLInputElement, RadioProps>(({\n label,\n description,\n className,\n disabled,\n error,\n style,\n color = 'primary',\n id,\n ...props\n}, ref) => {\n const generatedId = React.useId();\n const inputId = id ?? `radio-${generatedId}`;\n\n return (\n <FormField full className={className} htmlFor={inputId}>\n <label className={classNames('radio', disabled && 'radio--disabled', error && 'radio--error')} style={{ ['--radio-color' as string]: colorVar(color), ...(style ?? {}) }}>\n <span className=\"radio__input-container\">\n <input ref={ref} id={inputId} type=\"radio\" className=\"radio__input\" disabled={disabled} {...props} />\n <span className=\"radio__control\">\n <span className=\"radio__dot\" />\n </span>\n </span>\n {(label || description) && (\n <span className=\"radio__content\">\n {label && <span className=\"radio__label\">{label}</span>}\n {description && <span className=\"radio__description\">{description}</span>}\n </span>\n )}\n </label>\n </FormField>\n );\n});\n\nRadio.displayName = 'Radio';\n","import './Slider.css';\nimport React, { useState } from 'react';\nimport { FormField } from '../FormField/FormField';\nimport type { SliderProps } from './types';\n\nexport type { SliderProps } from './types';\n\nexport const Slider: React.FC<SliderProps> = ({\n value,\n defaultValue,\n onChange,\n min = 0,\n max = 100,\n label,\n supportText,\n className,\n id,\n ...props\n}) => {\n const generatedId = React.useId();\n const inputId = id ?? `slider-${generatedId}`;\n const [internalValue, setInternalValue] = useState(Number(value ?? defaultValue ?? 0));\n const currentValue = value !== undefined ? Number(value) : internalValue;\n const percentage = ((currentValue - Number(min)) / (Number(max) - Number(min))) * 100;\n\n return (\n <FormField label={label} hint={supportText} full className={className} htmlFor={inputId}>\n <div className=\"slider\">\n <div className=\"slider__track\">\n <div className=\"slider__fill\" style={{ width: `${percentage}%` }} />\n </div>\n <input\n id={inputId}\n type=\"range\"\n min={min}\n max={max}\n value={currentValue}\n onChange={(event) => {\n const next = Number(event.target.value);\n if (value === undefined) setInternalValue(next);\n onChange?.(event);\n }}\n className=\"slider__input\"\n {...props}\n />\n <div className=\"slider__value\">{currentValue}</div>\n </div>\n </FormField>\n );\n};\n","import './FileUpload.css';\nimport React, { useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Text } from '../Text/Text';\nimport { Icon } from '../../icons';\nimport type { FileUploadProps } from './types';\n\nexport type { FileUploadProps } from './types';\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n onFileSelect,\n accept,\n multiple = false,\n disabled = false,\n maxSize,\n title = 'Drag and drop a file or click to upload',\n description = 'Supported files depend on the accept property.',\n className,\n ...props\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [files, setFiles] = useState<File[]>([]);\n const [error, setError] = useState<string | null>(null);\n\n const processFiles = (incoming: File[]) => {\n setError(null);\n let valid = incoming;\n\n if (maxSize) {\n const oversized = incoming.filter((file) => file.size > maxSize);\n if (oversized.length > 0) {\n setError(`Some files exceed ${Math.round(maxSize / 1024 / 1024)}MB.`);\n valid = incoming.filter((file) => file.size <= maxSize);\n }\n }\n\n if (!multiple && valid.length > 1) valid = [valid[0]];\n\n const updated = multiple ? [...files, ...valid] : valid;\n setFiles(updated);\n onFileSelect?.(updated);\n };\n\n return (\n <div className={classNames('file-upload', className)} {...props}>\n <div\n className={classNames(\n 'file-upload__dropzone',\n isDragging && 'file-upload__dropzone--dragging',\n disabled && 'file-upload__dropzone--disabled',\n error && 'file-upload__dropzone--error'\n )}\n onDragEnter={(event) => {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }}\n onDragLeave={(event) => {\n event.preventDefault();\n setIsDragging(false);\n }}\n onDrop={(event) => {\n event.preventDefault();\n setIsDragging(false);\n if (!disabled) processFiles(Array.from(event.dataTransfer.files));\n }}\n onClick={() => !disabled && inputRef.current?.click()}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"file-upload__input\"\n onChange={(event) => event.target.files && processFiles(Array.from(event.target.files))}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n />\n <div className=\"file-upload__content\">\n <div className=\"file-upload__icon\"><Icon name=\"upload\" size={20} /></div>\n <Text weight=\"medium\">{title}</Text>\n <Text size=\"sm\" color=\"subtle\">{description}</Text>\n </div>\n </div>\n {error && <Text size=\"sm\" color=\"danger\">{error}</Text>}\n {files.length > 0 && (\n <ul className=\"file-upload__list\">\n {files.map((file, index) => (\n <li key={`${file.name}-${index}`} className=\"file-upload__item\">\n <span className=\"file-upload__file-name\">{file.name}</span>\n <button\n type=\"button\"\n className=\"file-upload__remove\"\n onClick={() => {\n const updated = files.filter((_, itemIndex) => itemIndex !== index);\n setFiles(updated);\n onFileSelect?.(updated);\n }}\n >\n <Icon name=\"close\" size={14} />\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport './Heading.css';\nimport type { BaseHeadingProps, HeadingTag } from './types';\n\nexport type { BaseHeadingProps, HeadingTag, HeadingWeight } from './types';\n\nfunction createHeading(tag: HeadingTag, levelClassName: string) {\n const Component = React.forwardRef<HTMLHeadingElement, BaseHeadingProps>(\n ({ weight = 'bold', className, children, ...props }, ref) => {\n return React.createElement(\n tag,\n {\n ref,\n className: classNames(\n 'heading',\n levelClassName,\n `heading--weight-${weight}`,\n className\n ),\n ...props,\n },\n children\n );\n }\n );\n\n Component.displayName = tag.charAt(0).toUpperCase() + tag.slice(1);\n\n return Component;\n}\n\nexport const Heading = createHeading('h1', 'heading--h1');\nexport const Heading2 = createHeading('h2', 'heading--h2');\nexport const Heading3 = createHeading('h3', 'heading--h3');\nexport const Heading4 = createHeading('h4', 'heading--h4');\nexport const Heading5 = createHeading('h5', 'heading--h5');\nexport const Heading6 = createHeading('h6', 'heading--h6');\n","import './Card.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading5 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { CardHeaderProps, CardProps, CardSectionProps } from './types';\n\nexport type { CardHeaderProps, CardPadding, CardProps, CardSectionProps, CardVariant } from './types';\n\nexport function Card<TElement extends React.ElementType = 'div'>({ padding = 'md', variant = 'default', as, children, className, ...props }: CardProps<TElement>) {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames('card', `card--${variant}`, `card--pad-${padding}`, className)}\n {...props}\n >\n {children}\n </Component>\n );\n}\n\nexport function CardHeader({ title, description, icon, action, children, className, ...props }: CardHeaderProps) {\n return (\n <div className={classNames('card-header', className)} {...props}>\n <div className=\"card-header__content\">\n {(title || icon) && (\n <div className=\"card-header__title-wrapper\">\n {icon && <span className=\"card-header__icon\">{icon}</span>}\n {title && (\n <Heading5 weight=\"semibold\">{title}</Heading5>\n )}\n </div>\n )}\n {description && (\n <Text size=\"sm\" color=\"subtle\">\n {description}\n </Text>\n )}\n {children}\n </div>\n {action && <div className=\"card-header__action\">{action}</div>}\n </div>\n );\n}\n\nexport function CardBody({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-body', className)} {...props}>{children}</div>;\n}\n\nexport function CardFooter({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-footer', className)} {...props}>{children}</div>;\n}\n","import React from 'react';\nimport './Box.css';\nimport { classNames } from '../../utils/classNames';\nimport type { BoxProps } from './types';\n\nexport type { BoxOwnProps, BoxPadding, BoxProps, BoxRounded, BoxShadow, BoxSurface } from './types';\n\nexport const Box = React.forwardRef(function Box<TElement extends React.ElementType = 'div'>({\n as,\n padding = '0',\n rounded = 'none',\n shadow = 'none',\n surface = 'default',\n border = false,\n className,\n children,\n ...props\n}: BoxProps<TElement>, ref: React.ForwardedRef<Element>) {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n ref={ref}\n className={classNames(\n 'box',\n `box-padding--${padding}`,\n `box-rounded--${rounded}`,\n `box-shadow--${shadow}`,\n `box-surface--${surface}`,\n border && 'box--border',\n className\n )}\n {...props}\n >\n {children}\n </Component>\n );\n}) as <TElement extends React.ElementType = 'div'>(\n props: BoxProps<TElement> & { ref?: React.ForwardedRef<Element> }\n) => React.ReactElement | null;\n","import React from 'react';\nimport './Grid.css';\nimport { classNames } from '../../utils/classNames';\nimport type { GridProps } from './types';\n\nexport type { GridColumns, GridGap, GridOwnProps, GridProps } from './types';\n\nexport const Grid = <TElement extends React.ElementType = 'div'>({\n children,\r\n columns = 1,\r\n gap = '4',\n className,\n style,\n as,\n ...props\n}: GridProps<TElement>) => {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames(\r\n 'grid',\r\n `grid-cols--${columns}`,\r\n `grid-gap--${gap}`,\r\n className\r\n )}\n style={style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport './Container.css';\nimport { classNames } from '../../utils/classNames';\nimport type { ContainerProps } from './types';\n\nexport type { ContainerProps, ContainerSize } from './types';\n\r\nexport const Container: React.FC<ContainerProps> = ({\r\n children,\r\n size = 'lg',\r\n className,\r\n style\r\n}) => {\r\n return (\r\n <div\r\n className={classNames('container', `container--${size}`, className)}\r\n style={style}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport type { SpacerProps } from './types';\n\nexport type { SpacerAxis, SpacerProps } from './types';\n\nexport const Spacer: React.FC<SpacerProps> = ({ size = '1rem', axis = 'vertical', style }) => {\n const width = axis === 'horizontal' ? size : 1;\n const height = axis === 'vertical' ? size : 1;\n\n return <span style={{ display: 'block', width, minWidth: width, height, minHeight: height, ...style }} aria-hidden=\"true\" />;\n};\n","import './Divider.css';\nimport { classNames } from '../../utils/classNames';\nimport type { DividerProps } from './types';\n\nexport type { DividerOrientation, DividerProps } from './types';\n\nexport function Divider({ orientation = 'horizontal', label, className, ...props }: DividerProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={classNames('divider', `divider--${orientation}`, label && 'divider--labeled', className)}\n {...props}\n >\n {label && orientation === 'horizontal' && <span className=\"divider__label\">{label}</span>}\n </div>\n );\n}\n","import { createContext, useContext } from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport { Text } from '../Text/Text';\nimport './List.css';\nimport type { ListItemProps, ListProps } from './types';\n\nexport type { ListItemProps, ListProps, ListVariant } from './types';\n\nconst ListContext = createContext<{ variant: NonNullable<ListProps['variant']> }>({ variant: 'default' });\n\nfunction ListRoot({ children, variant = 'default', className, ...props }: ListProps) {\n return (\n <ListContext.Provider value={{ variant }}>\n <div className={classNames('list', `list--${variant}`, className)} role=\"list\" {...props}>\n {children}\n </div>\n </ListContext.Provider>\n );\n}\n\nfunction ListItem({\n children,\n description,\n startContent,\n endContent,\n active = false,\n disabled = false,\n className,\n onClick,\n ...props\n \n}: ListItemProps) {\n const { variant } = useContext(ListContext);\n const resolvedStart = variant === 'checklist' && !startContent ? <Icon name=\"check\" size={16} /> : startContent;\n\n return (\n <div\n className={classNames(\n 'list-item',\n active && 'list-item--active',\n onClick && !disabled && 'list-item--clickable',\n disabled && 'list-item--disabled',\n className\n )}\n role=\"listitem\"\n tabIndex={disabled ? -1 : onClick ? 0 : undefined}\n onClick={disabled ? undefined : onClick}\n {...props}\n >\n {resolvedStart && <div className=\"list-item__start\">{resolvedStart}</div>}\n <div className=\"list-item__content\">\n <Text as=\"span\" weight=\"medium\" className=\"list-item__title\">{children}</Text>\n {description && <Text as=\"span\" size=\"sm\" color=\"subtle\" className=\"list-item__description\">{description}</Text>}\n </div>\n {endContent && <div className=\"list-item__end\">{endContent}</div>}\n </div>\n );\n}\n\nexport const List = Object.assign(ListRoot, {\n Item: ListItem\n});\n\n(List as typeof List & { displayName?: string }).displayName = 'List';\n","import './Accordion.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport type { AccordionComponent, AccordionItemProps } from './types';\n\nexport type { AccordionComponent, AccordionItemProps, AccordionProps } from './types';\n\nfunction useAccordionState(type: 'single' | 'multiple', defaultValue?: string | string[]) {\n const initial = Array.isArray(defaultValue) ? defaultValue : defaultValue ? [defaultValue] : [];\n const [openItems, setOpenItems] = useState<string[]>(initial);\n\n const toggle = (id: string) => {\n setOpenItems((current) => {\n const isOpen = current.includes(id);\n if (type === 'single') return isOpen ? [] : [id];\n return isOpen ? current.filter((item) => item !== id) : [...current, id];\n });\n };\n\n return { openItems, toggle };\n}\n\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n title,\n children,\n isOpen = false,\n onToggle,\n id,\n className,\n ...props\n}) => (\n <div className={classNames('accordion-item', isOpen && 'accordion-item--open', className)} {...props}>\n <button\n className=\"accordion-item__trigger\"\n onClick={onToggle}\n aria-expanded={isOpen}\n aria-controls={`accordion-content-${id}`}\n id={`accordion-trigger-${id}`}\n type=\"button\"\n >\n <span className=\"accordion-item__title\">{title}</span>\n <span className=\"accordion-item__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </button>\n <div\n className=\"accordion-item__content\"\n id={`accordion-content-${id}`}\n role=\"region\"\n aria-labelledby={`accordion-trigger-${id}`}\n hidden={!isOpen}\n >\n <div className=\"accordion-item__content-inner\">{children}</div>\n </div>\n </div>\n);\n\nexport const Accordion: AccordionComponent = ({\n children,\n type = 'single',\n defaultValue,\n className,\n ...props\n}) => {\n const { openItems, toggle } = useAccordionState(type, defaultValue);\n\n return (\n <div className={classNames('accordion', className)} {...props}>\n {React.Children.map(children, (child, index) => {\n if (!React.isValidElement<AccordionItemProps>(child)) return child;\n const id = child.props.id ?? `accordion-item-${index}`;\n return React.cloneElement(child, {\n id,\n isOpen: openItems.includes(id),\n onToggle: () => toggle(id)\n });\n })}\n </div>\n );\n};\n\nAccordion.Item = AccordionItem;\n","import './Code.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { CodeProps } from './types';\n\nexport type { CodeProps, CodeSize, CodeWeight } from './types';\n\nexport const Code: React.FC<CodeProps> = ({\n size = 'sm',\n weight = 'medium',\n block = false,\n children,\n className,\n ...props\n}) => {\n return (\n <code\n className={classNames(\n 'code',\n `code--${size}`,\n `code--${weight}`,\n block && 'code--block',\n className\n )}\n {...props}\n >\n {children}\n </code>\n );\n};\n\nCode.displayName = 'Code';\n","import './Link.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LinkProps } from './types';\n\nexport type { LinkOwnProps, LinkProps } from './types';\n\nexport const Link = <TElement extends React.ElementType = 'a'>({ \n color = 'primary', \n underline = false, \n active, \n as, \n className, \n children, \n href, \n to, \n style, \n ...props \n}: LinkProps<TElement>) => {\n const currentPath = typeof window !== 'undefined' ? window.location.pathname : '';\n const route = to ?? href;\n const Component = (as || 'a') as React.ElementType;\n \n const normalizePath = (path: string) => {\n const pathname = path.split('?')[0].split('#')[0];\n return pathname.endsWith('/') && pathname !== '/' ? pathname.slice(0, -1) : pathname;\n };\n \n const isCurrentRoute = route && currentPath ? normalizePath(currentPath) === normalizePath(route) : false;\n const isActive = active ?? isCurrentRoute;\n\n return (\n <Component\n className={classNames('link', underline && 'link--underline', isActive && 'link--active', className)}\n style={{ \n ['--link-color' as string]: colorVar(color),\n ...(style ?? {}) \n }}\n href={route}\n aria-current={isActive ? 'page' : undefined}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nLink.displayName = 'Link';\n","import './Badge.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar, isTokenColor } from '../../utils/styleTokens';\nimport type { BadgeProps } from './types';\n\nexport type { BadgeColor, BadgeProps, BadgeSize, BadgeVariant } from './types';\n\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(({\n children,\n variant = 'soft',\n color = 'primary',\n size = 'md',\n className,\n ...props\n}, ref) => {\n const tokenColor = isTokenColor(color) ? color : undefined;\n\n return (\n <span\n ref={ref}\n className={classNames('badge', `badge--${variant}`, tokenColor && `badge--${tokenColor}`, `badge--${size}`, className)}\n style={!tokenColor ? { ['--badge-color' as string]: colorVar(color) } : undefined}\n {...props}\n >\n {children}\n </span>\n );\n});\n\nBadge.displayName = 'Badge';\n","import './Tag.css';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { TagProps } from './types';\n\nexport type { TagProps, TagSize, TagVariant } from './types';\n\nexport function Tag({\n children,\n variant = 'soft',\n size = 'md',\n color = 'primary',\n leftIcon,\n rightIcon,\n closable,\n onRemove,\n className,\n style,\n ...props\n}: TagProps) {\n const removable = closable || Boolean(onRemove);\n\n return (\n <span\n className={classNames('tag', `tag--variant-${variant}`, `tag--size-${size}`, className)}\n style={{ ['--tag-color' as string]: colorVar(color), ...(style ?? {}) }}\n {...props}\n >\n {leftIcon && <span className=\"tag__icon\">{leftIcon}</span>}\n <span className=\"tag__label\">{children}</span>\n {rightIcon && <span className=\"tag__icon\">{rightIcon}</span>}\n {removable && (\n <button type=\"button\" className=\"tag__remove\" onClick={onRemove} aria-label=\"Remove tag\">\n x\n </button>\n )}\n </span>\n );\n}\n","import './Avatar.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { AvatarProps } from './types';\n\nexport type { AvatarProps, AvatarSize, AvatarStatus } from './types';\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(({\n src,\n name,\n size = 'md',\n status,\n className,\n ...props\n}, ref) => {\n const getInitials = (name?: string) => {\n if (!name) return '';\n const parts = name.split(' ');\n if (parts.length === 1) return parts[0].substring(0, 2);\n return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n };\n\n return (\n <div ref={ref} className={classNames('avatar', `avatar--${size}`, className)} {...props}>\n {src ? (\n <img src={src} alt={name} className=\"avatar-image\" />\n ) : (\n <span className=\"avatar-initials\">{getInitials(name)}</span>\n )}\n {status && (\n <span className={classNames('avatar-status', `avatar-status--${status}`)} />\n )}\n </div>\n );\n});\n\nAvatar.displayName = 'Avatar';\n","import './Skeleton.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { SkeletonProps } from './types';\n\nexport type { SkeletonProps } from './types';\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n width,\n height,\n circle = false,\n radius,\n animated = true,\n className,\n style,\n ...props\n}) => {\n const customStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n borderRadius: circle ? '50%' : (typeof radius === 'number' ? `${radius}px` : radius),\n ...style\n };\n\n return (\n <div\n className={classNames(\n 'skeleton',\n circle && 'skeleton--circle',\n animated && 'skeleton--animated',\n className\n )}\n style={customStyle}\n {...props}\n />\n );\n};\n\nSkeleton.displayName = 'Skeleton';\n","import './Image.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport type { ImageProps } from './types';\n\nexport type { ImageObjectFit, ImageProps, ImageRadius } from './types';\n\nexport const Image: React.FC<ImageProps> = ({\n src,\n alt,\n objectFit = 'cover',\n radius = 'md',\n className,\n style,\n fallback,\n ...props\n}) => {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(false);\n\n if (error && fallback) return <>{fallback}</>;\n\n return (\n <div className={classNames('image-wrapper', className)} style={style}>\n {!loaded && !error && <Skeleton className={classNames('image-skeleton', `image-radius--${radius}`)} style={{ width: '100%', height: '100%' }} />}\n <img\n src={src}\n alt={alt}\n className={classNames('image', `image-fit--${objectFit}`, `image-radius--${radius}`, loaded && 'image--loaded')}\n onLoad={() => setLoaded(true)}\n onError={() => setError(true)}\n {...props}\n />\n </div>\n );\n};\n","import './Switch.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { SwitchProps } from './types';\n\nexport type { SwitchProps, SwitchSize } from './types';\n\nexport const Switch = React.forwardRef<HTMLInputElement, SwitchProps>(\n ({ label, size = 'md', className, disabled, ...props }, ref) => {\n return (\n <label className={classNames(\n 'switch-wrapper',\n `switch--${size}`,\n disabled && 'switch-wrapper--disabled',\n className\n )}>\n <input\n type=\"checkbox\"\n className=\"switch-input\"\n disabled={disabled}\n ref={ref}\n {...props}\n />\n <span className=\"switch-track\">\n <span className=\"switch-thumb\" />\n </span>\n {label && <span className=\"switch-label\">{label}</span>}\n </label>\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n","import './Pagination.css';\nimport React, { useMemo } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport type { PaginationProps } from './types';\n\nexport type { PaginationProps } from './types';\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n onPageChange,\n showControls = true,\n className,\n ...props\n}) => {\n const pages = useMemo(() => {\n const items: Array<number | string> = [];\n const startPage = Math.max(1, currentPage - 1);\n const endPage = Math.min(totalPages, currentPage + 1);\n\n if (startPage > 1) {\n items.push(1);\n if (startPage > 2) items.push('dots-start');\n }\n\n for (let page = startPage; page <= endPage; page += 1) {\n items.push(page);\n }\n\n if (endPage < totalPages) {\n if (endPage < totalPages - 1) items.push('dots-end');\n items.push(totalPages);\n }\n\n return items;\n }, [currentPage, totalPages]);\n\n return (\n <nav className={classNames('pagination', className)} aria-label=\"Pagination\" {...props}>\n {showControls && (\n <button\n type=\"button\"\n className={classNames('pagination__item', currentPage === 1 && 'pagination__item--disabled')}\n onClick={() => onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n aria-label=\"Previous page\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n )}\n\n {pages.map((page, index) => {\n if (typeof page === 'string') {\n return <span key={`${page}-${index}`} className=\"pagination__dots\">...</span>;\n }\n\n const isActive = page === currentPage;\n\n return (\n <button\n key={page}\n type=\"button\"\n className={classNames('pagination__item', isActive && 'pagination__item--active')}\n onClick={() => !isActive && onPageChange(page)}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </button>\n );\n })}\n\n {showControls && (\n <button\n type=\"button\"\n className={classNames('pagination__item', currentPage === totalPages && 'pagination__item--disabled')}\n onClick={() => onPageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n aria-label=\"Next page\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n )}\n </nav>\n );\n};\n\nPagination.displayName = 'Pagination';\n","import './EmptyState.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading4 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { EmptyStateProps } from './types';\n\nexport type { EmptyStateProps } from './types';\n\nexport const EmptyState: React.FC<EmptyStateProps> = ({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('empty-state', className)} {...props}>\n {icon && <div className=\"empty-state__icon\">{icon}</div>}\n <Heading4>{title}</Heading4>\n {description && <Text color=\"subtle\">{description}</Text>}\n {action && <div className=\"empty-state__action\">{action}</div>}\n </div>\n );\n};\n","import './Modal.css';\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Heading2 } from '../Heading/Heading';\nimport { Icon } from '../../icons';\nimport type { ModalProps } from './types';\n\nexport type { ModalProps, ModalSize } from './types';\n\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onClose,\n title,\n description,\n children,\n footer,\n size = 'md',\n closeOnOverlayClick = true,\n className,\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!open) return;\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n\n document.addEventListener('keydown', onKeyDown);\n document.body.style.overflow = 'hidden';\n setMounted(true);\n\n return () => {\n document.removeEventListener('keydown', onKeyDown);\n document.body.style.overflow = '';\n };\n }, [open, onClose]);\n\n if (!open || !mounted) return null;\n\n return createPortal(\n <div\n className=\"modal-overlay\"\n onClick={closeOnOverlayClick ? onClose : undefined}\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'modal-title' : undefined}\n aria-describedby={description ? 'modal-description' : undefined}\n tabIndex={-1}\n className={classNames('modal', `modal--${size}`, className)}\n onClick={(e) => e.stopPropagation()}\n >\n {(title || description) && (\n <div className=\"modal-header\">\n <div>\n {title && (\n <Heading2 id=\"modal-title\" className=\"modal-title\">{title}</Heading2>\n )}\n\n {description && (\n <p id=\"modal-description\" className=\"modal-description\">\n {description}\n </p>\n )}\n </div>\n\n <IconButton\n icon={<Icon name=\"close\" size={16} />}\n aria-label=\"Close modal\"\n variant=\"ghost\"\n color=\"default\"\n size=\"sm\"\n onClick={onClose}\n />\n </div>\n )}\n\n {children && <div className=\"modal-body\">{children}</div>}\n {footer && <div className=\"modal-footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n};\n\nModal.displayName = 'Modal';\n","import './Drawer.css';\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Heading2 } from '../Heading/Heading';\nimport { Icon } from '../../icons';\nimport type { DrawerProps } from './types';\n\nexport type { DrawerPlacement, DrawerProps, DrawerSize } from './types';\n\nexport const Drawer: React.FC<DrawerProps> = ({\n isOpen,\n onClose,\n title,\n placement = 'right',\n children,\n footer,\n size = 'md',\n className,\n closeOnOverlayClick = true\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n if (isOpen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n return () => {\n document.body.style.overflow = 'unset';\n };\n }, [isOpen]);\n\n if (!mounted) return null;\n\n return createPortal(\n <>\n {isOpen && <div className=\"drawer-overlay\" onClick={closeOnOverlayClick ? onClose : undefined} />}\n <div\n className={classNames(\n 'drawer',\n `drawer--${placement}`,\n `drawer--size-${size}`,\n isOpen && 'drawer--open',\n className\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={!isOpen}\n >\n <div className=\"drawer-header\">\n {title ? <Heading2 className=\"drawer-title\">{title}</Heading2> : <span />}\n <IconButton\n icon={<Icon name=\"close\" size={16} />}\n variant=\"ghost\"\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Fechar painel\"\n />\n </div>\n <div className=\"drawer-body\">\n {children}\n </div>\n {footer && (\n <div className=\"drawer-footer\">\n {footer}\n </div>\n )}\n </div>\n </>,\n document.body\n );\n};\n\nDrawer.displayName = 'Drawer';\n","import './Tooltip.css';\nimport React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport type { TooltipProps } from './types';\n\nexport type { TooltipPlacement, TooltipProps } from './types';\n\nexport function Tooltip({ content, placement = 'top', children, delay = 300 }: TooltipProps) {\n const tooltipId = useId();\n const triggerRef = useRef<HTMLElement | null>(null);\n const timerRef = useRef<number>();\n const [visible, setVisible] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const updatePosition = useCallback(() => {\n if (!triggerRef.current) return;\n\n const rect = triggerRef.current.getBoundingClientRect();\n const offset = 10;\n\n if (placement === 'top') {\n setPosition({ top: rect.top + window.scrollY - offset, left: rect.left + rect.width / 2 + window.scrollX });\n return;\n }\n\n if (placement === 'bottom') {\n setPosition({ top: rect.bottom + window.scrollY + offset, left: rect.left + rect.width / 2 + window.scrollX });\n return;\n }\n\n if (placement === 'left') {\n setPosition({ top: rect.top + rect.height / 2 + window.scrollY, left: rect.left + window.scrollX - offset });\n return;\n }\n\n setPosition({ top: rect.top + rect.height / 2 + window.scrollY, left: rect.right + window.scrollX + offset });\n }, [placement]);\n\n const show = useCallback(() => {\n timerRef.current = window.setTimeout(() => {\n updatePosition();\n setVisible(true);\n }, delay);\n }, [delay, updatePosition]);\n\n const hide = useCallback(() => {\n window.clearTimeout(timerRef.current);\n setVisible(false);\n }, []);\n\n useEffect(() => {\n if (!visible) return;\n\n const handleUpdate = () => updatePosition();\n window.addEventListener('scroll', handleUpdate, true);\n window.addEventListener('resize', handleUpdate);\n\n return () => {\n window.removeEventListener('scroll', handleUpdate, true);\n window.removeEventListener('resize', handleUpdate);\n };\n }, [visible, updatePosition]);\n\n const child = React.cloneElement(children, {\n ref: triggerRef,\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onMouseEnter?.(event);\n show();\n },\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onMouseLeave?.(event);\n hide();\n },\n onFocus: (event: React.FocusEvent<HTMLElement>) => {\n children.props.onFocus?.(event);\n show();\n },\n onBlur: (event: React.FocusEvent<HTMLElement>) => {\n children.props.onBlur?.(event);\n hide();\n },\n 'aria-describedby': visible ? tooltipId : children.props['aria-describedby']\n });\n\n return (\n <>\n {child}\n {visible && createPortal(\n <div\n id={tooltipId}\n className={classNames('tooltip', `tooltip--${placement}`)}\n style={{ top: position.top, left: position.left }}\n role=\"tooltip\"\n >\n {content}\n </div>,\n document.body\n )}\n </>\n );\n}\n","import './Toast.css';\nimport React, { createContext, useContext, useState, useCallback, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Icon } from '../../icons';\nimport type { ToastContextValue, ToastData, ToastProviderProps } from './types';\n\nexport type { ToastColor, ToastContextValue, ToastData, ToastPosition, ToastProviderProps } from './types';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nconst COLOR_ICONS: Record<string, React.ReactNode> = {\n success: <Icon name=\"check\" size={16} />,\n warning: <Icon name=\"warning\" size={16} />,\n danger: <Icon name=\"close\" size={16} />,\n primary: <Icon name=\"info\" size={16} />\n};\n\nfunction ToastItem({ toast, onDismiss }: { toast: ToastData; onDismiss: (id: string) => void }) {\n const [exiting, setExiting] = useState(false);\n \n const handleDismiss = useCallback(() => { \n setExiting(true); \n setTimeout(() => onDismiss(toast.id), 250); \n }, [toast.id, onDismiss]);\n\n useEffect(() => { \n const timer = setTimeout(handleDismiss, toast.duration ?? 4000); \n return () => clearTimeout(timer); \n }, [handleDismiss, toast.duration]);\n\n const color = toast.color ?? 'primary';\n const icon = COLOR_ICONS[color] || COLOR_ICONS.primary;\n\n return (\n <div className={classNames('toast', `toast--${color}`, exiting && 'toast--exiting')}>\n <span className=\"toast-icon\">\n {icon}\n </span>\n <div className=\"toast-content\">\n <p className=\"toast-title\">{toast.title}</p>\n {toast.description && <p className=\"toast-description\">{toast.description}</p>}\n </div>\n <IconButton \n icon={<Icon name=\"close\" size={14} />}\n aria-label=\"Dismiss notification\" \n variant=\"ghost\" \n size=\"sm\" \n onClick={handleDismiss} \n className=\"toast-close\" \n />\n </div>\n );\n}\n\nexport const ToastProvider: React.FC<ToastProviderProps> = ({ \n children, \n position = 'top-right', \n maxToasts = 5 \n}) => {\n const [status, setStatus] = useState<boolean>(false);\n const [toasts, setToasts] = useState<ToastData[]>([]);\n\n useEffect(() => {\n setStatus(true);\n }, []);\n\n const toast = useCallback((data: Omit<ToastData, 'id'>) => {\n const id = `toast-${Date.now()}-${Math.random().toString(36).slice(2)}`;\n setToasts((prev) => [...prev.slice(-(maxToasts - 1)), { ...data, id }]);\n }, [maxToasts]);\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n return (\n <ToastContext.Provider value={{ toast, dismiss }}>\n {children}\n {status && createPortal(\n <div className={classNames('toast-container', `toast-container--${position}`)}>\n {toasts.map((t) => (\n <ToastItem key={t.id} toast={t} onDismiss={dismiss} />\n ))}\n </div>,\n document.body\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error('useToast must be used inside <ToastProvider>');\n return ctx;\n}\n","import './Table.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { TableProps } from './types';\n\nexport type { TableProps } from './types';\n\nexport const Table: React.FC<TableProps> = ({\n striped = false,\n hover = true,\n compact = false,\n stickyHeader = false,\n className,\n containerClassName,\n children,\n ...props\n}) => {\n return (\n <div className={classNames(\n 'table-container',\n stickyHeader && 'table-container--sticky-header',\n containerClassName\n )}>\n <table\n className={classNames(\n 'table',\n striped && 'table--striped',\n hover && 'table--hover',\n compact && 'table--compact',\n className\n )}\n {...props}\n >\n {children}\n </table>\n </div>\n );\n};\n\nexport const Thead: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = (props) => (\n <thead {...props} />\n);\n\nexport const Tbody: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = (props) => (\n <tbody {...props} />\n);\n\nexport const Tr: React.FC<React.HTMLAttributes<HTMLTableRowElement>> = (props) => (\n <tr {...props} />\n);\n\nexport const Th: React.FC<React.ThHTMLAttributes<HTMLTableCellElement>> = (props) => (\n <th {...props} />\n);\n\nexport const Td: React.FC<React.TdHTMLAttributes<HTMLTableCellElement>> = (props) => (\n <td {...props} />\n);\n\nTable.displayName = 'Table';\nThead.displayName = 'Thead';\nTbody.displayName = 'Tbody';\nTr.displayName = 'Tr';\nTh.displayName = 'Th';\nTd.displayName = 'Td';\n","import './Sidebar.css';\nimport React, { createContext, useContext, useMemo, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport { Input } from '../Input/Input';\nimport type { SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemProps, SidebarProps } from './types';\n\nexport type { SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemOwnProps, SidebarItemProps, SidebarProps } from './types';\n\ntype SidebarContextValue = {\n collapsed: boolean;\n toggleCollapsed: () => void;\n searchTerm: string;\n setSearchTerm: (value: string) => void;\n enableSearch: boolean;\n searchPlaceholder: string;\n};\n\nconst SidebarContext = createContext<SidebarContextValue>({\n collapsed: false,\n toggleCollapsed: () => {},\n searchTerm: '',\n setSearchTerm: () => {},\n enableSearch: false,\n searchPlaceholder: 'Buscar item',\n});\n\nfunction useSidebarContext() {\n return useContext(SidebarContext);\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number') {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n return node.map(getNodeText).join(' ');\n }\n\n if (React.isValidElement(node)) {\n return getNodeText(node.props.children);\n }\n\n return '';\n}\n\nfunction countSidebarItems(children: React.ReactNode): number {\n let count = 0;\n\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (child.type === SidebarItem) {\n count += 1;\n return;\n }\n\n count += countSidebarItems(child.props.children);\n });\n\n return count;\n}\n\nfunction findFirstSidebarItem(children: React.ReactNode): React.ReactElement | null {\n for (const child of React.Children.toArray(children)) {\n if (!React.isValidElement(child)) {\n continue;\n }\n\n if (child.type === SidebarItem) {\n return child;\n }\n\n const nestedItem = findFirstSidebarItem(child.props.children);\n if (nestedItem) {\n return nestedItem;\n }\n }\n\n return null;\n}\n\nfunction SidebarRoot({\n collapsed: controlledCollapsed,\n defaultCollapsed = false,\n onToggle,\n className,\n children,\n searchThreshold = 12,\n searchPlaceholder = 'Buscar item',\n ...props\n}: SidebarProps) {\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);\n const [searchTerm, setSearchTerm] = useState('');\n\n const isControlled = controlledCollapsed !== undefined;\n const collapsed = isControlled ? controlledCollapsed : internalCollapsed;\n const itemCount = useMemo(() => countSidebarItems(children), [children]);\n const enableSearch = itemCount > searchThreshold && !collapsed;\n const childArray = React.Children.toArray(children);\n const footerIndex = childArray.findIndex(\n (child) => React.isValidElement(child) && child.type === SidebarFooter\n );\n\n const toggleCollapsed = () => {\n const nextValue = !collapsed;\n\n if (!isControlled) {\n setInternalCollapsed(nextValue);\n }\n\n onToggle?.(nextValue);\n };\n\n const contextValue = useMemo(\n () => ({\n collapsed,\n toggleCollapsed,\n searchTerm,\n setSearchTerm,\n enableSearch,\n searchPlaceholder,\n }),\n [collapsed, searchTerm, enableSearch, searchPlaceholder]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <aside\n className={classNames('sidebar', collapsed && 'sidebar--collapsed', className)}\n {...props}\n >\n {footerIndex === -1 ? children : childArray.slice(0, footerIndex)}\n {footerIndex === -1 ? null : childArray.slice(footerIndex)}\n </aside>\n </SidebarContext.Provider>\n );\n}\n\nfunction SidebarHeader({\n icon,\n logo,\n collapsible = true,\n className,\n children,\n onClick,\n ...props\n}: SidebarHeaderProps) {\n const { collapsed, toggleCollapsed, enableSearch, searchTerm, setSearchTerm, searchPlaceholder } = useSidebarContext();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (collapsible) {\n toggleCollapsed();\n }\n\n onClick?.(e);\n };\n\n return (\n <>\n <div\n className={classNames('sidebar__header', className)}\n onClick={handleClick}\n {...props}\n >\n <div className=\"sidebar__header-icon\">\n {icon ?? <Icon name=\"menu\" />}\n </div>\n\n {!collapsed && (\n <div className=\"sidebar__header-content\">\n {logo ?? children}\n </div>\n )}\n </div>\n\n {enableSearch ? (\n <div className=\"sidebar__search sidebar__search--header\">\n <Input\n value={searchTerm}\n onChange={(event) => setSearchTerm(event.target.value)}\n placeholder={searchPlaceholder}\n prefix={<Icon name=\"search\" size={16} />}\n size=\"sm\"\n full\n />\n </div>\n ) : null}\n </>\n );\n}\n\nfunction SidebarItem<TElement extends React.ElementType = 'button'>({\n icon,\n active = false,\n as,\n className,\n children,\n searchText,\n ...props\n}: SidebarItemProps<TElement>) {\n const { collapsed, searchTerm } = useSidebarContext();\n const Component = (as || 'button') as React.ElementType;\n const itemText = (searchText ?? getNodeText(children)).trim().toLocaleLowerCase();\n const normalizedSearchTerm = searchTerm.trim().toLocaleLowerCase();\n const isVisible = !normalizedSearchTerm || itemText.includes(normalizedSearchTerm);\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <Component\n className={classNames(\n 'sidebar__item',\n active && 'sidebar__item--active',\n className\n )}\n {...props}\n >\n {icon ? <span className=\"sidebar__item-icon\">{icon}</span> : null}\n {!collapsed && <span className=\"sidebar__item-label\">{children}</span>}\n </Component>\n );\n}\n\nfunction SidebarGroup({\n title,\n leftIcon,\n defaultOpen = true,\n open: controlledOpen,\n onOpenChange,\n collapsible = true,\n className,\n children,\n ...props\n}: SidebarGroupProps) {\n const { collapsed, searchTerm } = useSidebarContext();\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n const normalizedSearchTerm = searchTerm.trim().toLocaleLowerCase();\n const childText = getNodeText(children).toLocaleLowerCase();\n const hasMatch = !normalizedSearchTerm || childText.includes(normalizedSearchTerm);\n const shouldForceOpen = Boolean(normalizedSearchTerm && hasMatch);\n const isOpen = collapsed ? false : shouldForceOpen || open;\n const firstItem = findFirstSidebarItem(children);\n\n if (!hasMatch) {\n return null;\n }\n\n const handleToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (collapsed) {\n const onClick = firstItem?.props?.onClick;\n if (typeof onClick === 'function') {\n onClick(event);\n }\n\n return;\n }\n\n if (!collapsible || shouldForceOpen) {\n return;\n }\n\n const nextValue = !open;\n\n if (!isControlled) {\n setInternalOpen(nextValue);\n }\n\n onOpenChange?.(nextValue);\n };\n\n return (\n <div\n className={classNames('sidebar__group', isOpen && 'sidebar__group--open', className)}\n {...props}\n >\n <button\n type=\"button\"\n className=\"sidebar__group-trigger\"\n onClick={handleToggle}\n aria-expanded={isOpen}\n disabled={!collapsible || shouldForceOpen}\n >\n {leftIcon ? <span className=\"sidebar__group-left-icon\">{leftIcon}</span> : null}\n {!collapsed ? <span className=\"sidebar__group-title\">{title}</span> : null}\n <span className=\"sidebar__group-icon\">\n <Icon name=\"chevron-down\" size={16} />\n </span>\n </button>\n\n {isOpen ? <div className=\"sidebar__group-content\">{children}</div> : null}\n </div>\n );\n}\n\nfunction SidebarFooter({\n className,\n children,\n ...props\n}: SidebarFooterProps) {\n return (\n <div className={classNames('sidebar__footer', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Item: SidebarItem,\n Group: SidebarGroup,\n Footer: SidebarFooter,\n});\n\n(Sidebar as typeof Sidebar & { displayName?: string }).displayName = 'Sidebar';\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport type { Theme, ThemeContextValue, ThemeProviderProps } from './types';\nimport { ToastProvider } from '../Toast/Toast';\n\nexport type { Theme, ThemeContextValue, ThemeProviderProps } from './types';\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n defaultTheme = 'dark',\n storageKey = 'theme',\n toastPosition,\n toastMaxToasts\n}) => {\n const [theme, setThemeState] = useState<Theme>(() => {\n return (localStorage.getItem(storageKey) as Theme) || defaultTheme;\n });\n\n useEffect(() => {\n const root = window.document.documentElement;\n root.classList.remove('theme-light', 'theme-dark');\n root.classList.add(`theme-${theme}`);\n root.setAttribute('data-theme', theme);\n localStorage.setItem(storageKey, theme);\n }, [theme, storageKey]);\n\n const toggleTheme = () => {\n setThemeState((prev) => (prev === 'light' ? 'dark' : 'light'));\n };\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme);\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme, setTheme }}>\n <ToastProvider position={toastPosition} maxToasts={toastMaxToasts}>\n {children}\n </ToastProvider>\n </ThemeContext.Provider>\n );\n};\n","import './TopBar.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Flex } from '../Flex/Flex';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Link } from '../Link/Link';\nimport { useTheme } from '../ThemeProvider/ThemeProvider';\nimport { Icon } from '../../icons';\nimport type { TopBarProps } from './types';\n\nexport type { TopBarNavItem, TopBarProps } from './types';\n\nexport const TopBar: React.FC<TopBarProps> = ({\n logo,\n navItems = [],\n navPosition = 'center',\n extraContent,\n themeToggle = false,\n sticky = false,\n className,\n children,\n contentInside = false,\n ...props\n}) => {\n const { theme, toggleTheme } = useTheme();\n const currentPath = typeof window !== 'undefined' ? window.location.pathname : '';\n\n const normalizePath = (path: string) => {\n const pathname = path.split('?')[0].split('#')[0];\n return pathname.endsWith('/') && pathname !== '/' ? pathname.slice(0, -1) : pathname;\n };\n\n const renderNav = () => (\n <Flex as=\"nav\" align=\"center\" gap=\"5\" className=\"topbar__nav\">\n {navItems.map((item, index) => {\n const route = item.to ?? item.href;\n const isActive = item.active ?? (route ? normalizePath(route) === normalizePath(currentPath) : false);\n\n if (route) {\n return (\n <Link\n key={`${item.label ?? 'link'}-${index}`}\n href={route}\n className={classNames('topbar__nav-item', isActive && 'topbar__nav-item--active')}\n active={isActive}\n onClick={item.onClick}\n >\n {item.label}\n </Link>\n );\n }\n\n return (\n <button\n key={`${item.label ?? 'button'}-${index}`}\n type=\"button\"\n className={classNames('topbar__nav-item', isActive && 'topbar__nav-item--active')}\n onClick={item.onClick}\n >\n {item.label}\n </button>\n );\n })}\n </Flex>\n );\n\n return (\n <Flex\n as=\"header\"\n align=\"center\"\n justify=\"space-between\"\n className={classNames(\n 'topbar',\n sticky && 'topbar--sticky',\n navPosition === 'right' && 'topbar--nav-right',\n contentInside && 'topbar--with-children',\n className\n )}\n {...props}\n >\n <Flex align=\"center\" gap=\"4\" className=\"topbar__left\">\n {logo && <div className=\"topbar__logo\">{logo}</div>}\n </Flex>\n\n {navPosition === 'center' && navItems.length > 0 && (\n <Flex align=\"center\" justify=\"center\" className=\"topbar__center\">\n {renderNav()}\n </Flex>\n )}\n\n {contentInside && children && <div className=\"topbar__content\">{children}</div>}\n\n <Flex align=\"center\" gap=\"4\" className=\"topbar__right\">\n {navPosition === 'right' && navItems.length > 0 && renderNav()}\n {extraContent}\n {themeToggle && (\n <IconButton\n icon={theme === 'dark' ? <Icon name=\"sun\" size={16} /> : <Icon name=\"moon\" size={16} />}\n variant=\"ghost\"\n size=\"sm\"\n label=\"Toggle theme\"\n onClick={toggleTheme}\n />\n )}\n </Flex>\n\n {!contentInside && children && <div className=\"topbar__children\">{children}</div>}\n </Flex>\n );\n};\n\nTopBar.displayName = 'TopBar';\n","import React from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport { Heading } from '../Heading/Heading';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Text } from '../Text/Text';\nimport './PageHeader.css';\nimport type { PageHeaderProps } from './types';\n\nexport type { PageHeaderProps } from './types';\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n title,\n description,\n showBack = false,\n onBack,\n width,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('page-header', className)} {...props} >\n <div className=\"page-header__left\">\n {showBack && (\n <IconButton\n variant=\"ghost\"\n size=\"sm\"\n icon={<Icon name=\"chevron-left\" size={16} />}\n onClick={onBack}\n label=\"Back\"\n />\n )}\n <div className=\"page-header__content\">\n <Heading weight=\"bold\">{title}</Heading>\n {description && <Text color=\"subtle\" style={{ width: `${width || '100%'}` }}>{description}</Text>}\n </div>\n </div>\n {action && <div className=\"page-header__right\">{action}</div>}\n </div>\n );\n};\n","import './Breadcrumb.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Link } from '../Link/Link';\nimport type { BreadcrumbProps } from './types';\n\nexport type { BreadcrumbItem, BreadcrumbProps } from './types';\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n items,\n separator = '/',\n className\n}) => {\n return (\n <nav className={classNames('breadcrumb', className)} aria-label=\"Breadcrumb\">\n <ol className=\"breadcrumb-list\">\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={index} className=\"breadcrumb-item\">\n {item.href && !isLast ? (\n <Link href={item.href} color=\"neutral\" className=\"breadcrumb-link\">\n {item.icon && <span className=\"breadcrumb-icon\">{item.icon}</span>}\n {item.label}\n </Link>\n ) : (\n <span \n className={classNames('breadcrumb-link', isLast && 'breadcrumb-current')} \n aria-current={isLast ? 'page' : undefined}\n >\n {item.icon && <span className=\"breadcrumb-icon\">{item.icon}</span>}\n {item.label}\n </span>\n )}\n\n {!isLast && <span className=\"breadcrumb-separator\">{separator}</span>}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nBreadcrumb.displayName = 'Breadcrumb';\n","import './Progress.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { ProgressProps } from './types';\n\nexport type { ProgressProps, ProgressSize } from './types';\n\nexport const Progress: React.FC<ProgressProps> = ({\n value,\n max = 100,\n size = 'md',\n color,\n animated = false,\n showValue = false,\n label,\n className,\n style,\n ...props\n}) => {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <div\n className={classNames('progress-wrapper', className)}\n style={{ ['--progress-color' as string]: colorVar(color), ...(style ?? {}) }}\n {...props}\n >\n {(label || showValue) && (\n <div className=\"progress-label\">\n {label && <span>{label}</span>}\n {showValue && <span className=\"progress-value\">{Math.round(percentage)}%</span>}\n </div>\n )}\n <div\n className={classNames('progress', `progress--${size}`, animated && 'progress--animated')}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n >\n <div className=\"progress-bar\" style={{ width: `${percentage}%` }} />\n </div>\n </div>\n );\n};\n\nProgress.displayName = 'Progress';\n","import './Tabs.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { TabsProps } from './types';\n\nexport type { TabItem, TabsProps, TabsSize, TabsVariant } from './types';\n\nexport const Tabs: React.FC<TabsProps> = ({\n tabs,\n defaultValue,\n value: controlledValue,\n onChange,\n className,\n variant = 'default',\n size = 'md'\n}) => {\n const [internalValue, setInternalValue] = useState(defaultValue ?? tabs[0]?.value ?? '');\n const activeValue = controlledValue ?? internalValue;\n\n const handleSelect = (val: string) => {\n if (controlledValue === undefined) {\n setInternalValue(val);\n }\n onChange?.(val);\n };\n\n const activeTab = tabs.find((t) => t.value === activeValue);\n\n return (\n <div className={classNames('tabs', `tabs--${variant}`, `tabs--${size}`, className)}>\n <div className=\"tabs-list\" role=\"tablist\">\n {tabs.map((tab) => {\n const isActive = activeValue === tab.value;\n const triggerClasses = classNames(\n 'tabs-trigger',\n isActive && 'tabs-trigger--active'\n );\n\n if (tab.href) {\n return (\n <a\n key={tab.value}\n role=\"tab\"\n href={tab.href}\n aria-selected={isActive}\n className={triggerClasses}\n onClick={(e) => {\n if (tab.disabled) e.preventDefault();\n else handleSelect(tab.value);\n }}\n >\n {tab.label}\n </a>\n );\n }\n\n return (\n <button\n key={tab.value}\n role=\"tab\"\n type=\"button\"\n disabled={tab.disabled}\n aria-selected={isActive}\n className={triggerClasses}\n onClick={() => handleSelect(tab.value)}\n >\n {tab.label}\n </button>\n );\n })}\n </div>\n <div\n role=\"tabpanel\"\n className=\"tabs-panel\"\n tabIndex={0}\n >\n {activeTab?.content}\n </div>\n </div>\n );\n};\n\nTabs.displayName = 'Tabs';\n","import './Timeline.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Avatar } from '../Avatar/Avatar';\nimport { Text } from '../Text/Text';\nimport type { TimelineItemProps, TimelineProps } from './types';\n\nexport type { TimelineItemProps, TimelineProps } from './types';\n\nexport const TimelineItem: React.FC<TimelineItemProps> = ({ title, description, date, icon, src, name }) => {\n return (\n <div className={classNames('timeline-item', !icon && !src && !name && 'timeline-item--dot')}>\n <div className=\"timeline-item__aside\">\n <div className=\"timeline-item__marker\">\n {src || name ? <Avatar src={src} name={name} size=\"sm\" /> : icon ? <div className=\"timeline-item__icon\">{icon}</div> : <div className=\"timeline-item__dot\" />}\n </div>\n <div className=\"timeline-item__line\" />\n </div>\n <div className=\"timeline-item__content\">\n <div className=\"timeline-item__header\">\n <Text weight=\"medium\">{title}</Text>\n {date && <Text size=\"sm\" color=\"subtle\">{date}</Text>}\n </div>\n {description && <div className=\"timeline-item__description\"><Text color=\"subtle\">{description}</Text></div>}\n </div>\n </div>\n );\n};\n\nexport const Timeline: React.FC<TimelineProps> = ({ children, className, ...props }) => {\n return <div className={classNames('timeline', className)} {...props}>{children}</div>;\n};\n\nTimeline.displayName = 'Timeline';\nTimelineItem.displayName = 'TimelineItem';\n"],"names":["classNames","args","classes","arg","nested","key","createVariants","config","options","variant","size","c","matchVariant","matchSize","TOKEN_COLORS","isTokenColor","color","normalizeTokenColor","colorVar","textColorVar","normalized","Loader","className","label","style","jsxs","jsx","Button","React","loading","disabled","icon","iconRight","full","children","props","ref","isDisabled","tokenColor","customColor","buttonStyle","IconButton","LabelFormater","text","char","Text","weight","as","Component","tokenColorClass","Flex","direction","align","justify","wrap","gap","FormField","error","hint","htmlFor","IconBase","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","icons","Icon","name","createNamedIcon","ActivityIcon","AlertCircleIcon","AlertTriangleIcon","AlignHorizontalIcon","AlignJustifyIcon","AppWindowIcon","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","BadgeIcon","BatteryIcon","BellIcon","BluetoothIcon","BookIcon","BoxIcon","CalendarIcon","CameraIcon","CheckSquareIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ChevronIcon","CircleDotIcon","ClockIcon","CloseIcon","CloudIcon","CodeIcon","ComponentIcon","CopyIcon","CreditCardIcon","DatabaseIcon","DownloadIcon","EditIcon","ExternalLinkIcon","EyeOffIcon","EyeIcon","FileTextIcon","FileIcon","FilterIcon","FolderIcon","FormInputIcon","GhostIcon","GiftIcon","GitCommitIcon","GithubIcon","GridIcon","GripIcon","Heading1Icon","HeartIcon","HelpCircleIcon","HistoryIcon","HomeIcon","ImageIcon","InfoIcon","LabIcon","LaptopIcon","LayoutTemplateIcon","LayoutIcon","LinkIcon","LinkedinIcon","ListChecksIcon","ListCollapseIcon","ListFilterIcon","ListIcon","Loader2Icon","LockIcon","LogInIcon","LogOutIcon","MailIcon","MapPinIcon","MenuIcon","MessageCircleIcon","MessageSquareIcon","MicIcon","MilestoneIcon","MinusIcon","MonitorIcon","MoonIcon","MoreHorizontalIcon","MousePointerIcon","MusicIcon","PanelLeftIcon","PanelTopIcon","PanelIcon","PhoneIcon","PlusIcon","RectangleHorizontalIcon","RefreshIcon","RocketIcon","RulerIcon","SearchIcon","ServerIcon","SettingsIcon","ShareIcon","ShieldIcon","ShoppingCartIcon","SlidersHorizontalIcon","SmartphoneIcon","SparkIcon","SparklesIcon","SpinnerIcon","SquareIcon","StarIcon","SunIcon","TableIcon","TabletIcon","TagIcon","TextCursorIcon","ThemeDarkIcon","ThemeLightIcon","ToggleRightIcon","TrashIcon","TypeIcon","UnlockIcon","UploadCloudIcon","UploadIcon","UserCircleIcon","UserIcon","VideoIcon","WarningIcon","WifiIcon","XIcon","ZapIcon","Input","supportText","prefix","suffix","clearable","id","inputId","inputRef","forceRender","isControlled","hasValue","setRefs","node","handleClear","current","handleInput","event","resolvedSuffix","TextArea","resize","rows","Search","onSearch","onChange","handleChange","WEEK_DAYS","parseDateValue","value","year","month","day","formatDateValue","date","toIsoDate","isSameDay","a","b","buildCalendarDays","monthDate","startOfMonth","endOfMonth","startDay","totalDays","days","index","minimumCells","lastDate","nextDate","DatePicker","defaultValue","placeholder","_size","_prefix","_suffix","_clearable","rootRef","fallbackToday","initialDate","internalValue","setInternalValue","open","setOpen","selectedDate","viewDate","setViewDate","handlePointerDown","commitValue","nextIsoValue","nextEvent","handleSelectDate","handleApply","monthLabel","calendarDays","outside","isSelected","Select","searchable","searchPlaceholder","generatedId","useId","useRef","searchInputRef","isOpen","setIsOpen","useState","searchTerm","setSearchTerm","selectedValue","useEffect","handleClickOutside","selectedOption","option","filteredOptions","useMemo","handleSelect","nextValue","optionDisabled","MultiSelect","selectedValues","selectedOptions","commitChange","toggleValue","optionValue","item","setForwardedRef","Checkbox","indeterminate","handleRef","Radio","description","Slider","min","max","currentValue","percentage","next","FileUpload","onFileSelect","accept","multiple","maxSize","title","isDragging","setIsDragging","files","setFiles","setError","processFiles","incoming","valid","file","updated","_","itemIndex","createHeading","tag","levelClassName","Heading","Heading2","Heading3","Heading4","Heading5","Heading6","Card","padding","CardHeader","action","CardBody","CardFooter","Box","rounded","shadow","surface","border","Grid","columns","Container","Spacer","axis","Divider","orientation","ListContext","createContext","ListRoot","ListItem","startContent","endContent","active","onClick","useContext","resolvedStart","List","useAccordionState","type","initial","openItems","setOpenItems","AccordionItem","onToggle","Accordion","toggle","child","Code","block","Link","underline","href","to","currentPath","route","normalizePath","path","pathname","isCurrentRoute","isActive","Badge","Tag","leftIcon","rightIcon","closable","onRemove","removable","Avatar","src","status","getInitials","parts","Skeleton","circle","radius","animated","customStyle","Image","alt","objectFit","fallback","loaded","setLoaded","Fragment","Switch","Pagination","currentPage","totalPages","onPageChange","showControls","pages","items","startPage","endPage","page","EmptyState","Modal","onClose","footer","closeOnOverlayClick","mounted","setMounted","onKeyDown","e","createPortal","Drawer","placement","Tooltip","content","delay","tooltipId","triggerRef","timerRef","visible","setVisible","position","setPosition","updatePosition","useCallback","rect","offset","show","hide","handleUpdate","ToastContext","COLOR_ICONS","ToastItem","toast","onDismiss","exiting","setExiting","handleDismiss","timer","ToastProvider","maxToasts","setStatus","toasts","setToasts","data","prev","dismiss","t","useToast","ctx","Table","striped","hover","compact","stickyHeader","containerClassName","Thead","Tbody","Tr","Th","Td","SidebarContext","useSidebarContext","getNodeText","countSidebarItems","count","SidebarItem","findFirstSidebarItem","nestedItem","SidebarRoot","controlledCollapsed","defaultCollapsed","searchThreshold","internalCollapsed","setInternalCollapsed","collapsed","enableSearch","childArray","footerIndex","SidebarFooter","toggleCollapsed","contextValue","SidebarHeader","logo","collapsible","handleClick","searchText","itemText","normalizedSearchTerm","SidebarGroup","defaultOpen","controlledOpen","onOpenChange","internalOpen","setInternalOpen","childText","hasMatch","shouldForceOpen","firstItem","handleToggle","Sidebar","ThemeContext","useTheme","context","ThemeProvider","defaultTheme","storageKey","toastPosition","toastMaxToasts","theme","setThemeState","root","toggleTheme","setTheme","newTheme","TopBar","navItems","navPosition","extraContent","themeToggle","sticky","contentInside","renderNav","PageHeader","showBack","onBack","Breadcrumb","separator","isLast","Progress","showValue","Tabs","tabs","controlledValue","activeValue","val","activeTab","tab","triggerClasses","TimelineItem","Timeline"],"mappings":"+JAMO,SAASA,KAAcC,EAA4B,CACxD,MAAMC,EAAoB,CAAA,EAE1B,UAAWC,KAAOF,EAChB,GAAKE,GAEL,GAAI,OAAOA,GAAQ,SACjBD,EAAQ,KAAKC,CAAG,UACP,MAAM,QAAQA,CAAG,EAAG,CAC7B,MAAMC,EAASJ,EAAW,GAAGG,CAAG,EAC5BC,GAAQF,EAAQ,KAAKE,CAAM,CACjC,SAAW,OAAOD,GAAQ,SACxB,UAAWE,KAAOF,EACZA,EAAIE,CAAG,GACTH,EAAQ,KAAKG,CAAG,EAMxB,OAAOH,EAAQ,KAAK,GAAG,CACzB,CCDO,SAASI,GACdC,EACA,CACA,OAAO,SAAiBC,EAAgC,GAAY,CAClE,MAAMC,EAAUD,EAAQ,SAAWD,EAAO,iBAAiB,QACrDG,EAAOF,EAAQ,MAAQD,EAAO,iBAAiB,KAE/CL,EAAoB,CAAA,EAS1B,GAPIK,EAAO,MAAML,EAAQ,KAAKK,EAAO,IAAI,EACrCE,GAAWF,EAAO,WAAWE,CAAO,GACtCP,EAAQ,KAAKK,EAAO,SAASE,CAAO,CAAW,EAE7CC,GAAQH,EAAO,QAAQG,CAAI,GAC7BR,EAAQ,KAAKK,EAAO,MAAMG,CAAI,CAAW,EAEvCH,EAAO,SACT,UAAWI,KAAKJ,EAAO,SAAU,CAC/B,MAAMK,EAAeD,EAAE,UAAY,QAAaA,EAAE,UAAYF,EACxDI,EAAYF,EAAE,OAAS,QAAaA,EAAE,OAASD,EACjDE,GAAgBC,GAAWX,EAAQ,KAAKS,EAAE,SAAS,CACzD,CAEF,OAAIH,EAAQ,WAAWN,EAAQ,KAAKM,EAAQ,SAAS,EAE9CN,EAAQ,OAAO,OAAO,EAAE,KAAK,GAAG,CACzC,CACF,CC3CA,MAAMY,GAAsC,CAAC,UAAW,UAAW,SAAU,UAAW,OAAQ,SAAS,EAElG,SAASC,EAAaC,EAAqC,CAC9D,OAAKA,EACEF,GAAa,SAASE,CAAmB,EAD7B,EAEvB,CAEA,SAASC,GAAoBD,EAA4C,CACrE,GAAKA,EACL,OAAOD,EAAaC,CAAK,EAAIA,EAAQ,MACzC,CAEO,SAASE,EAASF,EAAwC,CAC7D,GAAKA,EACL,OAAKD,EAAaC,CAAK,EACnBA,IAAU,UAAkB,qBACzB,eAAeA,CAAK,IAFMA,CAGrC,CAEO,SAASG,GAAaH,EAA4C,CAErE,GADI,CAACA,GACDA,IAAU,UAAW,MAAO,mBAChC,GAAIA,IAAU,WAAY,MAAO,oBACjC,GAAIA,IAAU,SAAU,MAAO,qBAC/B,GAAIA,IAAU,QAAS,MAAO,oBAC9B,GAAIA,IAAU,UAAW,MAAO,sBAEhC,MAAMI,EAAaH,GAAoBD,CAAmB,EAC1D,OAAKI,EACE,eAAeA,CAAU,IADRJ,CAE5B,CCjCO,SAASK,EAAO,CAAE,KAAAX,EAAO,KAAM,MAAAM,EAAO,UAAAM,EAAW,MAAAC,EAAQ,cAA6B,CACzF,MAAMC,EAAQR,EAAQ,CAAG,iBAA6BE,EAASF,CAAK,CAAA,EAAM,CAAA,EAE1E,OACIS,EAAAA,KAAC,OAAA,CAAK,KAAK,SAAS,aAAYF,EAAO,UAAWvB,EAAW,SAAU,WAAWU,CAAI,GAAIY,CAAS,EAAG,MAAAE,EAClG,SAAA,CAAAE,EAAAA,IAAC,OAAA,CAAK,UAAU,cAAA,CAAe,EAC/BA,EAAAA,IAAC,OAAA,CAAK,UAAU,UAAW,SAAAH,CAAA,CAAM,CAAA,EACrC,CAER,CCPO,MAAMI,EAASC,EAAM,WACxB,CAAC,CACG,QAAAnB,EAAU,QACV,KAAAC,EAAO,KACP,QAAAmB,EAAU,GACV,SAAAC,EACA,KAAAC,EACA,UAAAC,EAAY,GACZ,KAAAC,EAAO,GACP,MAAAjB,EAAQ,UACR,SAAAkB,EACA,UAAAZ,EACA,MAAAE,EACA,GAAGW,CAAA,EACJC,IAAQ,CACP,MAAMC,EAAaP,GAAYD,EACzBS,EAAavB,EAAaC,CAAK,GAAKA,IAAU,UAAYA,EAAQ,OAClEuB,EAAc,CAACvB,GAASsB,GAActB,IAAU,UAAY,OAAYE,EAASF,CAAK,EACtFwB,EAAcD,EACd,CACE,GAAGf,EACF,aAAyBe,EACzB,WAAuBA,EACvB,aAAyB,qBAAA,EAE5Bf,EAEN,OACIC,EAAAA,KAAC,SAAA,CACG,IAAAW,EACA,SAAUC,EACV,YAAWR,EACX,UAAW7B,EACP,MACA,QAAQS,CAAO,GACf,QAAQC,CAAI,GACZ4B,GAAc,cAAcA,CAAU,GACtCL,GAAQ,YACRJ,GAAW,eACXP,CAAA,EAEJ,MAAOkB,EACN,GAAGL,EAEH,SAAA,CAAAN,GACGH,EAAAA,IAACL,EAAA,CACG,KAAMX,IAAS,MAAQA,IAAS,KAAO,KAAOA,IAAS,KAAO,KAAO,KACrE,UAAU,cAAA,CAAA,EAGjB,CAACmB,GAAWE,GAAQ,CAACC,GAClBN,EAAAA,IAAC,OAAA,CAAK,UAAU,4BAA6B,SAAAK,CAAA,CAAK,EAErDG,GAAYR,EAAAA,IAAC,OAAA,CAAK,UAAU,aAAc,SAAAQ,EAAS,EACnD,CAACL,GAAWE,GAAQC,SAChB,OAAA,CAAK,UAAU,6BAA8B,SAAAD,CAAA,CAAK,CAAA,CAAA,CAAA,CAInE,CACJ,EAEAJ,EAAO,YAAc,SC9Dd,MAAMc,EAAab,EAAM,WAC5B,CAAC,CAAE,KAAAG,EAAM,QAAAtB,EAAU,QAAS,KAAAC,EAAO,KAAM,QAAAmB,EAAU,GAAO,SAAAC,EAAU,UAAAR,EAAW,MAAAE,EAAO,MAAAD,EAAO,GAAGY,CAAA,EAASC,IAEjGV,EAAAA,IAACC,EAAA,CACG,IAAAS,EACA,UAAWpC,EAAW,WAAY,kBAAkBU,CAAI,GAAIY,CAAS,EACrE,aAAYC,IAAU,OAAOQ,GAAS,SAAWA,EAAO,eACxD,YAAWF,EACX,QAAApB,EACA,KAAAC,EACA,SAAUoB,GAAYD,EACtB,MAAAL,EACC,GAAGW,EAEH,SAAAN,QACIR,EAAA,CAAA,CAAO,QAEP,OAAA,CAAK,UAAU,oBACX,SAAAU,CAAA,CACL,CAAA,CAAA,CAKpB,EAEAU,EAAW,YAAc,aCnClB,SAASC,EAAcC,EAAsB,CAClD,OAAKA,EAEEA,EACJ,cACA,QAAQ,WAAA,UAAA,KAAYC,GAASA,EAAK,aAAa,EAJhC,EAKpB,CCEO,MAAMC,EAAO,CAA2C,CAC3D,KAAAnC,EAAO,KACP,MAAAM,EAAQ,UACR,OAAA8B,EAAS,SACT,GAAAC,EACA,UAAAzB,EACA,SAAAY,EACA,MAAAV,EACA,GAAGW,CACP,IAA2B,CACvB,MAAMa,EAAaD,GAAM,IACnBE,EAAkBlC,EAAaC,CAAK,GAAK,CAAC,UAAW,SAAU,QAAS,SAAS,EAAE,SAASA,CAAK,EACjG,eAAeA,CAAK,GACpB,OAEN,OACIU,EAAAA,IAACsB,EAAA,CACG,UAAWhD,EACP,OACA,cAAcU,CAAI,GAClBuC,EACA,gBAAgBH,CAAM,GACtBxB,CAAA,EAEJ,MAAQ2B,EAA6DzB,EAA3C,CAAE,GAAGA,EAAO,MAAOL,GAAaH,CAAK,CAAA,EAC9D,GAAGmB,EAEH,SAAAD,CAAA,CAAA,CAGb,EC/BagB,EAAO,CAA6C,CAC7D,SAAAhB,EACA,UAAAiB,EAAY,MACZ,MAAAC,EAAQ,UACR,QAAAC,EAAU,aACV,KAAAC,EAAO,SACP,IAAAC,EAAM,IACN,UAAAjC,EACA,MAAAE,EACA,GAAAuB,EACA,GAAGZ,CACP,IAA2B,CACvB,MAAMa,EAAaD,GAAM,MAEzB,OACIrB,EAAAA,IAACsB,EAAA,CACG,UAAWhD,EACP,OACA,mBAAmBmD,CAAS,GAC5B,eAAeC,CAAK,GACpB,iBAAiBC,CAAO,GACxB,cAAcC,CAAI,GAClB,aAAaC,CAAG,GAChBjC,CAAA,EAEJ,MAAAE,EACC,GAAGW,EAEH,SAAAD,CAAA,CAAA,CAGb,EC7BasB,EAAsC,CAAC,CAChD,MAAAjC,EACA,MAAAkC,EACA,KAAAC,EACA,SAAAxB,EACA,KAAAD,EAAO,GACP,UAAAX,EACA,QAAAqC,CACJ,IAEQlC,EAAAA,KAACyB,EAAA,CAAK,UAAU,SAAS,IAAI,IAAI,UAAWlD,EAAW,kBAAmBiC,GAAQ,mBAAoBX,CAAS,EAC1G,SAAA,CAAAC,GACGG,EAAAA,IAACmB,EAAA,CAAK,KAAK,KAAK,OAAO,SAAS,GAAG,QAAQ,QAAAc,EAAkB,UAAU,mBAClE,SAAAjB,EAAcnB,CAAK,EACxB,EAEHW,EACAuB,GACG/B,EAAAA,IAACmB,EAAA,CAAK,GAAG,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU,qBAAqB,KAAK,QACxE,SAAAY,EACL,EAEH,CAACA,GAASC,GACPhC,EAAAA,IAACmB,EAAA,CAAK,GAAG,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU,qBAC9C,SAAAa,CAAA,CACL,CAAA,EAER,EC9BD,SAASE,GAAS,CACrB,KAAAlD,EAAO,GACP,MAAAmD,EACA,OAAAC,EACA,QAAAC,EAAU,YACV,KAAAC,EAAO,OACP,OAAAC,EAAS,eACT,YAAAC,EAAc,EACd,cAAAC,EAAgB,QAChB,eAAAC,EAAiB,QACjB,SAAAlC,EACA,GAAGC,CACP,EAAc,CACV,OACIT,EAAAA,IAAC,MAAA,CACG,MAAOmC,GAASnD,EAChB,OAAQoD,GAAUpD,EAClB,QAAAqD,EACA,KAAAC,EACA,OAAAC,EACA,YAAAC,EACA,cAAAC,EACA,eAAAC,EACA,cAAY,OACX,GAAGjC,EAEH,SAAAD,CAAA,CAAA,CAGb,CCiGA,MAAMmC,GAAQ,CACZ,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,yIAAA,EAER,eAAgB,CACd,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,8CAAA,EAER,iBAAkB,CAChB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,0BAAA,EAER,mBAAoB,CAClB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,wBAAA,EAER,gBAAiB,CACf,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,wBAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,sBAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,8BAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,wBAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,6BAAA,EAER,WAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,wBAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,8KAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,qDAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,6IAAA,EAER,UAAa,CACX,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,wCAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,8EAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,yBAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,wBAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,mCAAA,EAER,eAAgB,CACd,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,8BAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,8BAAA,EAER,eAAgB,CACd,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,2BAAA,EAER,eAAgB,CACd,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,6BAAA,EAER,gBAAiB,CACf,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,4BAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,6BAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,4BAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,mCAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,2BAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,0BAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,kEAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,sGAAA,EAER,UAAa,CACX,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,0IAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,uEAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,0CAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,qCAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,6BAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,uIAAA,EAER,gBAAiB,CACf,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,wEAAA,EAER,UAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,0BAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,mCAAA,EAER,YAAa,CACX,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,wBAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,uCAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,iKAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,qIAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,yBAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,4FAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,oDAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,2CAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,qCAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,wBAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,mRAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,4BAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,oKAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,0BAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,2BAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,qHAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,yDAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,yBAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,wBAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,oCAAA,EAER,kBAAmB,CACjB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,qDAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,wCAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,4EAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,iCAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,4BAAA,EAER,gBAAiB,CACf,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,6BAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,uBAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,0CAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,wCAAA,EAER,SAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,yDAAA,EAER,UAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,uDAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,qDAAA,EAER,UAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,mCAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,wBAAA,EAER,iBAAkB,CAChB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,0IAAA,EAER,iBAAkB,CAChB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,kIAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,oDAAA,EAER,UAAa,CACX,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,qIAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,uBAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,2CAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,6HAAA,EAER,kBAAmB,CACjB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,kCAAA,EAER,gBAAiB,CACf,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,6IAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,mCAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,uBAAA,EAER,YAAa,CACX,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,uBAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,uEAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,oOAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,wBAAA,EAER,uBAAwB,CACtB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,oDAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,yBAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,0DAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,8BAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,mCAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,4CAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,mCAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,yDAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,0DAAA,EAER,gBAAiB,CACf,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,gGAAA,EAER,qBAAsB,CACpB,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAA,EAER,WAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,0BAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,kCAAA,EAER,SAAY,CACV,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,kCAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,0CAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,oDAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,2XAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qCAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,wBAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,8CAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,0DAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA,uBAAA,EAER,aAAc,CACZ,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,6HAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qCAAA,EAER,eAAgB,CACd,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,qDAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,sDAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,uBAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,uCAAA,EAER,eAAgB,CACd,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,6BAAA,EAER,OAAU,CACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,yDAAA,EAER,cAAe,CACb,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,gEAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,kCAAA,EAER,MAAS,CACP,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,qDAAA,EAER,QAAW,CACT,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA,0BAAA,EAER,KAAQ,CACN,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA;AAAA;AAAA,yCAAA,EAER,EAAK,CACH,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM;AAAA,0BAAA,EAER,IAAO,CACL,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,IACb,cAAe,QACf,eAAgB,QAChB,KAAM,6DAAA,CAEV,EAcO,SAASC,EAAK,CAAE,KAAAC,EAAM,GAAGpC,GAAyB,CACvD,MAAMJ,EAAOsC,GAAME,CAAI,EACvB,OACE7C,EAAAA,IAACkC,GAAA,CACC,QAAS7B,EAAK,QACd,KAAMA,EAAK,KACX,OAAQA,EAAK,OACb,YAAa,OAAOA,EAAK,WAAW,EACpC,cAAeA,EAAK,cACpB,eAAgBA,EAAK,eACrB,wBAAyB,CAAE,OAAQA,EAAK,IAAA,EACvC,GAAGI,CAAA,CAAA,CAGV,CAEA,SAASqC,EAAgBD,EAAgB,CACvC,OAAO,SAAmBpC,EAAkB,CAC1C,OAAOT,EAAAA,IAAC4C,EAAA,CAAK,KAAAC,EAAa,GAAGpC,CAAA,CAAO,CACtC,CACF,CAEO,MAAMsC,GAAeD,EAAgB,UAAsB,EACrDE,GAAkBF,EAAgB,cAA0B,EAC5DG,GAAoBH,EAAgB,gBAA4B,EAChEI,GAAsBJ,EAAgB,kBAA8B,EACpEK,GAAmBL,EAAgB,eAA2B,EAC9DM,GAAgBN,EAAgB,YAAwB,EACxDO,GAAgBP,EAAgB,YAAwB,EACxDQ,GAAgBR,EAAgB,YAAwB,EACxDS,GAAiBT,EAAgB,aAAyB,EAC1DU,GAAcV,EAAgB,UAAsB,EACpDW,GAAYX,EAAgB,OAAmB,EAC/CY,GAAcZ,EAAgB,SAAqB,EACnDa,GAAWb,EAAgB,MAAkB,EAC7Cc,GAAgBd,EAAgB,WAAuB,EACvDe,GAAWf,EAAgB,MAAkB,EAC7CgB,GAAUhB,EAAgB,KAAiB,EAC3CiB,GAAejB,EAAgB,UAAsB,EACrDkB,GAAalB,EAAgB,QAAoB,EACjDmB,GAAkBnB,EAAgB,cAA0B,EAC5DoB,GAAYpB,EAAgB,OAAmB,EAC/CqB,GAAkBrB,EAAgB,cAA0B,EAC5DsB,GAAkBtB,EAAgB,cAA0B,EAC5DuB,GAAmBvB,EAAgB,eAA2B,EAC9DwB,GAAgBxB,EAAgB,YAAwB,EACxDyB,GAAczB,EAAgB,SAAqB,EACnD0B,GAAgB1B,EAAgB,YAAwB,EACxD2B,GAAY3B,EAAgB,OAAmB,EAC/C4B,GAAY5B,EAAgB,OAAmB,EAC/C6B,GAAY7B,EAAgB,OAAmB,EAC/C8B,GAAW9B,EAAgB,MAAkB,EAC7C+B,GAAgB/B,EAAgB,WAAuB,EACvDgC,GAAWhC,EAAgB,MAAkB,EAC7CiC,GAAiBjC,EAAgB,aAAyB,EAC1DkC,GAAelC,EAAgB,UAAsB,EACrDmC,GAAenC,EAAgB,UAAsB,EACrDoC,GAAWpC,EAAgB,MAAkB,EAC7CqC,GAAmBrC,EAAgB,eAA2B,EAC9DsC,GAAatC,EAAgB,SAAqB,EAClDuC,GAAUvC,EAAgB,KAAiB,EAC3CwC,GAAexC,EAAgB,WAAuB,EACtDyC,GAAWzC,EAAgB,MAAkB,EAC7C0C,GAAa1C,EAAgB,QAAoB,EACjD2C,GAAa3C,EAAgB,QAAoB,EACjD4C,GAAgB5C,EAAgB,YAAwB,EACxD6C,GAAY7C,EAAgB,OAAmB,EAC/C8C,GAAW9C,EAAgB,MAAkB,EAC7C+C,GAAgB/C,EAAgB,YAAwB,EACxDgD,GAAahD,EAAgB,QAAoB,EACjDiD,GAAWjD,EAAgB,MAAkB,EAC7CkD,GAAWlD,EAAgB,MAAkB,EAC7CmD,GAAenD,EAAgB,UAAsB,EACrDoD,GAAYpD,EAAgB,OAAmB,EAC/CqD,GAAiBrD,EAAgB,aAAyB,EAC1DsD,GAActD,EAAgB,SAAqB,EACnDuD,GAAWvD,EAAgB,MAAkB,EAC7CwD,GAAYxD,EAAgB,OAAmB,EAC/CyD,GAAWzD,EAAgB,MAAkB,EAC7C0D,GAAU1D,EAAgB,KAAiB,EAC3C2D,GAAa3D,EAAgB,QAAoB,EACjD4D,GAAqB5D,EAAgB,iBAA6B,EAClE6D,GAAa7D,EAAgB,QAAoB,EACjD8D,GAAW9D,EAAgB,MAAkB,EAC7C+D,GAAe/D,EAAgB,UAAsB,EACrDgE,GAAiBhE,EAAgB,aAAyB,EAC1DiE,GAAmBjE,EAAgB,eAA2B,EAC9DkE,GAAiBlE,EAAgB,aAAyB,EAC1DmE,GAAWnE,EAAgB,MAAkB,EAC7CoE,GAAcpE,EAAgB,SAAqB,EACnDqE,GAAWrE,EAAgB,MAAkB,EAC7CsE,GAAYtE,EAAgB,QAAoB,EAChDuE,GAAavE,EAAgB,SAAqB,EAClDwE,GAAWxE,EAAgB,MAAkB,EAC7CyE,GAAazE,EAAgB,SAAqB,EAClD0E,GAAW1E,EAAgB,MAAkB,EAC7C2E,GAAoB3E,EAAgB,gBAA4B,EAChE4E,GAAoB5E,EAAgB,gBAA4B,EAChE6E,GAAU7E,EAAgB,KAAiB,EAC3C8E,GAAgB9E,EAAgB,WAAuB,EACvD+E,GAAY/E,EAAgB,OAAmB,EAC/CgF,GAAchF,EAAgB,SAAqB,EACnDiF,GAAWjF,EAAgB,MAAkB,EAC7CkF,GAAqBlF,EAAgB,iBAA6B,EAClEmF,GAAmBnF,EAAgB,eAA2B,EAC9DoF,GAAYpF,EAAgB,OAAmB,EAC/CqF,GAAgBrF,EAAgB,YAAwB,EACxDsF,GAAetF,EAAgB,WAAuB,EACtDuF,GAAYvF,EAAgB,OAAmB,EAC/CwF,GAAYxF,EAAgB,OAAmB,EAC/CyF,GAAWzF,EAAgB,MAAkB,EAC7C0F,GAA0B1F,EAAgB,sBAAkC,EAC5E2F,GAAc3F,EAAgB,SAAqB,EACnD4F,GAAa5F,EAAgB,QAAoB,EACjD6F,GAAY7F,EAAgB,OAAmB,EAC/C8F,GAAa9F,EAAgB,QAAoB,EACjD+F,GAAa/F,EAAgB,QAAoB,EACjDgG,GAAehG,EAAgB,UAAsB,EACrDiG,GAAYjG,EAAgB,OAAmB,EAC/CkG,GAAalG,EAAgB,QAAoB,EACjDmG,GAAmBnG,EAAgB,eAA2B,EAC9DoG,GAAwBpG,EAAgB,oBAAgC,EACxEqG,GAAiBrG,EAAgB,YAAwB,EACzDsG,GAAYtG,EAAgB,OAAmB,EAC/CuG,GAAevG,EAAgB,UAAsB,EACrDwG,GAAcxG,EAAgB,SAAqB,EACnDyG,GAAazG,EAAgB,QAAoB,EACjD0G,GAAW1G,EAAgB,MAAkB,EAC7C2G,GAAU3G,EAAgB,KAAiB,EAC3C4G,GAAY5G,EAAgB,OAAmB,EAC/C6G,GAAa7G,EAAgB,QAAoB,EACjD8G,GAAU9G,EAAgB,KAAiB,EAC3C+G,GAAiB/G,EAAgB,aAAyB,EAC1DgH,GAAgBhH,EAAgB,YAAwB,EACxDiH,GAAiBjH,EAAgB,aAAyB,EAC1DkH,GAAkBlH,EAAgB,cAA0B,EAC5DmH,GAAYnH,EAAgB,OAAmB,EAC/CoH,GAAWpH,EAAgB,MAAkB,EAC7CqH,GAAarH,EAAgB,QAAoB,EACjDsH,GAAkBtH,EAAgB,cAA0B,EAC5DuH,GAAavH,EAAgB,QAAoB,EACjDwH,GAAiBxH,EAAgB,aAAyB,EAC1DyH,GAAWzH,EAAgB,MAAkB,EAC7C0H,GAAY1H,EAAgB,OAAmB,EAC/C2H,GAAc3H,EAAgB,SAAqB,EACnD4H,GAAW5H,EAAgB,MAAkB,EAC7C6H,GAAQ7H,EAAgB,GAAe,EACvC8H,GAAU9H,EAAgB,KAAiB,EC14C3C+H,EAAQ3K,EAAM,WACvB,CAAC,CAAE,MAAAL,EAAO,MAAAkC,EAAO,YAAA+I,EAAa,OAAAC,EAAQ,OAAAC,EAAQ,UAAAC,EAAY,GAAO,KAAAjM,EAAO,KAAM,KAAAuB,EAAO,GAAO,UAAAX,EAAW,GAAAsL,EAAI,GAAGzK,CAAA,EAASC,IAAQ,CAC3H,MAAMyK,EAAUD,IAAOrL,EAAQ,SAASmB,EAAcnB,CAAK,CAAC,GAAK,QAC3DuL,EAAWlL,EAAM,OAAgC,IAAI,EACrD,CAAA,CAAGmL,CAAW,EAAInL,EAAM,SAAS,CAAC,EAClCoL,EAAe7K,EAAM,QAAU,OAC/B8K,EAAW,OAAOD,EAAe7K,EAAM,OAAS,GAAKA,EAAM,cAAgB2K,EAAS,SAAS,OAAS,EAAE,EAAE,OAAS,EAEnHI,EAAWC,GAAkC,CAG/C,GAFAL,EAAS,QAAUK,EAEf,OAAO/K,GAAQ,WAAY,CAC3BA,EAAI+K,CAAI,EACR,MACJ,CAEI/K,IACAA,EAAI,QAAU+K,EAEtB,EAEMC,EAAc,IAAM,CACtB,MAAMD,EAAOL,EAAS,QACtB,GAAI,CAACK,GAAQhL,EAAM,UAAYA,EAAM,SACjC,OAGe,OAAO,yBAAyB,OAAO,iBAAiB,UAAW,OAAO,GACjF,KAAK,KAAKgL,EAAM,EAAE,EAC9BA,EAAK,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,EAAA,CAAM,CAAC,EACxDA,EAAK,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAA,CAAM,CAAC,EACzDJ,EAAaM,GAAYA,EAAU,CAAC,EACpCF,EAAK,MAAA,CACT,EAEMG,EAAeC,GAA6C,CAC9DpL,EAAM,UAAUoL,CAAK,EAChBP,GACDD,EAAaM,GAAYA,EAAU,CAAC,CAE5C,EAEMG,EAAiBb,GAAaM,EAChCvL,EAAAA,IAACe,EAAA,CACG,KAAMf,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,GAAI,EACnC,aAAW,eACX,QAAQ,QACR,KAAK,KACL,QAAS8I,EACT,SAAU,GACV,UAAU,oBAAA,CAAA,EAEdV,EAEJ,OACIhL,EAAAA,IAAC8B,GAAU,MAAAjC,EAAc,MAAAkC,EAAc,KAAM+I,EAAa,KAAAvK,EAAY,QAAS4K,EAAS,UAAAvL,EACpF,SAAAG,EAAAA,KAAC,OAAI,UAAWzB,EAAW,cAAe,gBAAgBU,CAAI,GAAI+C,GAAS,qBAAsBtB,EAAM,UAAY,uBAAuB,EACrI,SAAA,CAAAsK,GAAU/K,EAAAA,IAAC,OAAA,CAAK,UAAU,wDAAyD,SAAA+K,EAAO,EAC3F/K,EAAAA,IAAC,QAAA,CACG,IAAKwL,EACL,GAAIL,EACJ,UAAW7M,EACP,qBACA,EAAQyM,GAAW,kCACnB,EAAQe,GAAmB,iCAAA,EAE/B,eAAc,CAAC,CAAC/J,EAChB,mBAAkBA,EAAQ,GAAGoJ,CAAO,SAAWL,EAAc,GAAGK,CAAO,eAAiB,OACvF,GAAG1K,EACJ,QAASmL,CAAA,CAAA,EAEZE,GAAkB9L,EAAAA,IAAC,OAAA,CAAK,UAAU,wDAAyD,SAAA8L,CAAA,CAAe,CAAA,CAAA,CAC/G,CAAA,CACJ,CAER,CACJ,EAEAjB,EAAM,YAAc,QChFb,MAAMkB,GAAW7L,EAAM,WAC1B,CAAC,CAAE,MAAAL,EAAO,MAAAkC,EAAO,YAAA+I,EAAa,KAAAvK,EAAO,GAAO,OAAAyL,EAAS,WAAY,UAAApM,EAAW,GAAAsL,EAAI,KAAAe,EAAO,EAAG,MAAAnM,EAAO,GAAGW,CAAA,EAASC,IAAQ,CACjH,MAAMyK,EAAUD,IAAOrL,EAAQ,YAAYmB,EAAcnB,CAAK,CAAC,GAAK,QAEpE,OACIG,EAAAA,IAAC8B,GAAU,MAAAjC,EAAc,MAAAkC,EAAc,KAAM+I,EAAa,KAAAvK,EAAY,QAAS4K,EAAS,UAAAvL,EACpF,SAAAI,EAAAA,IAAC,WAAA,CACG,IAAAU,EACA,GAAIyK,EACJ,KAAAc,EACA,UAAW3N,EACP,WACAyD,GAAS,iBAAA,EAEb,eAAc,CAAC,CAACA,EAChB,mBAAkBA,EAAQ,GAAGoJ,CAAO,SAAWL,EAAc,GAAGK,CAAO,eAAiB,OACxF,MAAO,CAAE,OAAAa,EAAQ,GAAIlM,GAAS,CAAA,CAAC,EAC9B,GAAGW,CAAA,CAAA,EAEZ,CAER,CACJ,EAEAsL,GAAS,YAAc,WCxBhB,MAAMG,GAAShM,EAAM,WACxB,CAAC,CAAE,SAAAiM,EAAU,QAAAhM,EAAU,GAAO,SAAAiM,EAAU,GAAG3L,CAAA,EAASC,IAAQ,CACxD,MAAM2L,EAAgBR,GAA+C,CACjEO,IAAWP,CAAK,EAChBM,IAAWN,EAAM,OAAO,KAAK,CACjC,EAEA,OACI7L,EAAAA,IAAC6K,EAAA,CACG,IAAAnK,EACA,KAAK,SACL,UAAS,GACT,OAAQP,EAAUH,EAAAA,IAACL,EAAA,CAAO,KAAK,IAAA,CAAK,EAAKK,EAAAA,IAAC4C,EAAA,CAAK,KAAK,SAAS,KAAM,EAAA,CAAI,EACvE,SAAUyJ,EACT,GAAG5L,CAAA,CAAA,CAGhB,CACJ,EAEAyL,GAAO,YAAc,SClBrB,MAAMI,GAAY,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAElE,SAASC,EAAeC,EAAgB,CACpC,GAAI,CAACA,EAAO,OAAO,KAEnB,KAAM,CAACC,EAAMC,EAAOC,CAAG,EAAIH,EAAM,MAAM,GAAG,EAAE,IAAI,MAAM,EACtD,MAAI,CAACC,GAAQ,CAACC,GAAS,CAACC,EAAY,KAE7B,IAAI,KAAKF,EAAMC,EAAQ,EAAGC,CAAG,CACxC,CAEA,SAASC,GAAgBC,EAAmB,CACxC,GAAI,CAACA,EAAM,MAAO,GAElB,MAAMF,EAAM,OAAOE,EAAK,QAAA,CAAS,EAAE,SAAS,EAAG,GAAG,EAC5CH,EAAQ,OAAOG,EAAK,SAAA,EAAa,CAAC,EAAE,SAAS,EAAG,GAAG,EACnDJ,EAAOI,EAAK,YAAA,EAElB,MAAO,GAAGF,CAAG,IAAID,CAAK,IAAID,CAAI,EAClC,CAEA,SAASK,GAAUD,EAAmB,CAClC,GAAI,CAACA,EAAM,MAAO,GAElB,MAAMF,EAAM,OAAOE,EAAK,QAAA,CAAS,EAAE,SAAS,EAAG,GAAG,EAC5CH,EAAQ,OAAOG,EAAK,SAAA,EAAa,CAAC,EAAE,SAAS,EAAG,GAAG,EAGzD,MAAO,GAFMA,EAAK,YAAA,CAEJ,IAAIH,CAAK,IAAIC,CAAG,EAClC,CAEA,SAASI,GAAUC,EAAgBC,EAAgB,CAC/C,MAAI,CAACD,GAAK,CAACC,EAAU,GAEdD,EAAE,YAAA,IAAkBC,EAAE,YAAA,GACtBD,EAAE,SAAA,IAAeC,EAAE,YACnBD,EAAE,QAAA,IAAcC,EAAE,QAAA,CAC7B,CAEA,SAASC,GAAkBC,EAAiB,CACxC,MAAMC,EAAe,IAAI,KAAKD,EAAU,cAAeA,EAAU,SAAA,EAAY,CAAC,EACxEE,EAAa,IAAI,KAAKF,EAAU,cAAeA,EAAU,SAAA,EAAa,EAAG,CAAC,EAC1EG,EAAWF,EAAa,OAAA,EACxBG,EAAYF,EAAW,QAAA,EACvBG,EAAgD,CAAA,EAEtD,QAASC,EAAQH,EAAW,EAAGG,GAAS,EAAGA,GAAS,EAAG,CACnD,MAAMZ,EAAO,IAAI,KAAKO,CAAY,EAClCP,EAAK,QAAQO,EAAa,QAAA,GAAaK,EAAQ,EAAE,EACjDD,EAAK,KAAK,CAAE,KAAAX,EAAM,QAAS,GAAM,CACrC,CAEA,QAASF,EAAM,EAAGA,GAAOY,EAAWZ,GAAO,EACvCa,EAAK,KAAK,CAAE,KAAM,IAAI,KAAKL,EAAU,YAAA,EAAeA,EAAU,WAAYR,CAAG,EAAG,QAAS,GAAO,EAGpG,MAAMe,EAAeF,EAAK,QAAU,GAAK,GAAK,GAE9C,KAAOA,EAAK,OAASE,GAAc,CAC/B,MAAMC,EAAWH,EAAKA,EAAK,OAAS,CAAC,GAAG,MAAQH,EAC1CO,EAAW,IAAI,KAAKD,CAAQ,EAClCC,EAAS,QAAQD,EAAS,QAAA,EAAY,CAAC,EACvCH,EAAK,KAAK,CAAE,KAAMI,EAAU,QAAS,GAAM,CAC/C,CAEA,OAAOJ,CACX,CAEO,MAAMK,GAAa3N,EAAM,WAC5B,CAAC,CAAE,MAAAL,EAAO,MAAAkC,EAAO,YAAA+I,EAAa,KAAAvK,EAAO,GAAO,UAAAX,EAAW,GAAAsL,EAAI,MAAAsB,EAAO,aAAAsB,EAAc,SAAA1B,EAAU,YAAA2B,EAAc,aAAc,SAAA3N,EAAU,KAAM4N,EAAO,OAAQC,EAAS,OAAQC,EAAS,UAAWC,EAAY,GAAG1N,CAAA,EAASC,IAAQ,CACtN,MAAMyK,EAAUD,IAAOrL,EAAQ,cAAcmB,EAAcnB,CAAK,CAAC,GAAK,QAChEuO,EAAUlO,EAAM,OAA8B,IAAI,EAClDmO,EAAgBnO,EAAM,QAAQ,IAAM4M,OAAc,IAAM,EAAG,EAAE,EAC7DwB,EAAcpO,EAAM,QAAQ,IAAMqM,EAAeC,GAASsB,GAAgBO,CAAa,EAAG,CAACP,EAAcO,EAAe7B,CAAK,CAAC,EAC9H,CAAC+B,EAAeC,CAAgB,EAAItO,EAAM,SAAiB4N,GAAgBO,CAAa,EACxF,CAACI,EAAMC,CAAO,EAAIxO,EAAM,SAAS,EAAK,EACtCyO,EAAepC,EAAeC,GAAS+B,CAAa,EACpD,CAACK,EAAUC,CAAW,EAAI3O,EAAM,SAAeoO,GAAe,IAAI,IAAM,EACxEhD,EAAekB,IAAU,OAE/BtM,EAAM,UAAU,IAAM,CAClB,MAAM0N,EAAWrB,EAAeC,GAAS+B,CAAa,EAClDX,GACAiB,EAAYjB,CAAQ,CAE5B,EAAG,CAACW,EAAe/B,CAAK,CAAC,EAEzBtM,EAAM,UAAU,IAAM,CAClB,GAAI,CAACuO,EAAM,OAEX,MAAMK,EAAqBjD,GAAsB,CACzCuC,EAAQ,SAAW,CAACA,EAAQ,QAAQ,SAASvC,EAAM,MAAc,GACjE6C,EAAQ,EAAK,CAErB,EAEA,gBAAS,iBAAiB,YAAaI,CAAiB,EACjD,IAAM,SAAS,oBAAoB,YAAaA,CAAiB,CAC5E,EAAG,CAACL,CAAI,CAAC,EAET,MAAMM,EAAeC,GAAyB,CACrC1D,GACDkD,EAAiBQ,CAAY,EAGjC,MAAMC,EAAY,CACd,OAAQ,CAAE,MAAOD,EAAc,GAAI7D,EAAS,KAAM1K,EAAM,IAAA,EACxD,cAAe,CAAE,MAAOuO,EAAc,GAAI7D,EAAS,KAAM1K,EAAM,IAAA,CAAK,EAGxE2L,IAAW6C,CAAS,CACxB,EAEMC,EAAoBrC,GAAe,CACrC,MAAMmC,EAAelC,GAAUD,CAAI,EACnCkC,EAAYC,CAAY,EACxBH,EAAYhC,CAAI,CACpB,EAEMnB,GAAc,IAAM,CACtBqD,EAAY,EAAE,CAClB,EAEMI,GAAc,IAAM,CACtBT,EAAQ,EAAK,CACjB,EAEMU,GAAaR,EAAS,mBAAmB,QAAS,CACpD,MAAO,OACP,KAAM,SAAA,CACT,EAEKS,GAAenC,GAAkB0B,CAAQ,EAE/C,OACI5O,EAAAA,IAAC8B,EAAA,CAAU,MAAAjC,EAAc,MAAAkC,EAAc,KAAM+I,EAAa,KAAAvK,EAAY,QAAS4K,EAAS,UAAAvL,EACpF,SAAAG,EAAAA,KAAC,MAAA,CAAI,IAAKqO,EAAS,UAAU,cACzB,SAAA,CAAArO,EAAAA,KAAC,MAAA,CACG,UAAWzB,EACP,qBACAmQ,GAAQ,2BACR1M,GAAS,4BACT3B,GAAY,8BAAA,EAGhB,SAAA,CAAAJ,EAAAA,IAAC,QAAA,CACI,GAAGS,EACJ,IAAAC,EACA,GAAIyK,EACJ,KAAK,OACL,MAAOyB,GAAgB+B,CAAY,EACnC,YAAAZ,EACA,SAAQ,GACR,SAAA3N,EACA,UAAU,qBACV,QAAS,IAAM,CAACA,GAAYsO,EAAQ,EAAI,CAAA,CAAA,EAE5C1O,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAU,sBACV,QAAS,IAAM,CAACI,GAAYsO,EAAS/C,GAAY,CAACA,CAAO,EACzD,aAAW,mBACX,SAAAvL,EAEA,SAAAJ,EAAAA,IAAC4C,EAAA,CAAK,KAAK,WAAW,KAAM,EAAA,CAAI,CAAA,CAAA,CACpC,CAAA,CAAA,EAGH6L,SACI,MAAA,CAAI,UAAU,uBAAuB,KAAK,SAAS,aAAW,QAC3D,SAAA,CAAA1O,EAAAA,KAAC,MAAA,CAAI,UAAU,sBACX,SAAA,CAAAC,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAU,mBACV,QAAS,IAAM6O,EAAalD,GAAY,IAAI,KAAKA,EAAQ,YAAA,EAAeA,EAAQ,SAAA,EAAa,EAAG,CAAC,CAAC,EAClG,aAAW,eAEX,SAAA3L,EAAAA,IAAC4C,EAAA,CAAK,KAAK,eAAe,KAAM,EAAA,CAAI,CAAA,CAAA,EAExC5C,EAAAA,IAAC,OAAA,CAAK,UAAU,qBAAsB,SAAAoP,GAAW,EACjDpP,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAU,mBACV,QAAS,IAAM6O,EAAalD,GAAY,IAAI,KAAKA,EAAQ,YAAA,EAAeA,EAAQ,SAAA,EAAa,EAAG,CAAC,CAAC,EAClG,aAAW,cAEX,SAAA3L,EAAAA,IAAC4C,EAAA,CAAK,KAAK,gBAAgB,KAAM,EAAA,CAAI,CAAA,CAAA,CACzC,EACJ,EAEA5C,MAAC,MAAA,CAAI,UAAU,wBACV,YAAU,IAAK2M,GACZ3M,EAAAA,IAAC,QAAe,UAAU,uBAAwB,SAAA2M,GAAvCA,CAA2C,CACzD,EACL,EAEA3M,EAAAA,IAAC,MAAA,CAAI,UAAU,oBACV,SAAAqP,GAAa,IAAI,CAAC,CAAE,KAAAxC,EAAM,QAAAyC,CAAA,IAAc,CACrC,MAAMC,GAAaxC,GAAUF,EAAM8B,CAAY,EAE/C,OACI3O,EAAAA,IAAC,SAAA,CAEG,KAAK,SACL,UAAW1B,EACP,mBACAgR,GAAW,4BACXC,IAAc,4BAAA,EAElB,QAAS,IAAML,EAAiBrC,CAAI,EAEnC,WAAK,QAAA,CAAQ,EATTA,EAAK,YAAA,CAAY,CAYlC,CAAC,CAAA,CACL,EAEA9M,EAAAA,KAAC,MAAA,CAAI,UAAU,sBACX,SAAA,CAAAC,MAACC,EAAA,CAAO,QAAQ,QAAQ,QAASyL,GAAa,SAAA,SAAM,EACpD1L,EAAAA,IAACC,EAAA,CAAO,QAASkP,GAAa,SAAA,WAAA,CAAS,CAAA,CAAA,CAC3C,CAAA,CAAA,CACJ,EACA,IAAA,CAAA,CACR,CAAA,CACJ,CAER,CACJ,EAEAtB,GAAW,YAAc,aCtOlB,MAAM2B,GAAStP,EAAM,WACxB,CAAC,CACG,QAAApB,EACA,MAAA0N,EACA,aAAAsB,EACA,SAAA1B,EACA,MAAAvM,EACA,MAAAkC,EACA,YAAA+I,EACA,KAAA9L,EAAO,KACP,YAAA+O,EAAc,YACd,KAAAxN,EAAO,GACP,SAAAH,EAAW,GACX,WAAAqP,EAAa,GACb,kBAAAC,EAAoB,YACpB,UAAA9P,EACA,GAAGa,CAAA,EACJC,IAAQ,CACP,MAAMiP,EAAcC,EAAAA,MAAA,EACdxB,EAAUyB,EAAAA,OAAuB,IAAI,EACrCC,EAAiBD,EAAAA,OAAyB,IAAI,EAC9C,CAACE,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EACpC,CAACC,EAAYC,CAAa,EAAIF,EAAAA,SAAS,EAAE,EACzC,CAAC1B,EAAeC,CAAgB,EAAIyB,EAAAA,SAASnC,GAAgB,EAAE,EAC/DsC,EAAgB5D,GAAS+B,EAE/B8B,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACN,EAAQ,CACTI,EAAc,EAAE,EAChB,MACJ,CAEIV,GACAK,EAAe,SAAS,MAAA,CAEhC,EAAG,CAACC,EAAQN,CAAU,CAAC,EAEvBY,EAAAA,UAAU,IAAM,CACZ,MAAMC,EAAsBzE,GAAsB,CAC1CuC,EAAQ,SAAW,CAACA,EAAQ,QAAQ,SAASvC,EAAM,MAAc,GACjEmE,EAAU,EAAK,CAEvB,EAEA,gBAAS,iBAAiB,YAAaM,CAAkB,EAClD,IAAM,SAAS,oBAAoB,YAAaA,CAAkB,CAC7E,EAAG,CAAA,CAAE,EAEL,MAAMC,EAAiBzR,EAAQ,KAAM0R,GAAWA,EAAO,QAAUJ,CAAa,EAExEK,EAAkBC,EAAAA,QAAQ,IACxB,CAACjB,GAAc,CAACS,EAAmBpR,EAEhCA,EAAQ,OAAQ0R,IACNA,EAAO,cAAgB,OAAOA,EAAO,OAAU,SAAWA,EAAO,MAAQA,EAAO,QACjF,YAAA,EAAc,SAASN,EAAW,aAAa,CAC9D,EACF,CAACpR,EAAS2Q,EAAYS,CAAU,CAAC,EAE9BS,EAAe,CAACC,EAAmBC,IAA6B,CAC9DA,IAEArE,IAAU,QACVgC,EAAiBoC,CAAS,EAG9BxE,IAAWwE,CAAS,EACpBZ,EAAU,EAAK,EACnB,EAEA,aACKlO,EAAA,CAAU,MAAAjC,EAAc,MAAAkC,EAAc,KAAM+I,EAAa,KAAAvK,EAAY,UAAAX,EAAsB,QAAS+P,EACjG,SAAA5P,EAAAA,KAAC,MAAA,CAAI,IAAKqO,EAAS,UAAW9P,EAAW,SAAUiC,GAAQ,cAAc,EACrE,SAAA,CAAAR,EAAAA,KAAC,MAAA,CACG,IAAAW,EACA,GAAIiP,EACJ,KAAK,WACL,gBAAeI,EACf,gBAAe,GAAGJ,CAAW,WAC7B,gBAAc,UACd,SAAUvP,EAAW,GAAK,EAC1B,UAAW9B,EACP,kBACA,oBAAoBU,CAAI,GACxB+Q,GAAU,wBACVhO,GAAS,yBACT3B,GAAY,2BAAA,EAEhB,QAAS,IAAM,CAACA,GAAY4P,EAAWrE,GAAY,CAACA,CAAO,EAC3D,UAAYE,GAAU,CACdzL,KACAyL,EAAM,MAAQ,SAAWA,EAAM,MAAQ,OACvCA,EAAM,eAAA,EACNmE,EAAWrE,GAAY,CAACA,CAAO,GAE/BE,EAAM,MAAQ,UACdmE,EAAU,EAAK,EAEvB,EACC,GAAGvP,EAEJ,SAAA,CAAAT,EAAAA,IAAC,OAAA,CAAK,UAAW1B,EAAW,gBAAiB,CAACiS,GAAkB,4BAA4B,EACvF,SAAAA,GAAgB,OAASxC,CAAA,CAC9B,EACA/N,EAAAA,IAAC,OAAA,CAAK,UAAU,eAAe,SAAAA,EAAAA,IAAC4C,GAAK,KAAK,eAAe,KAAM,EAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,EAGxEmN,GACGhQ,EAAAA,KAAC,MAAA,CAAI,UAAU,eACV,SAAA,CAAA0P,GACG1P,EAAAA,KAAC,MAAA,CAAI,UAAU,iBACX,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,sBAAsB,SAAAA,EAAAA,IAAC4C,GAAK,KAAK,SAAS,KAAM,EAAA,CAAI,CAAA,CAAE,EACtE5C,EAAAA,IAAC,QAAA,CACG,IAAK8P,EACL,UAAU,uBACV,MAAOI,EACP,YAAaR,EACb,SAAW7D,GAAUsE,EAActE,EAAM,OAAO,KAAK,CAAA,CAAA,CACzD,EACJ,QAGH,KAAA,CAAG,GAAI,GAAG8D,CAAW,WAAY,UAAU,eAAe,KAAK,UAC3D,WAAgB,OAAS,EAAIc,EAAgB,IAAKD,GAAW,CAC1D,MAAMjB,EAAaiB,EAAO,QAAUJ,EAEpC,OACIrQ,EAAAA,KAAC,KAAA,CAEG,KAAK,SACL,gBAAewP,EACf,UAAWjR,EACP,iBACAiR,GAAc,2BACdiB,EAAO,UAAY,0BAAA,EAEvB,QAAS,IAAMG,EAAaH,EAAO,MAAOA,EAAO,QAAQ,EAEzD,SAAA,CAAAxQ,EAAAA,IAAC,OAAA,CAAM,WAAO,KAAA,CAAM,EACnBuP,GAAcvP,EAAAA,IAAC,OAAA,CAAK,UAAU,uBAAuB,SAAAA,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,EAAA,CAAI,CAAA,CAAE,CAAA,CAAA,EAXhF4N,EAAO,KAAA,CAcxB,CAAC,EACGxQ,EAAAA,IAAC,MAAG,UAAU,gBAAgB,4BAAgB,CAAA,CAEtD,CAAA,CAAA,CACJ,CAAA,CAAA,CAER,CAAA,CACJ,CAER,CACJ,EAEAwP,GAAO,YAAc,SC1Jd,MAAMsB,GAAc5Q,EAAM,WAC7B,CAAC,CACG,QAAApB,EACA,MAAA0N,EACA,aAAAsB,EAAe,CAAA,EACf,SAAA1B,EACA,MAAAvM,EACA,MAAAkC,EACA,YAAA+I,EACA,YAAAiD,EAAc,oBACd,KAAAxN,EAAO,GACP,SAAAH,EAAW,GACX,UAAAR,EACA,GAAGa,CAAA,EACJC,IAAQ,CACP,MAAMiP,EAAcC,EAAAA,MAAA,EACdxB,EAAUyB,EAAAA,OAAuB,IAAI,EACrC,CAACE,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EACpC,CAAC1B,EAAeC,CAAgB,EAAIyB,EAAAA,SAAmBnC,CAAY,EACnEiD,EAAiBvE,GAAS+B,EAEhC8B,EAAAA,UAAU,IAAM,CACZ,MAAMC,EAAsBzE,GAAsB,CAC1CuC,EAAQ,SAAW,CAACA,EAAQ,QAAQ,SAASvC,EAAM,MAAc,GACjEmE,EAAU,EAAK,CAEvB,EAEA,gBAAS,iBAAiB,YAAaM,CAAkB,EAClD,IAAM,SAAS,oBAAoB,YAAaA,CAAkB,CAC7E,EAAG,CAAA,CAAE,EAEL,MAAMU,EAAkBN,EAAAA,QACpB,IAAM5R,EAAQ,OAAQ0R,GAAWO,EAAe,SAASP,EAAO,KAAK,CAAC,EACtE,CAAC1R,EAASiS,CAAc,CAAA,EAGtBE,EAAgBL,GAAwB,CACtCpE,IAAU,QACVgC,EAAiBoC,CAAS,EAG9BxE,IAAWwE,CAAS,CACxB,EAEMM,EAAc,CAACC,EAAqBN,IAA6B,CACnE,GAAI,CAAAA,EAEJ,IAAIE,EAAe,SAASI,CAAW,EAAG,CACtCF,EAAaF,EAAe,OAAQK,GAASA,IAASD,CAAW,CAAC,EAClE,MACJ,CAEAF,EAAa,CAAC,GAAGF,EAAgBI,CAAW,CAAC,EACjD,EAEA,aACKrP,EAAA,CAAU,MAAAjC,EAAc,MAAAkC,EAAc,KAAM+I,EAAa,KAAAvK,EAAY,UAAAX,EAAsB,QAAS+P,EACjG,SAAA5P,EAAAA,KAAC,MAAA,CAAI,IAAKqO,EAAS,UAAW9P,EAAW,cAAeiC,GAAQ,mBAAmB,EAC/E,SAAA,CAAAR,EAAAA,KAAC,MAAA,CACG,IAAAW,EACA,GAAIiP,EACJ,KAAK,WACL,gBAAeI,EACf,gBAAe,GAAGJ,CAAW,WAC7B,gBAAc,UACd,SAAUvP,EAAW,GAAK,EAC1B,UAAW9B,EACP,uBACAyR,GAAU,6BACVhO,GAAS,8BACT3B,GAAY,gCAAA,EAEhB,QAAS,IAAM,CAACA,GAAY4P,EAAWrE,GAAY,CAACA,CAAO,EAC3D,UAAYE,GAAU,CACdzL,KACAyL,EAAM,MAAQ,SAAWA,EAAM,MAAQ,OACvCA,EAAM,eAAA,EACNmE,EAAWrE,GAAY,CAACA,CAAO,GAE/BE,EAAM,MAAQ,UACdmE,EAAU,EAAK,EAEvB,EACC,GAAGvP,EAEJ,SAAA,CAAAT,EAAAA,IAAC,MAAA,CAAI,UAAU,sBACV,SAAAgR,EAAgB,OAAS,EAAIA,EAAgB,IAAKR,GAC/CzQ,EAAAA,KAAC,OAAA,CAAwB,UAAU,mBAC/B,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,yBAA0B,SAAAwQ,EAAO,MAAM,EACvDxQ,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAU,0BACV,QAAU6L,GAAU,CAChBA,EAAM,gBAAA,EACNqF,EAAYV,EAAO,KAAK,CAC5B,EACA,aAAY,UAAUA,EAAO,KAAK,GAElC,SAAAxQ,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,EAAA,CAAI,CAAA,CAAA,CACjC,CAAA,EAZO4N,EAAO,KAalB,CACH,QACI,OAAA,CAAK,UAAU,2BAA4B,SAAAzC,CAAA,CAAY,CAAA,CAEhE,EACA/N,EAAAA,IAAC,OAAA,CAAK,UAAU,oBAAoB,SAAAA,EAAAA,IAAC4C,GAAK,KAAK,eAAe,KAAM,EAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,EAG7EmN,GACG/P,EAAAA,IAAC,KAAA,CAAG,GAAI,GAAG2P,CAAW,WAAY,UAAU,oBAAoB,KAAK,UAAU,uBAAqB,OAC/F,SAAA7Q,EAAQ,OAAS,EAAIA,EAAQ,IAAK0R,GAAW,CAC1C,MAAMjB,EAAawB,EAAe,SAASP,EAAO,KAAK,EAEvD,OACIzQ,EAAAA,KAAC,KAAA,CAEG,KAAK,SACL,gBAAewP,EACf,UAAWjR,EACP,sBACAiR,GAAc,gCACdiB,EAAO,UAAY,+BAAA,EAEvB,QAAS,IAAMU,EAAYV,EAAO,MAAOA,EAAO,QAAQ,EAExD,SAAA,CAAAxQ,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAyB,SAAAuP,EAAavP,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,EAAA,CAAI,EAAK,KAAK,EAC7F5C,EAAAA,IAAC,OAAA,CAAM,SAAAwQ,EAAO,KAAA,CAAM,CAAA,CAAA,EAXfA,EAAO,KAAA,CAcxB,CAAC,EACGxQ,EAAAA,IAAC,MAAG,UAAU,qBAAqB,gCAAoB,CAAA,CAE/D,CAAA,CAAA,CAER,CAAA,CACJ,CAER,CACJ,EAEA8Q,GAAY,YAAc,cC5I1B,SAASO,GAAmB3Q,EAA4B8L,EAAiB,CACjE,OAAO9L,GAAQ,WAAYA,EAAI8L,CAAK,EAC/B9L,MAAS,QAAU8L,EAChC,CAEO,MAAM8E,GAAWpR,EAAM,WAC1B,CAAC,CAAE,MAAAL,EAAO,cAAA0R,EAAgB,GAAO,YAAAzG,EAAa,UAAAlL,EAAW,GAAAsL,EAAI,SAAA9K,EAAU,MAAAd,EAAQ,UAAW,MAAAQ,EAAO,GAAGW,CAAA,EAASC,IAAQ,CACjH,MAAMiP,EAAczP,EAAM,MAAA,EACpBiL,EAAUD,GAAM,YAAYyE,CAAW,GACvCvE,EAAWlL,EAAM,OAAgC,IAAI,EAE3DA,EAAM,UAAU,IAAM,CACdkL,EAAS,UAASA,EAAS,QAAQ,cAAgBmG,EAC3D,EAAG,CAACA,CAAa,CAAC,EAElB,MAAMC,EAAa/F,GAAkC,CACjDL,EAAS,QAAUK,EACnB4F,GAAgB3Q,EAAK+K,CAAI,CAC7B,EAEA,OACIzL,EAAAA,IAAC8B,EAAA,CAAU,KAAMgJ,EAAa,KAAI,GAAC,UAAAlL,EAAsB,QAASuL,EAC9D,SAAApL,EAAAA,KAAC,QAAA,CAAM,UAAWzB,EAAW,WAAY8B,GAAY,oBAAoB,EAAG,MAAO,CAAG,mBAA+BZ,EAASF,CAAK,EAAG,GAAIQ,GAAS,CAAA,GAC/I,SAAA,CAAAC,EAAAA,KAAC,OAAA,CAAK,UAAU,oBACZ,SAAA,CAAAC,EAAAA,IAAC,QAAA,CACG,IAAKwR,EACL,GAAIrG,EACJ,KAAK,WACL,UAAU,kBACV,SAAA/K,EACA,eAAcmR,EAAgB,QAAU,OACvC,GAAG9Q,CAAA,CAAA,EAERT,EAAAA,IAAC,QAAK,UAAU,gBAAgB,cAAY,OACxC,SAAAA,EAAAA,IAAC,QAAK,UAAU,iBAAkB,WAAgBA,EAAAA,IAAC4C,EAAA,CAAK,KAAK,OAAA,CAAQ,QAAMA,EAAA,CAAK,KAAK,OAAA,CAAQ,CAAA,CAAG,CAAA,CACpG,CAAA,EACJ,EACC/C,GAASG,EAAAA,IAAC,OAAA,CAAK,UAAU,kBAAmB,SAAAH,CAAA,CAAM,CAAA,CAAA,CACvD,CAAA,CACJ,CAER,CACJ,EAEAyR,GAAS,YAAc,WC7ChB,MAAMG,GAAQvR,EAAM,WAAyC,CAAC,CACjE,MAAAL,EACA,YAAA6R,EACA,UAAA9R,EACA,SAAAQ,EACA,MAAA2B,EACA,MAAAjC,EACA,MAAAR,EAAQ,UACR,GAAA4L,EACA,GAAGzK,CACP,EAAGC,IAAQ,CACP,MAAMiP,EAAczP,EAAM,MAAA,EACpBiL,EAAUD,GAAM,SAASyE,CAAW,GAE1C,OACI3P,EAAAA,IAAC8B,EAAA,CAAU,KAAI,GAAC,UAAAlC,EAAsB,QAASuL,EAC3C,SAAApL,EAAAA,KAAC,QAAA,CAAM,UAAWzB,EAAW,QAAS8B,GAAY,kBAAmB2B,GAAS,cAAc,EAAG,MAAO,CAAG,gBAA4BvC,EAASF,CAAK,EAAG,GAAIQ,GAAS,CAAA,GAC/J,SAAA,CAAAC,EAAAA,KAAC,OAAA,CAAK,UAAU,yBACZ,SAAA,CAAAC,EAAAA,IAAC,QAAA,CAAM,IAAAU,EAAU,GAAIyK,EAAS,KAAK,QAAQ,UAAU,eAAe,SAAA/K,EAAqB,GAAGK,CAAA,CAAO,EACnGT,EAAAA,IAAC,QAAK,UAAU,iBACZ,eAAC,OAAA,CAAK,UAAU,aAAa,CAAA,CACjC,CAAA,EACJ,GACEH,GAAS6R,IACP3R,EAAAA,KAAC,OAAA,CAAK,UAAU,iBACX,SAAA,CAAAF,GAASG,EAAAA,IAAC,OAAA,CAAK,UAAU,eAAgB,SAAAH,EAAM,EAC/C6R,GAAe1R,EAAAA,IAAC,OAAA,CAAK,UAAU,qBAAsB,SAAA0R,CAAA,CAAY,CAAA,CAAA,CACtE,CAAA,CAAA,CAER,CAAA,CACJ,CAER,CAAC,EAEDD,GAAM,YAAc,QCpCb,MAAME,GAAgC,CAAC,CAC1C,MAAAnF,EACA,aAAAsB,EACA,SAAA1B,EACA,IAAAwF,EAAM,EACN,IAAAC,EAAM,IACN,MAAAhS,EACA,YAAAiL,EACA,UAAAlL,EACA,GAAAsL,EACA,GAAGzK,CACP,IAAM,CACF,MAAMkP,EAAczP,EAAM,MAAA,EACpBiL,EAAUD,GAAM,UAAUyE,CAAW,GACrC,CAACpB,EAAeC,CAAgB,EAAIyB,EAAAA,SAAS,OAAOzD,GAASsB,GAAgB,CAAC,CAAC,EAC/EgE,EAAetF,IAAU,OAAY,OAAOA,CAAK,EAAI+B,EACrDwD,GAAeD,EAAe,OAAOF,CAAG,IAAM,OAAOC,CAAG,EAAI,OAAOD,CAAG,GAAM,IAElF,OACI5R,EAAAA,IAAC8B,EAAA,CAAU,MAAAjC,EAAc,KAAMiL,EAAa,KAAI,GAAC,UAAAlL,EAAsB,QAASuL,EAC5E,SAAApL,EAAAA,KAAC,MAAA,CAAI,UAAU,SACX,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,gBACX,SAAAA,EAAAA,IAAC,OAAI,UAAU,eAAe,MAAO,CAAE,MAAO,GAAG+R,CAAU,GAAA,EAAO,EACtE,EACA/R,EAAAA,IAAC,QAAA,CACG,GAAImL,EACJ,KAAK,QACL,IAAAyG,EACA,IAAAC,EACA,MAAOC,EACP,SAAWjG,GAAU,CACjB,MAAMmG,EAAO,OAAOnG,EAAM,OAAO,KAAK,EAClCW,IAAU,QAAWgC,EAAiBwD,CAAI,EAC9C5F,IAAWP,CAAK,CACpB,EACA,UAAU,gBACT,GAAGpL,CAAA,CAAA,EAERT,EAAAA,IAAC,MAAA,CAAI,UAAU,gBAAiB,SAAA8R,CAAA,CAAa,CAAA,CAAA,CACjD,CAAA,CACJ,CAER,ECxCaG,GAAwC,CAAC,CAClD,aAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,SAAAhS,EAAW,GACX,QAAAiS,EACA,MAAAC,EAAQ,0CACR,YAAAZ,EAAc,iDACd,UAAA9R,EACA,GAAGa,CACP,IAAM,CACF,MAAM2K,EAAWyE,EAAAA,OAAyB,IAAI,EACxC,CAAC0C,EAAYC,CAAa,EAAIvC,EAAAA,SAAS,EAAK,EAC5C,CAACwC,EAAOC,CAAQ,EAAIzC,EAAAA,SAAiB,CAAA,CAAE,EACvC,CAAClO,EAAO4Q,CAAQ,EAAI1C,EAAAA,SAAwB,IAAI,EAEhD2C,EAAgBC,GAAqB,CACvCF,EAAS,IAAI,EACb,IAAIG,EAAQD,EAERR,GACkBQ,EAAS,OAAQE,GAASA,EAAK,KAAOV,CAAO,EACjD,OAAS,IACnBM,EAAS,qBAAqB,KAAK,MAAMN,EAAU,KAAO,IAAI,CAAC,KAAK,EACpES,EAAQD,EAAS,OAAQE,GAASA,EAAK,MAAQV,CAAO,GAI1D,CAACD,GAAYU,EAAM,OAAS,IAAGA,EAAQ,CAACA,EAAM,CAAC,CAAC,GAEpD,MAAME,EAAUZ,EAAW,CAAC,GAAGK,EAAO,GAAGK,CAAK,EAAIA,EAClDJ,EAASM,CAAO,EAChBd,IAAec,CAAO,CAC1B,EAEA,OACIjT,EAAAA,KAAC,OAAI,UAAWzB,EAAW,cAAesB,CAAS,EAAI,GAAGa,EACtD,SAAA,CAAAV,EAAAA,KAAC,MAAA,CACG,UAAWzB,EACP,wBACAiU,GAAc,kCACdnS,GAAY,kCACZ2B,GAAS,8BAAA,EAEb,YAAc8J,GAAU,CACpBA,EAAM,eAAA,EACDzL,GAAUoS,EAAc,EAAI,CACrC,EACA,WAAa3G,GAAU,CACnBA,EAAM,eAAA,EACDzL,GAAUoS,EAAc,EAAI,CACrC,EACA,YAAc3G,GAAU,CACpBA,EAAM,eAAA,EACN2G,EAAc,EAAK,CACvB,EACA,OAAS3G,GAAU,CACfA,EAAM,eAAA,EACN2G,EAAc,EAAK,EACdpS,GAAUwS,EAAa,MAAM,KAAK/G,EAAM,aAAa,KAAK,CAAC,CACpE,EACA,QAAS,IAAM,CAACzL,GAAYgL,EAAS,SAAS,MAAA,EAE9C,SAAA,CAAApL,EAAAA,IAAC,QAAA,CACG,IAAKoL,EACL,KAAK,OACL,UAAU,qBACV,SAAWS,GAAUA,EAAM,OAAO,OAAS+G,EAAa,MAAM,KAAK/G,EAAM,OAAO,KAAK,CAAC,EACtF,OAAAsG,EACA,SAAAC,EACA,SAAAhS,CAAA,CAAA,EAEJL,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACX,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,oBAAoB,SAAAA,EAAAA,IAAC4C,GAAK,KAAK,SAAS,KAAM,EAAA,CAAI,CAAA,CAAE,EACnE5C,EAAAA,IAACmB,EAAA,CAAK,OAAO,SAAU,SAAAmR,EAAM,QAC5BnR,EAAA,CAAK,KAAK,KAAK,MAAM,SAAU,SAAAuQ,CAAA,CAAY,CAAA,CAAA,CAChD,CAAA,CAAA,CAAA,EAEH3P,GAAS/B,EAAAA,IAACmB,EAAA,CAAK,KAAK,KAAK,MAAM,SAAU,SAAAY,EAAM,EAC/C0Q,EAAM,OAAS,GACZzS,EAAAA,IAAC,MAAG,UAAU,oBACT,SAAAyS,EAAM,IAAI,CAACM,EAAMtF,IACd1N,EAAAA,KAAC,KAAA,CAAiC,UAAU,oBACxC,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,yBAA0B,SAAA+S,EAAK,KAAK,EACpD/S,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAU,sBACV,QAAS,IAAM,CACX,MAAMgT,EAAUP,EAAM,OAAO,CAACQ,EAAGC,IAAcA,IAAczF,CAAK,EAClEiF,EAASM,CAAO,EAChBd,IAAec,CAAO,CAC1B,EAEA,SAAAhT,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,EAAA,CAAI,CAAA,CAAA,CACjC,CAAA,EAZK,GAAGmQ,EAAK,IAAI,IAAItF,CAAK,EAa9B,CACH,CAAA,CACL,CAAA,EAER,CAER,ECvGA,SAAS0F,EAAcC,EAAiBC,EAAwB,CAC5D,MAAM/R,EAAYpB,EAAM,WACpB,CAAC,CAAE,OAAAkB,EAAS,OAAQ,UAAAxB,EAAW,SAAAY,EAAU,GAAGC,CAAA,EAASC,IAC1CR,EAAM,cACTkT,EACA,CACI,IAAA1S,EACA,UAAWpC,EACP,UACA+U,EACA,mBAAmBjS,CAAM,GACzBxB,CAAA,EAEJ,GAAGa,CAAA,EAEPD,CAAA,CAER,EAGJ,OAAAc,EAAU,YAAc8R,EAAI,OAAO,CAAC,EAAE,cAAgBA,EAAI,MAAM,CAAC,EAE1D9R,CACX,CAEO,MAAMgS,GAAUH,EAAc,KAAM,aAAa,EAC3CI,EAAWJ,EAAc,KAAM,aAAa,EAC5CK,GAAWL,EAAc,KAAM,aAAa,EAC5CM,GAAWN,EAAc,KAAM,aAAa,EAC5CO,GAAWP,EAAc,KAAM,aAAa,EAC5CQ,GAAWR,EAAc,KAAM,aAAa,EC5BlD,SAASS,GAAiD,CAAE,QAAAC,EAAU,KAAM,QAAA9U,EAAU,UAAW,GAAAsC,EAAI,SAAAb,EAAU,UAAAZ,EAAW,GAAGa,GAA8B,CAC9J,MAAMa,EAAaD,GAAM,MAEzB,OACIrB,EAAAA,IAACsB,EAAA,CACG,UAAWhD,EAAW,OAAQ,SAASS,CAAO,GAAI,aAAa8U,CAAO,GAAIjU,CAAS,EAClF,GAAGa,EAEH,SAAAD,CAAA,CAAA,CAGb,CAEO,SAASsT,GAAW,CAAE,MAAAxB,EAAO,YAAAZ,EAAa,KAAArR,EAAM,OAAA0T,EAAQ,SAAAvT,EAAU,UAAAZ,EAAW,GAAGa,GAA0B,CAC7G,OACIV,EAAAA,KAAC,OAAI,UAAWzB,EAAW,cAAesB,CAAS,EAAI,GAAGa,EACtD,SAAA,CAAAV,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACT,SAAA,EAAAuS,GAASjS,IACPN,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACV,SAAA,CAAAM,GAAQL,EAAAA,IAAC,OAAA,CAAK,UAAU,oBAAqB,SAAAK,EAAK,EAClDiS,GACGtS,EAAAA,IAAC0T,GAAA,CAAS,OAAO,WAAY,SAAApB,CAAA,CAAM,CAAA,EAE3C,EAEHZ,GACG1R,EAAAA,IAACmB,EAAA,CAAK,KAAK,KAAK,MAAM,SACjB,SAAAuQ,EACL,EAEHlR,CAAA,EACL,EACCuT,GAAU/T,EAAAA,IAAC,MAAA,CAAI,UAAU,sBAAuB,SAAA+T,CAAA,CAAO,CAAA,EAC5D,CAER,CAEO,SAASC,GAAS,CAAE,SAAAxT,EAAU,UAAAZ,EAAW,GAAGa,GAA2B,CAC1E,OAAOT,MAAC,OAAI,UAAW1B,EAAW,YAAasB,CAAS,EAAI,GAAGa,EAAQ,SAAAD,EAAS,CACpF,CAEO,SAASyT,GAAW,CAAE,SAAAzT,EAAU,UAAAZ,EAAW,GAAGa,GAA2B,CAC5E,OAAOT,MAAC,OAAI,UAAW1B,EAAW,cAAesB,CAAS,EAAI,GAAGa,EAAQ,SAAAD,EAAS,CACtF,CC7CO,MAAM0T,GAAMhU,EAAM,WAAW,SAAyD,CACzF,GAAAmB,EACA,QAAAwS,EAAU,IACV,QAAAM,EAAU,OACV,OAAAC,EAAS,OACT,QAAAC,EAAU,UACV,OAAAC,EAAS,GACT,UAAA1U,EACA,SAAAY,EACA,GAAGC,CACP,EAAuBC,EAAkC,CACrD,MAAMY,EAAaD,GAAM,MAEzB,OACIrB,EAAAA,IAACsB,EAAA,CACG,IAAAZ,EACA,UAAWpC,EACP,MACA,gBAAgBuV,CAAO,GACvB,gBAAgBM,CAAO,GACvB,eAAeC,CAAM,GACrB,gBAAgBC,CAAO,GACvBC,GAAU,cACV1U,CAAA,EAEH,GAAGa,EAEH,SAAAD,CAAA,CAAA,CAGb,CAAC,EC9BY+T,GAAO,CAA6C,CAC7D,SAAA/T,EACA,QAAAgU,EAAU,EACV,IAAA3S,EAAM,IACN,UAAAjC,EACA,MAAAE,EACA,GAAAuB,EACA,GAAGZ,CACP,IAA2B,CACvB,MAAMa,EAAaD,GAAM,MAEzB,OACIrB,EAAAA,IAACsB,EAAA,CACG,UAAWhD,EACP,OACA,cAAckW,CAAO,GACrB,aAAa3S,CAAG,GAChBjC,CAAA,EAEJ,MAAAE,EACC,GAAGW,EAEH,SAAAD,CAAA,CAAA,CAGb,ECzBaiU,GAAsC,CAAC,CAChD,SAAAjU,EACA,KAAAxB,EAAO,KACP,UAAAY,EACA,MAAAE,CACJ,IAEQE,EAAAA,IAAC,MAAA,CACG,UAAW1B,EAAW,YAAa,cAAcU,CAAI,GAAIY,CAAS,EAClE,MAAAE,EAEC,SAAAU,CAAA,CAAA,ECbAkU,GAAgC,CAAC,CAAE,KAAA1V,EAAO,OAAQ,KAAA2V,EAAO,WAAY,MAAA7U,KAAY,CAC1F,MAAMqC,EAAQwS,IAAS,aAAe3V,EAAO,EACvCoD,EAASuS,IAAS,WAAa3V,EAAO,EAE5C,aAAQ,OAAA,CAAK,MAAO,CAAE,QAAS,QAAS,MAAAmD,EAAO,SAAUA,EAAO,OAAAC,EAAQ,UAAWA,EAAQ,GAAGtC,GAAS,cAAY,OAAO,CAC9H,ECJO,SAAS8U,GAAQ,CAAE,YAAAC,EAAc,aAAc,MAAAhV,EAAO,UAAAD,EAAW,GAAGa,GAAuB,CAC9F,OACIT,EAAAA,IAAC,MAAA,CACG,KAAK,YACL,mBAAkB6U,EAClB,UAAWvW,EAAW,UAAW,YAAYuW,CAAW,GAAIhV,GAAS,mBAAoBD,CAAS,EACjG,GAAGa,EAEH,YAASoU,IAAgB,oBAAiB,OAAA,CAAK,UAAU,iBAAkB,SAAAhV,CAAA,CAAM,CAAA,CAAA,CAG9F,CCRA,MAAMiV,GAAcC,EAAAA,cAA8D,CAAE,QAAS,UAAW,EAExG,SAASC,GAAS,CAAE,SAAAxU,EAAU,QAAAzB,EAAU,UAAW,UAAAa,EAAW,GAAGa,GAAoB,CACjF,OACIT,MAAC8U,GAAY,SAAZ,CAAqB,MAAO,CAAE,QAAA/V,CAAA,EAC3B,SAAAiB,EAAAA,IAAC,MAAA,CAAI,UAAW1B,EAAW,OAAQ,SAASS,CAAO,GAAIa,CAAS,EAAG,KAAK,OAAQ,GAAGa,EAC9E,SAAAD,CAAA,CACL,CAAA,CACJ,CAER,CAEA,SAASyU,GAAS,CACd,SAAAzU,EACA,YAAAkR,EACA,aAAAwD,EACA,WAAAC,EACA,OAAAC,EAAS,GACT,SAAAhV,EAAW,GACX,UAAAR,EACA,QAAAyV,EACA,GAAG5U,CAEP,EAAkB,CACd,KAAM,CAAE,QAAA1B,CAAA,EAAYuW,EAAAA,WAAWR,EAAW,EACpCS,EAAgBxW,IAAY,aAAe,CAACmW,EAAelV,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,EAAA,CAAI,EAAKsS,EAEnG,OACInV,EAAAA,KAAC,MAAA,CACG,UAAWzB,EACP,YACA8W,GAAU,oBACVC,GAAW,CAACjV,GAAY,uBACxBA,GAAY,sBACZR,CAAA,EAEJ,KAAK,WACL,SAAUQ,EAAW,GAAKiV,EAAU,EAAI,OACxC,QAASjV,EAAW,OAAYiV,EAC/B,GAAG5U,EAEH,SAAA,CAAA8U,GAAiBvV,EAAAA,IAAC,MAAA,CAAI,UAAU,mBAAoB,SAAAuV,EAAc,EACnExV,EAAAA,KAAC,MAAA,CAAI,UAAU,qBACX,SAAA,CAAAC,MAACmB,GAAK,GAAG,OAAO,OAAO,SAAS,UAAU,mBAAoB,SAAAX,EAAS,EACtEkR,GAAe1R,EAAAA,IAACmB,EAAA,CAAK,GAAG,OAAO,KAAK,KAAK,MAAM,SAAS,UAAU,yBAA0B,SAAAuQ,CAAA,CAAY,CAAA,EAC7G,EACCyD,GAAcnV,EAAAA,IAAC,MAAA,CAAI,UAAU,iBAAkB,SAAAmV,CAAA,CAAW,CAAA,CAAA,CAAA,CAGvE,CAEO,MAAMK,GAAO,OAAO,OAAOR,GAAU,CACxC,KAAMC,EACV,CAAC,EAEAO,GAAgD,YAAc,OCxD/D,SAASC,GAAkBC,EAA6B5H,EAAkC,CACtF,MAAM6H,EAAU,MAAM,QAAQ7H,CAAY,EAAIA,EAAeA,EAAe,CAACA,CAAY,EAAI,CAAA,EACvF,CAAC8H,EAAWC,CAAY,EAAI5F,EAAAA,SAAmB0F,CAAO,EAU5D,MAAO,CAAE,UAAAC,EAAW,OARJ1K,GAAe,CAC3B2K,EAAclK,GAAY,CACtB,MAAMoE,EAASpE,EAAQ,SAAST,CAAE,EAClC,OAAIwK,IAAS,SAAiB3F,EAAS,CAAA,EAAK,CAAC7E,CAAE,EACxC6E,EAASpE,EAAQ,OAAQyF,GAASA,IAASlG,CAAE,EAAI,CAAC,GAAGS,EAAST,CAAE,CAC3E,CAAC,CACL,CAEoB,CACxB,CAEO,MAAM4K,GAA8C,CAAC,CACxD,MAAAxD,EACA,SAAA9R,EACA,OAAAuP,EAAS,GACT,SAAAgG,EACA,GAAA7K,EACA,UAAAtL,EACA,GAAGa,CACP,IACIV,OAAC,MAAA,CAAI,UAAWzB,EAAW,iBAAkByR,GAAU,uBAAwBnQ,CAAS,EAAI,GAAGa,EAC3F,SAAA,CAAAV,EAAAA,KAAC,SAAA,CACG,UAAU,0BACV,QAASgW,EACT,gBAAehG,EACf,gBAAe,qBAAqB7E,CAAE,GACtC,GAAI,qBAAqBA,CAAE,GAC3B,KAAK,SAEL,SAAA,CAAAlL,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAyB,SAAAsS,EAAM,EAC/CtS,EAAAA,IAAC,OAAA,CAAK,UAAU,uBAAuB,SAAAA,EAAAA,IAAC4C,GAAK,KAAK,eAAe,KAAM,EAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,EAEjF5C,EAAAA,IAAC,MAAA,CACG,UAAU,0BACV,GAAI,qBAAqBkL,CAAE,GAC3B,KAAK,SACL,kBAAiB,qBAAqBA,CAAE,GACxC,OAAQ,CAAC6E,EAET,SAAA/P,EAAAA,IAAC,MAAA,CAAI,UAAU,gCAAiC,SAAAQ,CAAA,CAAS,CAAA,CAAA,CAC7D,CAAA,CACJ,EAGSwV,GAAgC,CAAC,CAC1C,SAAAxV,EACA,KAAAkV,EAAO,SACP,aAAA5H,EACA,UAAAlO,EACA,GAAGa,CACP,IAAM,CACF,KAAM,CAAE,UAAAmV,EAAW,OAAAK,CAAA,EAAWR,GAAkBC,EAAM5H,CAAY,EAElE,OACI9N,EAAAA,IAAC,MAAA,CAAI,UAAW1B,EAAW,YAAasB,CAAS,EAAI,GAAGa,EACnD,WAAM,SAAS,IAAID,EAAU,CAAC0V,EAAOzI,IAAU,CAC5C,GAAI,CAACvN,EAAM,eAAmCgW,CAAK,EAAG,OAAOA,EAC7D,MAAMhL,EAAKgL,EAAM,MAAM,IAAM,kBAAkBzI,CAAK,GACpD,OAAOvN,EAAM,aAAagW,EAAO,CAC7B,GAAAhL,EACA,OAAQ0K,EAAU,SAAS1K,CAAE,EAC7B,SAAU,IAAM+K,EAAO/K,CAAE,CAAA,CAC5B,CACL,CAAC,CAAA,CACL,CAER,EAEA8K,GAAU,KAAOF,GCzEV,MAAMK,GAA4B,CAAC,CACtC,KAAAnX,EAAO,KACP,OAAAoC,EAAS,SACT,MAAAgV,EAAQ,GACR,SAAA5V,EACA,UAAAZ,EACA,GAAGa,CACP,IAEQT,EAAAA,IAAC,OAAA,CACG,UAAW1B,EACP,OACA,SAASU,CAAI,GACb,SAASoC,CAAM,GACfgV,GAAS,cACTxW,CAAA,EAEH,GAAGa,EAEH,SAAAD,CAAA,CAAA,EAKb2V,GAAK,YAAc,OCvBZ,MAAME,EAAO,CAA2C,CAC3D,MAAA/W,EAAQ,UACR,UAAAgX,EAAY,GACZ,OAAAlB,EACA,GAAA/T,EACA,UAAAzB,EACA,SAAAY,EACA,KAAA+V,EACA,GAAAC,EACA,MAAA1W,EACA,GAAGW,CACP,IAA2B,CACvB,MAAMgW,EAAc,OAAO,OAAW,IAAc,OAAO,SAAS,SAAW,GACzEC,EAAQF,GAAMD,EACdjV,EAAaD,GAAM,IAEnBsV,EAAiBC,GAAiB,CACpC,MAAMC,EAAWD,EAAK,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAChD,OAAOC,EAAS,SAAS,GAAG,GAAKA,IAAa,IAAMA,EAAS,MAAM,EAAG,EAAE,EAAIA,CAChF,EAEMC,EAAiBJ,GAASD,EAAcE,EAAcF,CAAW,IAAME,EAAcD,CAAK,EAAI,GAC9FK,EAAW3B,GAAU0B,EAE3B,OACI9W,EAAAA,IAACsB,EAAA,CACG,UAAWhD,EAAW,OAAQgY,GAAa,kBAAmBS,GAAY,eAAgBnX,CAAS,EACnG,MAAO,CACF,eAA2BJ,EAASF,CAAK,EAC1C,GAAIQ,GAAS,CAAA,CAAC,EAElB,KAAM4W,EACN,eAAcK,EAAW,OAAS,OACjC,GAAGtW,EAEH,SAAAD,CAAA,CAAA,CAGb,EAEA6V,EAAK,YAAc,OCxCZ,MAAMW,GAAQ9W,EAAM,WAAwC,CAAC,CAChE,SAAAM,EACA,QAAAzB,EAAU,OACV,MAAAO,EAAQ,UACR,KAAAN,EAAO,KACP,UAAAY,EACA,GAAGa,CACP,EAAGC,IAAQ,CACP,MAAME,EAAavB,EAAaC,CAAK,EAAIA,EAAQ,OAEjD,OACIU,EAAAA,IAAC,OAAA,CACG,IAAAU,EACA,UAAWpC,EAAW,QAAS,UAAUS,CAAO,GAAI6B,GAAc,UAAUA,CAAU,GAAI,UAAU5B,CAAI,GAAIY,CAAS,EACrH,MAAQgB,EAAgE,OAAnD,CAAG,gBAA4BpB,EAASF,CAAK,CAAA,EACjE,GAAGmB,EAEH,SAAAD,CAAA,CAAA,CAGb,CAAC,EAEDwW,GAAM,YAAc,QCvBb,SAASC,GAAI,CAChB,SAAAzW,EACA,QAAAzB,EAAU,OACV,KAAAC,EAAO,KACP,MAAAM,EAAQ,UACR,SAAA4X,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAzX,EACA,MAAAE,EACA,GAAGW,CACP,EAAa,CACT,MAAM6W,EAAYF,GAAY,EAAQC,EAEtC,OACItX,EAAAA,KAAC,OAAA,CACG,UAAWzB,EAAW,MAAO,gBAAgBS,CAAO,GAAI,aAAaC,CAAI,GAAIY,CAAS,EACtF,MAAO,CAAG,cAA0BJ,EAASF,CAAK,EAAG,GAAIQ,GAAS,EAAC,EAClE,GAAGW,EAEH,SAAA,CAAAyW,GAAYlX,EAAAA,IAAC,OAAA,CAAK,UAAU,YAAa,SAAAkX,EAAS,EACnDlX,EAAAA,IAAC,OAAA,CAAK,UAAU,aAAc,SAAAQ,CAAA,CAAS,EACtC2W,GAAanX,EAAAA,IAAC,OAAA,CAAK,UAAU,YAAa,SAAAmX,EAAU,EACpDG,GACGtX,EAAAA,IAAC,SAAA,CAAO,KAAK,SAAS,UAAU,cAAc,QAASqX,EAAU,aAAW,aAAa,SAAA,GAAA,CAEzF,CAAA,CAAA,CAAA,CAIhB,CC/BO,MAAME,GAASrX,EAAM,WAAwC,CAAC,CACjE,IAAAsX,EACA,KAAA3U,EACA,KAAA7D,EAAO,KACP,OAAAyY,EACA,UAAA7X,EACA,GAAGa,CACP,EAAGC,IAAQ,CACP,MAAMgX,EAAe7U,GAAkB,CACnC,GAAI,CAACA,EAAM,MAAO,GAClB,MAAM8U,EAAQ9U,EAAK,MAAM,GAAG,EAC5B,OAAI8U,EAAM,SAAW,EAAUA,EAAM,CAAC,EAAE,UAAU,EAAG,CAAC,GAC9CA,EAAM,CAAC,EAAE,CAAC,EAAIA,EAAMA,EAAM,OAAS,CAAC,EAAE,CAAC,GAAG,YAAA,CACtD,EAEA,OACI5X,EAAAA,KAAC,MAAA,CAAI,IAAAW,EAAU,UAAWpC,EAAW,SAAU,WAAWU,CAAI,GAAIY,CAAS,EAAI,GAAGa,EAC7E,SAAA,CAAA+W,EACGxX,EAAAA,IAAC,MAAA,CAAI,IAAAwX,EAAU,IAAK3U,EAAM,UAAU,cAAA,CAAe,EAEnD7C,MAAC,OAAA,CAAK,UAAU,kBAAmB,SAAA0X,EAAY7U,CAAI,EAAE,EAExD4U,SACI,OAAA,CAAK,UAAWnZ,EAAW,gBAAiB,kBAAkBmZ,CAAM,EAAE,CAAA,CAAG,CAAA,EAElF,CAER,CAAC,EAEDF,GAAO,YAAc,SC7Bd,MAAMK,GAAoC,CAAC,CAC9C,MAAAzV,EACA,OAAAC,EACA,OAAAyV,EAAS,GACT,OAAAC,EACA,SAAAC,EAAW,GACX,UAAAnY,EACA,MAAAE,EACA,GAAGW,CACP,IAAM,CACF,MAAMuX,EAAmC,CACrC,MAAO,OAAO7V,GAAU,SAAW,GAAGA,CAAK,KAAOA,EAClD,OAAQ,OAAOC,GAAW,SAAW,GAAGA,CAAM,KAAOA,EACrD,aAAcyV,EAAS,MAAS,OAAOC,GAAW,SAAW,GAAGA,CAAM,KAAOA,EAC7E,GAAGhY,CAAA,EAGP,OACIE,EAAAA,IAAC,MAAA,CACG,UAAW1B,EACP,WACAuZ,GAAU,mBACVE,GAAY,qBACZnY,CAAA,EAEJ,MAAOoY,EACN,GAAGvX,CAAA,CAAA,CAGhB,EAEAmX,GAAS,YAAc,WC9BhB,MAAMK,GAA8B,CAAC,CACxC,IAAAT,EACA,IAAAU,EACA,UAAAC,EAAY,QACZ,OAAAL,EAAS,KACT,UAAAlY,EACA,MAAAE,EACA,SAAAsY,EACA,GAAG3X,CACP,IAAM,CACF,KAAM,CAAC4X,EAAQC,CAAS,EAAIrI,EAAAA,SAAS,EAAK,EACpC,CAAClO,EAAO4Q,CAAQ,EAAI1C,EAAAA,SAAS,EAAK,EAExC,OAAIlO,GAASqW,EAAiBpY,EAAAA,IAAAuY,EAAAA,SAAA,CAAG,SAAAH,EAAS,SAGrC,MAAA,CAAI,UAAW9Z,EAAW,gBAAiBsB,CAAS,EAAG,MAAAE,EACnD,SAAA,CAAA,CAACuY,GAAU,CAACtW,SAAU6V,GAAA,CAAS,UAAWtZ,EAAW,iBAAkB,iBAAiBwZ,CAAM,EAAE,EAAG,MAAO,CAAE,MAAO,OAAQ,OAAQ,QAAU,EAC9I9X,EAAAA,IAAC,MAAA,CACG,IAAAwX,EACA,IAAAU,EACA,UAAW5Z,EAAW,QAAS,cAAc6Z,CAAS,GAAI,iBAAiBL,CAAM,GAAIO,GAAU,eAAe,EAC9G,OAAQ,IAAMC,EAAU,EAAI,EAC5B,QAAS,IAAM3F,EAAS,EAAI,EAC3B,GAAGlS,CAAA,CAAA,CACR,EACJ,CAER,EC7Ba+X,GAAStY,EAAM,WACxB,CAAC,CAAE,MAAAL,EAAO,KAAAb,EAAO,KAAM,UAAAY,EAAW,SAAAQ,EAAU,GAAGK,CAAA,EAASC,IAEhDX,OAAC,SAAM,UAAWzB,EACd,iBACA,WAAWU,CAAI,GACfoB,GAAY,2BACZR,CAAA,EAEA,SAAA,CAAAI,EAAAA,IAAC,QAAA,CACG,KAAK,WACL,UAAU,eACV,SAAAI,EACA,IAAAM,EACC,GAAGD,CAAA,CAAA,EAERT,EAAAA,IAAC,QAAK,UAAU,eACZ,eAAC,OAAA,CAAK,UAAU,eAAe,CAAA,CACnC,EACCH,GAASG,EAAAA,IAAC,OAAA,CAAK,UAAU,eAAgB,SAAAH,CAAA,CAAM,CAAA,EACpD,CAGZ,EAEA2Y,GAAO,YAAc,SCxBd,MAAMC,GAAwC,CAAC,CAClD,YAAAC,EACA,WAAAC,EACA,aAAAC,EACA,aAAAC,EAAe,GACf,UAAAjZ,EACA,GAAGa,CACP,IAAM,CACF,MAAMqY,EAAQpI,EAAAA,QAAQ,IAAM,CACxB,MAAMqI,EAAgC,CAAA,EAChCC,EAAY,KAAK,IAAI,EAAGN,EAAc,CAAC,EACvCO,EAAU,KAAK,IAAIN,EAAYD,EAAc,CAAC,EAEhDM,EAAY,IACZD,EAAM,KAAK,CAAC,EACRC,EAAY,GAAGD,EAAM,KAAK,YAAY,GAG9C,QAASG,EAAOF,EAAWE,GAAQD,EAASC,GAAQ,EAChDH,EAAM,KAAKG,CAAI,EAGnB,OAAID,EAAUN,IACNM,EAAUN,EAAa,GAAGI,EAAM,KAAK,UAAU,EACnDA,EAAM,KAAKJ,CAAU,GAGlBI,CACX,EAAG,CAACL,EAAaC,CAAU,CAAC,EAE5B,OACI5Y,OAAC,MAAA,CAAI,UAAWzB,EAAW,aAAcsB,CAAS,EAAG,aAAW,aAAc,GAAGa,EAC5E,SAAA,CAAAoY,GACG7Y,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAW1B,EAAW,mBAAoBoa,IAAgB,GAAK,4BAA4B,EAC3F,QAAS,IAAME,EAAaF,EAAc,CAAC,EAC3C,SAAUA,IAAgB,EAC1B,aAAW,gBAEX,SAAA1Y,EAAAA,IAAC4C,EAAA,CAAK,KAAK,eAAe,KAAM,EAAA,CAAI,CAAA,CAAA,EAI3CkW,EAAM,IAAI,CAACI,EAAMzL,IAAU,CACxB,GAAI,OAAOyL,GAAS,SAChB,OAAOlZ,EAAAA,IAAC,QAA8B,UAAU,mBAAmB,gBAAjD,GAAGkZ,CAAI,IAAIzL,CAAK,EAAoC,EAG1E,MAAMsJ,EAAWmC,IAASR,EAE1B,OACI1Y,EAAAA,IAAC,SAAA,CAEG,KAAK,SACL,UAAW1B,EAAW,mBAAoByY,GAAY,0BAA0B,EAChF,QAAS,IAAM,CAACA,GAAY6B,EAAaM,CAAI,EAC7C,eAAcnC,EAAW,OAAS,OAEjC,SAAAmC,CAAA,EANIA,CAAA,CASjB,CAAC,EAEAL,GACG7Y,EAAAA,IAAC,SAAA,CACG,KAAK,SACL,UAAW1B,EAAW,mBAAoBoa,IAAgBC,GAAc,4BAA4B,EACpG,QAAS,IAAMC,EAAaF,EAAc,CAAC,EAC3C,SAAUA,IAAgBC,EAC1B,aAAW,YAEX,SAAA3Y,EAAAA,IAAC4C,EAAA,CAAK,KAAK,gBAAgB,KAAM,EAAA,CAAI,CAAA,CAAA,CACzC,EAER,CAER,EAEA6V,GAAW,YAAc,aC9ElB,MAAMU,GAAwC,CAAC,CAClD,KAAA9Y,EACA,MAAAiS,EACA,YAAAZ,EACA,OAAAqC,EACA,UAAAnU,EACA,GAAGa,CACP,IAEQV,EAAAA,KAAC,OAAI,UAAWzB,EAAW,cAAesB,CAAS,EAAI,GAAGa,EACrD,SAAA,CAAAJ,GAAQL,EAAAA,IAAC,MAAA,CAAI,UAAU,oBAAqB,SAAAK,EAAK,EAClDL,EAAAA,IAACyT,IAAU,SAAAnB,CAAA,CAAM,EAChBZ,GAAe1R,EAAAA,IAACmB,EAAA,CAAK,MAAM,SAAU,SAAAuQ,EAAY,EACjDqC,GAAU/T,EAAAA,IAAC,MAAA,CAAI,UAAU,sBAAuB,SAAA+T,CAAA,CAAO,CAAA,EAC5D,ECZKqF,GAA8B,CAAC,CACxC,KAAA3K,EACA,QAAA4K,EACA,MAAA/G,EACA,YAAAZ,EACA,SAAAlR,EACA,OAAA8Y,EACA,KAAAta,EAAO,KACP,oBAAAua,EAAsB,GACtB,UAAA3Z,CACJ,IAAM,CACF,KAAM,CAAC4Z,EAASC,CAAU,EAAIxJ,EAAAA,SAAS,EAAK,EAmB5C,OAjBAI,EAAAA,UAAU,IAAM,CACZ,GAAI,CAAC5B,EAAM,OAEX,MAAMiL,EAAaC,GAAqB,CAChCA,EAAE,MAAQ,UAAUN,EAAA,CAC5B,EAEA,gBAAS,iBAAiB,UAAWK,CAAS,EAC9C,SAAS,KAAK,MAAM,SAAW,SAC/BD,EAAW,EAAI,EAER,IAAM,CACT,SAAS,oBAAoB,UAAWC,CAAS,EACjD,SAAS,KAAK,MAAM,SAAW,EACnC,CACJ,EAAG,CAACjL,EAAM4K,CAAO,CAAC,EAEd,CAAC5K,GAAQ,CAAC+K,EAAgB,KAEvBI,EAAAA,aACH5Z,EAAAA,IAAC,MAAA,CACG,UAAU,gBACV,QAASuZ,EAAsBF,EAAU,OAEzC,SAAAtZ,EAAAA,KAAC,MAAA,CACG,KAAK,SACL,aAAW,OACX,kBAAiBuS,EAAQ,cAAgB,OACzC,mBAAkBZ,EAAc,oBAAsB,OACtD,SAAU,GACV,UAAWpT,EAAW,QAAS,UAAUU,CAAI,GAAIY,CAAS,EAC1D,QAAU+Z,GAAMA,EAAE,gBAAA,EAEhB,SAAA,EAAArH,GAASZ,IACP3R,EAAAA,KAAC,MAAA,CAAI,UAAU,eACX,SAAA,CAAAA,OAAC,MAAA,CACI,SAAA,CAAAuS,SACIiB,EAAA,CAAS,GAAG,cAAc,UAAU,cAAe,SAAAjB,EAAM,EAG7DZ,GACG1R,EAAAA,IAAC,IAAA,CAAE,GAAG,oBAAoB,UAAU,oBAC/B,SAAA0R,CAAA,CACL,CAAA,EAER,EAEA1R,EAAAA,IAACe,EAAA,CACG,KAAMf,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,GAAI,EACnC,aAAW,cACX,QAAQ,QACR,MAAM,UACN,KAAK,KACL,QAASyW,CAAA,CAAA,CACb,EACJ,EAGH7Y,GAAYR,EAAAA,IAAC,MAAA,CAAI,UAAU,aAAc,SAAAQ,EAAS,EAClD8Y,GAAUtZ,EAAAA,IAAC,MAAA,CAAI,UAAU,eAAgB,SAAAsZ,CAAA,CAAO,CAAA,CAAA,CAAA,CACrD,CAAA,EAEJ,SAAS,IAAA,CAEjB,EAEAF,GAAM,YAAc,QC/Eb,MAAMS,GAAgC,CAAC,CAC1C,OAAA9J,EACA,QAAAsJ,EACA,MAAA/G,EACA,UAAAwH,EAAY,QACZ,SAAAtZ,EACA,OAAA8Y,EACA,KAAAta,EAAO,KACP,UAAAY,EACA,oBAAA2Z,EAAsB,EAC1B,IAAM,CACF,KAAM,CAACC,EAASC,CAAU,EAAIxJ,EAAAA,SAAS,EAAK,EAc5C,OAZAI,EAAAA,UAAU,KACNoJ,EAAW,EAAI,EACX1J,EACA,SAAS,KAAK,MAAM,SAAW,SAE/B,SAAS,KAAK,MAAM,SAAW,QAE5B,IAAM,CACT,SAAS,KAAK,MAAM,SAAW,OACnC,GACD,CAACA,CAAM,CAAC,EAENyJ,EAEEI,EAAAA,aACH7Z,OAAAwY,EAAAA,SAAA,CACK,SAAA,CAAAxI,SAAW,MAAA,CAAI,UAAU,iBAAiB,QAASwJ,EAAsBF,EAAU,OAAW,EAC/FtZ,EAAAA,KAAC,MAAA,CACG,UAAWzB,EACP,SACA,WAAWwb,CAAS,GACpB,gBAAgB9a,CAAI,GACpB+Q,GAAU,eACVnQ,CAAA,EAEJ,KAAK,SACL,aAAW,OACX,cAAa,CAACmQ,EAEd,SAAA,CAAAhQ,EAAAA,KAAC,MAAA,CAAI,UAAU,gBACV,SAAA,CAAAuS,QAASiB,EAAA,CAAS,UAAU,eAAgB,SAAAjB,EAAM,QAAe,OAAA,CAAA,CAAK,EACvEtS,EAAAA,IAACe,EAAA,CACG,KAAMf,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,GAAI,EACnC,QAAQ,QACR,KAAK,KACL,QAASyW,EACT,aAAW,eAAA,CAAA,CACf,EACJ,EACArZ,EAAAA,IAAC,MAAA,CAAI,UAAU,cACV,SAAAQ,CAAA,CACL,EACC8Y,GACGtZ,EAAAA,IAAC,MAAA,CAAI,UAAU,gBACV,SAAAsZ,CAAA,CACL,CAAA,CAAA,CAAA,CAER,EACJ,EACA,SAAS,IAAA,EArCQ,IAuCzB,EAEAO,GAAO,YAAc,SCrEd,SAASE,GAAQ,CAAE,QAAAC,EAAS,UAAAF,EAAY,MAAO,SAAAtZ,EAAU,MAAAyZ,EAAQ,KAAqB,CACzF,MAAMC,EAAYtK,EAAAA,MAAA,EACZuK,EAAatK,EAAAA,OAA2B,IAAI,EAC5CuK,EAAWvK,EAAAA,OAAA,EACX,CAACwK,EAASC,CAAU,EAAIrK,EAAAA,SAAS,EAAK,EACtC,CAACsK,EAAUC,CAAW,EAAIvK,EAAAA,SAAS,CAAE,IAAK,EAAG,KAAM,EAAG,EAEtDwK,EAAiBC,EAAAA,YAAY,IAAM,CACrC,GAAI,CAACP,EAAW,QAAS,OAEzB,MAAMQ,EAAOR,EAAW,QAAQ,sBAAA,EAC1BS,EAAS,GAEf,GAAId,IAAc,MAAO,CACrBU,EAAY,CAAE,IAAKG,EAAK,IAAM,OAAO,QAAUC,EAAQ,KAAMD,EAAK,KAAOA,EAAK,MAAQ,EAAI,OAAO,QAAS,EAC1G,MACJ,CAEA,GAAIb,IAAc,SAAU,CACxBU,EAAY,CAAE,IAAKG,EAAK,OAAS,OAAO,QAAUC,EAAQ,KAAMD,EAAK,KAAOA,EAAK,MAAQ,EAAI,OAAO,QAAS,EAC7G,MACJ,CAEA,GAAIb,IAAc,OAAQ,CACtBU,EAAY,CAAE,IAAKG,EAAK,IAAMA,EAAK,OAAS,EAAI,OAAO,QAAS,KAAMA,EAAK,KAAO,OAAO,QAAUC,EAAQ,EAC3G,MACJ,CAEAJ,EAAY,CAAE,IAAKG,EAAK,IAAMA,EAAK,OAAS,EAAI,OAAO,QAAS,KAAMA,EAAK,MAAQ,OAAO,QAAUC,EAAQ,CAChH,EAAG,CAACd,CAAS,CAAC,EAERe,EAAOH,EAAAA,YAAY,IAAM,CAC3BN,EAAS,QAAU,OAAO,WAAW,IAAM,CACvCK,EAAA,EACAH,EAAW,EAAI,CACnB,EAAGL,CAAK,CACZ,EAAG,CAACA,EAAOQ,CAAc,CAAC,EAEpBK,EAAOJ,EAAAA,YAAY,IAAM,CAC3B,OAAO,aAAaN,EAAS,OAAO,EACpCE,EAAW,EAAK,CACpB,EAAG,CAAA,CAAE,EAELjK,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACgK,EAAS,OAEd,MAAMU,EAAe,IAAMN,EAAA,EAC3B,cAAO,iBAAiB,SAAUM,EAAc,EAAI,EACpD,OAAO,iBAAiB,SAAUA,CAAY,EAEvC,IAAM,CACT,OAAO,oBAAoB,SAAUA,EAAc,EAAI,EACvD,OAAO,oBAAoB,SAAUA,CAAY,CACrD,CACJ,EAAG,CAACV,EAASI,CAAc,CAAC,EAE5B,MAAMvE,EAAQhW,EAAM,aAAaM,EAAU,CACvC,IAAK2Z,EACL,aAAetO,GAAyC,CACpDrL,EAAS,MAAM,eAAeqL,CAAK,EACnCgP,EAAA,CACJ,EACA,aAAehP,GAAyC,CACpDrL,EAAS,MAAM,eAAeqL,CAAK,EACnCiP,EAAA,CACJ,EACA,QAAUjP,GAAyC,CAC/CrL,EAAS,MAAM,UAAUqL,CAAK,EAC9BgP,EAAA,CACJ,EACA,OAAShP,GAAyC,CAC9CrL,EAAS,MAAM,SAASqL,CAAK,EAC7BiP,EAAA,CACJ,EACA,mBAAoBT,EAAUH,EAAY1Z,EAAS,MAAM,kBAAkB,CAAA,CAC9E,EAED,OACIT,EAAAA,KAAAwY,WAAA,CACK,SAAA,CAAArC,EACAmE,GAAWT,EAAAA,aACR5Z,EAAAA,IAAC,MAAA,CACG,GAAIka,EACJ,UAAW5b,EAAW,UAAW,YAAYwb,CAAS,EAAE,EACxD,MAAO,CAAE,IAAKS,EAAS,IAAK,KAAMA,EAAS,IAAA,EAC3C,KAAK,UAEJ,SAAAP,CAAA,CAAA,EAEL,SAAS,IAAA,CACb,EACJ,CAER,CC3FA,MAAMgB,GAAejG,EAAAA,cAAwC,IAAI,EAE3DkG,GAA+C,CACjD,QAASjb,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,GAAI,EACtC,QAAS5C,EAAAA,IAAC4C,EAAA,CAAK,KAAK,UAAU,KAAM,GAAI,EACxC,OAAQ5C,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,GAAI,EACrC,QAAS5C,EAAAA,IAAC4C,EAAA,CAAK,KAAK,OAAO,KAAM,EAAA,CAAI,CACzC,EAEA,SAASsY,GAAU,CAAE,MAAAC,EAAO,UAAAC,GAAoE,CAC5F,KAAM,CAACC,EAASC,CAAU,EAAIrL,EAAAA,SAAS,EAAK,EAEtCsL,EAAgBb,EAAAA,YAAY,IAAM,CACpCY,EAAW,EAAI,EACf,WAAW,IAAMF,EAAUD,EAAM,EAAE,EAAG,GAAG,CAC7C,EAAG,CAACA,EAAM,GAAIC,CAAS,CAAC,EAExB/K,EAAAA,UAAU,IAAM,CACZ,MAAMmL,EAAQ,WAAWD,EAAeJ,EAAM,UAAY,GAAI,EAC9D,MAAO,IAAM,aAAaK,CAAK,CACnC,EAAG,CAACD,EAAeJ,EAAM,QAAQ,CAAC,EAElC,MAAM7b,EAAQ6b,EAAM,OAAS,UACvB9a,EAAO4a,GAAY3b,CAAK,GAAK2b,GAAY,QAE/C,OACIlb,EAAAA,KAAC,MAAA,CAAI,UAAWzB,EAAW,QAAS,UAAUgB,CAAK,GAAI+b,GAAW,gBAAgB,EAC9E,SAAA,CAAArb,EAAAA,IAAC,OAAA,CAAK,UAAU,aACX,SAAAK,EACL,EACAN,EAAAA,KAAC,MAAA,CAAI,UAAU,gBACX,SAAA,CAAAC,EAAAA,IAAC,IAAA,CAAE,UAAU,cAAe,SAAAmb,EAAM,MAAM,EACvCA,EAAM,aAAenb,EAAAA,IAAC,KAAE,UAAU,oBAAqB,WAAM,WAAA,CAAY,CAAA,EAC9E,EACAA,EAAAA,IAACe,EAAA,CACG,KAAMf,EAAAA,IAAC4C,EAAA,CAAK,KAAK,QAAQ,KAAM,GAAI,EACnC,aAAW,uBACX,QAAQ,QACR,KAAK,KACL,QAAS2Y,EACT,UAAU,aAAA,CAAA,CACd,EACJ,CAER,CAEO,MAAME,GAA8C,CAAC,CACxD,SAAAjb,EACA,SAAA+Z,EAAW,YACX,UAAAmB,EAAY,CAChB,IAAM,CACF,KAAM,CAACjE,EAAQkE,CAAS,EAAI1L,EAAAA,SAAkB,EAAK,EAC7C,CAAC2L,EAAQC,CAAS,EAAI5L,EAAAA,SAAsB,CAAA,CAAE,EAEpDI,EAAAA,UAAU,IAAM,CACZsL,EAAU,EAAI,CAClB,EAAG,CAAA,CAAE,EAEL,MAAMR,EAAQT,cAAaoB,GAAgC,CACvD,MAAM5Q,EAAK,SAAS,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,GACrE2Q,EAAWE,GAAS,CAAC,GAAGA,EAAK,MAAM,EAAEL,EAAY,EAAE,EAAG,CAAE,GAAGI,EAAM,GAAA5Q,CAAA,CAAI,CAAC,CAC1E,EAAG,CAACwQ,CAAS,CAAC,EAERM,EAAUtB,cAAaxP,GAAe,CACxC2Q,EAAWE,GAASA,EAAK,OAAQE,GAAMA,EAAE,KAAO/Q,CAAE,CAAC,CACvD,EAAG,CAAA,CAAE,EAEL,OACInL,EAAAA,KAACib,GAAa,SAAb,CAAsB,MAAO,CAAE,MAAAG,EAAO,QAAAa,GAClC,SAAA,CAAAxb,EACAiX,GAAUmC,EAAAA,aACP5Z,EAAAA,IAAC,OAAI,UAAW1B,EAAW,kBAAmB,oBAAoBic,CAAQ,EAAE,EACvE,SAAAqB,EAAO,IAAKK,GACTjc,EAAAA,IAACkb,IAAqB,MAAOe,EAAG,UAAWD,GAA3BC,EAAE,EAAkC,CACvD,CAAA,CACL,EACA,SAAS,IAAA,CACb,EACJ,CAER,EAEO,SAASC,IAA8B,CAC1C,MAAMC,EAAM7G,EAAAA,WAAW0F,EAAY,EACnC,GAAI,CAACmB,EAAK,MAAM,IAAI,MAAM,8CAA8C,EACxE,OAAOA,CACX,CCzFO,MAAMC,GAA8B,CAAC,CACxC,QAAAC,EAAU,GACV,MAAAC,EAAQ,GACR,QAAAC,EAAU,GACV,aAAAC,EAAe,GACf,UAAA5c,EACA,mBAAA6c,EACA,SAAAjc,EACA,GAAGC,CACP,IAEQT,MAAC,OAAI,UAAW1B,EACZ,kBACAke,GAAgB,iCAChBC,CAAA,EAEA,SAAAzc,EAAAA,IAAC,QAAA,CACG,UAAW1B,EACP,QACA+d,GAAW,iBACXC,GAAS,eACTC,GAAW,iBACX3c,CAAA,EAEH,GAAGa,EAEH,SAAAD,CAAA,CAAA,EAET,EAIKkc,GAAkEjc,GAC3ET,EAAAA,IAAC,QAAA,CAAO,GAAGS,CAAA,CAAO,EAGTkc,GAAkElc,GAC3ET,EAAAA,IAAC,QAAA,CAAO,GAAGS,CAAA,CAAO,EAGTmc,GAA2Dnc,GACpET,EAAAA,IAAC,KAAA,CAAI,GAAGS,CAAA,CAAO,EAGNoc,GAA8Dpc,GACvET,EAAAA,IAAC,KAAA,CAAI,GAAGS,CAAA,CAAO,EAGNqc,GAA8Drc,GACvET,EAAAA,IAAC,KAAA,CAAI,GAAGS,CAAA,CAAO,EAGnB2b,GAAM,YAAc,QACpBM,GAAM,YAAc,QACpBC,GAAM,YAAc,QACpBC,GAAG,YAAc,KACjBC,GAAG,YAAc,KACjBC,GAAG,YAAc,KC9CjB,MAAMC,GAAiBhI,EAAAA,cAAmC,CACtD,UAAW,GACX,gBAAiB,IAAM,CAAC,EACxB,WAAY,GACZ,cAAe,IAAM,CAAC,EACtB,aAAc,GACd,kBAAmB,aACvB,CAAC,EAED,SAASiI,IAAoB,CACzB,OAAO1H,EAAAA,WAAWyH,EAAc,CACpC,CAEA,SAASE,EAAYxR,EAA+B,CAChD,OAAI,OAAOA,GAAS,UAAY,OAAOA,GAAS,SACrC,OAAOA,CAAI,EAGlB,MAAM,QAAQA,CAAI,EACXA,EAAK,IAAIwR,CAAW,EAAE,KAAK,GAAG,EAGrC/c,EAAM,eAAeuL,CAAI,EAClBwR,EAAYxR,EAAK,MAAM,QAAQ,EAGnC,EACX,CAEA,SAASyR,GAAkB1c,EAAmC,CAC1D,IAAI2c,EAAQ,EAEZ,OAAAjd,EAAM,SAAS,QAAQM,EAAW0V,GAAU,CACxC,GAAKhW,EAAM,eAAegW,CAAK,EAI/B,IAAIA,EAAM,OAASkH,GAAa,CAC5BD,GAAS,EACT,MACJ,CAEAA,GAASD,GAAkBhH,EAAM,MAAM,QAAQ,EACnD,CAAC,EAEMiH,CACX,CAEA,SAASE,GAAqB7c,EAAsD,CAChF,UAAW0V,KAAShW,EAAM,SAAS,QAAQM,CAAQ,EAAG,CAClD,GAAI,CAACN,EAAM,eAAegW,CAAK,EAC3B,SAGJ,GAAIA,EAAM,OAASkH,GACf,OAAOlH,EAGX,MAAMoH,EAAaD,GAAqBnH,EAAM,MAAM,QAAQ,EAC5D,GAAIoH,EACA,OAAOA,CAEf,CAEA,OAAO,IACX,CAEA,SAASC,GAAY,CACjB,UAAWC,EACX,iBAAAC,EAAmB,GACnB,SAAA1H,EACA,UAAAnW,EACA,SAAAY,EACA,gBAAAkd,EAAkB,GAClB,kBAAAhO,EAAoB,cACpB,GAAGjP,CACP,EAAiB,CACb,KAAM,CAACkd,EAAmBC,CAAoB,EAAI3N,EAAAA,SAASwN,CAAgB,EACrE,CAACvN,EAAYC,CAAa,EAAIF,EAAAA,SAAS,EAAE,EAEzC3E,EAAekS,IAAwB,OACvCK,EAAYvS,EAAekS,EAAsBG,EAEjDG,EADYpN,EAAAA,QAAQ,IAAMwM,GAAkB1c,CAAQ,EAAG,CAACA,CAAQ,CAAC,EACtCkd,GAAmB,CAACG,EAC/CE,EAAa7d,EAAM,SAAS,QAAQM,CAAQ,EAC5Cwd,EAAcD,EAAW,UAC1B7H,GAAUhW,EAAM,eAAegW,CAAK,GAAKA,EAAM,OAAS+H,EAAA,EAGvDC,EAAkB,IAAM,CAC1B,MAAMtN,EAAY,CAACiN,EAEdvS,GACDsS,EAAqBhN,CAAS,EAGlCmF,IAAWnF,CAAS,CACxB,EAEMuN,EAAezN,EAAAA,QACjB,KAAO,CACH,UAAAmN,EACA,gBAAAK,EACA,WAAAhO,EACA,cAAAC,EACA,aAAA2N,EACA,kBAAApO,CAAA,GAEJ,CAACmO,EAAW3N,EAAY4N,EAAcpO,CAAiB,CAAA,EAG3D,OACI1P,EAAAA,IAAC+c,GAAe,SAAf,CAAwB,MAAOoB,EAC5B,SAAApe,EAAAA,KAAC,QAAA,CACG,UAAWzB,EAAW,UAAWuf,GAAa,qBAAsBje,CAAS,EAC5E,GAAGa,EAEH,SAAA,CAAAud,IAAgB,GAAKxd,EAAWud,EAAW,MAAM,EAAGC,CAAW,EAC/DA,IAAgB,GAAK,KAAOD,EAAW,MAAMC,CAAW,CAAA,CAAA,CAAA,EAEjE,CAER,CAEA,SAASI,GAAc,CACnB,KAAA/d,EACA,KAAAge,EACA,YAAAC,EAAc,GACd,UAAA1e,EACA,SAAAY,EACA,QAAA6U,EACA,GAAG5U,CACP,EAAuB,CACnB,KAAM,CAAE,UAAAod,EAAW,gBAAAK,EAAiB,aAAAJ,EAAc,WAAA5N,EAAY,cAAAC,EAAe,kBAAAT,CAAA,EAAsBsN,GAAA,EAE7FuB,EAAe5E,GAAwC,CACrD2E,GACAJ,EAAA,EAGJ7I,IAAUsE,CAAC,CACf,EAEA,OACI5Z,EAAAA,KAAAwY,WAAA,CACI,SAAA,CAAAxY,EAAAA,KAAC,MAAA,CACG,UAAWzB,EAAW,kBAAmBsB,CAAS,EAClD,QAAS2e,EACR,GAAG9d,EAEJ,SAAA,CAAAT,EAAAA,IAAC,MAAA,CAAI,UAAU,uBACV,SAAAK,SAASuC,EAAA,CAAK,KAAK,OAAO,CAAA,CAC/B,EAEC,CAACib,GACE7d,EAAAA,IAAC,OAAI,UAAU,0BACV,YAAQQ,CAAA,CACb,CAAA,CAAA,CAAA,EAIPsd,EACG9d,EAAAA,IAAC,MAAA,CAAI,UAAU,0CACX,SAAAA,EAAAA,IAAC6K,EAAA,CACG,MAAOqF,EACP,SAAWrE,GAAUsE,EAActE,EAAM,OAAO,KAAK,EACrD,YAAa6D,EACb,OAAQ1P,EAAAA,IAAC4C,EAAA,CAAK,KAAK,SAAS,KAAM,GAAI,EACtC,KAAK,KACL,KAAI,EAAA,CAAA,EAEZ,EACA,IAAA,EACR,CAER,CAEA,SAASwa,GAA2D,CAChE,KAAA/c,EACA,OAAA+U,EAAS,GACT,GAAA/T,EACA,UAAAzB,EACA,SAAAY,EACA,WAAAge,EACA,GAAG/d,CACP,EAA+B,CAC3B,KAAM,CAAE,UAAAod,EAAW,WAAA3N,CAAA,EAAe8M,GAAA,EAC5B1b,EAAaD,GAAM,SACnBod,GAAYD,GAAcvB,EAAYzc,CAAQ,GAAG,KAAA,EAAO,kBAAA,EACxDke,EAAuBxO,EAAW,KAAA,EAAO,kBAAA,EAG/C,MAFkB,CAACwO,GAAwBD,EAAS,SAASC,CAAoB,EAO7E3e,EAAAA,KAACuB,EAAA,CACG,UAAWhD,EACP,gBACA8W,GAAU,wBACVxV,CAAA,EAEH,GAAGa,EAEH,SAAA,CAAAJ,EAAOL,EAAAA,IAAC,OAAA,CAAK,UAAU,qBAAsB,WAAK,EAAU,KAC5D,CAAC6d,GAAa7d,EAAAA,IAAC,OAAA,CAAK,UAAU,sBAAuB,SAAAQ,CAAA,CAAS,CAAA,CAAA,CAAA,EAb5D,IAgBf,CAEA,SAASme,GAAa,CAClB,MAAArM,EACA,SAAA4E,EACA,YAAA0H,EAAc,GACd,KAAMC,EACN,aAAAC,EACA,YAAAR,EAAc,GACd,UAAA1e,EACA,SAAAY,EACA,GAAGC,CACP,EAAsB,CAClB,KAAM,CAAE,UAAAod,EAAW,WAAA3N,CAAA,EAAe8M,GAAA,EAC5B,CAAC+B,EAAcC,CAAe,EAAI/O,EAAAA,SAAS2O,CAAW,EAEtDtT,EAAeuT,IAAmB,OAClCpQ,EAAOnD,EAAeuT,EAAiBE,EACvCL,EAAuBxO,EAAW,KAAA,EAAO,kBAAA,EACzC+O,EAAYhC,EAAYzc,CAAQ,EAAE,kBAAA,EAClC0e,EAAW,CAACR,GAAwBO,EAAU,SAASP,CAAoB,EAC3ES,EAAkB,GAAQT,GAAwBQ,GAClDnP,EAAS8N,EAAY,GAAQsB,GAAmB1Q,EAChD2Q,EAAY/B,GAAqB7c,CAAQ,EAE/C,GAAI,CAAC0e,EACD,OAAO,KAGX,MAAMG,EAAgBxT,GAA+C,CACjE,GAAIgS,EAAW,CACX,MAAMxI,EAAU+J,GAAW,OAAO,QAC9B,OAAO/J,GAAY,YACnBA,EAAQxJ,CAAK,EAGjB,MACJ,CAEA,GAAI,CAACyS,GAAea,EAChB,OAGJ,MAAMvO,EAAY,CAACnC,EAEdnD,GACD0T,EAAgBpO,CAAS,EAG7BkO,IAAelO,CAAS,CAC5B,EAEA,OACI7Q,EAAAA,KAAC,MAAA,CACG,UAAWzB,EAAW,iBAAkByR,GAAU,uBAAwBnQ,CAAS,EAClF,GAAGa,EAEJ,SAAA,CAAAV,EAAAA,KAAC,SAAA,CACG,KAAK,SACL,UAAU,yBACV,QAASsf,EACT,gBAAetP,EACf,SAAU,CAACuO,GAAea,EAEzB,SAAA,CAAAjI,EAAWlX,EAAAA,IAAC,OAAA,CAAK,UAAU,2BAA4B,WAAS,EAAU,KACzE6d,EAAoE,KAAxD7d,MAAC,QAAK,UAAU,uBAAwB,WAAM,EAC5DA,EAAAA,IAAC,OAAA,CAAK,UAAU,sBACZ,SAAAA,EAAAA,IAAC4C,GAAK,KAAK,eAAe,KAAM,EAAA,CAAI,CAAA,CACxC,CAAA,CAAA,CAAA,EAGHmN,EAAS/P,EAAAA,IAAC,MAAA,CAAI,UAAU,yBAA0B,SAAAQ,EAAS,EAAS,IAAA,CAAA,CAAA,CAGjF,CAEA,SAASyd,GAAc,CACnB,UAAAre,EACA,SAAAY,EACA,GAAGC,CACP,EAAuB,CACnB,OACIT,MAAC,OAAI,UAAW1B,EAAW,kBAAmBsB,CAAS,EAAI,GAAGa,EACzD,SAAAD,EACL,CAER,CAEO,MAAM8e,GAAU,OAAO,OAAO/B,GAAa,CAC9C,OAAQa,GACR,KAAMhB,GACN,MAAOuB,GACP,OAAQV,EACZ,CAAC,EAEAqB,GAAsD,YAAc,UC5TrE,MAAMC,GAAexK,EAAAA,cAA6C,MAAS,EAE9DyK,GAAW,IAAM,CAC1B,MAAMC,EAAUnK,EAAAA,WAAWiK,EAAY,EACvC,GAAI,CAACE,EACD,MAAM,IAAI,MAAM,8CAA8C,EAElE,OAAOA,CACX,EAEaC,GAA8C,CAAC,CACxD,SAAAlf,EACA,aAAAmf,EAAe,OACf,WAAAC,EAAa,QACb,cAAAC,EACA,eAAAC,CACJ,IAAM,CACF,KAAM,CAACC,EAAOC,CAAa,EAAI/P,EAAAA,SAAgB,IACnC,aAAa,QAAQ2P,CAAU,GAAeD,CACzD,EAEDtP,EAAAA,UAAU,IAAM,CACZ,MAAM4P,EAAO,OAAO,SAAS,gBAC7BA,EAAK,UAAU,OAAO,cAAe,YAAY,EACjDA,EAAK,UAAU,IAAI,SAASF,CAAK,EAAE,EACnCE,EAAK,aAAa,aAAcF,CAAK,EACrC,aAAa,QAAQH,EAAYG,CAAK,CAC1C,EAAG,CAACA,EAAOH,CAAU,CAAC,EAEtB,MAAMM,EAAc,IAAM,CACtBF,EAAejE,GAAUA,IAAS,QAAU,OAAS,OAAQ,CACjE,EAEMoE,EAAYC,GAAoB,CAClCJ,EAAcI,CAAQ,CAC1B,EAEA,aACKb,GAAa,SAAb,CAAsB,MAAO,CAAE,MAAAQ,EAAO,YAAAG,EAAa,SAAAC,CAAA,EAChD,eAAC1E,GAAA,CAAc,SAAUoE,EAAe,UAAWC,EAC9C,SAAAtf,EACL,EACJ,CAER,ECtCa6f,GAAgC,CAAC,CAC1C,KAAAhC,EACA,SAAAiC,EAAW,CAAA,EACX,YAAAC,EAAc,SACd,aAAAC,EACA,YAAAC,EAAc,GACd,OAAAC,EAAS,GACT,UAAA9gB,EACA,SAAAY,EACA,cAAAmgB,EAAgB,GAChB,GAAGlgB,CACP,IAAM,CACF,KAAM,CAAE,MAAAsf,EAAO,YAAAG,CAAA,EAAgBV,GAAA,EACzB/I,EAAc,OAAO,OAAW,IAAc,OAAO,SAAS,SAAW,GAEzEE,EAAiBC,GAAiB,CACpC,MAAMC,EAAWD,EAAK,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAChD,OAAOC,EAAS,SAAS,GAAG,GAAKA,IAAa,IAAMA,EAAS,MAAM,EAAG,EAAE,EAAIA,CAChF,EAEM+J,EAAY,IACd5gB,MAACwB,EAAA,CAAK,GAAG,MAAM,MAAM,SAAS,IAAI,IAAI,UAAU,cAC3C,SAAA8e,EAAS,IAAI,CAAClP,EAAM3D,IAAU,CAC3B,MAAMiJ,EAAQtF,EAAK,IAAMA,EAAK,KACxB2F,EAAW3F,EAAK,SAAWsF,EAAQC,EAAcD,CAAK,IAAMC,EAAcF,CAAW,EAAI,IAE/F,OAAIC,EAEI1W,EAAAA,IAACqW,EAAA,CAEG,KAAMK,EACN,UAAWpY,EAAW,mBAAoByY,GAAY,0BAA0B,EAChF,OAAQA,EACR,QAAS3F,EAAK,QAEb,SAAAA,EAAK,KAAA,EAND,GAAGA,EAAK,OAAS,MAAM,IAAI3D,CAAK,EAAA,EAY7CzN,EAAAA,IAAC,SAAA,CAEG,KAAK,SACL,UAAW1B,EAAW,mBAAoByY,GAAY,0BAA0B,EAChF,QAAS3F,EAAK,QAEb,SAAAA,EAAK,KAAA,EALD,GAAGA,EAAK,OAAS,QAAQ,IAAI3D,CAAK,EAAA,CAQnD,CAAC,CAAA,CACL,EAGJ,OACI1N,EAAAA,KAACyB,EAAA,CACG,GAAG,SACH,MAAM,SACN,QAAQ,gBACR,UAAWlD,EACP,SACAoiB,GAAU,iBACVH,IAAgB,SAAW,oBAC3BI,GAAiB,wBACjB/gB,CAAA,EAEH,GAAGa,EAEJ,SAAA,CAAAT,MAACwB,EAAA,CAAK,MAAM,SAAS,IAAI,IAAI,UAAU,eAClC,SAAA6c,GAAQre,EAAAA,IAAC,MAAA,CAAI,UAAU,eAAgB,WAAK,EACjD,EAECugB,IAAgB,UAAYD,EAAS,OAAS,GAC3CtgB,EAAAA,IAACwB,EAAA,CAAK,MAAM,SAAS,QAAQ,SAAS,UAAU,iBAC3C,aACL,EAGHmf,GAAiBngB,GAAYR,MAAC,MAAA,CAAI,UAAU,kBAAmB,SAAAQ,EAAS,SAExEgB,EAAA,CAAK,MAAM,SAAS,IAAI,IAAI,UAAU,gBAClC,SAAA,CAAA+e,IAAgB,SAAWD,EAAS,OAAS,GAAKM,EAAA,EAClDJ,EACAC,GACGzgB,EAAAA,IAACe,EAAA,CACG,KAAMgf,IAAU,OAAS/f,EAAAA,IAAC4C,GAAK,KAAK,MAAM,KAAM,EAAA,CAAI,EAAK5C,EAAAA,IAAC4C,EAAA,CAAK,KAAK,OAAO,KAAM,GAAI,EACrF,QAAQ,QACR,KAAK,KACL,MAAM,eACN,QAASsd,CAAA,CAAA,CACb,EAER,EAEC,CAACS,GAAiBngB,SAAa,MAAA,CAAI,UAAU,mBAAoB,SAAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAGvF,EAEA6f,GAAO,YAAc,SCpGd,MAAMQ,GAAwC,CAAC,CAClD,MAAAvO,EACA,YAAAZ,EACA,SAAAoP,EAAW,GACX,OAAAC,EACA,MAAA5e,EACA,OAAA4R,EACA,UAAAnU,EACA,GAAGa,CACP,IAEQV,EAAAA,KAAC,OAAI,UAAWzB,EAAW,cAAesB,CAAS,EAAI,GAAGa,EACtD,SAAA,CAAAV,EAAAA,KAAC,MAAA,CAAI,UAAU,oBACV,SAAA,CAAA+gB,GACG9gB,EAAAA,IAACe,EAAA,CACG,QAAQ,QACR,KAAK,KACL,KAAMf,EAAAA,IAAC4C,EAAA,CAAK,KAAK,eAAe,KAAM,GAAI,EAC1C,QAASme,EACT,MAAM,MAAA,CAAA,EAGdhhB,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACX,SAAA,CAAAC,EAAAA,IAACsT,GAAA,CAAQ,OAAO,OAAQ,SAAAhB,EAAM,EAC7BZ,GAAe1R,EAAAA,IAACmB,EAAA,CAAK,MAAM,SAAS,MAAO,CAAE,MAAO,GAAGgB,GAAS,MAAM,EAAA,EAAO,SAAAuP,CAAA,CAAY,CAAA,CAAA,CAC9F,CAAA,EACJ,EACCqC,GAAU/T,EAAAA,IAAC,MAAA,CAAI,UAAU,qBAAsB,SAAA+T,CAAA,CAAO,CAAA,EAC3D,EC/BKiN,GAAwC,CAAC,CAClD,MAAAjI,EACA,UAAAkI,EAAY,IACZ,UAAArhB,CACJ,UAES,MAAA,CAAI,UAAWtB,EAAW,aAAcsB,CAAS,EAAG,aAAW,aAC5D,SAAAI,EAAAA,IAAC,MAAG,UAAU,kBACT,WAAM,IAAI,CAACoR,EAAM3D,IAAU,CACxB,MAAMyT,EAASzT,IAAUsL,EAAM,OAAS,EAExC,OACIhZ,EAAAA,KAAC,KAAA,CAAe,UAAU,kBACrB,SAAA,CAAAqR,EAAK,MAAQ,CAAC8P,EACXnhB,EAAAA,KAACsW,EAAA,CAAK,KAAMjF,EAAK,KAAM,MAAM,UAAU,UAAU,kBAC5C,SAAA,CAAAA,EAAK,MAAQpR,EAAAA,IAAC,OAAA,CAAK,UAAU,kBAAmB,WAAK,KAAK,EAC1DoR,EAAK,KAAA,CAAA,CACV,EAEArR,EAAAA,KAAC,OAAA,CACG,UAAWzB,EAAW,kBAAmB4iB,GAAU,oBAAoB,EACvE,eAAcA,EAAS,OAAS,OAE/B,SAAA,CAAA9P,EAAK,MAAQpR,EAAAA,IAAC,OAAA,CAAK,UAAU,kBAAmB,WAAK,KAAK,EAC1DoR,EAAK,KAAA,CAAA,CAAA,EAIb,CAAC8P,GAAUlhB,EAAAA,IAAC,OAAA,CAAK,UAAU,uBAAwB,SAAAihB,CAAA,CAAU,CAAA,CAAA,EAhBzDxT,CAiBT,CAER,CAAC,EACL,EACJ,EAIRuT,GAAW,YAAc,aCrClB,MAAMG,GAAoC,CAAC,CAC9C,MAAA3U,EACA,IAAAqF,EAAM,IACN,KAAA7S,EAAO,KACP,MAAAM,EACA,SAAAyY,EAAW,GACX,UAAAqJ,EAAY,GACZ,MAAAvhB,EACA,UAAAD,EACA,MAAAE,EACA,GAAGW,CACP,IAAM,CACF,MAAMsR,EAAa,KAAK,IAAI,IAAK,KAAK,IAAI,EAAIvF,EAAQqF,EAAO,GAAG,CAAC,EAEjE,OACI9R,EAAAA,KAAC,MAAA,CACG,UAAWzB,EAAW,mBAAoBsB,CAAS,EACnD,MAAO,CAAG,mBAA+BJ,EAASF,CAAK,EAAG,GAAIQ,GAAS,EAAC,EACvE,GAAGW,EAEF,SAAA,EAAAZ,GAASuhB,IACPrhB,EAAAA,KAAC,MAAA,CAAI,UAAU,iBACV,SAAA,CAAAF,GAASG,EAAAA,IAAC,QAAM,SAAAH,CAAA,CAAM,EACtBuhB,GAAarhB,EAAAA,KAAC,OAAA,CAAK,UAAU,iBAAkB,SAAA,CAAA,KAAK,MAAMgS,CAAU,EAAE,GAAA,CAAA,CAAC,CAAA,EAC5E,EAEJ/R,EAAAA,IAAC,MAAA,CACG,UAAW1B,EAAW,WAAY,aAAaU,CAAI,GAAI+Y,GAAY,oBAAoB,EACvF,KAAK,cACL,gBAAevL,EACf,gBAAe,EACf,gBAAeqF,EAEf,SAAA7R,EAAAA,IAAC,MAAA,CAAI,UAAU,eAAe,MAAO,CAAE,MAAO,GAAG+R,CAAU,GAAA,CAAI,CAAG,CAAA,CAAA,CACtE,CAAA,CAAA,CAGZ,EAEAoP,GAAS,YAAc,WCxChB,MAAME,GAA4B,CAAC,CACtC,KAAAC,EACA,aAAAxT,EACA,MAAOyT,EACP,SAAAnV,EACA,UAAAxM,EACA,QAAAb,EAAU,UACV,KAAAC,EAAO,IACX,IAAM,CACF,KAAM,CAACuP,EAAeC,CAAgB,EAAIyB,EAAAA,SAASnC,GAAgBwT,EAAK,CAAC,GAAG,OAAS,EAAE,EACjFE,EAAcD,GAAmBhT,EAEjCoC,EAAgB8Q,GAAgB,CAC9BF,IAAoB,QACpB/S,EAAiBiT,CAAG,EAExBrV,IAAWqV,CAAG,CAClB,EAEMC,EAAYJ,EAAK,KAAMrF,GAAMA,EAAE,QAAUuF,CAAW,EAE1D,OACIzhB,EAAAA,KAAC,MAAA,CAAI,UAAWzB,EAAW,OAAQ,SAASS,CAAO,GAAI,SAASC,CAAI,GAAIY,CAAS,EAC7E,SAAA,CAAAI,EAAAA,IAAC,MAAA,CAAI,UAAU,YAAY,KAAK,UAC3B,SAAAshB,EAAK,IAAKK,GAAQ,CACf,MAAM5K,EAAWyK,IAAgBG,EAAI,MAC/BC,EAAiBtjB,EACnB,eACAyY,GAAY,sBAAA,EAGhB,OAAI4K,EAAI,KAEA3hB,EAAAA,IAAC,IAAA,CAEG,KAAK,MACL,KAAM2hB,EAAI,KACV,gBAAe5K,EACf,UAAW6K,EACX,QAAUjI,GAAM,CACRgI,EAAI,SAAUhI,EAAE,eAAA,EACfhJ,EAAagR,EAAI,KAAK,CAC/B,EAEC,SAAAA,EAAI,KAAA,EAVAA,EAAI,KAAA,EAgBjB3hB,EAAAA,IAAC,SAAA,CAEG,KAAK,MACL,KAAK,SACL,SAAU2hB,EAAI,SACd,gBAAe5K,EACf,UAAW6K,EACX,QAAS,IAAMjR,EAAagR,EAAI,KAAK,EAEpC,SAAAA,EAAI,KAAA,EARAA,EAAI,KAAA,CAWrB,CAAC,CAAA,CACL,EACA3hB,EAAAA,IAAC,MAAA,CACG,KAAK,WACL,UAAU,aACV,SAAU,EAET,SAAA0hB,GAAW,OAAA,CAAA,CAChB,EACJ,CAER,EAEAL,GAAK,YAAc,OCzEZ,MAAMQ,GAA4C,CAAC,CAAE,MAAAvP,EAAO,YAAAZ,EAAa,KAAA7E,EAAM,KAAAxM,EAAM,IAAAmX,EAAK,KAAA3U,KAEzF9C,EAAAA,KAAC,MAAA,CAAI,UAAWzB,EAAW,gBAAiB,CAAC+B,GAAQ,CAACmX,GAAO,CAAC3U,GAAQ,oBAAoB,EACtF,SAAA,CAAA9C,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACX,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,wBACV,SAAAwX,GAAO3U,EAAO7C,EAAAA,IAACuX,GAAA,CAAO,IAAAC,EAAU,KAAA3U,EAAY,KAAK,IAAA,CAAK,EAAKxC,EAAOL,EAAAA,IAAC,MAAA,CAAI,UAAU,sBAAuB,SAAAK,CAAA,CAAK,EAASL,EAAAA,IAAC,MAAA,CAAI,UAAU,oBAAA,CAAqB,CAAA,CAC/J,EACAA,EAAAA,IAAC,MAAA,CAAI,UAAU,qBAAA,CAAsB,CAAA,EACzC,EACAD,EAAAA,KAAC,MAAA,CAAI,UAAU,yBACX,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,UAAU,wBACX,SAAA,CAAAC,EAAAA,IAACmB,EAAA,CAAK,OAAO,SAAU,SAAAmR,EAAM,EAC5BzF,GAAQ7M,EAAAA,IAACmB,EAAA,CAAK,KAAK,KAAK,MAAM,SAAU,SAAA0L,CAAA,CAAK,CAAA,EAClD,EACC6E,GAAe1R,EAAAA,IAAC,MAAA,CAAI,UAAU,6BAA6B,eAACmB,EAAA,CAAK,MAAM,SAAU,SAAAuQ,CAAA,CAAY,CAAA,CAAO,CAAA,CAAA,CACzG,CAAA,EACJ,EAIKoQ,GAAoC,CAAC,CAAE,SAAAthB,EAAU,UAAAZ,EAAW,GAAGa,KACjET,MAAC,OAAI,UAAW1B,EAAW,WAAYsB,CAAS,EAAI,GAAGa,EAAQ,SAAAD,EAAS,EAGnFshB,GAAS,YAAc,WACvBD,GAAa,YAAc"}