@aciole/acyon 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acyon.cjs.js +3 -3
- package/dist/acyon.cjs.js.map +1 -1
- package/dist/acyon.css +1 -1
- package/dist/acyon.es.js +2182 -1762
- package/dist/acyon.es.js.map +1 -1
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Card/Card.d.ts +2 -2
- package/dist/components/Carousel/Carousel.d.ts +4 -0
- package/dist/components/Carousel/types.d.ts +20 -0
- package/dist/components/Image/types.d.ts +2 -0
- package/dist/components/NumberInput/NumberInput.d.ts +4 -0
- package/dist/components/NumberInput/types.d.ts +19 -0
- package/dist/components/PageHeader/types.d.ts +1 -0
- package/dist/components/Radio/types.d.ts +1 -1
- package/dist/components/Table/Table.d.ts +5 -5
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/types.d.ts +2 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/icons/generated.d.ts +11 -1
- package/package.json +1 -1
package/dist/acyon.cjs.js.map
CHANGED
|
@@ -1 +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/Dropdown/Dropdown.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/Alert/Alert.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' | 'neutral' | 'success' | 'warning' | 'error';\nexport type ColorValue = LooseStringUnion<TokenColor>;\nexport type TokenTextColor = LooseStringUnion<TokenColor | 'default' | 'inverse' | 'disabled'>;\nexport type TokenIconColor = LooseStringUnion<TokenColor | 'default' | 'disabled'>;\n\nexport type TokenSize = 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge';\nexport type TokenWeight = 'normal' | 'medium' | 'semibold' | 'bold';\n\nconst TOKEN_COLORS: readonly TokenColor[] = ['primary', 'neutral', 'success', 'warning', 'error'];\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 if (color === 'error') return 'var(--color-danger)';\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 === 'inverse') return 'var(--text-inverse)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n if (normalized === 'neutral') return 'var(--text-muted)';\n if (normalized === 'error') return 'var(--color-danger)';\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 if (normalized === 'neutral') return 'var(--text-subtle)';\n if (normalized === 'error') return 'var(--color-danger)';\n return `var(--color-${normalized})`;\n}\n\nexport function fontSizeVar(size?: TokenSize): string | undefined {\n if (!size) return undefined;\n\n const fontSizeMap: Record<TokenSize, string> = {\n extraSmall: 'xs',\n small: 'sm',\n medium: 'md',\n large: 'lg',\n extraLarge: 'xl',\n };\n\n return `var(--font-size-${fontSizeMap[size]})`;\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 = 'medium', color, className, label = 'Loading...' }: LoaderProps) {\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 = 'medium',\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 : undefined;\n const customColor = !color || tokenColor ? 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 === 'extraSmall' || size === 'small' ? 'extraSmall' : size === 'medium' ? 'small' : 'medium'} \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 = 'medium', 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 = 'medium',\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', '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=\"small\" weight=\"medium\" as=\"label\" htmlFor={htmlFor} className=\"form-field-label\">\n {LabelFormater(label)}\r\n </Text>\r\n )}\r\n {children}\r\n {error && (\r\n <Text as=\"span\" color=\"error\" size=\"small\" className=\"form-field-message\" role=\"alert\">\n {error}\r\n </Text>\r\n )}\r\n {!error && hint && (\r\n <Text as=\"span\" color=\"neutral\" size=\"small\" className=\"form-field-message\">\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, hint, prefix, suffix, clearable = false, size = 'medium', 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=\"small\"\n onClick={handleClear}\n tabIndex={-1}\n className=\"input-field__clear\"\n />\n ) : suffix;\n\n return (\n <FormField label={label} error={error} hint={hint} 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` : hint ? `${inputId}-hint` : 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, hint, 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={hint} 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` : hint ? `${inputId}-hint` : 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=\"extraSmall\" /> : <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, hint, 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={hint} 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 = 'medium',\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 './Dropdown.css';\nimport React, { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport type { DropdownItemProps, DropdownPlacement, DropdownProps } from './types';\n\nexport type { DropdownItemProps, DropdownPlacement, DropdownProps } from './types';\n\ninterface DropdownContextValue {\n close: () => void;\n}\n\nconst DropdownContext = createContext<DropdownContextValue | null>(null);\n\nfunction assignRef<TValue>(ref: React.Ref<TValue> | undefined, value: TValue) {\n if (!ref) return;\n\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n\n (ref as React.MutableRefObject<TValue>).current = value;\n}\n\nfunction resolvePosition(\n rect: DOMRect,\n placement: DropdownPlacement,\n offset: number,\n matchTriggerWidth: boolean\n) {\n const top = placement.startsWith('bottom')\n ? rect.bottom + offset\n : rect.top - offset;\n const left = placement.endsWith('end')\n ? rect.right\n : rect.left;\n\n return {\n top,\n left,\n minWidth: matchTriggerWidth ? rect.width : undefined,\n transform: placement === 'bottom-end'\n ? 'translateX(-100%)'\n : placement === 'top-start'\n ? 'translateY(-100%)'\n : placement === 'top-end'\n ? 'translate(-100%, -100%)'\n : undefined,\n };\n}\n\nfunction DropdownRoot({\n children,\n content,\n open,\n defaultOpen = false,\n onOpenChange,\n placement = 'bottom-start',\n offset = 8,\n disabled = false,\n matchTriggerWidth = false,\n closeOnClickOutside = true,\n className,\n ...props\n}: DropdownProps) {\n const generatedId = useId();\n const triggerRef = useRef<HTMLElement | null>(null);\n const menuRef = useRef<HTMLDivElement | null>(null);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [position, setPosition] = useState<{ top: number; left: number; minWidth?: number; transform?: string }>({\n top: 0,\n left: 0,\n });\n const isOpen = open ?? internalOpen;\n\n const setOpen = useCallback((nextOpen: boolean) => {\n if (open === undefined) {\n setInternalOpen(nextOpen);\n }\n\n onOpenChange?.(nextOpen);\n }, [onOpenChange, open]);\n\n const close = useCallback(() => setOpen(false), [setOpen]);\n\n const updatePosition = useCallback(() => {\n if (!triggerRef.current) return;\n\n const rect = triggerRef.current.getBoundingClientRect();\n setPosition(resolvePosition(rect, placement, offset, matchTriggerWidth));\n }, [matchTriggerWidth, offset, placement]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n updatePosition();\n\n const handleUpdate = () => updatePosition();\n window.addEventListener('resize', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n\n return () => {\n window.removeEventListener('resize', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n };\n }, [isOpen, updatePosition]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handlePointerDown = (event: MouseEvent) => {\n const target = event.target as Node;\n\n if (triggerRef.current?.contains(target) || menuRef.current?.contains(target)) {\n return;\n }\n\n if (closeOnClickOutside) {\n close();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n triggerRef.current?.focus();\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [close, closeOnClickOutside, isOpen]);\n\n const contextValue = useMemo<DropdownContextValue>(() => ({ close }), [close]);\n\n const child = React.cloneElement(children, {\n ref: (node: HTMLElement | null) => {\n triggerRef.current = node;\n assignRef((children as React.ReactElement & { ref?: React.Ref<HTMLElement> }).ref, node);\n },\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'menu',\n 'aria-controls': isOpen ? generatedId : undefined,\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onClick?.(event);\n if (!event.defaultPrevented && !disabled) {\n setOpen(!isOpen);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n children.props.onKeyDown?.(event);\n\n if (disabled || event.defaultPrevented) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setOpen(!isOpen);\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setOpen(true);\n }\n },\n });\n\n return (\n <>\n {child}\n {isOpen && createPortal(\n <DropdownContext.Provider value={contextValue}>\n <div\n id={generatedId}\n ref={menuRef}\n className={classNames('dropdown__menu', className)}\n style={{\n top: position.top,\n left: position.left,\n minWidth: position.minWidth,\n transform: position.transform,\n }}\n role=\"menu\"\n {...props}\n >\n <div className=\"dropdown__content\">{content}</div>\n </div>\n </DropdownContext.Provider>,\n document.body\n )}\n </>\n );\n}\n\nfunction DropdownItem({\n children,\n className,\n inset = false,\n destructive = false,\n keepOpen = false,\n leftContent,\n rightContent,\n onClick,\n onSelect,\n ...props\n}: DropdownItemProps) {\n const context = useContext(DropdownContext);\n\n return (\n <button\n type=\"button\"\n className={classNames(\n 'dropdown__item',\n inset && 'dropdown__item--inset',\n destructive && 'dropdown__item--destructive',\n className\n )}\n role=\"menuitem\"\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n\n onSelect?.();\n if (!keepOpen) {\n context?.close();\n }\n }}\n {...props}\n >\n <span className=\"dropdown__item-label\">\n {leftContent && <span className=\"dropdown__item-left\">{leftContent}</span>}\n <span>{children}</span>\n </span>\n {rightContent && <span className=\"dropdown__item-right\">{rightContent}</span>}\n </button>\n );\n}\n\nexport const Dropdown = Object.assign(DropdownRoot, {\n Item: DropdownItem,\n});\n\n(Dropdown as typeof Dropdown & { displayName?: string }).displayName = 'Dropdown';\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=\"small\" color=\"neutral\">{description}</Text>\n </div>\n </div>\n {error && <Text size=\"small\" color=\"error\">{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=\"small\" color=\"neutral\">\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 = 'large',\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=\"small\" color=\"neutral\" 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 = 'small',\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 = 'medium',\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 './Alert.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading5 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { AlertProps } from './types';\n\nexport type { AlertProps, AlertVariant } from './types';\n\nexport const Alert: React.FC<AlertProps> = ({\n variant = 'primary',\n title,\n icon,\n action,\n children,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('alert', `alert--${variant}`, className)} role=\"alert\" {...props}>\n {icon && <div className=\"alert__icon\">{icon}</div>}\n <div className=\"alert__content\">\n {title && <Heading5 className=\"alert__title\">{title}</Heading5>}\n {children && (\n <Text size=\"small\" className=\"alert__description\">\n {children}\n </Text>\n )}\n </div>\n {action && <div className=\"alert__action\">{action}</div>}\n </div>\n );\n};\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 = 'medium',\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 = 'medium',\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 animated = true,\n rounded = false\n}) => {\n const customStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n borderRadius: rounded ? '9999px' : 'var(--radius-md)'\n };\n\n return (\n <div\n className={classNames(\n 'skeleton',\n animated && 'skeleton--animated',\n rounded && 'skeleton--rounded'\n )}\n style={customStyle}\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 = 'medium',\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 && (\n <div className={classNames('image-skeleton', `image-radius--${radius}`)}>\n <Skeleton width=\"100%\" height=\"100%\" />\n </div>\n )}\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 = 'medium', 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=\"neutral\">{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 = 'medium',\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=\"neutral\"\n size=\"small\"\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 = 'medium',\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=\"small\"\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 error: <Icon name=\"close\" size={16} />,\n neutral: <Icon name=\"info\" 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=\"small\" \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=\"small\"\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=\"small\"\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=\"small\"\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=\"neutral\" 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 = 'medium',\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 = 'medium'\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=\"small\" /> : 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=\"small\" color=\"neutral\">{date}</Text>}\n </div>\n {description && <div className=\"timeline-item__description\"><Text color=\"neutral\">{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","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","supportText","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","DropdownContext","createContext","assignRef","resolvePosition","rect","placement","offset","matchTriggerWidth","top","left","DropdownRoot","content","defaultOpen","onOpenChange","closeOnClickOutside","triggerRef","menuRef","internalOpen","setInternalOpen","position","setPosition","useCallback","nextOpen","close","updatePosition","handleUpdate","target","handleKeyDown","contextValue","child","Fragment","createPortal","DropdownItem","inset","destructive","keepOpen","leftContent","rightContent","onClick","onSelect","context","useContext","Dropdown","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","ListRoot","ListItem","startContent","endContent","active","resolvedStart","List","useAccordionState","type","initial","openItems","setOpenItems","AccordionItem","onToggle","Accordion","toggle","Code","block","Link","underline","href","to","currentPath","route","normalizePath","path","pathname","isCurrentRoute","isActive","Badge","Alert","Tag","leftIcon","rightIcon","closable","onRemove","removable","Avatar","src","status","getInitials","parts","Skeleton","animated","customStyle","Image","alt","objectFit","radius","fallback","loaded","setLoaded","Switch","Pagination","currentPage","totalPages","onPageChange","showControls","pages","items","startPage","endPage","page","EmptyState","Modal","onClose","footer","closeOnOverlayClick","mounted","setMounted","onKeyDown","e","Drawer","Tooltip","delay","tooltipId","timerRef","visible","setVisible","show","hide","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","SidebarHeader","logo","collapsible","handleClick","searchText","itemText","normalizedSearchTerm","SidebarGroup","controlledOpen","childText","hasMatch","shouldForceOpen","firstItem","handleToggle","Sidebar","ThemeContext","useTheme","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":"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"}
|
|
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/Dropdown/Dropdown.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/Radio.tsx","../src/components/Slider/Slider.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/Carousel/Carousel.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/Alert/Alert.tsx","../src/components/Tag/Tag.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/Image/placeholder.jpg","../src/components/Image/Image.tsx","../src/components/Switch/Switch.tsx","../src/components/Pagination/Pagination.tsx","../src/components/EmptyState/EmptyState.tsx","../src/hooks/useOverlay.ts","../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":["/**\n * classNames – combina strings de classes CSS ignorando falsy values.\n * Similar ao `clsx` mas sem dependências externas.\n */\ntype ClassValue = string | undefined | null | false | ClassValue[] | Record<string, unknown>;\n\nexport function classNames(...args: ClassValue[]): string {\n const classes: string[] = [];\n\n for (const arg of args) {\n if (!arg) continue;\n \n if (typeof arg === 'string') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n const nested = classNames(...arg);\n if (nested) classes.push(nested);\n } else if (typeof arg === 'object') {\n for (const key in arg) {\n if (arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\n\n\n","/**\n * Sistema de variants – mapeia variant/size → classes CSS.\n * Inspirado no CVA mas sem dependências externas.\n */\n\ntype VariantMap<V extends string, S extends string> = {\n base?: string;\n variants?: Partial<Record<V, string>>;\n sizes?: Partial<Record<S, string>>;\n compound?: Array<{\n variant?: V;\n size?: S;\n className: string;\n }>;\n defaultVariants?: {\n variant?: V;\n size?: S;\n };\n};\n\ntype VariantOptions<V extends string, S extends string> = {\n variant?: V;\n size?: S;\n className?: string;\n};\n\nexport function createVariants<V extends string, S extends string>(\n config: VariantMap<V, S>\n) {\n return function resolve(options: VariantOptions<V, S> = {}): string {\n const variant = options.variant ?? config.defaultVariants?.variant;\n const size = options.size ?? config.defaultVariants?.size;\n\n const classes: string[] = [];\n\n if (config.base) classes.push(config.base);\n if (variant && config.variants?.[variant]) {\n classes.push(config.variants[variant] as string);\n }\n if (size && config.sizes?.[size]) {\n classes.push(config.sizes[size] as string);\n }\n if (config.compound) {\n for (const c of config.compound) {\n const matchVariant = c.variant === undefined || c.variant === variant;\n const matchSize = c.size === undefined || c.size === size;\n if (matchVariant && matchSize) classes.push(c.className);\n }\n }\n if (options.className) classes.push(options.className);\n\n return classes.filter(Boolean).join(' ');\n };\n}\n\n\n\n","import type { LooseStringUnion } from '../components/types';\n\nexport type TokenColor = 'primary' | 'neutral' | 'success' | 'warning' | 'error';\nexport type ColorValue = LooseStringUnion<TokenColor>;\nexport type TokenTextColor = LooseStringUnion<TokenColor | 'default' | 'inverse' | 'disabled'>;\nexport type TokenIconColor = LooseStringUnion<TokenColor | 'default' | 'disabled'>;\n\nexport type TokenSize = 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge';\nexport type TokenWeight = 'normal' | 'medium' | 'semibold' | 'bold';\n\nconst TOKEN_COLORS: readonly TokenColor[] = ['primary', 'neutral', 'success', 'warning', 'error'];\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 if (color === 'error') return 'var(--color-danger)';\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 === 'inverse') return 'var(--text-inverse)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n if (normalized === 'neutral') return 'var(--text-muted)';\n if (normalized === 'error') return 'var(--color-danger)';\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 if (normalized === 'neutral') return 'var(--text-subtle)';\n if (normalized === 'error') return 'var(--color-danger)';\n return `var(--color-${normalized})`;\n}\n\nexport function fontSizeVar(size?: TokenSize): string | undefined {\n if (!size) return undefined;\n\n const fontSizeMap: Record<TokenSize, string> = {\n extraSmall: 'xs',\n small: 'sm',\n medium: 'md',\n large: 'lg',\n extraLarge: 'xl',\n };\n\n return `var(--font-size-${fontSizeMap[size]})`;\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';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LoaderProps } from './types';\n\nexport type { LoaderProps, LoaderSize } from './types';\n\nexport function Loader({ size = 'medium', color, className, label = 'Loading...' }: LoaderProps) {\n const style = color ? { ['--loader-color' as string]: colorVar(color) } : {};\n \n return (\n <span role=\"status\" aria-label={label} className={classNames('loader', `loader--${size}`, className)} style={style}>\n <span className=\"loader__ring\" />\n <span className=\"sr-only\">{label}</span>\n </span>\n );\n}\n\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 = 'medium',\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 : undefined;\n const customColor = !color || tokenColor ? 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 === 'extraSmall' || size === 'small' ? 'extraSmall' : size === 'medium' ? 'small' : 'medium'} \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 = 'medium', 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 {\n if (!text) return '';\n\n return text\n .toLowerCase()\n .replace(/^\\p{L}/u, (char) => char.toUpperCase());\n}\n\n\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 = 'medium',\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', '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,\n direction = 'row',\n align = 'stretch',\n justify = 'flex-start',\n wrap = 'nowrap',\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(\n 'flex',\n `flex-direction--${direction}`,\n `flex-align--${align}`,\n `flex-justify--${justify}`,\n `flex-wrap--${wrap}`,\n `flex-gap--${gap}`,\n className\n )}\n style={style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\n\n\n\n\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\nexport const FormField: React.FC<FormFieldProps> = ({\n label,\n error,\n hint,\n children,\n full = false,\n className,\n htmlFor\n}) => {\n return (\n <Flex direction=\"column\" gap=\"1\" className={classNames('form-field-root', full && 'form-field--full', className)}>\n {label && (\n <Text size=\"small\" weight=\"medium\" as=\"label\" htmlFor={htmlFor} className=\"form-field-label\">\n {LabelFormater(label)}\n </Text>\n )}\n {children}\n {error && (\n <Text as=\"span\" color=\"error\" size=\"small\" className=\"form-field-message\" role=\"alert\">\n {error}\n </Text>\n )}\n {!error && hint && (\n <Text as=\"span\" color=\"neutral\" size=\"small\" className=\"form-field-message\">\n {hint}\n </Text>\n )}\n </Flex>\n );\n};\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 | 'hash'\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 'hash': {\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=\\\"M16 8.9V7H8l4 5-4 5h8v-1.9\\\"/>\",\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 HashIcon = createNamedIcon('hash' 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, hint, prefix, suffix, clearable = false, size = 'medium', 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 isControlled = props.value !== undefined;\n const [uncontrolledHasValue, setUncontrolledHasValue] = React.useState(\n Boolean(props.defaultValue ?? '')\n );\n const hasValue = isControlled\n ? String(props.value ?? '').length > 0\n : uncontrolledHasValue;\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 if (!isControlled) setUncontrolledHasValue(false);\n node.focus();\n };\n\n const handleInput = (event: React.FormEvent<HTMLInputElement>) => {\n props.onInput?.(event);\n if (!isControlled) {\n setUncontrolledHasValue((event.target as HTMLInputElement).value.length > 0);\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=\"small\"\n onClick={handleClear}\n tabIndex={-1}\n className=\"input-field__clear\"\n />\n ) : suffix;\n\n return (\n <FormField label={label} error={error} hint={hint} 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` : hint ? `${inputId}-hint` : 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, hint, 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={hint} 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` : hint ? `${inputId}-hint` : 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=\"extraSmall\" /> : <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, hint, 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={hint} 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 = 'medium',\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 listRef = useRef<HTMLUListElement>(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 [focusedIndex, setFocusedIndex] = useState(-1);\n const selectedValue = value ?? internalValue;\n\n useEffect(() => {\n if (!isOpen) {\n setSearchTerm('');\n setFocusedIndex(-1);\n return;\n }\n\n const selectedIndex = options.findIndex(o => o.value === selectedValue);\n setFocusedIndex(selectedIndex >= 0 ? selectedIndex : 0);\n\n if (searchable) {\n searchInputRef.current?.focus();\n }\n }, [isOpen]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (isOpen) setFocusedIndex(0);\n }, [searchTerm]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (!isOpen || focusedIndex < 0) return;\n const list = listRef.current;\n if (!list) return;\n (list.children[focusedIndex] as HTMLElement | undefined)?.scrollIntoView({ block: 'nearest' });\n }, [focusedIndex, isOpen]);\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 getNextEnabledIndex = (startIndex: number, direction: 1 | -1) => {\n const len = filteredOptions.length;\n let i = startIndex;\n for (let count = 0; count < len; count++) {\n i = ((i + direction) + len) % len;\n if (!filteredOptions[i]?.disabled) return i;\n }\n return startIndex;\n };\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 const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (isOpen && focusedIndex >= 0 && filteredOptions[focusedIndex]) {\n handleSelect(filteredOptions[focusedIndex].value, filteredOptions[focusedIndex].disabled);\n } else {\n setIsOpen((current) => !current);\n }\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n } else {\n setFocusedIndex(prev => getNextEnabledIndex(prev < 0 ? -1 : prev, 1));\n }\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (isOpen) {\n setFocusedIndex(prev => getNextEnabledIndex(prev < 0 ? filteredOptions.length : prev, -1));\n }\n }\n\n if (event.key === 'Home' && isOpen) {\n event.preventDefault();\n const first = filteredOptions.findIndex(o => !o.disabled);\n if (first >= 0) setFocusedIndex(first);\n }\n\n if (event.key === 'End' && isOpen) {\n event.preventDefault();\n const last = filteredOptions.map((o, i) => (!o.disabled ? i : -1)).filter(i => i >= 0).at(-1);\n if (last !== undefined) setFocusedIndex(last);\n }\n };\n\n const activedescendant = isOpen && focusedIndex >= 0\n ? `${generatedId}-option-${focusedIndex}`\n : undefined;\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 aria-activedescendant={activedescendant}\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={handleKeyDown}\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 ref={listRef} id={`${generatedId}-listbox`} className=\"select__list\" role=\"listbox\">\n {filteredOptions.length > 0 ? filteredOptions.map((option, index) => {\n const isSelected = option.value === selectedValue;\n const isFocused = focusedIndex === index;\n\n return (\n <li\n key={option.value}\n id={`${generatedId}-option-${index}`}\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n className={classNames(\n 'select__option',\n isSelected && 'select__option--selected',\n option.disabled && 'select__option--disabled',\n isFocused && 'select__option--focused'\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 listRef = useRef<HTMLUListElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState<string[]>(defaultValue);\n const [focusedIndex, setFocusedIndex] = useState(-1);\n const selectedValues = value ?? internalValue;\n\n useEffect(() => {\n if (!isOpen) {\n setFocusedIndex(-1);\n return;\n }\n setFocusedIndex(0);\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen || focusedIndex < 0) return;\n const list = listRef.current;\n if (!list) return;\n (list.children[focusedIndex] as HTMLElement | undefined)?.scrollIntoView({ block: 'nearest' });\n }, [focusedIndex, isOpen]);\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 getNextEnabledIndex = (startIndex: number, direction: 1 | -1) => {\n const len = options.length;\n let i = startIndex;\n for (let count = 0; count < len; count++) {\n i = ((i + direction) + len) % len;\n if (!options[i]?.disabled) return i;\n }\n return startIndex;\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 const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (isOpen && focusedIndex >= 0 && options[focusedIndex]) {\n toggleValue(options[focusedIndex].value, options[focusedIndex].disabled);\n } else {\n setIsOpen((current) => !current);\n }\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n } else {\n setFocusedIndex(prev => getNextEnabledIndex(prev < 0 ? -1 : prev, 1));\n }\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (isOpen) {\n setFocusedIndex(prev => getNextEnabledIndex(prev < 0 ? options.length : prev, -1));\n }\n }\n\n if (event.key === 'Home' && isOpen) {\n event.preventDefault();\n const first = options.findIndex(o => !o.disabled);\n if (first >= 0) setFocusedIndex(first);\n }\n\n if (event.key === 'End' && isOpen) {\n event.preventDefault();\n const last = options.map((o, i) => (!o.disabled ? i : -1)).filter(i => i >= 0).at(-1);\n if (last !== undefined) setFocusedIndex(last);\n }\n };\n\n const activedescendant = isOpen && focusedIndex >= 0\n ? `${generatedId}-option-${focusedIndex}`\n : undefined;\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 aria-activedescendant={activedescendant}\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={handleKeyDown}\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 ref={listRef} id={`${generatedId}-listbox`} className=\"multiselect__menu\" role=\"listbox\" aria-multiselectable=\"true\">\n {options.length > 0 ? options.map((option, index) => {\n const isSelected = selectedValues.includes(option.value);\n const isFocused = focusedIndex === index;\n\n return (\n <li\n key={option.value}\n id={`${generatedId}-option-${index}`}\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n className={classNames(\n 'multiselect__option',\n isSelected && 'multiselect__option--selected',\n option.disabled && 'multiselect__option--disabled',\n isFocused && 'multiselect__option--focused'\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 './Dropdown.css';\nimport React, { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport type { DropdownItemProps, DropdownPlacement, DropdownProps } from './types';\n\nexport type { DropdownItemProps, DropdownPlacement, DropdownProps } from './types';\n\ninterface DropdownContextValue {\n close: () => void;\n}\n\nconst DropdownContext = createContext<DropdownContextValue | null>(null);\n\nfunction assignRef<TValue>(ref: React.Ref<TValue> | undefined, value: TValue) {\n if (!ref) return;\n\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n\n (ref as React.MutableRefObject<TValue>).current = value;\n}\n\nfunction resolvePosition(\n rect: DOMRect,\n placement: DropdownPlacement,\n offset: number,\n matchTriggerWidth: boolean\n) {\n const top = placement.startsWith('bottom')\n ? rect.bottom + offset\n : rect.top - offset;\n const left = placement.endsWith('end')\n ? rect.right\n : rect.left;\n\n return {\n top,\n left,\n minWidth: matchTriggerWidth ? rect.width : undefined,\n transform: placement === 'bottom-end'\n ? 'translateX(-100%)'\n : placement === 'top-start'\n ? 'translateY(-100%)'\n : placement === 'top-end'\n ? 'translate(-100%, -100%)'\n : undefined,\n };\n}\n\nfunction DropdownRoot({\n children,\n content,\n open,\n defaultOpen = false,\n onOpenChange,\n placement = 'bottom-start',\n offset = 8,\n disabled = false,\n matchTriggerWidth = false,\n closeOnClickOutside = true,\n className,\n ...props\n}: DropdownProps) {\n const generatedId = useId();\n const triggerRef = useRef<HTMLElement | null>(null);\n const menuRef = useRef<HTMLDivElement | null>(null);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [position, setPosition] = useState<{ top: number; left: number; minWidth?: number; transform?: string }>({\n top: 0,\n left: 0,\n });\n const isOpen = open ?? internalOpen;\n\n const setOpen = useCallback((nextOpen: boolean) => {\n if (open === undefined) {\n setInternalOpen(nextOpen);\n }\n\n onOpenChange?.(nextOpen);\n }, [onOpenChange, open]);\n\n const close = useCallback(() => setOpen(false), [setOpen]);\n\n const updatePosition = useCallback(() => {\n if (!triggerRef.current) return;\n\n const rect = triggerRef.current.getBoundingClientRect();\n setPosition(resolvePosition(rect, placement, offset, matchTriggerWidth));\n }, [matchTriggerWidth, offset, placement]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n updatePosition();\n\n const handleUpdate = () => updatePosition();\n window.addEventListener('resize', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n\n return () => {\n window.removeEventListener('resize', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n };\n }, [isOpen, updatePosition]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handlePointerDown = (event: MouseEvent) => {\n const target = event.target as Node;\n\n if (triggerRef.current?.contains(target) || menuRef.current?.contains(target)) {\n return;\n }\n\n if (closeOnClickOutside) {\n close();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n triggerRef.current?.focus();\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [close, closeOnClickOutside, isOpen]);\n\n const contextValue = useMemo<DropdownContextValue>(() => ({ close }), [close]);\n\n const child = React.cloneElement(children, {\n ref: (node: HTMLElement | null) => {\n triggerRef.current = node;\n assignRef((children as React.ReactElement & { ref?: React.Ref<HTMLElement> }).ref, node);\n },\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'menu',\n 'aria-controls': isOpen ? generatedId : undefined,\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onClick?.(event);\n if (!event.defaultPrevented && !disabled) {\n setOpen(!isOpen);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n children.props.onKeyDown?.(event);\n\n if (disabled || event.defaultPrevented) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setOpen(!isOpen);\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setOpen(true);\n }\n },\n });\n\n return (\n <>\n {child}\n {isOpen && createPortal(\n <DropdownContext.Provider value={contextValue}>\n <div\n id={generatedId}\n ref={menuRef}\n className={classNames('dropdown__menu', className)}\n style={{\n top: position.top,\n left: position.left,\n minWidth: position.minWidth,\n transform: position.transform,\n }}\n role=\"menu\"\n {...props}\n >\n <div className=\"dropdown__content\">{content}</div>\n </div>\n </DropdownContext.Provider>,\n document.body\n )}\n </>\n );\n}\n\nfunction DropdownItem({\n children,\n className,\n inset = false,\n destructive = false,\n keepOpen = false,\n leftContent,\n rightContent,\n onClick,\n onSelect,\n ...props\n}: DropdownItemProps) {\n const context = useContext(DropdownContext);\n\n return (\n <button\n type=\"button\"\n className={classNames(\n 'dropdown__item',\n inset && 'dropdown__item--inset',\n destructive && 'dropdown__item--destructive',\n className\n )}\n role=\"menuitem\"\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n\n onSelect?.();\n if (!keepOpen) {\n context?.close();\n }\n }}\n {...props}\n >\n <span className=\"dropdown__item-label\">\n {leftContent && <span className=\"dropdown__item-left\">{leftContent}</span>}\n <span>{children}</span>\n </span>\n {rightContent && <span className=\"dropdown__item-right\">{rightContent}</span>}\n </button>\n );\n}\n\nexport const Dropdown = Object.assign(DropdownRoot, {\n Item: DropdownItem,\n});\n\n(Dropdown as typeof Dropdown & { displayName?: string }).displayName = 'Dropdown';\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} error={error}>\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 React from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils';\nimport { FormField } from '../FormField/FormField';\nimport './NumberInput.css';\nimport type { NumberInputProps } from './types';\n\nexport type { NumberInputProps, NumberInputVariant } from './types';\n\nfunction clamp(value: number, min?: number, max?: number): number {\n if (min !== undefined && value < min) return min;\n if (max !== undefined && value > max) return max;\n return value;\n}\n\nfunction sanitizeNumberInput(raw: string): string {\n let value = raw.replace(',', '.');\n\n value = value.replace(/[^\\d.-]/g, '');\n\n const isNegative = value.startsWith('-');\n value = value.replace(/-/g, '');\n if (isNegative) value = `-${value}`;\n\n const parts = value.split('.');\n if (parts.length > 2) {\n value = `${parts[0]}.${parts.slice(1).join('')}`;\n }\n\n if (value.includes('-')) {\n value = value[0] === '-' ? `-${value.slice(1).replace(/-/g, '')}` : value.replace(/-/g, '');\n }\n\n return value;\n}\n\nexport const NumberInput = React.forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n min,\n max,\n step = 1,\n variant = 'default',\n disabled = false,\n invalid = false,\n fullWidth = false,\n label,\n hint,\n error,\n inputClassName,\n containerClassName,\n id,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const inputId = id ?? (label ? `number-input-${generatedId}` : undefined);\n\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = React.useState<number | undefined>(defaultValue);\n const [inputText, setInputText] = React.useState<string>(\n String(isControlled ? value ?? '' : defaultValue ?? ''),\n );\n\n const currentValue = isControlled ? value : internalValue;\n\n React.useEffect(() => {\n if (isControlled) {\n setInputText(value !== undefined ? String(value) : '');\n }\n }, [isControlled, value]);\n\n const commit = (raw: string) => {\n const sanitized = sanitizeNumberInput(raw).trim();\n\n if (sanitized === '' || sanitized === '-' || sanitized === '.' || sanitized === '-.') {\n setInputText('');\n if (!isControlled) setInternalValue(undefined);\n onChange?.(undefined);\n return;\n }\n\n const parsed = Number(sanitized);\n if (!Number.isFinite(parsed)) return;\n\n const clamped = clamp(parsed, min, max);\n\n setInputText(String(clamped));\n if (!isControlled) setInternalValue(clamped);\n onChange?.(clamped);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const sanitized = sanitizeNumberInput(event.target.value);\n setInputText(sanitized);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n commit(event.target.value);\n props.onBlur?.(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const allowedControlKeys = [\n 'Backspace',\n 'Delete',\n 'Tab',\n 'Escape',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n const isShortcut =\n event.ctrlKey || event.metaKey || event.altKey;\n\n if (event.key === 'Enter') {\n commit((event.target as HTMLInputElement).value);\n props.onKeyDown?.(event);\n return;\n }\n\n if (isShortcut || allowedControlKeys.includes(event.key)) {\n props.onKeyDown?.(event);\n return;\n }\n\n const input = event.currentTarget;\n const current = input.value;\n const selectionStart = input.selectionStart ?? current.length;\n const selectionEnd = input.selectionEnd ?? current.length;\n\n const hasMinus = current.includes('-');\n const hasDot = current.includes('.');\n\n const isDigit = /^\\d$/.test(event.key);\n const isMinus = event.key === '-';\n const isDot = event.key === '.' || event.key === ',';\n\n if (isDigit) {\n props.onKeyDown?.(event);\n return;\n }\n\n if (isMinus) {\n const insertingAtStart = selectionStart === 0;\n const replacingExistingMinus =\n hasMinus && selectionStart === 0 && selectionEnd > 0;\n\n if ((!hasMinus && insertingAtStart) || replacingExistingMinus) {\n props.onKeyDown?.(event);\n return;\n }\n }\n\n if (isDot) {\n if (!hasDot) {\n props.onKeyDown?.(event);\n return;\n }\n }\n\n event.preventDefault();\n props.onKeyDown?.(event);\n };\n\n const increment = () => {\n const base = currentValue ?? (min ?? 0);\n const next = clamp(base + step, min, max);\n setInputText(String(next));\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n };\n\n const decrement = () => {\n const base = currentValue ?? (min ?? 0);\n const next = clamp(base - step, min, max);\n setInputText(String(next));\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n };\n\n const atMin = min !== undefined && (currentValue ?? -Infinity) <= min;\n const atMax = max !== undefined && (currentValue ?? Infinity) >= max;\n\n const resolvedError = error ?? (invalid ? ' ' : undefined);\n\n return (\n <FormField\n label={label}\n hint={hint}\n error={resolvedError}\n full={fullWidth}\n htmlFor={inputId}\n className={containerClassName}\n >\n <div\n className={classNames(\n 'number-input',\n `number-input--${variant}`,\n resolvedError && 'number-input--error',\n disabled && 'number-input--disabled',\n fullWidth && 'number-input--full',\n )}\n >\n {variant === 'stepper' && (\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"number-input__stepper-btn number-input__stepper-btn--decrement\"\n onClick={decrement}\n disabled={disabled || atMin}\n aria-label=\"Diminuir\"\n >\n <Icon name=\"minus\" size={16} />\n </button>\n )}\n\n <input\n ref={ref}\n id={inputId}\n type=\"text\"\n inputMode=\"decimal\"\n role=\"spinbutton\"\n aria-valuenow={currentValue}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-invalid={invalid || !!error}\n disabled={disabled}\n value={inputText}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n className={classNames('number-input__input', inputClassName)}\n {...props}\n />\n\n {variant === 'default' && (\n <div className=\"number-input__chevrons\">\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"number-input__chevron-btn\"\n onClick={increment}\n disabled={disabled || atMax}\n aria-label=\"Aumentar\"\n >\n <Icon name=\"chevron-up\" size={12} />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"number-input__chevron-btn\"\n onClick={decrement}\n disabled={disabled || atMin}\n aria-label=\"Diminuir\"\n >\n <Icon name=\"chevron-down\" size={12} />\n </button>\n </div>\n )}\n\n {variant === 'stepper' && (\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"number-input__stepper-btn number-input__stepper-btn--increment\"\n onClick={increment}\n disabled={disabled || atMax}\n aria-label=\"Aumentar\"\n >\n <Icon name=\"plus\" size={16} />\n </button>\n )}\n </div>\n </FormField>\n );\n },\n);\n\nNumberInput.displayName = 'NumberInput';","import React, { useLayoutEffect, useRef, useState } from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport './Carousel.css';\nimport type { CarouselProps } from './types';\n\nexport type { CarouselProps } from './types';\n\nexport const Carousel: React.FC<CarouselProps> = ({\n items,\n index,\n defaultIndex = 0,\n onChange,\n itemsPerView = 1,\n showDots = true,\n showArrows = true,\n loop = false,\n className,\n}) => {\n const isControlled = index !== undefined;\n const [internalIndex, setInternalIndex] = useState(defaultIndex);\n const current = isControlled ? (index ?? 0) : internalIndex;\n\n const count = items.length;\n\n const maxIndex = loop ? count - 1 : Math.max(0, count - itemsPerView);\n const dotCount = maxIndex + 1;\n\n const touchStartPos = useRef(0);\n const trackRef = useRef<HTMLDivElement>(null);\n const firstSlideRef = useRef<HTMLDivElement>(null);\n\n const [stepSize, setStepSize] = useState(0);\n\n useLayoutEffect(() => {\n const track = trackRef.current;\n const firstSlide = firstSlideRef.current;\n\n if (!track || !firstSlide) return;\n\n const measure = () => {\n const trackStyles = window.getComputedStyle(track);\n const gap = parseFloat(trackStyles.columnGap || '0');\n const slideSize = firstSlide.getBoundingClientRect().width;\n setStepSize(slideSize + gap);\n };\n\n measure();\n\n const resizeObserver = new ResizeObserver(measure);\n resizeObserver.observe(track);\n resizeObserver.observe(firstSlide);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [itemsPerView, items.length]);\n\n const go = (next: number) => {\n const target = loop\n ? ((next % count) + count) % count\n : Math.min(Math.max(next, 0), maxIndex);\n\n if (target === current) return;\n\n if (!isControlled) setInternalIndex(target);\n onChange?.(target);\n };\n\n const prev = () => go(current - 1);\n const next = () => go(current + 1);\n\n const atStart = !loop && current === 0;\n const atEnd = !loop && current >= maxIndex;\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n prev();\n }\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n next();\n }\n };\n\n const handleTouchStart = (e: React.TouchEvent) => {\n touchStartPos.current = e.touches[0].clientX;\n };\n\n const handleTouchEnd = (e: React.TouchEvent) => {\n const delta = touchStartPos.current - e.changedTouches[0].clientX;\n if (Math.abs(delta) > 40) {\n if (delta > 0) next();\n else prev();\n }\n };\n\n const slideBasis = `calc((100% - (var(--carousel-gap) * ${Math.max(itemsPerView - 1, 0)})) / ${itemsPerView})`;\n\n return (\n <div\n className={classNames('carousel', 'carousel--horizontal', className)}\n role=\"region\"\n aria-label=\"Carrossel\"\n tabIndex={0}\n onKeyDown={handleKeyDown}\n >\n <div className=\"carousel__row\">\n {showArrows && (\n <button\n type=\"button\"\n className=\"carousel__arrow\"\n onClick={prev}\n disabled={atStart}\n aria-label=\"Slide anterior\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n )}\n\n <div\n className=\"carousel__viewport\"\n onTouchStart={handleTouchStart}\n onTouchEnd={handleTouchEnd}\n >\n <div\n ref={trackRef}\n className=\"carousel__track\"\n style={{ transform: `translate3d(-${stepSize * current}px, 0, 0)` }}\n aria-live=\"polite\"\n >\n {items.map((item, i) => (\n <div\n key={i}\n ref={i === 0 ? firstSlideRef : undefined}\n className=\"carousel__slide\"\n style={{ flex: `0 0 ${slideBasis}`, maxWidth: slideBasis }}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-label={`Slide ${i + 1} de ${count}`}\n aria-hidden={i < current || i >= current + itemsPerView}\n >\n {item}\n </div>\n ))}\n </div>\n </div>\n\n {showArrows && (\n <button\n type=\"button\"\n className=\"carousel__arrow\"\n onClick={next}\n disabled={atEnd}\n aria-label=\"Próximo slide\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n )}\n </div>\n\n {showDots && dotCount > 1 && (\n <div className=\"carousel__dots\" role=\"tablist\" aria-label=\"Slides\">\n {Array.from({ length: dotCount }, (_, i) => (\n <button\n key={i}\n type=\"button\"\n role=\"tab\"\n aria-selected={i === current}\n aria-label={`Ir para posição ${i + 1}`}\n className={classNames(\n 'carousel__dot',\n i === current && 'carousel__dot--active',\n )}\n onClick={() => go(i)}\n />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nCarousel.displayName = 'Carousel';\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=\"small\" color=\"neutral\">{description}</Text>\n </div>\n </div>\n {error && <Text size=\"small\" color=\"error\">{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=\"small\" color=\"neutral\">\n {description}\n </Text>\n )}\n {children}\n </div>\n {action && <div className=\"card-header__action\">{action}</div>}\n </div>\n );\n}\n\nexport const CardBody = React.memo(function CardBody({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-body', className)} {...props}>{children}</div>;\n});\n\nexport const CardFooter = React.memo(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,\n columns = 1,\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(\n 'grid',\n `grid-cols--${columns}`,\n `grid-gap--${gap}`,\n className\n )}\n style={style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\n\n\n\n\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\nexport const Container: React.FC<ContainerProps> = ({\n children,\n size = 'large',\n className,\n style\n}) => {\n return (\n <div\n className={classNames('container', `container--${size}`, className)}\n style={style}\n >\n {children}\n </div>\n );\n};\n\n\n\n\n\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=\"small\" color=\"neutral\" 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, { createContext, useCallback, useContext, useMemo, 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\ninterface AccordionContextValue {\n toggle: (id: string) => void;\n openItems: string[];\n}\n\nconst AccordionContext = createContext<AccordionContextValue | null>(null);\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 = useCallback((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 }, [type]);\n\n return { openItems, toggle };\n}\n\nexport const AccordionItem = React.memo<AccordionItemProps>(({\n title, children, isOpen: isOpenProp = false, onToggle: onToggleProp, id = '', className, ...props\n}) => {\n const ctx = useContext(AccordionContext);\n const isOpen = ctx ? ctx.openItems.includes(id) : isOpenProp;\n const ctxToggle = ctx?.toggle;\n const handleToggle = useCallback(() => {\n if (ctxToggle) { ctxToggle(id); } else { onToggleProp?.(); }\n }, [ctxToggle, id, onToggleProp]);\n\n return (\n <div className={classNames('accordion-item', isOpen && 'accordion-item--open', className)} {...props}>\n <button\n className=\"accordion-item__trigger\"\n onClick={handleToggle}\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});\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport const Accordion: AccordionComponent = ({\n children, type = 'single', defaultValue, className, ...props\n}) => {\n const { openItems, toggle } = useAccordionState(type, defaultValue);\n const ctx = useMemo(() => ({ toggle, openItems }), [toggle, openItems]);\n return (\n <AccordionContext.Provider value={ctx}>\n <div className={classNames('accordion', className)} {...props}>{children}</div>\n </AccordionContext.Provider>\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 = 'small',\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 = 'medium',\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 './Alert.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading5 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { AlertProps } from './types';\n\nexport type { AlertProps, AlertVariant } from './types';\n\nexport const Alert: React.FC<AlertProps> = ({\n variant = 'primary',\n title,\n icon,\n action,\n children,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('alert', `alert--${variant}`, className)} role=\"alert\" {...props}>\n {icon && <div className=\"alert__icon\">{icon}</div>}\n <div className=\"alert__content\">\n {title && <Heading5 className=\"alert__title\">{title}</Heading5>}\n {children && (\n <Text size=\"small\" className=\"alert__description\">\n {children}\n </Text>\n )}\n </div>\n {action && <div className=\"alert__action\">{action}</div>}\n </div>\n );\n};\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 = 'medium',\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 = 'medium',\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 animated = true,\n rounded = false\n}) => {\n const customStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n borderRadius: rounded ? '9999px' : 'var(--radius-md)'\n };\n\n return (\n <div\n className={classNames(\n 'skeleton',\n animated && 'skeleton--animated',\n rounded && 'skeleton--rounded'\n )}\n style={customStyle}\n />\n );\n};\n\nSkeleton.displayName = 'Skeleton';\n","export default \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEA2ADYAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAcICWADAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+tevqT54KACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAq3d9ZWERmvru1s4VBZpbu4it4lVcbmMkzooC7lyScDcM9RT3A4nUfiv8AC3Ryw1f4leANLKFlcaj4y8O2JVkXe6t9p1GLaVX5mBwVXk4HNUoTe0JP0i/8hXXdfecLqP7UX7PGlllufjB4GlK4z/Z2tQ6uDnJG1tJF6r9DnYW28BsFlzSo1X9iXzVvzFzR7nCah+3J+zDp+5R8SDfSKCfL0/wp4yuN3XAWc+H47QkkYA+0DHBbaCCaWHrP7NvVx/zDnj3/AAZwmof8FFf2erLd9mTx5q2CQP7P8NWse8DPzL/aus6ZgHHG7a3Iyo5xSwtX+6vV/wCSYudeZweo/wDBTT4YxZ/sn4eeO73j5f7Rm8P6Xk56H7NqWsbRjnI3c8Y71Swk+so/K7/yFzrszhdQ/wCCoK/MulfBgnk7ZtQ8eAfLzjda23hJuTwTi7wuCPmzuFLCd6n3R/8Atg9p5fj/AMA4TUf+CmvxMlDf2T8O/AtkcfL/AGjceINUAOerC21DSNwxxgFeec44qlhIdZS+Vl+jFzvsjP07/gph8YIpw2reB/hre238UWnWvijS5yPa4ufE2rxr9TbN9O9N4SHSU/nZ/og532R9RfDP/gox8K/FVxbab4+0PVvhzf3MkUK6g06+I/DKu52B7nUbW1stTsUZyhLS6NLa26Mz3N8kUTTHGeFmtYtS8tn8lqn9/wAilNPfQ+/9K1XTNc06z1fRtQstV0rUIEubDUdOuYbyyvLeQZSa2uYHkhmjbnDI7DIIPIIrmaabTVmt0yzQpAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAZ19rGk6Wu/U9U07Tk/vX17bWi9M/euJYx0569OaaTeyb9EBw2o/Gb4QaQWXVfir8ONOdAS0d7438NW0o25yBFNqaSM2QQFVSxYbQCeKpU5vaE3/wBuv/IV13X3nC6h+1d+znphYXPxe8HyFc5/s+8m1YHClvlOlW96H4GBsLZbCD5iAaVGq/sS+en5i5o9zg9Q/bu/ZisgfJ8fXmpupUFNP8IeMM8kg4kvtDsoWCgBmKykEEbCzbgKWHrfy29ZR/zDnj3/AAOE1H/go78AbIN9k034i6uwDbfsXh7SYUZg21QW1PxHYMob7+4RsVTOV8zEZpYWp3ivm/0Qudef9fM4XUf+Cm/w+iL/ANk/DTxlegFvLOo6lomllgANpcW0mr+WSchgpk2gAguTgUsJLrOPyTf+QuddjhNR/wCCoF425dJ+DVtDg/LLqPjmW53DHVre28K2mw57C5fgZz82FpYTvU+6P/BD2nl+Jweo/wDBTH4sygjSfAfw8sSc4a/j8SamQMjoINd0oZAzgkEZwSpAKm1hIdZSf3L9GLnfZHC6j/wUP/aJvS32a48F6Pk8DTvDHmheMYX+1tQ1Q47/ADFjnvjiqWGpf3n6v/KwueRwmo/tuftO6kCknxOntYznCad4a8HWBXOOk9t4fjuuwxunOOcYy2aWHor7H3uT/UOaXc4XUf2mf2gtUz9p+MfxBi3HJ/s7xLqOkdBjj+yZrLaPZcAnkjPNUqVJf8u4/NJ/mLmfd/ecHqHxM+I+rEnVfiB431MnGTqHivXr0nB3DJub+TOG+Yeh561ShFbRivRJfoK7ONmnmuJGmuJpZ5XJLyzSPLIxJySzuWZiSSSSTyaoCOgAoAKACgAoAKACgAoAKAPq79mL9qTxR8A/EMNneTXuufDbU7hE17ww07yf2f5kmX1zw6kr+VZ6pBvaS4t08q11mIG2vCk62d9Y41aUai7SW0v0fdfl0KjJr07H9BWh63pPiTR9L8QaFf2+qaLrVha6npeo2rF7e9sb2FJ7a4iJCsFkidW2uqyISUkRHVlHmNNNp6NOzXmjY1aQBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAYuo+I/D2jkjVte0bSyAWI1HVLGxIUEKWP2meLADEKT0BIHU00m9k36JiujhdR+OfwV0jcNS+Lnw1s3XdmGXxv4b+0fJ94LbLqTTsV6ELGSCQMZIBpU6j2hP/wF/wCQXXdfecJqH7Xf7Numb/tPxb8NybOv9nx6rq+f9z+ytOvfM6/wbsfgatUKr+w/nZfm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S/Jr/IuG/wAj9ya841CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA+J/jH+3Z8H/hddXWiaG9x8SPFFo8sFzp/hy5hh0SxuYtwa31DxNLHcWglWQeVKmk2usyW0gkjuo4ZYzGeiGGnPV+4vPf7v87EOaXmfDniD/gpR8Zb+eT/hHvCvgLw9ZEnykuLPWNb1BASMCS8l1exs5SAMZXSoc5JI6behYWmt3J/NJfl+pPO/JHmmo/t6/tNXwYW/jTS9JDDH/Eu8IeF3I5ydp1PS9SYEj5c5yBypDfNVrDUv5W/WT/RoXPLv+COF1H9rn9pHVCWufi34miJzn+zhpmjjkAcLpOn2Sr042gYOSOSc0qNJfYXzu/zYuaXdnB6j8cfjRq24al8WviVeowwYp/G/iVoMZzgQf2kIQM84CAVSp01tCH/gK/yC77v7zhdR8Q6/rBLatrmsaox6nUdTvb0nOAcm5nlJ4AH4D0qkktkl6IRkUwCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD7C/YO1I2H7TfgaDdtTVtP8Xaa/XDD/AIRTV9QjU44+abT4gN2Rux3wRhiFelLycX+KKh8S+f5H9BdeYbBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB+O/7bv7W+o6nqutfBb4a6lJZaJpk02l+OvEdjKY7nW7+MeVfeGtOuI2DwaRYSmSz1qVdk2p3sM9ijDS4ZTqvfh6KSVSau3rFdl0fq+nb12ylLovmfl1XWQFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAORHkYIis7scKiKWZj6BQCSfYCgDrNO+H3j3V9v9k+CPF+qbzhf7O8Naze7jjOF+zWUuTjnAzxzUuUVvKK9WkFn2O7079nD4+6oUFp8HPiOocAo974S1nTImDYwwl1O0tItpyCG37SvzZ281Lq019uH/AIEn+Q+V9n9x3enfsWftN6ngw/C2/t1JwW1HXvCembeM5KX+vW8uP92NiTwBkGpdekvtr5KT/JD5Zdju9O/4J7/tHXpQXOl+E9H3AbjqPiq0lEecZD/2TDqhJXJz5YccHBPGZeJpd5P0X+dg5Jf0zu9O/wCCaHximKnVPGvw3sFJ5FneeJtRlVcd0k8N6dGWzwVWYrjneT8tS8XT6Rn+C/Vj5H3X9fI7rTf+CYGryYOr/GLTbTBUlNN8F3Wo7hgF1El14k0vYc5VW8p+MOU/gqXi10g/nK36MfJ5nYw/8Ew/Cy2zLcfFnX5bsx4SeHwxp0FssvzfO1q+q3ErR/d/di8RuG/e/MNs/W3/ACL/AMCf+Qez8/wPkX4+/sUfEj4JabceKbK8tvHnge1yb/XdKtJLDUtFTeiRza3oUtxeSW9nKZABf6fe6nawFJP7QewDW5uN6WIjUfLbll0T1T9H38rLyJcWtd0fGlbkhQAUAFAH0H+yjqZ0n9oz4Q3QcJ5vi+z0zczFQRrUFxoxTI5zIL/y1XozMFb5SayrK9Kf+Fv7tf0HHdep/SVXlG4UAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB4N+0z8SZ/hR8EfHni+wuDba1FpY0jw9MufNh1zXp4tJsLuH5WUy6a12+qqHGxhYsrZB2nWlDnqRi9r3fotfx2FJ2TP5rGZnZmZizMSzMxJZmJyWYnJJJOSTyTya9UwEoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAnt7W5vJVgtLee6mb7sNvFJPK3IHyxxKznkgcDqQO9AHZ6d8LviZrBUaT8O/HWqFjhRp3hHX70scZwottPlycc4HbnpUucFvKK9ZL/MLPszu9O/Zi/aE1Tb9m+D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L7fn+Lfu3/x7ql1qr+3L5O35WDlXZHdad8LPhjpG3+yfhz4D0vacr/Z3hDw/ZbTjGV+zafFg4447cVLnN7zk/WT/AMx2XZfcdpbWlrZxiG0tre1iUALFbQxwRgAYACRKqgAcAAcDpUjLFIAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA/DH/gpBp32P496PdhRjVvhvoF4zDPMsGt+J9OYHP8SxWUJwONrIepIHo4V/u35Tf5JmU9/kfAFdJAUAFAFmxu5bC9s76ElZrK6t7uJlO1hLbypNGVYhtpDICDtbB5welAH9XtrcRXdtb3cDbobqCK4hbj5op41kjbgkcowPBI9CRzXjHQT0gCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA+Iv+Cg2m/bv2cNXutrN/Y3irwrqRKgEJ5t8+j7nJPyqf7V2AjJ3soxgkjowztVXmpL8L/oRPb5n4H16RkFABQAUAFAFmzsr3UbmKz0+0ur+8nO2G1s7eW6uZmxnbFBAjyyHAJwik45pbbgekaf8AA/4z6tsOm/CX4lXqP92WDwP4meDvy1wNM8hBxjc0ijPGckCpdSmt5w/8CX+Y7Ps/uO70/wDZH/aR1MgW3wk8TxlioH9of2bpI+Y4GTqt/ZBR/eLEBRy2BUutSX218rv8g5Zdmd1p37BX7TV8R9o8FaXpAIzu1Hxf4WcckjBXS9V1JwcANgpwCATvyol4ml/M36Rl+qQ+SXb8Ud3p3/BN3483eDea18NtKX59y3Wva7cSjbwuFsPDF3Ed5ORmdcKGLYbajS8VT7TfyX6sfI/I7zTv+CY3jaVk/tb4o+FrJSR5h07RNW1RlGBuKLcz6OHIbIAZo9wAYlSSol4uPSEn6tL/ADDkfdHdad/wTA0mPadW+Meo3f3S6ad4KttPx/fVZLnxNqefRXMS9Nxj52iXi30pr5y/4CH7Pz/A7vTf+CaHwehwdV8bfEe/YdrO78NabGen3ll8OajIR14WZDyPm4O6Hi59IxX3v9UPkXdndad/wT2/Zystv2nTfFusbduf7R8VXUW/HXd/ZMGl43/xbNmP4dtS8TV7xXov87hyLzO7079iv9mPTMGD4W2Nw3dtR1/xbqm48cmPUNfuYR0HCRqvXj5mzLxFZ/bfyUV+SHyx7fmd3p37N/wC0rb9k+Dnw5Ypt2vfeE9H1SRSn3WEmp2t44cHneG3kgEsSAal1aj+3L5Nr8h8q7I7rTvh54A0dUTSfA3g7S1jAEa6d4Z0WyVApDAILayiCgMAw2gYIBHIFS5Se8pP1bCy7L7jrkjjiQJEiRoudqIoRBkknCqABkkk4HJJPU0hj6QBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB+OP/AAU603yvGfwr1jaAL7wxr+m78DLf2VqtpdFS3Uhf7ZBAIwN5IyWOO/CP3Zrs0/vX/AMp7r0PzArrICgAoAKAP6kPhZqQ1n4YfDjVw+8ar4D8IakH4+cX3h7TroP8uV+bzc/Kcc8cV5E1ac12lJfizdbL0R3tQMKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD5i/bL03+1f2Z/itbBQxh0jStSGQDj+yPEui6qzDJGCEs25ByBnAPQ7UHarD1a+9NEy+Fn859eoYhQAUAFAHqXwY+FWtfGj4jeHvh/oj/ZX1ad5dS1RoTPDo2i2SG41TVZow8Yk+z2ylLaB5oReX8tpYiaN7lGEVJqnFyfTp3b2X9dBpXdj+ij4UfBr4f/AAY8O2/h7wNoVrYbYIo9S1mWKKXXteuEAL3ms6p5az3Ukku6VLcGOxs9/k2Fra26pCvlzqSqO8n6LovJL+vM2SS2PU6gYUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAflf/wAFPtN8zQfhBrAUYstX8YaazYGf+JnZ6BdIpbOcf8SlyBgjqcjv2YR6zXlF/df/ADM6nT5n5BV3GYUAFABQB/Sj+y3qZ1b9nf4P3RYMYvBGkaZkDGBosbaOF+qCwCE9ypPevKrK1Wf+Jv79TaPwo98rIoKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA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p5fidJa/8FMfhE+37b4F+I9uDt3/AGW38MXe3n5tvm+I7LdheVyU3H5TtHzUvqk/5ofj/kHOuzOitf8Ago/8AbjHm6V8SrHJUEXXh3RH27iQSfsXim84QDLYySCNgc5An6rU7wfzf6ofOvP+vmdFaf8ABQX9m+4x52teJ7DOM/a/CmovtznOfsJvPu4GdufvDbu+bavq1Xsn/wBvL9bBzrzOjtv26P2XrgLu+JMlq7bcJc+DvHSkEjJDSReGpoV2n5WJlC5+6zDBpfV638v/AJNH/MfPHv8Agz1Hwp+0R8DvG88Vp4a+KXg6+vbhxHb6fcatDpOpXMhYKqW2m6x9gvrh2YgBYbd2OQQCDUOlUjq4St3tf8rjUk+p7PWYwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA/mY/aL03+yfj18YrIZC/8LH8XXcYJLbYtR1q71GJckZIWO6RQTk4HLMfmPrUnenT/AMEfwVjB7v1Z4zWggoAKAPq39iLUv7M/ad+GTsxWK8m8S6bIASN/2/wfr9vApxnI+1tbtgjBKj7vDLjiFejP5P7pIqPxL+uh/RBXlmwUAFABQAUAFAH8x/7QGpy6x8cvi/qEr+YZfiT4zhibeXH2Wz8QX9lZIHLNlY7O3gjXadm1QIwqbVHr01anD/BH8kYPd+rPIqsQUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB9N/BP8Aaz+LfwUurW20/WZvE/hCORRc+DPEdzPd6aIC4aQaPdyGW80C4K+YY2sG+wmaQz3um3xAWsqlGFTdWl/Mt/n3X9XRSk0fuV8Efjt4F+PPhc+IfB93JHd2Rgg8Q+Hb7bHrHh6+njZ0gu41JSe0uPLmNhqVsXtL1IpVVo7q3u7W286pTlTdpbPZrZ/12NU09j2isxhQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAfzr/ALaum/2X+038UYRjZc32g6khBBz/AGp4T0G/k6AEFZriVCCAcqTllIZvUoO9KHo19zaMZfEz5arYkKACgD2z9m3U/wCyfj98HbvIAb4i+FbB2Y7VWPVtWttKkZm6AKl6zEnC4HzEDJrOqr05/wCGX4K447r1R/TDXkm4UAFABQAUAFAH8sXxEuzf/EDxzfFtxvfGPia7Lc/MbnWr2bd8wDc78/MAfUA17Efhj/hX5HO92cfVAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAHrvwQ+MHiL4IfEHSPG+gu8sMDrZ6/pG8JBr3h+eWJtQ0uYsrqjyLGs1lclGazvobe5UMI2jeKkFUi4v5Ps+407O5/St4d1/SvFegaN4m0K6S+0bX9LsdY0u7T7s9jqFvHdW0hGSUcxSr5kbfPFIGjcB1YDyWmm0907P1RstdTapDCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8GP+Ch2m/Yf2irq62hf7Z8GeF9SBAA3+Ut9o+4kcsQdKKZODhQvQAn0sM70vSTX6/qYz+L7j4ZroJCgAoA6rwJqf9i+OPBus7xF/ZPivw7qfmEkCP7Bq9ndbyQQQE8rcSCCMZBqZK8ZLumvvQLc/qjrxzoCgAoAKACgBCQASSAACSScAAckkngADqaYH8n2oXRvr++vTkG8vLm6IPUG4meY5yznOX5+dv95up9hHOVKYBQAUAFAAASQACSSAABkknoAO5PYUAfQ/hT9k79onxrYx6loPwr8QfYpo0lgn1qbSPCouIZFDxzWyeKdS0aS5hkQh45oEkjdSCrEEVk61KOjmvleX5JlcsuxsXX7GP7TdmWE3wp1RynX7LrXhS/B+cp8rWOvXAfkZ+Qt8mJPuEMV7el/Ovuf+Qcsuxzt1+yz+0RZjMvwf8bPzj/RdKa+PXHSye4OPfGMc5xzT9tS/nj99vzFyvsznbr4BfHOzJ+0fBv4ooB1dfAXiiWLklQPOi0t4skg4G/JGCBhgTXtKf/PyH/gS/wAws+z+45y5+GPxKs/+Pv4e+OLXIBH2nwnr8GQxIB/e6evBIIB7kEDoafPH+aP3r/MVn2ZztxoGu2eftei6ta4xn7Rp15Bjd93Pmwrjd29e1O67r7wMmmAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB+63/BOzxpP4j+BVx4cvJjLP4E8V6ppForcsmj6rFb6/ZguSWbbqGoavDGrf6qCGKNMRqqr52Kjapf+ZJ/NaP9DWD09D73rmLCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8Wf8AgpnpnlfFP4f6xg/6f4AbTM4+U/2T4i1e6wG7kf218w/hBU/xV34R+5Jf3r/el/kZT3XofmxXWQFABQAAkEEEggggg4II5BBHIIPQ0Af1baBqI1jQtF1YEEappOm6iCpBUi9s4bkFSoCkHzcgqACOgArxmrNrs2vuOg16QBQAUAFAGJ4lu/7P8OeIL8naLLRNVu93Hy/ZrCebPzArxsz8wI9QRxTWrS7tfmJ7H8pteyYBQAUAFABQB+1f7Df7LuheGfCeifGLxvpMGpeM/EsE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HCQqqVZid+AqsrE8Ag80nom+wH9X1eMdAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFACEAgggEEYIPIIPUEdwaAOR8QfD/wAC+K7OWw8TeDvDGv2cwkEkGraFpl+uZE2O6G4tpGim2/dniZJkIDI6sqkUpSW0mvRsVkz8kf2wf2LdL+HOi3vxT+FMd2vhe0uFbxR4SmllvG8P21zII49X0e6neS7n0iK4eOC+srl7i508TR3cc8tglyLDtoV3N8k938L7+T6X8/lvvnKNtV9x+Z9dZAUAFABQAUAfuV/wTctBb/AXXZsgm++J2v3J7kCPw94Sswp+VcAG1LBcv98tuG4qvn4p/vF5QX5yZrDb5/5H6B1ylhQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB8Nf8FDNOF7+zpeXJUN/Y/jHwvqIJVmKGWS80ncpHCEjVCm5/lKuyD5mWujDP976xa/X9CJ7fM/BevSMgoAKACgD99P+Cfmom9/Zt0K23E/2R4l8WacAcfKJdUbVtoxzjOqFuecse2K83Er96/NRf4W/Q1h8J9s1zlhQAUAFAHzl+1xd/Y/2b/i3NnG/wx9kznb/AMf+pWFjjOG+99o24x82duVzuGtH+LD1/Rky+Fn839eqYhQAUAFAHa/DW0+3/EbwBYkAi98a+FbQhgCp+067YQ4YMCpB38gggjqMVM9IyfaL/Jgtz+pivHOgKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAMnXdF0/wAR6JrHh7VoEudL13S7/R9Rt5FDJPY6lay2d1EynIIkgmdSD6002mmt0018gP5VdT0+40nUtQ0q8ULd6ZfXen3Sqyuq3FlcSW06q6FkYCWNgGVmVhypIINewndX76nOUqYBQAUAFAH74/8ABPm0Nt+zfo8xGP7Q8U+K7sHn5gmoLYZ5JHWyK/KAPl6bsk+bif4r8or/AD/U1h8PzPtyucsKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPlr9tPTTqn7MnxSgVdz29hoWpL1yo0vxXoOoSsMZ6QW0oOeNpOcDJG2HdqsPVr74tEy+Fn869eoYhQAUAFAH7a/wDBNLUvP+DfjLSmfc+nfEi9uVXGNkGpeG/DioA2cEGexuWAxlSWyxBUL5+LXvxfeH5N/wCZrDZ+p+jFcpYUAFABQB8m/txXZtP2XviaVJD3C+ErRcbuRceOfDSTAlSpANv5o5JUnCsGUkHfD/xof9vf+ksmfwv5fmfz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VX0UDivInrOb7yl+bN1svRHo1QMKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD+ZH9oHTDpHx0+MFhjasXxJ8ZywjCri3u9fvry2GEwoxbzxfdCj0VPuj1qTvTg/7kfyRg936s8grQQUAFAH1j+w9qf8AZn7Tvw2LOEhv28T6ZNkkb/tnhDXltk4OCWvltcAggkAYBwwxxCvRn5Wf/ky/QqPxL+uh/Q5XlmwUAFABQB+W3/BT272eGPhJY7h/pGveKbvblcn7Hp+kQ7gD85C/b8Er8o3DfyUx2YTeb8l+Lf8AkZ1OnzPx7ruMwoAKACgD7w/4J02f2n9oWSbBP9n+AvEt4MZ433ei2GThlwP9OxyHGSBtBIdebFP916yS/N/oVD4vkfu7XnGwUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAYHivxHp3g7wx4h8Waw5j0rw1omqa9qDLt3/Y9Kspr64WIMVVpnjgZIUJG+VkQcsKqKcmordtJfMT01P5efG3i7V/H3i7xH4016Yz6v4m1i+1i9YsWWOS8naRLaHONlrZwmO0tIlCpDawQwxqqIqj1oxUYqK2SsjDc5eqAKACgAoAKACgAoAKAPt79gj4o3HgT432Phi4uJF0D4lW//COXtvkeSutwCW78N3pUun75bv7RpUZG7EesTfIxClefEw5qd+sNfl1/z+RUHZ+p+99eabBQAUAFAHgH7U939i/Z2+L82QN/grU7T5iAP9PEdiB83GSbjCjqWIC5YgVrR/iw/wASJl8L9D+bGvVMQoAKACgAoA/qu8KWhsPC/huwIINloGj2hDAhgbbTreHDBsMCNnIYZB68148tW35v8zdbI36kYUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAH86H7ZmmHSf2mfirblNon1XSdTXChVcav4a0XVC4xkNl7tgzA5MgcNhwyj1KDvSh6Nfc2jCXxM+Ya2EFABQB7h+zRqf9kftA/B273bRJ8QvDOnFuwXWNSh0hsnBwu2+IYnAAySyj5hnVV6c/8AC39yv+g47r1R/S7Xkm4UAFABQB+R/wDwVCu9138FrEEgQ23j+7YZO1vtMvg6GMkZ2kp9lk2nGVEjc4au3Cf8vH/h/wDbjOp0+Z+UVdpmFABQAUAfor/wTRtPM+NPjK9IBFr8MdSgGQCVe78U+E2DLkZBCWsiZGPldlPDVy4v+HFf31+Ui4bv0/yP24rzzUKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPj/APbr8Ry+H/2a/GkdvI0Vx4hvPD3hxJF6iK81m0u7+M8/duNNsL22fg/JMwABII3w6vVj5Xf4f5smfws/nyr0zEKACgAoAKACgAoAKACgDa8N63deGfEWg+I7FmS98P61pet2boxR1utKvoL+3ZHHKMssCFWHKkAjkUmrprumvvA/qstriK7t4LqBg8FzDFcQuOjxTIskbD2ZGBH1rxzoJ6QBQAUAfLn7aN0LP9mP4qzFiu/TtBtcg45vvF3h+xC9+GNwFI7gkcZzW2H/AI0PV/hFsmXwv+up/OrXqGIUAFABQBYs7Z7y7tbSPiS6uILZDxw88qxL95lHVh1ZR6sBzQB/WEiLGixoAqIqoijoqqAFA9gABXjHQPpAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB+B/wDwUH0z7B+0fq11sCf214V8K6mWAI83yrKTRt5zwSBpIjyMjEYHUED0sM/3S8nJfjf9TGfxfcfEVdBIUAFAHX/D7U/7F8feCNZDmI6T4v8ADWpiQEAx/YNZsrreCSACnlbskgDGScVMleMl3i1+ALc/qerxzoCgAoAKAPxq/wCCnF4H8e/DGw3ZNt4R1a8KZHyi+1nyQ2N275/7PIyVAOz5WYhgvfhPhn/iX5GU916H5j11kBQAUAFAH6d/8ExrRn8cfFG+wdtv4U0W0LfNgNe6vLMoPG3JFgxGWDfKdoYbivJi/hgv7z/L/glw3fofslXAahQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB8F/8FGIpJP2fLd0UssPxA8NyykY+SM2GvQhjk8gyyxpxk5YcYyR04X+K/8AC/zRE9vn/mfhNXomQUAFABQAUAFABQAUAFABQB/VZ4Rilh8KeGIZyDNF4e0WKYgAAyx6bbLIQFZ1ALg4AZgOgYjk+PL4n6v8zdbI6GpGFABQB8cft63f2f8AZk8bQ7iPt+p+DrTALfNs8WaRfbTt4I/0Pdh/lyoI+cJW+G/ix8lL/wBJa/Uifwn8/NemZBQAUAFAHWeArQ3/AI68F2IBY3vizw5aBRjJNxrFnDgZDDJ34GVYeoPSpl8Mv8L/ACBH9UNeOdAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB+KH/BTDTPJ+LvgbVwAF1D4dQWBwMFpNL8Sa/MzMejHZqsSZ5YKig8BRXoYR+5Jf37/el/kZT3XofnDXUQFABQAqsyMrKxVlIZWUkMrA5DKRgggjII5B5FAH9XGiaiur6LpGrIMLqml2GoqOOFvbSK5UcccCUdOPSvGas2uzaNzUpDCgAoA/EX/gpbd+b8bPCFkCCtp8MNLmOMfLLd+KfFwZT8oOfLt4W5ZhhhgKdxb0MJ/Dl/jf5RMp7/AC/zPzsrqICgAoAKAP1g/wCCXtpuuPjVfkEGKH4f2kZ5wfPfxlNMB82Mr9ngJypPzjay/MG4sX/y7/7e/wDbTSn1+R+ttcRoFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAHy9+2X4Ul8Xfs3/Eq0tojLeaPptn4qt9oLGNPDOp2er6lIFAJONGttSX2Dbv4a2oS5asPO6+9WX42Jkrpn86deoYhQAUAFABQAUAFABQAUAdv8NPCkvjr4h+CPBsMbSHxN4p0PRpQv8Frfajbw3k7criO3tGnuJDkbY4mOeKmb5Yyl2i39yGldpH9SoAAAAAAAAAGAAOAABwAB0FeQbi0gCgAoA+FP+CiN0bf9neSEA/6d448MWpx2CR6pfZPzLgZswOj8kDaPvr04X+L6Rf6L9SJ7fM/B2vRMgoAKACgD1L4HWv2741fCGz2lhc/E/wFCwAb7knirSlkJ2fMFVCzMykFVBbIxmoqfw5/4Jf+ksa3Xqj+nuvINwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8kf+CoGmhbn4NawqkmWDxzps7YOFEEnhW6tVJzjLfabwgYB+QnLfw9uEf8Rf4X+ZnPoflBXaZhQAUAFAH9PPwN1I6x8FvhJqbMGkvfht4ImmIIOLg+G9NFyuQACUuBIp4HIOVU8DyKitUmv78vzZutl6I9UqBhQAUAfg//AMFE7r7R+0MYuf8AQfAvhm15z/HPq17xnt/pnbjOe+a9LC/wv+3n+hjP4vkfCVdBIUAFABQB+w3/AATDtdnhb4s3vH+keIPDFr2z/oenarLz3x/p3GeOuOc1w4veHo/zRpT6/I/UeuM0CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgCre2drqNnd6ffQR3NlfW09neW0ozFcWt1E8FxBIOMxyxO8bjIyrEU07O63WoH8yHxr+GGo/B34m+K/AGoebJHo+oO2kXsq4Op6BeAXei6iCoEZe4sJYRdLEWSC+S6td2+BwPWpzU4Rkuq18n1X3mDVnY8rqxBQAUAFABQAUAFABQB+kX/AATl+Ec3iH4gav8AFnU7QHRfA1rNpWhyzRvsufFms2xhmktmz5ch0fQ5rr7SsisYptZ0yaLEibk5cVO0VBby1f8AhX+b/JlwWtz9q6881CgAoAKAPzv/AOCll0Ivgh4TtA2HuvijpDlfk+aG28K+MTJ1O8bZZbc5QcdGYBgr9WE/iS/wP84kT2XqfiFXoGQUAFABQB7x+y9aC9/aG+D0JAOzx3od38wBGbC4+3A/MCMg2wKnqGAKkMAazrfwp/4WOO69T+lWvJNwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD80/+Cmuneb8M/h3q+P8Ajx8dz6dn0/tTw/qNzjp3/sf1HToeo68I/fkv7t/uf/BM57I/F6u8zCgAoAKAP6Of2PtS/tX9mv4TXXB8rw/dabwAP+QNreq6P0BPI+w4J6sfmIBJFeXXVqs/W/3pM2j8KPpSsSgoAKAP5+P29boXH7TfjaENu+w6Z4OtSPk+Qv4U0i92/Kc8i8D/ALzD/PwNmwn08N/Cj5uX/pTRjP4n8vyPjmtyQoAKACgD9rP+CZ1qU+Efju924Fx8RprUP8/zGz8M+HpivI2fIL4H5Tv+f5wB5eeDF/HFf3f1f+RrDZ+p+kNchYUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAeW+KPjd8H/Bd2+n+KfiZ4I0XUYn2TabeeI9MGpwNz/r9OiuJL2AZBG6aBFyCN2eKtU5y1UJNd7O33ibS6o0PCPxZ+GPj2b7N4L+IHhDxNeBS7WGj6/pt5qSoqeY0j6dFcG+RFTLM726qNrgnKOFJQnH4oyS7tO337Amns0ehVAwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA+If21P2bH+NPg+HxT4Sskl+JHg23mawgiRFn8T6EWae78PNIWQNdwSl7/AEQyFwLlruxRUOqNNF0Yer7OXLL4Zfg+/wDn9/QmUbrzR+Ck8E1tNNbXMMtvcW8skE8E8bxTQTROY5YZopArxyxurJJG6q6OpVgCCK9IxI6ACgAoAKACgAoA9F+Ffwu8WfGHxppXgjwfZNdajqDiS7unBFlo2lxPGt9rGpzcLDZWSSKW5824meGztUmvLm3hkic4wi5Sei/F9l5saTex/SJ8Kvhp4d+EXgPw/wCAfDMW3T9EtAk946BbrV9TmPm6nrN8Qz5u9SvGkuHQO0VrG0VlaiOztreGPy5zc5OT3f4LovkbJWVj0SoGFABQAUAfmX/wU3u9nw9+GthkYufGeoXeOMn7Foc0OR8pOB/aBBwwHIyrZBTrwnxT/wAK/Mznsj8Zq7zMKACgAoA+n/2MbQ3v7TfwphUElNU1q7wN3Sw8K69fMflDHCrbFjxtwDuKrlhjX0pT9F+LSKj8SP6Lq8s2CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPhL/AIKJaaL79nhrkqCdH8c+GdSB3bdhlh1XSNwGDvJGqldoxgMXzhcHpwr/AHvrFr8n+hE9vmfg/XomQUAFABQB+/H/AAT/ANS+3fs2eHbXfu/sXxF4t03G3Hl+brM2sbM5O7P9rb93H39uPlyfNxK/evzUX+Fv0NYfCfatc5YUAFAH86f7aN2bz9pz4rTFgxTUtCtMg54sPCXh+xC891FuFI7EEDivUoaUoej/ABbZjL4mfL1bEhQAUAFAH7o/8E4bQW/wA1OYKR9v+JHiK7JIA3FNG8MWO4eoxZhcnBypHQCvOxX8VeUV+bf6msNvn/kfflcxYUAFABQAUAFABQAUAFABQAUAFABQAUAFAEFzc29nb3F5eXENraWsMtzdXVzKkFvbW8CNLPcXE8rLFDDDErSSyyMqRorO7BQTT30WrYH4j/tV/tr+I/H2r6l4H+FGsXvh74f2E0tlda/pk81jrPjOSJpIZ50vIWjurDw3NytpYxNFcajb/wCk6oQlwum2nfRoKKUpq8uz2j/wfPp07mUpX0Wx+eJJJJJJJOSTyST1JPcmuogntrq5sriG7s7ie0u7aRJre6tpZILiCZDuSWGaJkkikRgCjoyspGQQaAP1h/Y1/bM1vVdc0j4R/FvUzqb6o0Wm+DPGV6zHUm1N32Wmga/Oc/bzqBZLbStUl23a3gis717z7ZFcWnFXoKznBWtrKK29V280aRl0fyZ+stcRoFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAHwB+1R+xRpXxcmvfHnw6aw8O/EV42m1PT5lFtofjKUFSZbuWMY0vXWjD41MRSW+oyiOPU1id31OHqo4hwtGWsej6x/zXl06diJRvqt/wAz8WfGHgnxb8P9bufDnjTw7qvhrWrUnzLDVbSS2d4wzItxayEGC+spSpNvfWUtxZ3KYkt55YyGPdGUZK8WmvIyaa3OXqgCgAoAKAPePgn+zn8TPjtqqW3hLSWtdBhmVNW8Yask1r4e0xM/vFW58tn1K/AGE03TUuLrc0bXAtbYvdR51KsKa9569Ird/wCS82NRbP3j+BHwB8EfALwt/YPheE3uq3/lTeJPFN7Ei6t4gvIgwjaUK0i2WnWu9007SreQ29ojySO9zfXF5e3Pm1Kkqju9Etktl/we7/Q2Ssj3KsxhQAUAFABQB+U3/BUG62aZ8GLLcf8ASL7x3dbctg/Y7fwlDuIHyEr9uIBb5huOzgvXbhN6n/bv/txnU6fP9D8i67TMKACgAoA+xP2DLT7R+054Gmxn7Bp3jG7ztzjf4R1qxznI2/8AH7jdhuu3HzblwxP8GXm4/wDpSf6FQ+JfP8j+gmvMNgoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD5S/bc03+0/2YviagTdJZweG9SiPGU+w+L9AnmcZ6f6Ktwpxg7WIHXB3w7tWh8198WTL4Wfzv16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avY2mpaZf2ziS2vbC+gS5tLqBx9+K4gljljbjKsDgdK8ppptPRrRm5oUgCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPxe/4Ka3W/4mfDuy4/0fwLPdds/6Z4g1CHnvj/QeM8dcc5rvwnwSf978kv8AMynuvQ/NOusgKACgAoA/RD/gmna+b8bvFt2VJW1+F2rIDhsLLc+KvB4Qlh8uTFFOArZ3ZLKMpkcuL/hx/wAa/KRcN/l/kft7XnmoUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQBynjzTP7a8D+M9G2GX+1vCniLTPKABMn2/SLy12AEEEv5u0Agg55FVF2lF9pJ/cxPZ+h/K7XsGAUAFABQB+m//BMfUzF4++JujbwBf+ENL1Py9x3MdJ1oWocL90hP7aKsx5UyKBwzVyYte7B9pNfev+AXDd+h+y1cBqFABQB/LF8RLs3/AMQPHN8W3G98Y+Jrstz8xudavZt3zANzvz8wB9QDXsR+GP8AhX5HO92cfVAFABQAUAf0g/skWv2P9m/4Rw4xv8MC6xjb/wAf2o399nGW+99o3Zz82d2FztHlVv4s/X9EbR+FH0ZWRQUAFABQAUAFABQAUAFABQAUAFABQB+UX7a/7YMllJqvwa+FWqlLpRNp/jzxbp8w3W5ZQlx4X0K8hkO25UM8Gv38RD2r79Kt5FuVv/J7cPQ2qTXnGL/N/p9/YzlLovmz8j67TMKACgAoAKACgAoA/Xr/AIJ4fH839nP8CvFF6Wu9Oiu9W+H9zcyZe405SbjV/DSvI+WksGaTVtLhVWb7C2qRbkgsLWKuLE0v+XiXlL9H+j+RpB9Pu/yP1TriNAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8Of+Ck935/x38O24Py2Xwv0KIrnIEkviXxhcs2MDaWjmhBGWyFVsjOB6GF/hv8Axv8AKJlPf5H58V1EBQAUAFAH6a/8EyLTf8QPiZfbebbwdplpu44+260k23ru+b7ADwCPl+Yg7c8mL+GH+J/kXDd+h+zFcBqFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAIQCCCAQQQQRkEHggg8EEdRTA/lJ8QaadG17W9IIIOlavqWmkHqDY3k1qQcljkGL+831PWvYTuk+6T+85zJpgFABQB96/8E5tTFj+0DdWjPt/tr4f+I9ORdxAd4dQ0HV8Y6MVj0uRgDjADEHjB5sUr0vSSf5r9S4b/ACP3YrzjUKAEJABJIAAJJJwABySSeAAOppgfyfX9z9tvr28xt+13dzc7cY2+fM8uMbnxjfjG5sf3j1PsHOVKYBQAUAFAH9M37OlqLT4B/BmIcb/hl4KuuoPN74fsL0/dAHJuM4xkdGLNlj5NX+JU/wAcvzN47L0R7PWYwoAKACgAoAKACgAoAKACgAoAKAPzN/bU/a/k8Fi/+EXwu1IL4tmie28YeKLKYFvC8MyANomkzxMdniOaNmF/eKQ+hRMsNuf7XlaTSOuhQ5rTmvd+yu/m/Lt39N85Stotz8ZWZnZmZizMSzMxJZmJyWYnJJJOSTyTya7zMSgAoAKACgAoAKACgDb8NeItY8I+ING8UeH72XT9b0DUrTVdMvIWKvBd2cyzREgEeZE5Xy54WzHPC8kMqtHIylNKSaezVn8wP6U/gX8XdH+N3w10Dx5pQit7i8iaz1/SklEj6L4hstsep6dIN7yLFvKXmntNtluNLu7G6dEM+0eVUg6cnF/J913/AE9TdO6uev1mMKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8Fv+Chl2bn9ou9h3Z+weDvC9oBz8oeK8vtvIA63pb5cj5uu7cB6WG/hL/EzGfxHw3XQSFABQAUAfq5/wAEvbUte/Gm95AhtfANqB2Y3U3jCY4+Xkp9kGfnG3eMq24FeLF/8u/+3v8A200p9fkfrjXEaBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB/MR8d9M/sb42fFzTNgjS1+JPjVIFVSqi2fxF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WjntblAW8m9sbqOexvrcktbXlvPA/wA8bV5UouMnF7p2/r13XkbJ31R1dSMKACgAoAKACgAoAKACgAoAKAPGfjn8cPCPwG8FTeLfFDPd3M8rWPh7w9aSImo+IdWMTSpaW7OrrbWkKL52o6lLG8Fhb4+S4u57OyutKdOVSVlt1fRL/Psuom7K5+GfxY/a5+NvxXv7w3fizUPCvh2aSRbXwr4Su7nRtOgtGLKlvfXVpJFqOtOY2AuJNSuZoJJdzwWlpEUgj9GFGnBaRTf8z1f/AAPkZOTfW3oeB2nivxRYXg1Gx8Sa/ZagJBML601jUba8EwGBKLmG5SYSAAAPv3ADg1pyp6NK3oiT7h+An7evxG8C6ppuifFLULzx94HklWC71G/H2rxlosMhx9stNVaSObW44WYy3FnrLXd3PGPLtNQtdixvz1MPCSvBKMvLSL8munqvxLU2t9V+J+2uga/o3inRdL8R+HtRttW0PWrK31HS9StHL295Z3KCSGWMkK6kqcSRSKk0MgeGaOOVHRfPacW01Zp2aNTYpAFABQAUAFABQAUAFABQB/NR+0/dm9/aF+MMxIOzx5r1plWVhiwumsQMqFGQLcBlxuVgVYswLH1qOlKH+FfjqYS3fqzwmtBBQAUAFAH7m/8ABN61+z/APWZuf9O+JniG65z/AAaB4TsuM8Y/0PtxnPfNediv4i8oL82/1NYbfP8AyP0ArmLCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8Sf+ClumG3+Mvg3VVULHqPw3sbYkH79xpviTxI0jEdiIL61TjghRxnJPoYR/u5LtN/ikZT3+R+dFdRAUAFADkdo3WRCVdGV0YdVZSGUj3BAIoA/o/+O37QOi/Bv4Qr4/lNtd674g0+0h8FaI7n/ia63qdkl1BI6IzP/ZelQyHUdUm3on2eFLKO4W9v7FZfLp0nUny9E/efZL9Xsvv6Gzdlf7j+dbxDr+seKtc1bxJ4gv7jVNa1u/udS1O/unMk1zd3UjSyyMSflXLbY41xHDEqRRKsaKo9NJJJLRJWXojEx6YBQAUAFABQB2Pw7tDqHxA8C2AG43vjHwxaBefmNzrdjCB8pDc78cEH0IPNTLSMn2i/yBbn9TleOdAUAFABQAUAFABQAUAFAHy5+1B+0rof7PnhRGhW21fx/r8M6eFPDsjsY1Ef7qXXdZEREkOj2MjALGHhn1a6U2NnIix315YbUaTqvtFbv9F5/kTKVvXofz7+LPFniHxz4j1bxZ4r1S51rxBrl215qWo3TAyTSlVRERFCxQW1vCkdtaWkCR21paxQ21tFFBFGi+nGKilFKyWyMdznaYBQAUAFABQAUAFABQAUAFABQAUAFABQB+lf/BPj4/8A/CLeJZfgv4nvdugeL7s3Xg6ed/3emeLHVVl0pSR8lv4khRBApkCJrFrbwwRNNq88g5MTTuvaLePxea7/AC/IuD6P5ep+0VcBqFABQAUAFABQAUAFABQAUAcJ8SfiL4X+FPgzWfHPi+9Fno+jW+8om1rzULyQ7LLS9NgZk+06hfzlYbeLcqLl555IbWGeaO4Qc5KMd3+C7vyE3ZXP50fjp8avE/x28d3/AIx8Qs9raDNn4d8Px3Dz2Ph3RoyPJsbYsEElxMR9p1K98qN769kkl8uGBbe2t/Tp01Tior5vu+/+Ri3dnjdaCCgAoA/UH/gnz+0R/Yeq/wDCjfFt8RpGuXM114Bu7mUCPTtdmJlvfDm+Q4S21tt13psYZVXWRPbxxyz6wuzjxNK69pHdfF6d/l+RcJdPuP2MrhNQoAKACgAoAKACgAoAKAP5g/jjdfbvjV8XrzcWF18T/Hs6klj8knirVWjUb8MFVCqqrAFVAXAxivXp6U4f4I/kjB7v1Z5dViCgAoAKAP3z/wCCfdn9m/Zu0SbAH9oeJvFd4MY52al9gycM2TmxI5CHAA2kAO3m4n+K/JL/AD/U1h8PzPtqucsKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPyJ/wCCoGmiPVPg5rAAzdWHjbTZGA5AsLjwzdQhjjo39pTlRuP3X4Xq3dhHpNecX99/8jOfQ/KiuwzCgAoAKAPWPiz8YPE3xdv/AA3Pr0gisPCPhXQ/CmhaZC7m2tLfS9OtLS9vtjMV+26zeW7317IACAba0DNDZwERCChe28pOTfq/02G3f5Kx5PViCgAoAKACgAoA9V+BNp9v+N3wfsyNyXHxQ8BRyDj/AFJ8U6UZj8xAO2IOcZy2MDJIFRU/hz/wS/8ASWNbr1R/TxXkG4UAFABQAUAFABQAUAfPP7Rv7Q3hn9n3wadY1ARan4q1dbi38IeFxKUl1a9hEYmu7pkDPbaNpvnRS6jdYUtvhs7cm7uoQNaVJ1ZW2ivifbyXm/8Agkt2X5H89Hj7x74p+JnivVvGnjLU5NV17WZ/NuJ2GyGCJAEtrGxtwTHaWFlCEt7S1j+WKJBkvIXkf04xUEoxVkv6+8ybvqzj6oQUAFABQAUAFABQAUAFABQAUAFABQAUAFAE9rdXNlc297ZzzWt3aTw3Vrc28jRT29zbyLLBPBKhV4poZUWSORGDI6qykEA0t9GB/RZ+yl8dbf46/C6w1a8mj/4TPw4LfQvGtsqqhbU4oM22sxxqqKtrr1vGb1BGiww3i6hYxZWy3HzK1P2c2l8L1j6dvl+VjaLuvPqfTVYlBQAUAFABQAUAFABQBj6/r+i+FtF1PxF4i1K10fQ9Gs5r/U9TvZBFbWdpAu6SWRuST0SOKNXlmlZIYY5JZERmk5NJK7eiQH89P7UP7SOtftBeMFniW40rwJ4fkuIPCWgSSfOVkbZNrmrKh8uTWNRREygLxabahLG2eRvtd3e+nRpKlHvJ/E/0XkvxMZSu/I+YK2JCgAoAKALFneXWn3drf2NzPZ31jcQXlneWsrwXNrdW0qzW9zbzxsskM8EyJLFLGyvHIqujBgDS30YH9Fn7K/x7s/jz8NbTVbqW3i8a+Hhb6P4106IqhXUViP2bWYIBgpp+vQxvdwbV8qC7S/09Hk+wtI3mVqfs52+y9Yv9PVflZ9TaLuvPqfTNYlBQAUAFABQAUAFABQB/K/4/u/t/jvxrfAhheeLfEl2GGcH7RrF5NkZLHB35GWY+pPWvYj8Mf8K/I5zkqoAoAKACgD+hj9hqzFp+y/8ADUldsl0fF95JwPmMvjjxIsTcKCc20cHLFj2DbQoHmYj+NP8A7d/9JRtD4V8/zPrWsCgoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA/Mv/gpvpvm/D34a6xtBFj4z1HTd+Blf7V0Sa6ChuoDf2MSQBg7ATgqM9eEfvTXeKf3P/gmc+h+M1d5mFABQAUAFABQAUAFABQAUAFAHvf7Ldp9t/aH+D8P9zxxo93/4L5Gv/wC6/T7NnoP95PvrlW/hT/wv8Rx3Xqj+lKvKNwoAKACgAoAKACgDxL48/HPwp8BPBNx4q8RN9s1G6Mln4Y8OQSrHfeIdWCBhbxMVf7NY2quk+qai8bxWVsVCpcXtxZWd1pTpyqSstur7L/PshN2Vz+eH4o/FDxd8X/GOpeNvGl/9s1S/Iigt4g0en6Tp0TObTSNKtmZ/s1hZq7CNCzyzSvNd3c1xeXFxcS+nCEYRUY7L8X3Zi227s89qxBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB9D/sx/HG8+BHxQ0zxLI9xL4W1QLovjPToSzfatEuZB/psUIDCS/0W42alZhVEkwinsFliiv5mrKrTVSDXVaxfn/wdhxdn+Z/R3YX1nqljZ6lp1zDe6fqNrb31jeW0iy293Z3cKXFtcwSqSskM8EiSxSKSro6sCQa8vbR7o3LdIAoAKACgAoAKAIbi4gtIJ7q6nhtrW2hkuLm5uJEhgt4IUaSaeeaRljihijVpJJJGVI0VmZgoJpgfhJ+2Z+1TcfGPXJvAXgy7MXww8OaiWF1AzK3jTVrTdENXuDhT/Y1pIZhodn92cEaveBrh7GDTPRoUfZrml8bX/gK7evf7vXKUr6Lb8z4TroICgAoAKACgAoA97/Zv+Nuo/Aj4naR4siM8/h68K6P4x0qJmI1Dw9dzR/aZYodypJqOlOqanpm4puubf7K8qW13chs6tNVIOPXeL7P/AIOzHF2f5n9IOkatpuv6VpuuaNewajpOr2NrqWmX9s++3vLG9hS4tbmF8AmOaGRJFyA2GwwBBA8ppptPRrdG5o0gCgAoAKACgAoAQkAEkgAAkknAAHJJJ4AA6mmB/J7fXP2y9vLs5zdXVxc8gKf38zy8gEgH5uQCQOgJHNeyc5VoAKACgAoA/o+/ZEtDZfs2/CSEgjf4ae7+YEHF/quo3wPzYOCLjKnoVIK5Ug15Vf8Aiz9f0RtH4UfR9ZFBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB8F/wDBRjTBffs+213sLHRfH/hzUdwUHYJrDXNIJYnlUJ1RVyucuUBGDkdOFdqvrFr8n+hE9vmfhNXomQUAFABQAUAFABQAUAFABQAUAfUH7F9r9s/ab+FMO0ts1PXLrADH/jw8J6/fbvkwcL9n3En5QAS+U3Csa+lKfovxkkVH4kf0W15ZsFABQAUAFABQB5V8ZPjB4R+CPgm/8aeLbk+VETa6RpMDoNR8QaxJHI9rpOnI/WWXy3kuLhgYbK0jnu5/3cRDaU6cqklGPzfRLu/61E2krs/ne+Mvxj8YfG/xpe+MvF1yN7g22j6PbvJ/Znh/SUdmt9M06Jzwq7jJdXLDz766eW5nO5wienCEacVGPzfVvuzFttnlFWIKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA/Yv/gnl8fv7b0ef4G+J70NqugW9xqfgS4uJB5l9oIfzdS0BWYAy3GiyyPf2KGSSZ9JnuYYo4rPRRXDiaVn7RbPSXr0fz/P1NIPp9x+oVcZoFABQAUAFABQB+PH7cn7WP9uzal8FfhtqkUmgQE2vj3xFYyFv7WvYZmE3hfTrlG2NpVo0aDWbmIt/aN0G05HWxtrr+0e/D0bWqSWv2V2Xd+fbt67Zzl0Xz/yPy5rrMwoAKACgAoAKACgAoA/WT/gnl+0GQ0vwH8V3xIYXWp/Dq5uXztYebea14XDs3AYebrOkxhQoK6xC0u57GA8WJpf8vIr/ABfkn+jNIPp93+R+tNcRoFABQAUAFABQBh+JroWPhvxDfFios9D1a6LA4Ki3sLiYsDzgjZkHHFVHVpea/MT2P5Tq9gwCgAoAKACgD+mT9nG0Nn8Avg1CQBv+Gvg67wqqoxf6FZXwOFLDLC4BZidzMSzhWJUeTV/iVP8AHL8Gbx2Xoe01mMKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAPkr9uTTBqX7MXxGOzfLpzeFtTh+UsUNt4v0JJ3GOmLOa5BbkBSSeMkb4d2rR8+Zf+Ssmfws/nnr0zEKACgAoAKACgAoAKACgAoAKAPsX9gu0Fz+054Imxn+z9N8Y3YPHyl/CWsWGeSD0vSvy5PzdNu4jDE/wZebj/wClIqHxL5/kf0EV5hsFABQAUAFAHn3xP+JvhL4ReDdU8b+M78WWlacmyCBNj3+r6lLHI9lo2k27On2rUr5onEMW5I4okmu7uW3sra5uYbhCU5KMVq/uS7vyE2krs/nh+PPx38XfHzxnL4m8RObPS7MS2nhjw1bzPJp/h/S3k3+VHkILnUbrbHLquqPEk19MkaKkFlbWVna+nTpqnHlW+7fVv/LsjFttniNaCCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgDofCXinWvBHifQvF/hy7NlrnhzU7TVtNuBkqtzZyrKsc0YZfOtZ1DW93bsfLubWWa3kBjkYFSSknF6pqzBaan9LHwW+Kui/Gf4c+HvH2i+XD/adv5Or6akwmk0TXrULHqukzthXzbTnzLZ5Eje5sJrO9Eax3KV5NSDpycX02fddGbp3Vz1SoGFABQAUAfmv+27+1l/wg9lefCP4baso8aajC9v4w1yycmTwppl1bj/iV2NwhAh8RajDMGkuI2M2i2R3x+VqV1bT2PXh6PNac17q+Fd33fl+fpvEpW0W/wCR+LVd5kFABQAUAFABQAUAFABQBoaRq2paDqum65o17Pp2raRfWupaZf2z7Lizv7KdLi1uYWwQJIZo0kXIIyuGBGQU0mmns9H6Af0ffs2fG/T/AI8fDLS/FSG3t/EdiV0fxjpUJC/YNftokMs8MJd5E07VYmTUdNZi4WKZ7MyyXFlc7fLq0/Zzcem8X3X+a2ZtF3X5nv8AWRQUAFABQAUAef8AxYujY/Cz4lXobabPwB4yug24rtNv4d1GXduX5lxszuXkdRzVwV5wXeUV+KE9n6M/lyr1zAKACgAoAKAP6ivhFa/YfhP8MLLbs+x/DzwVa7P7v2fw3psO3oPu7MdB06CvInrOf+KX5s3Wy9Eeh1AwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA8L/ab03+1f2fPjFa7VbyvAHiLUsMCQP7GsZNY3AAg7k+w7kPRXCsQQCK1pO1WH+JL73YmXwv0P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rs+z6P8ArpoNOzuf0CeM/wBon4ceDfg9afGibUjqPhrWdPtLjw1aWrRJqWv6jfxO1poltC7kQ6hHJFcR6mshb+yks7+W5XFnIp82NKUp+ztZrfsl3/y7mzkkrn8+XxZ+Knir4yeN9W8ceLbt5by/mdLDT0lkew0LSUkkax0XS43P7qyskcjOBLdXDT3t00l3czyv6UIRhFRjsvvb7vzMW7u55tViCgAoAKACgAoAKACgAoAKACgAoAKANrw54h1nwlr2keJvD1/NpmuaFqFrqml39uQJLa8tJVmhfBBSRCy7JoZFeGeFnhmR4pHRk0pJpq6as0B/Sd8BvjDo/wAcfhtofjnTPJt76aP7B4k0iKRnOieI7SOP+0tPJf8AeG3YyR3mnyyfPPpt1aSvtlaRE8qpB05uL26Puun/AAfM3TurnstZjCgAoA+Uv23bo2n7L/xRkUgNLB4VtVBKgsLvxx4Zt5Au4NuIhkkfAG7arEFcb13w/wDGh/29/wCksmfwv5fmfzv16ZiFABQAUAdf8PrRr/x74IsVBZr3xf4atFUbslrjWbKEAbQzZJfA2qzegJ4qZaRk/wC6/wAgW5/U9XjnQFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAfzJftA+Gbjwf8bvip4fuIzF9l8ceILm1VgVLaZq1/Lq+kSkHn99pd/ZzdwRJ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FGu3YXjkWWk20Jbpu+X+0AOCB83IJ2kdeE+Kb8l+f/AM6nT5n4413GYUAFABQB9i/sF2guf2nPBE2M/2fpvjG7B4+Uv4S1iwzyQel6V+XJ+bpt3EYYn+DLzcf/SkVD4l8/yP6CK8w2CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP5qP2n7s3v7QvxhmJB2ePNetMqysMWF01iBlQoyBbgMuNysCrFmBY+tR0pQ/wr8dTCW79WeE1oIKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD9zv2Df2gz8SvBD/DbxPfGbxt4As4I7Ge5lD3Ov+EFZLaxu9xw8t3oTmHSdQZtzvbvpV3JLPcXN20fn4mlyy50vdlv5S6/fuvmawd1bqjxv/gqFd4i+ClircPJ8QbuReePLXwZDA3Tac+bcDg5XHIAYZvCf8vP+3f8A24VTp8z8la7TMKACgAoA+7P+Cdlqbj9oYS/8+PgbxNdHk8B59JsuwIPN4Bhio5zncFU82K/hesl+r/QqHxH7w15xsFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAfzB/HC7+3/ABp+Lt7kkXXxO8ezruJJVJfFOqsifMSQEQqij+FVCjgV69PSnBf3I/kjB7v1Z5dViCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA7j4b/EHxD8LfG3h/wAd+F7jyNX8P3yXUcbM4t761YGG+0y9VGVpLHUrOSazukBDeVMzRskqo6zOKnFxez/q4J2dz7R/bu+J3h/4s6f8BPGHhqbzNN1jwj4j1IwM++fTb641LS7TUdIvMBVF7pl9p09ncFVCStEJ4S9vLBI2GHg4e0i91JL100f4lzd7eh+e1dJAUAFABQB+iX/BNK08z42eL7wjK2vwv1WIccLJdeKvCBVt2eD5dvMoG07gzHI288uL/hx/xr8pFw3+X+R+3deeahQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAH8rvjy8GoeOPGd+G3i+8V+IrwPkHeLnV7yYNlWZTu35yrMOeGI5r2I/DH0X5HOcpVAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUASNPM8UUDzStBC0jwwtI7RRPNs85ooySkbS+XH5jIAZPLTcTsXABHQAUAFABQB+m/8AwTHtA/j34m32But/CGlWgb5cgXus+cwHG7BNgpOGC/KNwY7SvJi/hh/if5Fw3fofstXAahQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAMd1jR5HIVEVndj0VVBZifYAEmmB/J7d3D3l3dXcnD3VxNcOOOHnkaVuiqOrHoqj0UDivZOcr0AFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB+r3/AAS9tC138ab4ggRW/gC0U4O1jcSeMZpAD90lPsse4ZyodezVxYv/AJd/9vf+2mlPr8j9b64jQKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgDn/Fl19h8K+Jb3n/Q/D+s3XGc/wCj6dcy8Y5z8nGOfSqj8S9V+Ynsz+VKvYMAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD9g/+CYVps8M/Fu/wP9J13wraZ4yfsWn6zNgncTgf2hkZUAZOGbJCcOL3gvKX5r/I0p9fl+p+pVcZoFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQB5z8YLsWHwk+KV8xCrZfDnxvdljtwBbeGdTmJO4quAEydzKvqQOauGs4LvKP5oT2foz+XivXMAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD9qf+CZtrs+E/j2924+0fEN7Xf8A3vsfhvQptvT+H7dnr/H0Hfgxfxx/w/qzSGz9T9JK5DQKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgDxr9ol5U+AnxmaEFnPww8cIQG2/upPDmoRznOG4WBpGK4+YArlc7hpS/iU/8cfzQpbP0P5l69YwCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP3P/AOCb9oLf4BatMAR9v+JXiG7JKsASmh+FrHKkkhhiyA3KFXcGXG5WZvOxX8ReUF+cn+prDb5/5H39XMWFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQBznjDw/D4t8JeKfCtwwS38TeHdb8Pzud2Eh1rTLrTZWOzDYVLlidpDccc4qovlkn2af3O4mfyx6ppl9oup6jo+pwNa6lpN/d6ZqFq5UvbX1hcSWt3A5QspaGeKSNirFSVOCRzXrp3Sa2epgUaYBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAfvr/wAE/bT7N+zboM2APt/iTxZdnAAJ2aq9jlsDJOLIDLZO0KM7QAPNxP8AFfko/lf9TWHw/M+2K5ywoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD8Vv+CgX7P174X8XTfGjw3YmTwr4ungj8VrbRjbofitkWEX1wincll4kCLMbnZ5a62LtLmVJdSsI5vQw1Xmj7N/FHbzj/wAD8vRmU49eh+bddRAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAH9Df7DtmbP8AZf8AhmGXbJcjxbePwRuFx448SNC3zKp5thDzgg9VZlKk+ZiP40/+3f8A0lG0PhXz/M+sqwKCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAMnXdC0fxPo2peHvEGnWur6JrFnNYanpt7EJrW8tLhCksMqHsQco6lZInCyxOkiK4abTTTs1qmB+M37Q37AXi/wAJX174k+DFpeeMfCMpluZPC4lWfxX4fXAZrezjkZJfE1kGLC0+yLJraRlIJ7S+eKTUZ++liYy0qe6+/wBl/wCX5ehk4dvuPzqvbK9027nsNRtLqwvrWRobqzvbeW1u7aZfvRT286RzQyL/ABJIisO4rp31WqIK1MAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD+kn9lHSpNG/Zz+ENpKhRpvB9nqoVg4Jj12a41yF/nAbEkOopIpA2FWBjJj2k+VWd6s/8Vvu0/Q2j8KPoSsigoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAOD8ZfC/4c/EKNU8ceB/C/ilkj8qG51nRbG8vraPJO201GSE39mMk/8AHrcRHBYZwSDcZyj8MmvR6fdsxNJ7o8Hv/wBhz9mC/Z5D8NfsckmcvYeLPGlsqkggFLceIWtE2n5gEtwuQNwZeK0WIrL7f3xj/kLlj2/M5q6/4J+fs3XG7ydC8S2OQQPsvizVH2/Ltyv21rzkH5xu3DccEFMJT+s1e6f/AG6hckfM526/4Jw/AC43eVqfxIst27BtfEWjPsyMDb9t8MXYO0/Mu/dz97cvy0/rVTtD7n/mHIvP+vkc7df8Ezvg++fsXjj4k2/DbftV14XvMEgbCfK8NWOQpyWA27wQAUIya+tz6xh+P+bDkXdnOXf/AATF8GPn7D8U/E9v12/a9B0q8x0258m7sM4+bONu7Ixt2nc/rcusF97/AMmL2fn+Bz11/wAEvYDk2Pxrmj64S6+HyTZ6bQZYfGcG3HzZYQtnIwowcv63/wBO/wDyb/7UPZ+f4f8ABOcuv+CYXiZM/Yvi3oVxy237V4V1CzyARsJ8rWL7aWGSwG7YQAC4OQ/ra/kf3r/IXJ5nO3X/AATM+KaFvsXxA8AXA+bb9qXxFaE8/LuEWkXu3K8tgttPA3D5qf1uH8svw/zDkfdHO3X/AATa+PEG4weIPhhegE7RBr3iSKQjdgbluvCECK2072AlZQAQHZsBq+tU+018l/8AJByPy/r5HO3X/BPT9oy33eTY+D77BIH2XxTCm75tuV+22lnwR843bTt4ID/JT+s0u8l8v8hckjnbn9g/9p6AExeAbG9x2tvGXgxCfmA4+2a7aDp83JHyg/xYUv6xR/m/8ll/kHJLt+KOcuv2Mf2m7TPm/CnVH2gE/Zda8K3vVtnH2LXrjccjJC5IX5yAhDU/b0v519z/AMg5Zdjnbr9lr9oiz/1vwf8AG79P+PXSXvupI/5cnuM8g5x0GGPyspNe2pfzx++35i5X2Zz118AvjnZk/aPg38UUA6uvgLxRLFySoHnRaW8WSQcDfkjBAwwJftKf/PyH/gS/zCz7P7jnLn4Y/Eqz/wCPv4e+OLXIBH2nwnr8GQxIB/e6evBIIB7kEDoafPH+aP3r/MVn2ZztxoGu2eftei6ta4xn7Rp15Bjd93Pmwrjd29e1O67r7wMmmAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAd98Lfh/qvxT+IPhTwDoyv9s8S6vbWMlwkTSjT9PBM+q6rMiBibfS9Niur+fj/AFVuw6kVM5KEZSeyV/Xsvm9BpXdj+oDS9NstF0zTtH02BbbTtJsLTTbC2T7lvZWNvHa2sC/7MUEUca+yivIbu23u9Tcv0gCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgCnc6fp97j7ZY2d3ggj7TbQz4KggEeajcgMwB7AkDqad2tmwOcuvh/4CvQRe+CPCN2D1F14b0a4BwCoz5tk/RWZfoSOhNPmktpS+9isuy+4566+CHwXvf+Pz4RfDC66c3HgLwrMRgFQQZNKYggMwUggrk4IzT9pU/nn/4FL/MLLsvuRzl1+zN+z7d5834OfD5NxBP2Xw3p9l0XZx9jig2jHJC4Bb5yC43VXtqv88vvDlXZHO3X7Hv7NV2SZfhNoCZ/59bvXbIfdC8Cz1aADgdgPmy33iTT9vV/nf3J/oLlj2/M526/YY/ZeudxX4bPauwI32vjDxymPl2grHJ4klgUrwwxFhm5cNkgv6xW/n/8lj/kHJHt+LOeuf8Agn7+zbOSYtB8S2QPa28Waq4HygcfbHuz1+bkn5if4cKH9Zq91/4ChckfM5y6/wCCcPwAuN3lan8SLLduwbXxFoz7MjA2/bfDF2DtPzLv3c/e3L8tP61U7Q+5/wCYci8/6+Rzt3/wTP8Ag85P2Hxx8SrYYbAu7vwvekNtG0kw+GbDIDbiygAspChlKl2r63PrGH4/5sORd2c7df8ABMXwW4b7D8U/FFu2TtN1oWk3gA7BhDc2JY+pDJn0FP63LrBfe/8Agi9n5/gc7df8Evbdsmy+Nc0QAYql18PUn3HA2KZYvGlvtGc7mEL8EEJlcM/rf/Tv/wAm/wDtQ9n5/h/wTnLr/gmF4mTP2L4t6Fcctt+1eFdQs8gEbCfK1i+2lhksBu2EAAuDkP62v5H96/yFyeZz13/wTL+KSFvsPxB8A3Awdpu08RWZJ7BhDpN+FB7kFsehp/W4dYy/D/NByPujnLv/AIJs/HiAFoPEPwvvhk7Vg17xLFKVDAKWF14Pt4lJU7iomcDaw3E7d9fWqfaa+S/+SDkfl/XyOeuf+Cef7RcBYRWXg69xuwbbxREgfBwNv2yztCNw+ZdwXj721uKf1ml3l9wuSRzlz+wf+09ACYvANje47W3jLwYhPzAcfbNdtB0+bkj5Qf4sKX9Yo/zf+Sy/yDkl2/FHO3X7GP7TdmWE3wp1RynX7LrXhS/B+cp8rWOvXAfkZ+Qt8mJPuEMX7el/Ovuf+Qcsuxzt1+yz+0RZjMvwf8bPzj/RdKa+PXHSye4OPfGMc5xzT9tS/nj99vzFyvsznbn4A/HS0z9o+DXxSRVALSL4B8UyxDLbBmaLS3iBLcAb8nKkcMpNe0p/8/If+BL/ADCz7P7jnbn4YfEuzAa8+Hnjm0U9Dc+EtfgB7cGXT1B544p88f5o/ev8xWfZnPXXh3xBZZF5oWsWm0At9q0y9g2gtsBPmwJgFwUBPVht68U7ruvvAx6YBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAFuwsL7Vb600zTLO61HUb+4htLGwsoJbq8vLq4dYoLa1toFeaeeaRljiiiRnd2CqpJApN21eiW7A/dX9i/9lpvgxocnjfxtax/8LL8TWYhNmximXwjocpjmXSY5FVv+JxeMiS63PFK0UYSDTbclbe6uL3z69bnfLH4F1/mff0XT7zWMba9T7trmLCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAqXNhY3gxeWdpdgADFzbwzjCkkD96jcAkkehJI6mndrqBztz4C8C3pY3ngvwndliCxufDmjzliOQWMtmxJB5BPSnzS/ml97FZdl9xztz8Evgxe4+2fCL4YXe3G37T4B8KT7cbsY83SXxje2MdNzepy/aVP55/8AgUv8wsuy+5HO3P7M/wCz7dgiX4OfD1NwAP2bwzptkePQ2cMBU+pUgnuTVe1q/wA8vvYcq7I525/ZA/Zru8eb8JfDy4IP+jXGtWXQEDP2PVIMjk5B4Y4JBKqQ/b1f539yf5oXLHt+Zzlz+wz+y9cZI+GjWzsRl7bxj47TGF2gCN/E0kCjoxxECWGSTlgz+sVv5/8AyWP+Qcke34s526/4J+/s23B/daB4kseMYtfFmrOOmM/6a94c9+uM9scU/rNXuv8AwFC5I+Zzt1/wTi/Z/uAwh1H4jWO7obXxHpDlPkK/L9t8NXgPP7z5w/zgD7mUL+tVO0Puf+Yci8/6+Rz11/wTP+Djk/YvG/xMtx2F1e+Frsj5R1MXheyz82T0Hy4XqNxr63PrGH4/5sORd2c5c/8ABMXwU4b7H8UvFEBO7YbnQtJuwvHy7hFcWW7DctgpuHyjafmp/W5dYL73/wAEXs/P8Dnbr/gl7bMSbH41zxAA4S6+H0dwWbaNoMsPjO22gsGywhchWGFJU739b/6d/wDk3/2oez8/w/4Jzt1/wTC8Rpu+xfF3RLgjds+1eEr+03cfLu8rW73bluGwH2j5huPy0/ra/kf3r/IXI+5zt1/wTL+KCZ+xfELwFccNj7VH4hs8kAbAfK0u+wGOQxBbYACA5OA/rcOsZfh/mg5H3Rzt3/wTY+O8GTb+I/hferztWLXfEsUhAxjctz4PhjUtk4AmYDadzDjNfWqfaa+S/wDkg5H5HO3X/BPL9oq3z5Np4NvsZx9l8UIm7GMY+3WVn97Jxux907tvy7n9Zpf3vuFyS/pnO3X7Bv7TtvnyvAmn32CwH2Xxl4PTdtIAI+263acODld20gA7whwC/rFH+b/yWX+Qcku34o526/Yv/acsywl+FOpPt3Z+y674Svh8pwdpstfuA3P3dudw+ZcrzT9vS/nX3NfoHLLsZkH7In7SVxP9nj+EniVZMld076VbQZDBf+Pm51GK2xk8N5u0rlgSoJp+3pfzr8f8hcr7M9x8B/8ABOn42eIp4ZPGd54c+H2nbo/tAub+HxJrQRmO422n6FNPpkrogLMtxr1ny0aqW/eeVnLFU18N5P0svvev4FKD66H6bfA79lH4UfAsR6joenS6/wCMPKaObxl4hEN1qsYlXbLFpFukaWOiW7AvH/oMIv5bdzBe6heoBXJUrTqbu0f5Vt8+/wA9OyLUUvXufTFYlBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAAP/Z\"","import './Image.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport type { ImageProps } from './types';\nimport placeholder from './placeholder.jpg';\n\nexport type { ImageObjectFit, ImageProps, ImageRadius } from './types';\n\nexport const Image: React.FC<ImageProps> = ({\n src,\n alt,\n objectFit = 'cover',\n radius = 'medium',\n className,\n style,\n fallback,\n width,\n height,\n ...props\n}) => {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(false);\n\n if (error && fallback) return <>{fallback}</>;\n\n const resolvedSrc = src || placeholder;\n\n return (\n <div className={classNames('image-wrapper', className)} style={style}>\n {!loaded && !error && (\n <div className={classNames('image-skeleton', `image-radius--${radius}`)}>\n <Skeleton width={width} height={height} />\n </div>\n )}\n <img\n src={resolvedSrc}\n alt={alt}\n width={width}\n height={height}\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 = 'medium', 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=\"neutral\">{description}</Text>}\n {action && <div className=\"empty-state__action\">{action}</div>}\n </div>\n );\n};\n","import { useEffect, useRef } from 'react';\n\nexport interface UseOverlayOptions {\n isOpen: boolean;\n onClose: () => void;\n closeOnEscape?: boolean;\n lockScroll?: boolean;\n}\n\nlet scrollLockCount = 0;\n\nfunction acquireScrollLock() {\n scrollLockCount++;\n document.body.classList.add('acyon-scroll-lock');\n}\n\nfunction releaseScrollLock() {\n scrollLockCount = Math.max(0, scrollLockCount - 1);\n if (scrollLockCount === 0) {\n document.body.classList.remove('acyon-scroll-lock');\n }\n}\n\nexport function useOverlay({\n isOpen,\n onClose,\n closeOnEscape = true,\n lockScroll = true\n}: UseOverlayOptions) {\n const overlayRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isOpen || !lockScroll) return;\n\n acquireScrollLock();\n return releaseScrollLock;\n }, [isOpen, lockScroll]);\n\n useEffect(() => {\n if (!isOpen || !closeOnEscape) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n onClose();\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [isOpen, closeOnEscape, onClose]);\n\n return {\n overlayRef\n };\n}\n","import './Modal.css';\nimport React, { useState, useEffect } 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 { useOverlay } from '../../hooks/useOverlay';\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 = 'medium',\n closeOnOverlayClick = true,\n className,\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useOverlay({ isOpen: open, onClose, closeOnEscape: true, lockScroll: true });\n\n useEffect(() => {\n if (open) setMounted(true);\n }, [open]);\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=\"neutral\"\n size=\"small\"\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 { useOverlay } from '../../hooks/useOverlay';\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 = 'medium',\n className,\n closeOnOverlayClick = true\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useOverlay({ isOpen, onClose, closeOnEscape: true, lockScroll: true });\n\n useEffect(() => {\n setMounted(true);\n }, []);\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=\"small\"\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, ToastVariant } 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 error: <Icon name=\"close\" size={16} />,\n neutral: <Icon name=\"info\" 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 variant = toast.variant ?? 'default';\n const icon = COLOR_ICONS[color] || COLOR_ICONS.primary;\n\n return (\n <div className={classNames('toast', `toast--${color}`, variant === 'snackbar' && 'toast--snackbar', 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=\"small\" \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 = crypto.randomUUID();\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.memo<React.HTMLAttributes<HTMLTableSectionElement>>((props) => (\n <thead {...props} />\n));\n\nexport const Tbody = React.memo<React.HTMLAttributes<HTMLTableSectionElement>>((props) => (\n <tbody {...props} />\n));\n\nexport const Tr = React.memo<React.HTMLAttributes<HTMLTableRowElement>>((props) => (\n <tr {...props} />\n));\n\nexport const Th = React.memo<React.ThHTMLAttributes<HTMLTableCellElement>>((props) => (\n <th {...props} />\n));\n\nexport const Td = React.memo<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=\"small\"\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=\"small\"\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 mb,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('page-header', className)} {...props} style={{ marginBottom: `${mb || 'var(--space-6)'}` }} >\n <div className=\"page-header__left\">\n {showBack && (\n <IconButton\n variant=\"ghost\"\n size=\"small\"\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=\"neutral\" 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 = 'medium',\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 = 'medium'\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=\"small\" /> : 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=\"small\" color=\"neutral\">{date}</Text>}\n </div>\n {description && <div className=\"timeline-item__description\"><Text color=\"neutral\">{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","HashIcon","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","prefix","suffix","clearable","id","inputId","inputRef","isControlled","uncontrolledHasValue","setUncontrolledHasValue","hasValue","setRefs","node","handleClear","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","current","outside","isSelected","Select","supportText","searchable","searchPlaceholder","generatedId","useId","useRef","listRef","searchInputRef","isOpen","setIsOpen","useState","searchTerm","setSearchTerm","focusedIndex","setFocusedIndex","selectedValue","useEffect","selectedIndex","o","list","handleClickOutside","selectedOption","option","filteredOptions","useMemo","getNextEnabledIndex","startIndex","len","i","count","handleSelect","nextValue","optionDisabled","handleKeyDown","prev","first","last","activedescendant","isFocused","MultiSelect","selectedValues","selectedOptions","commitChange","toggleValue","optionValue","item","DropdownContext","createContext","assignRef","resolvePosition","rect","placement","offset","matchTriggerWidth","top","left","DropdownRoot","content","defaultOpen","onOpenChange","closeOnClickOutside","triggerRef","menuRef","internalOpen","setInternalOpen","position","setPosition","useCallback","nextOpen","close","updatePosition","handleUpdate","target","contextValue","child","Fragment","createPortal","DropdownItem","inset","destructive","keepOpen","leftContent","rightContent","onClick","onSelect","context","useContext","Dropdown","setForwardedRef","Checkbox","indeterminate","handleRef","Radio","description","Slider","min","max","currentValue","percentage","next","clamp","sanitizeNumberInput","raw","isNegative","parts","NumberInput","step","invalid","fullWidth","inputClassName","containerClassName","inputText","setInputText","commit","sanitized","parsed","clamped","handleBlur","allowedControlKeys","isShortcut","input","selectionStart","selectionEnd","hasMinus","hasDot","isDigit","isMinus","isDot","insertingAtStart","replacingExistingMinus","increment","decrement","atMin","atMax","resolvedError","Carousel","items","defaultIndex","itemsPerView","showDots","showArrows","loop","internalIndex","setInternalIndex","maxIndex","dotCount","touchStartPos","trackRef","firstSlideRef","stepSize","setStepSize","useLayoutEffect","track","firstSlide","measure","trackStyles","slideSize","resizeObserver","go","atStart","atEnd","e","handleTouchStart","handleTouchEnd","delta","slideBasis","_","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","ListRoot","ListItem","startContent","endContent","active","resolvedStart","List","AccordionContext","useAccordionState","type","initial","openItems","setOpenItems","toggle","AccordionItem","isOpenProp","onToggleProp","ctx","ctxToggle","handleToggle","Accordion","Code","block","Link","underline","href","to","currentPath","route","normalizePath","path","pathname","isCurrentRoute","isActive","Badge","Alert","Tag","leftIcon","rightIcon","closable","onRemove","removable","Avatar","src","status","getInitials","Skeleton","animated","customStyle","Image","alt","objectFit","radius","fallback","loaded","setLoaded","resolvedSrc","Switch","Pagination","currentPage","totalPages","onPageChange","showControls","pages","startPage","endPage","page","EmptyState","scrollLockCount","acquireScrollLock","releaseScrollLock","useOverlay","onClose","closeOnEscape","lockScroll","overlayRef","Modal","footer","closeOnOverlayClick","mounted","setMounted","Drawer","Tooltip","delay","tooltipId","timerRef","visible","setVisible","show","hide","ToastContext","COLOR_ICONS","ToastItem","toast","onDismiss","exiting","setExiting","handleDismiss","timer","ToastProvider","maxToasts","setStatus","toasts","setToasts","data","dismiss","t","useToast","Table","striped","hover","compact","stickyHeader","Thead","Tbody","Tr","Th","Td","SidebarContext","useSidebarContext","getNodeText","countSidebarItems","SidebarItem","findFirstSidebarItem","nestedItem","SidebarRoot","controlledCollapsed","defaultCollapsed","onToggle","searchThreshold","internalCollapsed","setInternalCollapsed","collapsed","enableSearch","childArray","footerIndex","SidebarFooter","toggleCollapsed","SidebarHeader","logo","collapsible","handleClick","searchText","itemText","normalizedSearchTerm","SidebarGroup","controlledOpen","childText","hasMatch","shouldForceOpen","firstItem","Sidebar","ThemeContext","useTheme","ThemeProvider","defaultTheme","storageKey","toastPosition","toastMaxToasts","theme","setThemeState","root","toggleTheme","setTheme","newTheme","TopBar","navItems","navPosition","extraContent","themeToggle","sticky","contentInside","renderNav","PageHeader","showBack","onBack","mb","Breadcrumb","separator","isLast","Progress","showValue","Tabs","tabs","controlledValue","activeValue","val","activeTab","tab","triggerClasses","TimelineItem","Timeline"],"mappings":"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"}
|