@fluityy/designsystem 0.2.8 → 0.2.9

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/lib/utils/cn.ts","../src/lib/components/Button/Button.tsx","../src/lib/components/Input/Input.tsx","../src/lib/components/Card/Card.tsx","../src/lib/components/Switch/Switch.tsx","../src/lib/components/Checkbox/Checkbox.tsx","../src/lib/components/Radio/Radio.tsx","../src/lib/components/Select/Select.tsx","../src/lib/components/Dropdown/Dropdown.tsx","../src/lib/components/Badge/Badge.tsx","../src/lib/components/Avatar/Avatar.tsx","../src/lib/components/Spinner/Spinner.tsx","../src/lib/components/Progress/Progress.tsx","../src/lib/components/Divider/Divider.tsx","../src/lib/components/Breadcrumb/Breadcrumb.tsx","../src/lib/components/StatCard/StatCard.tsx","../src/lib/components/Alert/Alert.tsx","../src/lib/hooks/useControllableState.ts","../src/lib/components/Tabs/Tabs.tsx","../src/lib/components/Accordion/Accordion.tsx","../src/lib/components/Tooltip/Tooltip.tsx","../src/lib/components/Popover/Popover.tsx","../src/lib/utils/Portal.tsx","../src/lib/hooks/useDismissable.ts","../src/lib/components/Modal/Modal.tsx","../src/lib/components/Drawer/Drawer.tsx","../src/lib/components/Toast/Toast.tsx","../src/lib/components/Textarea/Textarea.tsx","../src/lib/components/CodeBlock/CodeBlock.tsx","../src/lib/components/ProfileSettingsModal/ProfileSettingsModal.tsx","../src/lib/theme/ThemeProvider.tsx","../src/lib/tokens/tokens.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n/** Combina classes condicionais e resolve conflitos do Tailwind. */\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const buttonVariants = cva(\n // base: tudo derivado de tokens via utilitários mapeados no @theme\n \"inline-flex items-center justify-center gap-2 font-medium whitespace-nowrap cursor-pointer \" +\n \"transition-colors outline-none focus-visible:ring-2 focus-visible:ring-primary \" +\n \"focus-visible:ring-offset-2 ring-offset-bg disabled:opacity-50 \" +\n \"disabled:pointer-events-none disabled:cursor-not-allowed select-none\",\n {\n variants: {\n variant: {\n primary: \"bg-primary text-fg-on-brand hover:bg-primary-hover active:bg-primary-active\",\n secondary:\n \"bg-bg-muted text-fg hover:bg-border-default active:bg-border-strong\",\n outline:\n \"border border-border-strong bg-transparent text-fg hover:bg-bg-subtle\",\n ghost: \"bg-transparent text-fg hover:bg-bg-muted\",\n accent: \"bg-accent text-accent-fg hover:bg-accent-hover active:bg-accent-active\",\n danger: \"bg-danger text-fg-on-brand hover:bg-danger-hover\",\n \"danger-ghost\": \"bg-transparent text-danger hover:bg-danger/10\",\n },\n size: {\n sm: \"h-8 px-3 text-sm rounded-lg\",\n md: \"h-10 px-4 text-md rounded-lg\",\n lg: \"h-12 px-6 text-lg rounded-lg\",\n },\n fullWidth: { true: \"w-full\" },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, fullWidth, ...props }, ref) => (\n <button\n ref={ref}\n className={cn(buttonVariants({ variant, size, fullWidth }), className)}\n {...props}\n />\n ),\n);\n\nButton.displayName = \"Button\";\n","import { forwardRef, useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const inputVariants = cva(\n \"flex w-full bg-bg-muted text-fg placeholder:text-fg-muted border border-transparent \" +\n \"transition-colors outline-none rounded-lg \" +\n \"focus-visible:border-border-strong \" +\n \"disabled:opacity-50 disabled:pointer-events-none\",\n {\n variants: {\n size: {\n sm: \"h-8 px-3 text-xs\",\n md: \"h-10 px-3 text-sm\",\n lg: \"h-12 px-4 text-md\",\n },\n invalid: {\n true: \"border-danger!\",\n false: \"\",\n },\n },\n defaultVariants: { size: \"md\", invalid: false },\n },\n);\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n VariantProps<typeof inputVariants> {\n label?: string;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ className, size, invalid, label, id, type, ...props }, ref) => {\n const [showPassword, setShowPassword] = useState(false);\n const isPassword = type === \"password\";\n const resolvedType = isPassword ? (showPassword ? \"text\" : \"password\") : type;\n\n const inputId = id ?? (label ? label.toLowerCase().replace(/\\s+/g, \"-\") : undefined);\n\n const input = (\n <div className=\"relative flex w-full items-center\">\n <input\n ref={ref}\n id={inputId}\n type={resolvedType}\n className={cn(\n inputVariants({ size, invalid }),\n isPassword && \"pr-10\",\n className,\n )}\n {...props}\n />\n {isPassword && (\n <button\n type=\"button\"\n tabIndex={-1}\n onClick={() => setShowPassword((v) => !v)}\n aria-label={showPassword ? \"Ocultar senha\" : \"Mostrar senha\"}\n className=\"absolute right-3 cursor-pointer text-fg-muted transition-colors hover:text-fg\"\n >\n {showPassword ? (\n // olho fechado\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" strokeWidth={1.75} strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94\" />\n <path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n ) : (\n // olho aberto\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" strokeWidth={1.75} strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n )}\n </button>\n )}\n </div>\n );\n\n if (!label) return input;\n return (\n <div className=\"flex w-full flex-col gap-1.5\">\n <label htmlFor={inputId} className=\"text-xs font-medium text-fg\">\n {label}\n </label>\n {input}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport const Card = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"bg-bg-subtle border border-border-default rounded-lg shadow-sm\",\n className,\n )}\n {...props}\n />\n ),\n);\nCard.displayName = \"Card\";\n\nexport const CardHeader = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex flex-col gap-1 p-6\", className)} {...props} />\n ),\n);\nCardHeader.displayName = \"CardHeader\";\n\nexport const CardTitle = forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3 ref={ref} className={cn(\"text-lg font-semibold text-fg\", className)} {...props} />\n));\nCardTitle.displayName = \"CardTitle\";\n\nexport const CardDescription = forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p ref={ref} className={cn(\"text-sm text-fg-muted\", className)} {...props} />\n));\nCardDescription.displayName = \"CardDescription\";\n\nexport const CardContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n ),\n);\nCardContent.displayName = \"CardContent\";\n","import { forwardRef, useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst trackVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer items-center rounded-full transition-colors \" +\n \"outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 \" +\n \"ring-offset-bg disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: { sm: \"h-5 w-9\", md: \"h-6 w-11\" },\n checked: { true: \"bg-primary\", false: \"bg-border-strong\" },\n },\n defaultVariants: { size: \"md\", checked: false },\n },\n);\n\nconst thumbVariants = cva(\n \"pointer-events-none absolute left-0.5 inline-block rounded-full bg-fg-on-brand shadow-sm transition-transform\",\n {\n variants: {\n size: { sm: \"h-4 w-4\", md: \"h-5 w-5\" },\n checked: { true: \"\", false: \"translate-x-0\" },\n },\n compoundVariants: [\n { size: \"sm\", checked: true, class: \"translate-x-4\" },\n { size: \"md\", checked: true, class: \"translate-x-5\" },\n ],\n defaultVariants: { size: \"md\", checked: false },\n },\n);\n\nexport interface SwitchProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"onChange\">,\n VariantProps<typeof trackVariants> {\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n ({ className, size, checked, defaultChecked, onCheckedChange, disabled, ...props }, ref) => {\n const isControlled = checked !== undefined;\n const [internal, setInternal] = useState(defaultChecked ?? false);\n const value = isControlled ? checked : internal;\n\n const toggle = () => {\n const next = !value;\n if (!isControlled) setInternal(next);\n onCheckedChange?.(next);\n };\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n disabled={disabled}\n onClick={toggle}\n className={cn(trackVariants({ size, checked: value }), className)}\n {...props}\n >\n <span className={thumbVariants({ size, checked: value })} />\n </button>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n","import { forwardRef, useEffect, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface CheckboxProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"type\"> {\n label?: React.ReactNode;\n indeterminate?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, label, indeterminate = false, disabled, id, ...props }, ref) => {\n const innerRef = useRef<HTMLInputElement>(null);\n\n // expõe a ref interna e sincroniza o estado indeterminate (não é atributo HTML)\n useEffect(() => {\n if (innerRef.current) innerRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n const setRefs = (node: HTMLInputElement | null) => {\n innerRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n };\n\n return (\n <label\n className={cn(\n \"relative inline-flex items-center gap-2 select-none\",\n disabled ? \"cursor-not-allowed opacity-50\" : \"cursor-pointer\",\n className,\n )}\n >\n <input\n ref={setRefs}\n id={id}\n type=\"checkbox\"\n disabled={disabled}\n className=\"peer sr-only\"\n {...props}\n />\n {/* a caixa visual. Os modificadores [&>...] miram os filhos a partir\n do estado do input irmão (peer), já que peer-* só alcança irmãos. */}\n <span\n className={cn(\n \"relative flex h-5 w-5 shrink-0 items-center justify-center rounded-sm border border-border-strong bg-bg transition-colors\",\n \"peer-checked:border-primary peer-checked:bg-primary\",\n \"peer-indeterminate:border-primary peer-indeterminate:bg-primary\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2 ring-offset-bg\",\n // check visível só quando checked (e não indeterminate)\n \"peer-checked:[&>svg]:opacity-100 peer-indeterminate:[&>svg]:opacity-0\",\n // traço visível só quando indeterminate\n \"peer-indeterminate:[&>span]:opacity-100\",\n )}\n >\n <svg\n viewBox=\"0 0 16 16\"\n className=\"h-3.5 w-3.5 text-fg-on-brand opacity-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <path d=\"M3.5 8.5l3 3 6-6.5\" />\n </svg>\n <span className=\"absolute h-0.5 w-2.5 rounded-full bg-fg-on-brand opacity-0\" />\n </span>\n {label && <span className=\"text-sm text-fg\">{label}</span>}\n </label>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { createContext, forwardRef, useContext, useId, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface RadioGroupContextValue {\n name: string;\n value?: string;\n onChange: (value: string) => void;\n}\n\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\n\nexport interface RadioGroupProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n name?: string;\n}\n\nexport function RadioGroup({\n value,\n defaultValue,\n onValueChange,\n name,\n className,\n children,\n ...props\n}: RadioGroupProps) {\n const autoName = useId();\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState(defaultValue);\n const current = isControlled ? value : internal;\n\n const onChange = (next: string) => {\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n };\n\n return (\n <RadioGroupContext.Provider\n value={{ name: name ?? autoName, value: current, onChange }}\n >\n <div role=\"radiogroup\" className={cn(\"flex flex-col gap-2\", className)} {...props}>\n {children}\n </div>\n </RadioGroupContext.Provider>\n );\n}\n\nexport interface RadioProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"type\" | \"value\" | \"onChange\"> {\n value: string;\n label?: React.ReactNode;\n}\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n ({ className, value, label, disabled, ...props }, ref) => {\n const ctx = useContext(RadioGroupContext);\n if (!ctx) throw new Error(\"<Radio> precisa estar dentro de <RadioGroup>\");\n const checked = ctx.value === value;\n\n return (\n <label\n className={cn(\n \"inline-flex items-center gap-2 select-none\",\n disabled ? \"cursor-not-allowed opacity-50\" : \"cursor-pointer\",\n className,\n )}\n >\n <input\n ref={ref}\n type=\"radio\"\n name={ctx.name}\n value={value}\n checked={checked}\n disabled={disabled}\n onChange={() => ctx.onChange(value)}\n className=\"peer sr-only\"\n {...props}\n />\n <span\n className={cn(\n \"flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-border-strong bg-bg transition-colors\",\n \"peer-checked:border-primary\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2 ring-offset-bg\",\n \"peer-checked:[&>span]:scale-100\",\n )}\n >\n <span className=\"h-2.5 w-2.5 scale-0 rounded-full bg-primary transition-transform\" />\n </span>\n {label && <span className=\"text-sm text-fg\">{label}</span>}\n </label>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst selectVariants = cva(\n \"w-full appearance-none bg-bg-muted text-fg border border-transparent transition-colors outline-none \" +\n \"focus-visible:border-border-strong \" +\n \"disabled:opacity-50 disabled:pointer-events-none rounded-lg pr-9\",\n {\n variants: {\n size: {\n sm: \"h-8 pl-3 text-xs\",\n md: \"h-10 pl-3 text-sm\",\n lg: \"h-12 pl-4 text-md\",\n },\n invalid: {\n true: \"border-danger!\",\n false: \"\",\n },\n },\n defaultVariants: { size: \"md\", invalid: false },\n },\n);\n\nexport interface SelectProps\n extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, \"size\">,\n VariantProps<typeof selectVariants> {}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ className, size, invalid, children, ...props }, ref) => (\n <div className=\"relative inline-flex w-full items-center\">\n <select\n ref={ref}\n className={cn(selectVariants({ size, invalid }), className)}\n {...props}\n >\n {children}\n </select>\n <svg\n viewBox=\"0 0 16 16\"\n className=\"pointer-events-none absolute right-3 h-4 w-4 text-fg-muted\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <path d=\"M4 6l4 4 4-4\" />\n </svg>\n </div>\n ),\n);\n\nSelect.displayName = \"Select\";\n","import {\n cloneElement,\n createContext,\n useContext,\n useEffect,\n useRef,\n useState,\n type ReactElement,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface DropdownContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst DropdownContext = createContext<DropdownContextValue | null>(null);\n\nfunction useDropdown() {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Componentes de Dropdown precisam estar dentro de <Dropdown>\");\n return ctx;\n}\n\nexport function Dropdown({ children }: { children: React.ReactNode }) {\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n // fecha ao clicar fora ou apertar Esc\n useEffect(() => {\n if (!open) return;\n const onClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false);\n };\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") setOpen(false);\n };\n document.addEventListener(\"mousedown\", onClick);\n document.addEventListener(\"keydown\", onKey);\n return () => {\n document.removeEventListener(\"mousedown\", onClick);\n document.removeEventListener(\"keydown\", onKey);\n };\n }, [open]);\n\n return (\n <DropdownContext.Provider value={{ open, setOpen }}>\n <div ref={ref} className=\"relative inline-block text-left\">\n {children}\n </div>\n </DropdownContext.Provider>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function DropdownTrigger({ children }: { children: ReactElement<any> }) {\n const { open, setOpen } = useDropdown();\n return cloneElement(children, {\n onClick: () => setOpen(!open),\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": open,\n });\n}\n\nexport function DropdownContent({\n children,\n align = \"start\",\n className,\n}: {\n children: React.ReactNode;\n align?: \"start\" | \"end\";\n className?: string;\n}) {\n const { open } = useDropdown();\n if (!open) return null;\n return (\n <div\n role=\"menu\"\n className={cn(\n \"absolute z-50 mt-1 min-w-44 rounded-md border border-border-default bg-bg p-1 shadow-md\",\n align === \"end\" ? \"right-0\" : \"left-0\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nexport interface DropdownItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n onSelect?: () => void;\n destructive?: boolean;\n}\n\nexport function DropdownItem({\n children,\n onSelect,\n destructive,\n className,\n ...props\n}: DropdownItemProps) {\n const { setOpen } = useDropdown();\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n onClick={() => {\n onSelect?.();\n setOpen(false);\n }}\n className={cn(\n \"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors cursor-pointer\",\n \"hover:bg-bg-muted focus-visible:bg-bg-muted disabled:opacity-50 disabled:pointer-events-none disabled:cursor-not-allowed\",\n destructive ? \"text-danger\" : \"text-fg\",\n className,\n )}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function DropdownSeparator() {\n return <div role=\"separator\" className=\"my-1 h-px bg-border-default\" />;\n}\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const badgeVariants = cva(\n \"inline-flex items-center gap-1 font-medium whitespace-nowrap rounded-[var(--flui-radius-badge)]\",\n {\n variants: {\n variant: {\n neutral: \"bg-bg-muted text-fg\",\n primary: \"bg-brand-500 text-fg-on-brand\",\n accent: \"bg-accent-subtle text-accent-fg\",\n \"accent-bold\": \"bg-accent text-accent-fg\",\n success: \"bg-accent text-accent-fg\",\n warning: \"bg-warning/35 text-fg\",\n danger: \"bg-danger/10 text-danger\",\n outline: \"border border-border-strong text-fg\",\n },\n size: {\n sm: \"px-2 py-0.5 text-xs\",\n md: \"px-2.5 py-0.5 text-sm\",\n },\n },\n defaultVariants: { variant: \"neutral\", size: \"sm\" },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, ...props }, ref) => (\n <span\n ref={ref}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n />\n ),\n);\n\nBadge.displayName = \"Badge\";\n","import { forwardRef, useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst sizeVariants = cva(\"relative inline-flex shrink-0 select-none\", {\n variants: {\n size: {\n xs: \"h-6 w-6 text-xs\",\n sm: \"h-8 w-8 text-sm\",\n md: \"h-10 w-10 text-md\",\n lg: \"h-12 w-12 text-lg\",\n xl: \"h-16 w-16 text-xl\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n\nconst statusColor: Record<string, string> = {\n online: \"bg-accent\",\n busy: \"bg-danger\",\n away: \"bg-warning\",\n offline: \"bg-border-strong\",\n};\n\n// Tamanho fixo do dot por tamanho de avatar para manter proporção legível\nconst dotSize: Record<string, string> = {\n xs: \"h-1.5 w-1.5\",\n sm: \"h-2 w-2\",\n md: \"h-2.5 w-2.5\",\n lg: \"h-3 w-3\",\n xl: \"h-3.5 w-3.5\",\n};\n\nfunction initials(name?: string) {\n if (!name) return \"\";\n return name\n .trim()\n .split(/\\s+/)\n .slice(0, 2)\n .map((p) => p[0]?.toUpperCase() ?? \"\")\n .join(\"\");\n}\n\nexport interface AvatarProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof sizeVariants> {\n src?: string;\n alt?: string;\n name?: string;\n status?: \"online\" | \"busy\" | \"away\" | \"offline\";\n}\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ className, size = \"md\", src, alt, name, status, ...props }, ref) => {\n const [errored, setErrored] = useState(false);\n const showImg = src && !errored;\n\n return (\n <span ref={ref} className={cn(sizeVariants({ size }), className)} {...props}>\n {/* círculo com overflow-hidden isolado — não clipa o dot */}\n <span className=\"flex h-full w-full items-center justify-center overflow-hidden rounded-full bg-bg-muted font-medium text-fg\">\n {showImg ? (\n <img\n src={src}\n alt={alt ?? name ?? \"\"}\n className=\"h-full w-full object-cover\"\n onError={() => setErrored(true)}\n />\n ) : (\n <span aria-hidden>{initials(name)}</span>\n )}\n </span>\n\n {/* dot posicionado dentro do círculo, próximo à borda inferior direita */}\n {status && (\n <span\n aria-label={status}\n className={cn(\n \"absolute bottom-[8%] right-[8%] rounded-full ring-2 ring-bg\",\n statusColor[status],\n dotSize[size ?? \"md\"],\n )}\n />\n )}\n </span>\n );\n },\n);\n\nAvatar.displayName = \"Avatar\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst spinnerVariants = cva(\"animate-spin text-primary\", {\n variants: {\n size: {\n sm: \"h-4 w-4\",\n md: \"h-6 w-6\",\n lg: \"h-8 w-8\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport interface SpinnerProps\n extends React.SVGAttributes<SVGSVGElement>,\n VariantProps<typeof spinnerVariants> {\n label?: string;\n}\n\nexport const Spinner = forwardRef<SVGSVGElement, SpinnerProps>(\n ({ className, size, label = \"Carregando\", ...props }, ref) => (\n <svg\n ref={ref}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n role=\"status\"\n aria-label={label}\n className={cn(spinnerVariants({ size }), className)}\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"3\" className=\"opacity-20\" />\n <path\n d=\"M12 2a10 10 0 0 1 10 10\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n);\n\nSpinner.displayName = \"Spinner\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {\n /** 0–100. Omita (ou use indeterminate) para estado indeterminado. */\n value?: number;\n max?: number;\n indeterminate?: boolean;\n}\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value = 0, max = 100, indeterminate, ...props }, ref) => {\n const pct = Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={indeterminate ? undefined : value}\n className={cn(\n \"relative h-1 w-full overflow-hidden rounded-full bg-bg-muted\",\n className,\n )}\n {...props}\n >\n {indeterminate ? (\n <div className=\"absolute inset-y-0 w-1/3 rounded-full bg-primary animate-[flui-indeterminate_1.2s_ease-in-out_infinite]\" />\n ) : (\n <div\n className=\"h-full rounded-full bg-primary transition-[width] duration-300\"\n style={{ width: `${pct}%` }}\n />\n )}\n </div>\n );\n },\n);\n\nProgress.displayName = \"Progress\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n /** rótulo central (apenas horizontal) */\n label?: React.ReactNode;\n}\n\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n ({ className, orientation = \"horizontal\", label, ...props }, ref) => {\n if (orientation === \"vertical\") {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"vertical\"\n className={cn(\"mx-2 h-full w-px self-stretch bg-border-default\", className)}\n {...props}\n />\n );\n }\n\n if (label) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n className={cn(\"flex items-center gap-3 text-sm text-fg-muted\", className)}\n {...props}\n >\n <span className=\"h-px flex-1 bg-border-default\" />\n {label}\n <span className=\"h-px flex-1 bg-border-default\" />\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\"h-px w-full bg-border-default\", className)}\n {...props}\n />\n );\n },\n);\n\nDivider.displayName = \"Divider\";\n","import { Children, Fragment, forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport const Breadcrumb = forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, children, ...props }, ref) => {\n const items = Children.toArray(children);\n return (\n <nav ref={ref} aria-label=\"breadcrumb\" className={className} {...props}>\n <ol className=\"flex flex-wrap items-center gap-1.5 text-sm\">\n {items.map((child, i) => (\n <Fragment key={i}>\n {child}\n {i < items.length - 1 && <BreadcrumbSeparator />}\n </Fragment>\n ))}\n </ol>\n </nav>\n );\n },\n);\nBreadcrumb.displayName = \"Breadcrumb\";\n\nexport interface BreadcrumbItemProps\n extends React.LiHTMLAttributes<HTMLLIElement> {\n href?: string;\n current?: boolean;\n}\n\nexport function BreadcrumbItem({\n href,\n current,\n className,\n children,\n ...props\n}: BreadcrumbItemProps) {\n return (\n <li className={cn(\"inline-flex items-center\", className)} {...props}>\n {current || !href ? (\n <span\n aria-current={current ? \"page\" : undefined}\n className={cn(current ? \"font-medium text-fg\" : \"text-fg-muted\")}\n >\n {children}\n </span>\n ) : (\n <a\n href={href}\n className=\"text-fg-muted transition-colors hover:text-fg hover:underline\"\n >\n {children}\n </a>\n )}\n </li>\n );\n}\n\nexport function BreadcrumbSeparator() {\n return (\n <li aria-hidden className=\"text-fg-muted\">\n /\n </li>\n );\n}\n","import { forwardRef, useEffect, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Badge } from \"../Badge/Badge\";\n\nfunction useCountUp(target: number, duration = 1000) {\n const [current, setCurrent] = useState(0);\n\n useEffect(() => {\n setCurrent(0);\n const start = performance.now();\n const tick = (now: number) => {\n const t = Math.min((now - start) / duration, 1);\n const eased = 1 - (1 - t) ** 4; // quartic ease-out: rápido → lento\n setCurrent(target * eased);\n if (t < 1) requestAnimationFrame(tick);\n else setCurrent(target);\n };\n requestAnimationFrame(tick);\n }, [target, duration]);\n\n return current;\n}\n\nexport interface StatCardProps extends React.HTMLAttributes<HTMLDivElement> {\n label: React.ReactNode;\n value?: React.ReactNode;\n /** Valor numérico para animação tipo cassino. Usa `formatCount` para exibir. */\n countUp?: number;\n /** Formata o número animado. Default: toLocaleString('pt-BR'). */\n formatCount?: (n: number) => string;\n /** variação percentual; positivo = alta (success), negativo = baixa (danger) */\n delta?: number;\n helpText?: React.ReactNode;\n icon?: React.ReactNode;\n}\n\nexport const StatCard = forwardRef<HTMLDivElement, StatCardProps>(\n ({ className, label, value, countUp, formatCount, delta, helpText, icon, ...props }, ref) => {\n const animated = useCountUp(countUp ?? 0);\n const hasDelta = typeof delta === \"number\";\n const up = hasDelta && delta! >= 0;\n\n const displayValue =\n countUp !== undefined\n ? (formatCount ? formatCount(animated) : Math.round(animated).toLocaleString(\"pt-BR\"))\n : value;\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col gap-2 rounded-xl bg-bg-subtle p-8 shadow-sm\",\n className,\n )}\n {...props}\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"text-sm text-fg-muted\">{label}</span>\n {icon && <span className=\"text-fg-muted\">{icon}</span>}\n </div>\n <span className=\"text-3xl font-bold text-fg whitespace-nowrap tabular-nums\">\n {displayValue}\n </span>\n {hasDelta && (\n <Badge variant={up ? \"success\" : \"danger\"} size=\"sm\" className=\"self-start\">\n {up ? \"▲\" : \"▼\"} {Math.abs(delta!)}%\n </Badge>\n )}\n {helpText && <span className=\"text-xs text-fg-muted\">{helpText}</span>}\n </div>\n );\n },\n);\n\nStatCard.displayName = \"StatCard\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst alertVariants = cva(\"flex gap-3 rounded-lg p-4 text-sm\", {\n variants: {\n variant: {\n info: \"bg-primary/10 text-fg\",\n success: \"bg-success-subtle text-fg\",\n warning: \"bg-warning/10 text-fg\",\n danger: \"bg-danger/10 text-fg\",\n },\n },\n defaultVariants: { variant: \"info\" },\n});\n\nconst iconColor: Record<string, string> = {\n info: \"text-primary\",\n success: \"text-success-fg\",\n warning: \"text-warning\",\n danger: \"text-danger\",\n};\n\n// glifos simples por variante (sem dependência de lib de ícones)\nconst glyph: Record<string, string> = {\n info: \"ℹ\",\n success: \"✓\",\n warning: \"!\",\n danger: \"✕\",\n};\n\nexport interface AlertProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\">,\n VariantProps<typeof alertVariants> {\n title?: React.ReactNode;\n onClose?: () => void;\n}\n\nexport const Alert = forwardRef<HTMLDivElement, AlertProps>(\n ({ className, variant = \"info\", title, onClose, children, ...props }, ref) => {\n const v = variant ?? \"info\";\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n >\n <span\n aria-hidden\n className={cn(\n \"flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-xs font-bold\",\n iconColor[v],\n )}\n >\n {glyph[v]}\n </span>\n <div className=\"min-w-0 flex-1\">\n {title && <div className=\"font-semibold text-fg\">{title}</div>}\n {children && <div className=\"text-fg-muted\">{children}</div>}\n </div>\n {onClose && (\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Fechar\"\n className=\"shrink-0 cursor-pointer rounded-sm px-1 text-fg-muted transition-colors hover:text-fg\"\n >\n ✕\n </button>\n )}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n","import { useCallback, useState } from \"react\";\n\n/**\n * Suporta componentes controlados e não-controlados com a mesma API.\n * Se `value` for fornecido, o componente é controlado; senão usa estado interno.\n */\nexport function useControllableState<T>({\n value,\n defaultValue,\n onChange,\n}: {\n value?: T;\n defaultValue: T;\n onChange?: (value: T) => void;\n}) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<T>(defaultValue);\n const current = isControlled ? (value as T) : internal;\n\n const setValue = useCallback(\n (next: T) => {\n if (!isControlled) setInternal(next);\n onChange?.(next);\n },\n [isControlled, onChange],\n );\n\n return [current, setValue] as const;\n}\n","import { createContext, useContext, useEffect, useRef, useState } from \"react\";\nimport { useControllableState } from \"../../hooks/useControllableState\";\nimport { cn } from \"../../utils/cn\";\n\ninterface TabsContextValue {\n value: string;\n setValue: (value: string) => void;\n}\nconst TabsContext = createContext<TabsContextValue | null>(null);\nfunction useTabs() {\n const ctx = useContext(TabsContext);\n if (!ctx) throw new Error(\"Componentes de Tabs precisam estar dentro de <Tabs>\");\n return ctx;\n}\n\nexport interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function Tabs({\n value,\n defaultValue,\n onValueChange,\n className,\n children,\n ...props\n}: TabsProps) {\n const [current, setValue] = useControllableState({\n value,\n defaultValue: defaultValue ?? \"\",\n onChange: onValueChange,\n });\n return (\n <TabsContext.Provider value={{ value: current, setValue }}>\n <div className={className} {...props}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n const { value } = useTabs();\n const listRef = useRef<HTMLDivElement>(null);\n const [indicator, setIndicator] = useState({ left: 0, width: 0, ready: false });\n\n useEffect(() => {\n const list = listRef.current;\n if (!list) return;\n const active = list.querySelector('[aria-selected=\"true\"]') as HTMLElement | null;\n if (!active) return;\n setIndicator({ left: active.offsetLeft, width: active.offsetWidth, ready: true });\n }, [value]);\n\n return (\n <div\n ref={listRef}\n role=\"tablist\"\n className={cn(\"relative flex items-center gap-1 border-b border-border-default\", className)}\n {...props}\n >\n {children}\n {indicator.ready && (\n <span\n aria-hidden\n className=\"pointer-events-none absolute bottom-[-1px] h-[2px] rounded-full bg-primary transition-all duration-250 ease-out\"\n style={{ left: indicator.left, width: indicator.width }}\n />\n )}\n </div>\n );\n}\n\nexport interface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n value: string;\n}\nexport function TabsTrigger({ value, className, ...props }: TabsTriggerProps) {\n const ctx = useTabs();\n const active = ctx.value === value;\n return (\n <button\n type=\"button\"\n role=\"tab\"\n aria-selected={active}\n onClick={() => ctx.setValue(value)}\n className={cn(\n \"px-4 py-2 text-sm font-medium transition-colors outline-none cursor-pointer\",\n \"focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 ring-offset-bg\",\n active ? \"text-fg\" : \"text-fg-muted hover:text-fg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport interface TabsContentProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string;\n}\nexport function TabsContent({ value, className, ...props }: TabsContentProps) {\n const ctx = useTabs();\n if (ctx.value !== value) return null;\n return (\n <div\n role=\"tabpanel\"\n className={cn(\"pt-4 animate-[flui-slide-up_200ms_ease-out]\", className)}\n {...props}\n />\n );\n}\n","import { createContext, useContext, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface AccordionContextValue {\n open: string[];\n toggle: (value: string) => void;\n}\nconst AccordionContext = createContext<AccordionContextValue | null>(null);\nconst ItemContext = createContext<string>(\"\");\n\nfunction useAccordion() {\n const ctx = useContext(AccordionContext);\n if (!ctx) throw new Error(\"Componentes de Accordion precisam estar dentro de <Accordion>\");\n return ctx;\n}\n\nexport interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {\n type?: \"single\" | \"multiple\";\n defaultValue?: string | string[];\n}\n\nexport function Accordion({\n type = \"single\",\n defaultValue,\n className,\n children,\n ...props\n}: AccordionProps) {\n const init = defaultValue\n ? Array.isArray(defaultValue)\n ? defaultValue\n : [defaultValue]\n : [];\n const [open, setOpen] = useState<string[]>(init);\n\n const toggle = (value: string) =>\n setOpen((prev) => {\n const has = prev.includes(value);\n if (type === \"single\") return has ? [] : [value];\n return has ? prev.filter((v) => v !== value) : [...prev, value];\n });\n\n return (\n <AccordionContext.Provider value={{ open, toggle }}>\n <div\n className={cn(\"border-y border-border-default divide-y divide-border-default\", className)}\n {...props}\n >\n {children}\n </div>\n </AccordionContext.Provider>\n );\n}\n\nexport interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string;\n}\nexport function AccordionItem({ value, children, ...props }: AccordionItemProps) {\n return (\n <ItemContext.Provider value={value}>\n <div {...props}>{children}</div>\n </ItemContext.Provider>\n );\n}\n\nexport function AccordionTrigger({\n className,\n children,\n ...props\n}: React.ButtonHTMLAttributes<HTMLButtonElement>) {\n const ctx = useAccordion();\n const value = useContext(ItemContext);\n const isOpen = ctx.open.includes(value);\n return (\n <button\n type=\"button\"\n aria-expanded={isOpen}\n onClick={() => ctx.toggle(value)}\n className={cn(\n \"flex w-full items-center justify-between gap-2 py-4 text-left text-sm font-medium text-fg outline-none cursor-pointer\",\n \"focus-visible:ring-2 focus-visible:ring-primary ring-offset-bg\",\n className,\n )}\n {...props}\n >\n {children}\n <span className={cn(\"text-fg-muted transition-transform\", isOpen && \"rotate-180\")}>\n ▾\n </span>\n </button>\n );\n}\n\nexport function AccordionContent({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n const ctx = useAccordion();\n const value = useContext(ItemContext);\n if (!ctx.open.includes(value)) return null;\n return <div className={cn(\"pb-4 text-sm text-fg-muted\", className)} {...props} />;\n}\n","import { useId, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nconst sidePos: Record<string, string> = {\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n};\n\nexport interface TooltipProps {\n content: React.ReactNode;\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n children: React.ReactNode;\n className?: string;\n}\n\n/**\n * Tooltip leve baseado em hover/focus. O posicionamento é relativo ao gatilho\n * (sem detecção de colisão com a borda da tela — para isso, usar Floating UI).\n */\nexport function Tooltip({ content, side = \"top\", children, className }: TooltipProps) {\n const [open, setOpen] = useState(false);\n const id = useId();\n\n return (\n <span\n className=\"relative inline-flex\"\n onMouseEnter={() => setOpen(true)}\n onMouseLeave={() => setOpen(false)}\n onFocus={() => setOpen(true)}\n onBlur={() => setOpen(false)}\n >\n <span aria-describedby={open ? id : undefined}>{children}</span>\n {open && (\n <span\n role=\"tooltip\"\n id={id}\n className={cn(\n \"pointer-events-none absolute z-50 whitespace-nowrap rounded-md bg-fg px-2 py-1 text-xs text-bg shadow-md\",\n \"animate-[flui-fade-in_120ms_ease-out]\",\n sidePos[side],\n className,\n )}\n >\n {content}\n </span>\n )}\n </span>\n );\n}\n","import {\n cloneElement,\n createContext,\n useContext,\n useEffect,\n useRef,\n useState,\n type ReactElement,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface PopoverContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\nconst PopoverContext = createContext<PopoverContextValue | null>(null);\nfunction usePopover() {\n const ctx = useContext(PopoverContext);\n if (!ctx) throw new Error(\"Componentes de Popover precisam estar dentro de <Popover>\");\n return ctx;\n}\n\nexport function Popover({ children }: { children: React.ReactNode }) {\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!open) return;\n const onClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false);\n };\n const onKey = (e: KeyboardEvent) => e.key === \"Escape\" && setOpen(false);\n document.addEventListener(\"mousedown\", onClick);\n document.addEventListener(\"keydown\", onKey);\n return () => {\n document.removeEventListener(\"mousedown\", onClick);\n document.removeEventListener(\"keydown\", onKey);\n };\n }, [open]);\n\n return (\n <PopoverContext.Provider value={{ open, setOpen }}>\n <div ref={ref} className=\"relative inline-block\">\n {children}\n </div>\n </PopoverContext.Provider>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function PopoverTrigger({ children }: { children: ReactElement<any> }) {\n const { open, setOpen } = usePopover();\n return cloneElement(children, {\n onClick: () => setOpen(!open),\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": open,\n });\n}\n\nexport function PopoverContent({\n children,\n align = \"start\",\n className,\n}: {\n children: React.ReactNode;\n align?: \"start\" | \"end\";\n className?: string;\n}) {\n const { open } = usePopover();\n if (!open) return null;\n return (\n <div\n role=\"dialog\"\n className={cn(\n \"absolute z-50 mt-2 min-w-56 rounded-lg border border-border-default bg-bg p-4 shadow-lg\",\n \"animate-[flui-slide-up_140ms_ease-out]\",\n align === \"end\" ? \"right-0\" : \"left-0\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\n\n/** Renderiza os filhos em document.body, evitando problemas de overflow/z-index. */\nexport function Portal({ children }: { children: React.ReactNode }) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => setMounted(true), []);\n if (!mounted) return null;\n return createPortal(children, document.body);\n}\n","import { useEffect } from \"react\";\n\n/** Trava o scroll do body e fecha no Escape enquanto `open` for true. */\nexport function useDismissable(open: boolean, onClose: () => void) {\n useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => e.key === \"Escape\" && onClose();\n const prevOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n document.addEventListener(\"keydown\", onKey);\n return () => {\n document.body.style.overflow = prevOverflow;\n document.removeEventListener(\"keydown\", onKey);\n };\n }, [open, onClose]);\n}\n","import { createContext, useContext } from \"react\";\nimport { Portal } from \"../../utils/Portal\";\nimport { useDismissable } from \"../../hooks/useDismissable\";\nimport { cn } from \"../../utils/cn\";\n\nconst ModalContext = createContext<{ close: () => void } | null>(null);\n\nexport interface ModalProps {\n open: boolean;\n onOpenChange?: (open: boolean) => void;\n children: React.ReactNode;\n}\n\nexport function Modal({ open, onOpenChange, children }: ModalProps) {\n const close = () => onOpenChange?.(false);\n useDismissable(open, close);\n if (!open) return null;\n\n return (\n <Portal>\n <ModalContext.Provider value={{ close }}>\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <div\n className=\"absolute inset-0 bg-black/60 backdrop-blur-sm animate-[flui-fade-in_120ms_ease-out]\"\n onClick={close}\n />\n {children}\n </div>\n </ModalContext.Provider>\n </Portal>\n );\n}\n\nexport function ModalContent({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n const ctx = useContext(ModalContext);\n return (\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n className={cn(\n \"relative z-10 w-full max-w-lg rounded-xl border border-border-default bg-bg shadow-lg\",\n \"animate-[flui-slide-up_160ms_ease-out]\",\n className,\n )}\n {...props}\n >\n {children}\n <button\n type=\"button\"\n onClick={() => ctx?.close()}\n aria-label=\"Fechar\"\n className=\"absolute right-4 top-4 cursor-pointer rounded-sm px-1 text-fg-muted transition-colors hover:text-fg\"\n >\n ✕\n </button>\n </div>\n );\n}\n\nexport function ModalHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"flex flex-col gap-1 p-6 pb-2\", className)} {...props} />;\n}\nexport function ModalTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) {\n return <h2 className={cn(\"text-lg font-semibold text-fg\", className)} {...props} />;\n}\nexport function ModalDescription({\n className,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) {\n return <p className={cn(\"text-sm text-fg-muted\", className)} {...props} />;\n}\nexport function ModalBody({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"px-6 py-2\", className)} {...props} />;\n}\nexport function ModalFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div className={cn(\"flex justify-end gap-2 p-6 pt-4\", className)} {...props} />\n );\n}\n","import { createContext, useContext } from \"react\";\nimport { Portal } from \"../../utils/Portal\";\nimport { useDismissable } from \"../../hooks/useDismissable\";\nimport { cn } from \"../../utils/cn\";\n\ntype Side = \"left\" | \"right\" | \"top\" | \"bottom\";\n\nconst DrawerContext = createContext<{ close: () => void; side: Side } | null>(null);\n\nconst sideClasses: Record<Side, string> = {\n left: \"left-0 top-0 h-full w-[420px] max-w-[96vw] border-r\",\n right: \"right-0 top-0 h-full w-[420px] max-w-[96vw] border-l\",\n top: \"top-0 left-0 w-full max-h-[90vh] border-b\",\n bottom: \"bottom-0 left-0 w-full max-h-[90vh] border-t\",\n};\n\nexport interface DrawerProps {\n open: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: Side;\n children: React.ReactNode;\n}\n\nexport function Drawer({ open, onOpenChange, side = \"right\", children }: DrawerProps) {\n const close = () => onOpenChange?.(false);\n useDismissable(open, close);\n if (!open) return null;\n\n return (\n <Portal>\n <DrawerContext.Provider value={{ close, side }}>\n <div className=\"fixed inset-0 z-50\">\n <div\n className=\"absolute inset-0 bg-black/60 backdrop-blur-sm animate-[flui-fade-in_120ms_ease-out]\"\n onClick={close}\n />\n {children}\n </div>\n </DrawerContext.Provider>\n </Portal>\n );\n}\n\nexport function DrawerContent({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n const ctx = useContext(DrawerContext);\n const side = ctx?.side ?? \"right\";\n return (\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n className={cn(\n \"absolute z-10 flex flex-col border-border-default bg-bg shadow-lg\",\n \"animate-[flui-fade-in_160ms_ease-out]\",\n sideClasses[side],\n className,\n )}\n {...props}\n >\n {children}\n <button\n type=\"button\"\n onClick={() => ctx?.close()}\n aria-label=\"Fechar\"\n className=\"absolute right-4 top-4 cursor-pointer rounded-sm px-1 text-fg-muted transition-colors hover:text-fg\"\n >\n ✕\n </button>\n </div>\n );\n}\n\nexport function DrawerHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"flex flex-col gap-1 border-b border-border-default p-6\", className)}\n {...props}\n />\n );\n}\nexport function DrawerTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) {\n return <h2 className={cn(\"text-lg font-semibold text-fg\", className)} {...props} />;\n}\nexport function DrawerBody({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"flex-1 overflow-y-auto p-6\", className)} {...props} />;\n}\nexport function DrawerFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"flex justify-end gap-2 border-t border-border-default p-6\", className)}\n {...props}\n />\n );\n}\n","import { createContext, useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { Portal } from \"../../utils/Portal\";\nimport { cn } from \"../../utils/cn\";\n\ntype ToastVariant = \"info\" | \"success\" | \"warning\" | \"danger\";\n\ninterface ToastAction {\n label: string;\n onClick: () => void;\n}\n\ninterface ToastOptions {\n title: React.ReactNode;\n description?: React.ReactNode;\n variant?: ToastVariant;\n duration?: number; // ms; 0 = não fecha sozinho\n icon?: React.ReactNode;\n action?: ToastAction;\n}\n\ninterface ToastItem extends ToastOptions {\n id: number;\n leaving?: boolean;\n}\n\ninterface ToastContextValue {\n toast: (options: ToastOptions) => number;\n dismiss: (id: number) => void;\n}\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nconst variantStyles: Record<ToastVariant, { wrapper: string; title: string; description: string; action: string }> = {\n info: { wrapper: \"bg-[var(--color-toast-info-bg)]\", title: \"text-fg\", description: \"text-fg-muted\", action: \"text-primary hover:text-primary/80\" },\n success: { wrapper: \"bg-[var(--color-toast-success-bg)]\", title: \"text-success-fg\", description: \"text-fg-muted\", action: \"text-success-fg hover:text-success-fg/80\" },\n warning: { wrapper: \"bg-[var(--color-toast-warning-bg)]\", title: \"text-fg\", description: \"text-fg-muted\", action: \"text-fg hover:text-fg/80\" },\n danger: { wrapper: \"bg-[var(--color-toast-danger-bg)]\", title: \"text-danger\", description: \"text-fg-muted\", action: \"text-danger hover:text-danger/80\" },\n};\n\nexport function ToastProvider({ children }: { children: React.ReactNode }) {\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n const idRef = useRef(0);\n\n const dismiss = useCallback((id: number) => {\n setToasts((prev) => prev.map((t) => t.id === id ? { ...t, leaving: true } : t));\n setTimeout(() => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, 160);\n }, []);\n\n const toast = useCallback((options: ToastOptions) => {\n const id = ++idRef.current;\n setToasts((prev) => [...prev, { id, variant: \"info\", duration: 4000, ...options }]);\n return id;\n }, []);\n\n return (\n <ToastContext.Provider value={{ toast, dismiss }}>\n {children}\n <Portal>\n <div className=\"pointer-events-none fixed bottom-4 right-8 z-[60] flex w-80 max-w-[90vw] flex-col gap-2\">\n {toasts.map((t) => (\n <ToastCard key={t.id} item={t} onDismiss={() => dismiss(t.id)} />\n ))}\n </div>\n </Portal>\n </ToastContext.Provider>\n );\n}\n\nfunction ToastCard({ item, onDismiss }: { item: ToastItem; onDismiss: () => void }) {\n useEffect(() => {\n if (!item.duration) return;\n const timer = setTimeout(onDismiss, item.duration);\n return () => clearTimeout(timer);\n }, [item.duration, onDismiss]);\n\n const styles = variantStyles[item.variant ?? \"info\"];\n\n return (\n <div\n role=\"status\"\n className={cn(\n \"pointer-events-auto flex items-start gap-3 rounded-3xl p-4 shadow-sm\",\n item.leaving\n ? \"animate-[flui-slide-down_160ms_ease-in_forwards]\"\n : \"animate-[flui-slide-up_160ms_ease-out]\",\n styles.wrapper,\n )}\n >\n {item.icon && (\n <span className={cn(\"mt-0.5 shrink-0\", styles.title)}>{item.icon}</span>\n )}\n\n <div className=\"min-w-0 flex-1\">\n <div className={cn(\"text-sm font-semibold\", styles.title)}>{item.title}</div>\n {item.description && (\n <div className={cn(\"mt-0.5 text-sm\", styles.description)}>{item.description}</div>\n )}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-1\">\n {item.action && (\n <button\n type=\"button\"\n onClick={() => { item.action!.onClick(); onDismiss(); }}\n className={cn(\"cursor-pointer rounded-sm px-1.5 py-0.5 text-xs font-semibold transition-colors\", styles.action)}\n >\n {item.action.label}\n </button>\n )}\n <button\n type=\"button\"\n onClick={onDismiss}\n aria-label=\"Fechar\"\n className={cn(\"cursor-pointer rounded-sm px-1 transition-colors opacity-60 hover:opacity-100\", styles.title)}\n >\n ✕\n </button>\n </div>\n </div>\n );\n}\n\nexport function useToast() {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error(\"useToast precisa estar dentro de <ToastProvider>\");\n return ctx;\n}\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const textareaVariants = cva(\n \"flex w-full bg-bg-muted text-fg placeholder:text-fg-muted border border-transparent \" +\n \"transition-colors outline-none resize-y rounded-lg min-h-28 px-3 py-3 text-sm \" +\n \"focus-visible:border-border-strong \" +\n \"disabled:opacity-50 disabled:pointer-events-none\",\n {\n variants: {\n invalid: {\n true: \"border-danger!\",\n false: \"\",\n },\n },\n defaultVariants: { invalid: false },\n },\n);\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n VariantProps<typeof textareaVariants> {}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, invalid, ...props }, ref) => (\n <textarea\n ref={ref}\n className={cn(textareaVariants({ invalid }), className)}\n {...props}\n />\n ),\n);\n\nTextarea.displayName = \"Textarea\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useToast } from \"../Toast/Toast\";\n\nexport interface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Rótulo exibido no canto superior esquerdo (ex: \"tsx\", \"bash\"). */\n language?: string;\n /** Código a ser exibido. */\n code: string;\n}\n\nexport const CodeBlock = forwardRef<HTMLDivElement, CodeBlockProps>(\n ({ code, language, className, ...props }, ref) => {\n const { toast } = useToast();\n\n function handleCopy() {\n navigator.clipboard.writeText(code).then(() => {\n toast({ title: \"Copiado!\", variant: \"success\", duration: 2000 });\n });\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"overflow-hidden rounded-lg bg-bg-subtle\", className)}\n {...props}\n >\n <div className=\"flex items-center justify-between bg-bg-muted px-4 py-2\">\n {language ? (\n <span className=\"font-mono text-xs text-fg-muted\">{language}</span>\n ) : (\n <span />\n )}\n <button\n type=\"button\"\n onClick={handleCopy}\n aria-label=\"Copiar código\"\n className=\"inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-fg-muted transition-colors hover:bg-bg hover:text-fg\"\n >\n <CopyIcon />\n Copiar\n </button>\n </div>\n <pre className=\"overflow-x-auto p-4 text-sm leading-relaxed\">\n <code className=\"font-mono text-fg\">{code}</code>\n </pre>\n </div>\n );\n },\n);\n\nCodeBlock.displayName = \"CodeBlock\";\n\nfunction CopyIcon() {\n return (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <rect x=\"6\" y=\"6\" width=\"8\" height=\"8\" rx=\"1.5\" />\n <path d=\"M4 10H3a1.5 1.5 0 0 1-1.5-1.5v-6A1.5 1.5 0 0 1 3 1h6A1.5 1.5 0 0 1 10.5 2.5V4\" />\n </svg>\n );\n}\n","import { useState } from \"react\";\nimport { Modal, ModalContent } from \"../Modal/Modal\";\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface ProfileSettingsUser {\n name: string;\n subtitle?: string;\n /** Texto de fallback se não houver avatar (ex: \"EM\") */\n initials?: string;\n /** URL da foto */\n avatar?: string;\n}\n\nexport interface ProfileSettingsNavItem {\n id: string;\n label: string;\n /** Qualquer ReactNode — passe um ícone Tabler ou SVG */\n icon?: React.ReactNode;\n}\n\nexport interface ProfileSettingsNavGroup {\n group: string;\n items: ProfileSettingsNavItem[];\n}\n\nexport interface ProfileSettingsModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n user: ProfileSettingsUser;\n nav: ProfileSettingsNavGroup[];\n /** Seção ativa inicial */\n defaultSection?: string;\n /** Seção ativa controlada externamente */\n activeSection?: string;\n onSectionChange?: (id: string) => void;\n /** Título por seção. Fallback: label do item */\n sectionTitles?: Record<string, string>;\n /** Subtítulo por seção */\n sectionSubtitles?: Record<string, string>;\n /** Renderiza o conteúdo da seção ativa */\n renderSection?: (id: string) => React.ReactNode;\n /** Ação no rodapé do sidebar (ex: \"Get help\") */\n footerAction?: React.ReactNode;\n}\n\n// ─── Sidebar ──────────────────────────────────────────────────────────────────\n\nfunction Sidebar({\n user,\n nav,\n active,\n onSelect,\n footerAction,\n}: {\n user: ProfileSettingsUser;\n nav: ProfileSettingsNavGroup[];\n active: string;\n onSelect: (id: string) => void;\n footerAction?: React.ReactNode;\n}) {\n const itemClass = (isActive: boolean) =>\n \"flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-sm transition-colors \" +\n (isActive ? \"bg-bg-subtle font-medium text-fg\" : \"text-fg hover:bg-bg-subtle\");\n\n return (\n <aside className=\"flex w-52 shrink-0 flex-col gap-5 overflow-y-auto border-r border-border-default bg-bg py-5 pl-4 pr-2\">\n {/* User info */}\n <div className=\"flex items-center gap-2.5 px-1\">\n {user.avatar ? (\n <img\n src={user.avatar}\n alt={user.name}\n className=\"h-8 w-8 shrink-0 rounded-full object-cover\"\n />\n ) : (\n <span className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary-subtle text-xs font-semibold text-primary\">\n {user.initials ?? user.name.slice(0, 2).toUpperCase()}\n </span>\n )}\n <div className=\"min-w-0\">\n <p className=\"truncate text-sm font-medium text-fg\">{user.name}</p>\n {user.subtitle && (\n <p className=\"truncate text-xs text-fg-muted\">{user.subtitle}</p>\n )}\n </div>\n <svg\n viewBox=\"0 0 16 16\"\n className=\"ml-auto h-3.5 w-3.5 shrink-0 text-fg-muted\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <path d=\"M5 7l3-3 3 3M5 9l3 3 3-3\" />\n </svg>\n </div>\n\n {/* Nav groups */}\n {nav.map(({ group, items }) => (\n <div key={group}>\n <p className=\"mb-1 px-1 text-xs font-semibold text-fg-muted\">{group}</p>\n <ul className=\"flex flex-col gap-0.5\">\n {items.map((item) => (\n <li key={item.id}>\n <button\n type=\"button\"\n onClick={() => onSelect(item.id)}\n className={itemClass(item.id === active)}\n >\n {item.icon && (\n <span className=\"shrink-0 text-fg [&>svg]:h-[15px] [&>svg]:w-[15px]\">\n {item.icon}\n </span>\n )}\n {item.label}\n </button>\n </li>\n ))}\n </ul>\n </div>\n ))}\n\n {/* Footer slot */}\n {footerAction && <div className=\"mt-auto\">{footerAction}</div>}\n </aside>\n );\n}\n\n// ─── Settings primitives ─────────────────────────────────────────────────────\n\nimport { Switch } from \"../Switch/Switch\";\nimport { Button } from \"../Button/Button\";\n\nexport function SettingRow({\n title,\n description,\n checked,\n onCheckedChange,\n}: {\n title: string;\n description?: string;\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n}) {\n return (\n <div className=\"flex items-center justify-between gap-6 px-4 py-4\">\n <div>\n <p className=\"text-sm font-medium text-fg\">{title}</p>\n {description && <p className=\"mt-0.5 text-sm text-fg-muted\">{description}</p>}\n </div>\n <Switch checked={checked} onCheckedChange={onCheckedChange} className=\"shrink-0\" />\n </div>\n );\n}\n\nexport function SettingsCard({ children }: { children: React.ReactNode }) {\n return (\n <div className=\"divide-y divide-border-default rounded-xl bg-bg-elevated\">\n {children}\n </div>\n );\n}\n\nexport function SettingsGroup({\n title,\n children,\n}: {\n title: string;\n children: React.ReactNode;\n}) {\n return (\n <div className=\"flex flex-col gap-3\">\n <h3 className=\"text-base font-semibold text-fg\">{title}</h3>\n <SettingsCard>{children}</SettingsCard>\n </div>\n );\n}\n\nexport interface IntegrationRowProps {\n icon: React.ReactNode;\n title: string;\n description?: string;\n connected?: boolean;\n onConnect?: () => void;\n onDisconnect?: () => void;\n}\n\nexport function IntegrationRow({\n icon,\n title,\n description,\n connected = false,\n onConnect,\n onDisconnect,\n}: IntegrationRowProps) {\n return (\n <div className=\"flex items-center gap-4 rounded-xl bg-bg-elevated px-4 py-4\">\n <div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-bg-muted\">\n <span className=\"[&>svg]:h-4 [&>svg]:w-4\">{icon}</span>\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium text-fg\">{title}</p>\n {description && <p className=\"mt-0.5 text-sm text-fg-muted\">{description}</p>}\n </div>\n {connected ? (\n <Button variant=\"danger-ghost\" size=\"sm\" onClick={onDisconnect}>\n Desconectar\n </Button>\n ) : (\n <Button variant=\"secondary\" size=\"sm\" onClick={onConnect}>\n Conectar\n </Button>\n )}\n </div>\n );\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport function ProfileSettingsModal({\n open,\n onOpenChange,\n user,\n nav,\n defaultSection,\n activeSection: controlledSection,\n onSectionChange,\n sectionTitles = {},\n sectionSubtitles = {},\n renderSection,\n footerAction,\n}: ProfileSettingsModalProps) {\n const firstId = nav[0]?.items[0]?.id ?? \"\";\n const [internalSection, setInternalSection] = useState(\n defaultSection ?? firstId,\n );\n\n const active = controlledSection ?? internalSection;\n\n const handleSelect = (id: string) => {\n setInternalSection(id);\n onSectionChange?.(id);\n };\n\n // resolve title: explicit override → nav label → id\n const allItems = nav.flatMap((g) => g.items);\n const activeItem = allItems.find((i) => i.id === active);\n const title = sectionTitles[active] ?? activeItem?.label ?? active;\n const subtitle = sectionSubtitles[active];\n\n return (\n <Modal open={open} onOpenChange={onOpenChange}>\n <ModalContent className=\"max-w-[1300px] overflow-hidden p-0\">\n <div className=\"flex h-[820px]\">\n <Sidebar\n user={user}\n nav={nav}\n active={active}\n onSelect={handleSelect}\n footerAction={footerAction}\n />\n\n <div className=\"flex flex-1 flex-col overflow-hidden bg-bg-subtle\">\n <div className=\"relative px-[200px] pb-8 pt-8\">\n <h2 className=\"font-display text-2xl font-semibold tracking-tight text-fg\">\n {title}\n </h2>\n {subtitle && (\n <p className=\"mt-0.5 text-sm text-fg-muted\">{subtitle}</p>\n )}\n <div className=\"pointer-events-none absolute inset-x-0 -bottom-6 h-6 bg-gradient-to-b from-bg-subtle to-transparent\" />\n </div>\n\n <div className=\"flex-1 overflow-y-auto px-[200px] pb-8 pt-6\">\n {renderSection?.(active) ?? (\n <p className=\"text-sm text-fg-muted\">\n Conteúdo de <strong>{title}</strong>.\n </p>\n )}\n </div>\n </div>\n </div>\n </ModalContent>\n </Modal>\n );\n}\n","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\n/** Modo de cor. \"system\" segue a preferência do SO. */\nexport type ColorMode = \"light\" | \"dark\" | \"system\";\n\n/**\n * Marca/tema. \"default\" usa o ramp base (:root). Os demais correspondem aos\n * blocos [data-brand=\"…\"] gerados pelo Style Dictionary a partir de\n * tokens/brands/*.json — daí o tipo aberto (string) para temas customizados.\n */\nexport type Brand = \"default\" | (string & {});\n\nexport type RadiusScale = \"sharp\" | \"default\" | \"soft\" | \"round\";\n\ninterface ThemeContextValue {\n /** Preferência escolhida (pode ser \"system\"). */\n mode: ColorMode;\n /** Modo efetivo já resolvido (\"light\" | \"dark\"). */\n resolvedMode: \"light\" | \"dark\";\n brand: Brand;\n radius: RadiusScale;\n setMode: (mode: ColorMode) => void;\n setBrand: (brand: Brand) => void;\n setRadius: (radius: RadiusScale) => void;\n /** Alterna entre claro e escuro (resolve \"system\" antes). */\n toggleMode: () => void;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\n\nconst MODE_KEY = \"flui-color-mode\";\nconst BRAND_KEY = \"flui-brand\";\nconst RADIUS_KEY = \"flui-radius\";\n\nfunction prefersDark(): boolean {\n return (\n typeof window !== \"undefined\" &&\n window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches\n );\n}\n\nfunction load<T extends string>(key: string, fallback: T): T {\n try {\n return (localStorage.getItem(key) as T) ?? fallback;\n } catch {\n return fallback;\n }\n}\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n /** Modo inicial caso não haja preferência salva. Padrão: \"system\". */\n defaultMode?: ColorMode;\n /** Marca inicial caso não haja preferência salva. Padrão: \"default\". */\n defaultBrand?: Brand;\n /** Escala de radius inicial caso não haja preferência salva. Padrão: \"default\". */\n defaultRadius?: RadiusScale;\n /**\n * Onde aplicar os atributos data-theme / data-brand / data-radius.\n * Padrão: document.documentElement (escopo global do app).\n */\n target?: () => HTMLElement | null;\n}\n\nexport function ThemeProvider({\n children,\n defaultMode = \"system\",\n defaultBrand = \"default\",\n defaultRadius = \"default\",\n target,\n}: ThemeProviderProps) {\n const [mode, setModeState] = useState<ColorMode>(() =>\n load(MODE_KEY, defaultMode),\n );\n const [brand, setBrandState] = useState<Brand>(() =>\n load(BRAND_KEY, defaultBrand),\n );\n const [radius, setRadiusState] = useState<RadiusScale>(() =>\n load(RADIUS_KEY, defaultRadius),\n );\n const [systemDark, setSystemDark] = useState(prefersDark);\n\n // acompanha mudanças do SO quando o modo é \"system\"\n useEffect(() => {\n const mq = window.matchMedia?.(\"(prefers-color-scheme: dark)\");\n if (!mq) return;\n const onChange = (e: MediaQueryListEvent) => setSystemDark(e.matches);\n mq.addEventListener(\"change\", onChange);\n return () => mq.removeEventListener(\"change\", onChange);\n }, []);\n\n const resolvedMode: \"light\" | \"dark\" =\n mode === \"system\" ? (systemDark ? \"dark\" : \"light\") : mode;\n\n // aplica os atributos no elemento alvo\n useEffect(() => {\n const el = target?.() ?? document.documentElement;\n el.setAttribute(\"data-theme\", resolvedMode);\n if (brand && brand !== \"default\") {\n el.setAttribute(\"data-brand\", brand);\n } else {\n el.removeAttribute(\"data-brand\");\n }\n if (radius && radius !== \"default\") {\n el.setAttribute(\"data-radius\", radius);\n } else {\n el.removeAttribute(\"data-radius\");\n }\n }, [resolvedMode, brand, radius, target]);\n\n const setMode = useCallback((m: ColorMode) => {\n setModeState(m);\n try {\n localStorage.setItem(MODE_KEY, m);\n } catch {\n /* ignore */\n }\n }, []);\n\n const setBrand = useCallback((b: Brand) => {\n setBrandState(b);\n try {\n localStorage.setItem(BRAND_KEY, b);\n } catch {\n /* ignore */\n }\n }, []);\n\n const setRadius = useCallback((r: RadiusScale) => {\n setRadiusState(r);\n try {\n localStorage.setItem(RADIUS_KEY, r);\n } catch {\n /* ignore */\n }\n }, []);\n\n const toggleMode = useCallback(() => {\n setMode(resolvedMode === \"dark\" ? \"light\" : \"dark\");\n }, [resolvedMode, setMode]);\n\n const value = useMemo<ThemeContextValue>(\n () => ({ mode, resolvedMode, brand, radius, setMode, setBrand, setRadius, toggleMode }),\n [mode, resolvedMode, brand, radius, setMode, setBrand, setRadius, toggleMode],\n );\n\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n\nexport function useTheme() {\n const ctx = useContext(ThemeContext);\n if (!ctx) {\n throw new Error(\"useTheme precisa estar dentro de <ThemeProvider>\");\n }\n return ctx;\n}\n","// AUTO-GERADO por Style Dictionary. Não editar à mão.\n// Fonte: tokens/*.json — rode `npm run tokens` para regenerar.\n\nexport interface TokenMeta {\n name: string;\n cssVar: string;\n path: string[];\n group: string;\n value: string;\n isColor: boolean;\n reference: string | null;\n}\n\nexport const tokens: TokenMeta[] = [\n {\n \"name\": \"flui-color-accent-scale-50\",\n \"cssVar\": \"--flui-color-accent-scale-50\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"50\"\n ],\n \"group\": \"color\",\n \"value\": \"#f9ffe0\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-100\",\n \"cssVar\": \"--flui-color-accent-scale-100\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"100\"\n ],\n \"group\": \"color\",\n \"value\": \"#f3ffb8\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-200\",\n \"cssVar\": \"--flui-color-accent-scale-200\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"200\"\n ],\n \"group\": \"color\",\n \"value\": \"#e8ff80\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-300\",\n \"cssVar\": \"--flui-color-accent-scale-300\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"300\"\n ],\n \"group\": \"color\",\n \"value\": \"#dcff45\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-400\",\n \"cssVar\": \"--flui-color-accent-scale-400\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"400\"\n ],\n \"group\": \"color\",\n \"value\": \"#d7ff15\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-500\",\n \"cssVar\": \"--flui-color-accent-scale-500\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#c4eb00\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-600\",\n \"cssVar\": \"--flui-color-accent-scale-600\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#afd100\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-700\",\n \"cssVar\": \"--flui-color-accent-scale-700\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"700\"\n ],\n \"group\": \"color\",\n \"value\": \"#8ab000\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-800\",\n \"cssVar\": \"--flui-color-accent-scale-800\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"800\"\n ],\n \"group\": \"color\",\n \"value\": \"#638000\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-900\",\n \"cssVar\": \"--flui-color-accent-scale-900\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"900\"\n ],\n \"group\": \"color\",\n \"value\": \"#1a2200\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-50\",\n \"cssVar\": \"--flui-color-brand-50\",\n \"path\": [\n \"color\",\n \"brand\",\n \"50\"\n ],\n \"group\": \"color\",\n \"value\": \"#e8eeff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-100\",\n \"cssVar\": \"--flui-color-brand-100\",\n \"path\": [\n \"color\",\n \"brand\",\n \"100\"\n ],\n \"group\": \"color\",\n \"value\": \"#ccd5ff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-200\",\n \"cssVar\": \"--flui-color-brand-200\",\n \"path\": [\n \"color\",\n \"brand\",\n \"200\"\n ],\n \"group\": \"color\",\n \"value\": \"#99abff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-300\",\n \"cssVar\": \"--flui-color-brand-300\",\n \"path\": [\n \"color\",\n \"brand\",\n \"300\"\n ],\n \"group\": \"color\",\n \"value\": \"#6680ff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-400\",\n \"cssVar\": \"--flui-color-brand-400\",\n \"path\": [\n \"color\",\n \"brand\",\n \"400\"\n ],\n \"group\": \"color\",\n \"value\": \"#3355ff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-500\",\n \"cssVar\": \"--flui-color-brand-500\",\n \"path\": [\n \"color\",\n \"brand\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#0033d6\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-600\",\n \"cssVar\": \"--flui-color-brand-600\",\n \"path\": [\n \"color\",\n \"brand\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#0029b0\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-700\",\n \"cssVar\": \"--flui-color-brand-700\",\n \"path\": [\n \"color\",\n \"brand\",\n \"700\"\n ],\n \"group\": \"color\",\n \"value\": \"#001f8a\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-800\",\n \"cssVar\": \"--flui-color-brand-800\",\n \"path\": [\n \"color\",\n \"brand\",\n \"800\"\n ],\n \"group\": \"color\",\n \"value\": \"#001566\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-900\",\n \"cssVar\": \"--flui-color-brand-900\",\n \"path\": [\n \"color\",\n \"brand\",\n \"900\"\n ],\n \"group\": \"color\",\n \"value\": \"#000b42\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-0\",\n \"cssVar\": \"--flui-color-neutral-0\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"0\"\n ],\n \"group\": \"color\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-50\",\n \"cssVar\": \"--flui-color-neutral-50\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"50\"\n ],\n \"group\": \"color\",\n \"value\": \"#f7f8fa\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-100\",\n \"cssVar\": \"--flui-color-neutral-100\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"100\"\n ],\n \"group\": \"color\",\n \"value\": \"#f3f4f7\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-150\",\n \"cssVar\": \"--flui-color-neutral-150\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"150\"\n ],\n \"group\": \"color\",\n \"value\": \"#eceef2\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-200\",\n \"cssVar\": \"--flui-color-neutral-200\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"200\"\n ],\n \"group\": \"color\",\n \"value\": \"#dde1e9\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-300\",\n \"cssVar\": \"--flui-color-neutral-300\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"300\"\n ],\n \"group\": \"color\",\n \"value\": \"#c2c8d4\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-400\",\n \"cssVar\": \"--flui-color-neutral-400\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"400\"\n ],\n \"group\": \"color\",\n \"value\": \"#9aa2b4\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-500\",\n \"cssVar\": \"--flui-color-neutral-500\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#6b7385\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-600\",\n \"cssVar\": \"--flui-color-neutral-600\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#4c5263\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-700\",\n \"cssVar\": \"--flui-color-neutral-700\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"700\"\n ],\n \"group\": \"color\",\n \"value\": \"#363b49\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-750\",\n \"cssVar\": \"--flui-color-neutral-750\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"750\"\n ],\n \"group\": \"color\",\n \"value\": \"#2c303c\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-800\",\n \"cssVar\": \"--flui-color-neutral-800\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"800\"\n ],\n \"group\": \"color\",\n \"value\": \"#22262f\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-850\",\n \"cssVar\": \"--flui-color-neutral-850\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"850\"\n ],\n \"group\": \"color\",\n \"value\": \"#1a1d25\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-875\",\n \"cssVar\": \"--flui-color-neutral-875\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"875\"\n ],\n \"group\": \"color\",\n \"value\": \"#161920\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-900\",\n \"cssVar\": \"--flui-color-neutral-900\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"900\"\n ],\n \"group\": \"color\",\n \"value\": \"#13151b\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-950\",\n \"cssVar\": \"--flui-color-neutral-950\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"950\"\n ],\n \"group\": \"color\",\n \"value\": \"#0e1015\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-1000\",\n \"cssVar\": \"--flui-color-neutral-1000\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"1000\"\n ],\n \"group\": \"color\",\n \"value\": \"#050608\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-success-500\",\n \"cssVar\": \"--flui-color-success-500\",\n \"path\": [\n \"color\",\n \"success\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#1f9d55\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-success-600\",\n \"cssVar\": \"--flui-color-success-600\",\n \"path\": [\n \"color\",\n \"success\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#157f43\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-warning-500\",\n \"cssVar\": \"--flui-color-warning-500\",\n \"path\": [\n \"color\",\n \"warning\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#d9920a\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-warning-600\",\n \"cssVar\": \"--flui-color-warning-600\",\n \"path\": [\n \"color\",\n \"warning\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#b6790a\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-danger-500\",\n \"cssVar\": \"--flui-color-danger-500\",\n \"path\": [\n \"color\",\n \"danger\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#e02424\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-danger-600\",\n \"cssVar\": \"--flui-color-danger-600\",\n \"path\": [\n \"color\",\n \"danger\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#bd1b1b\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-semantic-bg-base\",\n \"cssVar\": \"--flui-semantic-bg-base\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"base\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-0\"\n },\n {\n \"name\": \"flui-semantic-bg-subtle\",\n \"cssVar\": \"--flui-semantic-bg-subtle\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#f7f8fa\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-50\"\n },\n {\n \"name\": \"flui-semantic-bg-muted\",\n \"cssVar\": \"--flui-semantic-bg-muted\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"muted\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#eceef2\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-150\"\n },\n {\n \"name\": \"flui-semantic-bg-elevated\",\n \"cssVar\": \"--flui-semantic-bg-elevated\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"elevated\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-0\"\n },\n {\n \"name\": \"flui-semantic-fg-default\",\n \"cssVar\": \"--flui-semantic-fg-default\",\n \"path\": [\n \"semantic\",\n \"fg\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#13151b\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-900\"\n },\n {\n \"name\": \"flui-semantic-fg-muted\",\n \"cssVar\": \"--flui-semantic-fg-muted\",\n \"path\": [\n \"semantic\",\n \"fg\",\n \"muted\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#6b7385\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-500\"\n },\n {\n \"name\": \"flui-semantic-fg-on-brand\",\n \"cssVar\": \"--flui-semantic-fg-on-brand\",\n \"path\": [\n \"semantic\",\n \"fg\",\n \"onBrand\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-0\"\n },\n {\n \"name\": \"flui-semantic-border-default\",\n \"cssVar\": \"--flui-semantic-border-default\",\n \"path\": [\n \"semantic\",\n \"border\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#eceef2\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-150\"\n },\n {\n \"name\": \"flui-semantic-border-strong\",\n \"cssVar\": \"--flui-semantic-border-strong\",\n \"path\": [\n \"semantic\",\n \"border\",\n \"strong\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#c2c8d4\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-300\"\n },\n {\n \"name\": \"flui-semantic-primary-default\",\n \"cssVar\": \"--flui-semantic-primary-default\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#0033d6\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-500\"\n },\n {\n \"name\": \"flui-semantic-primary-hover\",\n \"cssVar\": \"--flui-semantic-primary-hover\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"hover\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#0029b0\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-600\"\n },\n {\n \"name\": \"flui-semantic-primary-active\",\n \"cssVar\": \"--flui-semantic-primary-active\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"active\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#001f8a\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-700\"\n },\n {\n \"name\": \"flui-semantic-primary-subtle\",\n \"cssVar\": \"--flui-semantic-primary-subtle\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#e8eeff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-50\"\n },\n {\n \"name\": \"flui-semantic-accent-default\",\n \"cssVar\": \"--flui-semantic-accent-default\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#d7ff15\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-400\"\n },\n {\n \"name\": \"flui-semantic-accent-hover\",\n \"cssVar\": \"--flui-semantic-accent-hover\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"hover\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#c4eb00\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-500\"\n },\n {\n \"name\": \"flui-semantic-accent-active\",\n \"cssVar\": \"--flui-semantic-accent-active\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"active\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#afd100\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-600\"\n },\n {\n \"name\": \"flui-semantic-accent-subtle\",\n \"cssVar\": \"--flui-semantic-accent-subtle\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#f3ffb8\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-100\"\n },\n {\n \"name\": \"flui-semantic-accent-foreground\",\n \"cssVar\": \"--flui-semantic-accent-foreground\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"foreground\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#1a2200\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-900\"\n },\n {\n \"name\": \"flui-semantic-danger-default\",\n \"cssVar\": \"--flui-semantic-danger-default\",\n \"path\": [\n \"semantic\",\n \"danger\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#e02424\",\n \"isColor\": true,\n \"reference\": \"--flui-color-danger-500\"\n },\n {\n \"name\": \"flui-semantic-danger-hover\",\n \"cssVar\": \"--flui-semantic-danger-hover\",\n \"path\": [\n \"semantic\",\n \"danger\",\n \"hover\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#bd1b1b\",\n \"isColor\": true,\n \"reference\": \"--flui-color-danger-600\"\n },\n {\n \"name\": \"flui-semantic-success-default\",\n \"cssVar\": \"--flui-semantic-success-default\",\n \"path\": [\n \"semantic\",\n \"success\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#afd100\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-600\"\n },\n {\n \"name\": \"flui-semantic-success-subtle\",\n \"cssVar\": \"--flui-semantic-success-subtle\",\n \"path\": [\n \"semantic\",\n \"success\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#f3ffb8\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-100\"\n },\n {\n \"name\": \"flui-semantic-success-foreground\",\n \"cssVar\": \"--flui-semantic-success-foreground\",\n \"path\": [\n \"semantic\",\n \"success\",\n \"foreground\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#1a2200\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-900\"\n },\n {\n \"name\": \"flui-semantic-warning-default\",\n \"cssVar\": \"--flui-semantic-warning-default\",\n \"path\": [\n \"semantic\",\n \"warning\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#d9920a\",\n \"isColor\": true,\n \"reference\": \"--flui-color-warning-500\"\n },\n {\n \"name\": \"flui-semantic-warning-on-warning\",\n \"cssVar\": \"--flui-semantic-warning-on-warning\",\n \"path\": [\n \"semantic\",\n \"warning\",\n \"onWarning\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#13151b\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-900\"\n },\n {\n \"name\": \"flui-space-0\",\n \"cssVar\": \"--flui-space-0\",\n \"path\": [\n \"space\",\n \"0\"\n ],\n \"group\": \"space\",\n \"value\": \"0\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-1\",\n \"cssVar\": \"--flui-space-1\",\n \"path\": [\n \"space\",\n \"1\"\n ],\n \"group\": \"space\",\n \"value\": \"4px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-2\",\n \"cssVar\": \"--flui-space-2\",\n \"path\": [\n \"space\",\n \"2\"\n ],\n \"group\": \"space\",\n \"value\": \"8px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-3\",\n \"cssVar\": \"--flui-space-3\",\n \"path\": [\n \"space\",\n \"3\"\n ],\n \"group\": \"space\",\n \"value\": \"12px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-4\",\n \"cssVar\": \"--flui-space-4\",\n \"path\": [\n \"space\",\n \"4\"\n ],\n \"group\": \"space\",\n \"value\": \"16px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-5\",\n \"cssVar\": \"--flui-space-5\",\n \"path\": [\n \"space\",\n \"5\"\n ],\n \"group\": \"space\",\n \"value\": \"20px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-6\",\n \"cssVar\": \"--flui-space-6\",\n \"path\": [\n \"space\",\n \"6\"\n ],\n \"group\": \"space\",\n \"value\": \"24px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-8\",\n \"cssVar\": \"--flui-space-8\",\n \"path\": [\n \"space\",\n \"8\"\n ],\n \"group\": \"space\",\n \"value\": \"32px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-10\",\n \"cssVar\": \"--flui-space-10\",\n \"path\": [\n \"space\",\n \"10\"\n ],\n \"group\": \"space\",\n \"value\": \"40px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-12\",\n \"cssVar\": \"--flui-space-12\",\n \"path\": [\n \"space\",\n \"12\"\n ],\n \"group\": \"space\",\n \"value\": \"48px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-16\",\n \"cssVar\": \"--flui-space-16\",\n \"path\": [\n \"space\",\n \"16\"\n ],\n \"group\": \"space\",\n \"value\": \"64px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-none\",\n \"cssVar\": \"--flui-radius-none\",\n \"path\": [\n \"radius\",\n \"none\"\n ],\n \"group\": \"radius\",\n \"value\": \"0\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-sm\",\n \"cssVar\": \"--flui-radius-sm\",\n \"path\": [\n \"radius\",\n \"sm\"\n ],\n \"group\": \"radius\",\n \"value\": \"8px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-md\",\n \"cssVar\": \"--flui-radius-md\",\n \"path\": [\n \"radius\",\n \"md\"\n ],\n \"group\": \"radius\",\n \"value\": \"12px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-lg\",\n \"cssVar\": \"--flui-radius-lg\",\n \"path\": [\n \"radius\",\n \"lg\"\n ],\n \"group\": \"radius\",\n \"value\": \"16px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-xl\",\n \"cssVar\": \"--flui-radius-xl\",\n \"path\": [\n \"radius\",\n \"xl\"\n ],\n \"group\": \"radius\",\n \"value\": \"24px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-full\",\n \"cssVar\": \"--flui-radius-full\",\n \"path\": [\n \"radius\",\n \"full\"\n ],\n \"group\": \"radius\",\n \"value\": \"9999px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-shadow-sm\",\n \"cssVar\": \"--flui-shadow-sm\",\n \"path\": [\n \"shadow\",\n \"sm\"\n ],\n \"group\": \"shadow\",\n \"value\": \"0 1px 2px rgba(19, 21, 27, 0.06)\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-shadow-md\",\n \"cssVar\": \"--flui-shadow-md\",\n \"path\": [\n \"shadow\",\n \"md\"\n ],\n \"group\": \"shadow\",\n \"value\": \"0 4px 12px rgba(19, 21, 27, 0.10)\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-shadow-lg\",\n \"cssVar\": \"--flui-shadow-lg\",\n \"path\": [\n \"shadow\",\n \"lg\"\n ],\n \"group\": \"shadow\",\n \"value\": \"0 12px 32px rgba(19, 21, 27, 0.14)\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-family-sans\",\n \"cssVar\": \"--flui-font-family-sans\",\n \"path\": [\n \"font\",\n \"family\",\n \"sans\"\n ],\n \"group\": \"font\",\n \"value\": \"Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-family-mono\",\n \"cssVar\": \"--flui-font-family-mono\",\n \"path\": [\n \"font\",\n \"family\",\n \"mono\"\n ],\n \"group\": \"font\",\n \"value\": \"ui-monospace, SFMono-Regular, Menlo, monospace\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-regular\",\n \"cssVar\": \"--flui-font-weight-regular\",\n \"path\": [\n \"font\",\n \"weight\",\n \"regular\"\n ],\n \"group\": \"font\",\n \"value\": \"400\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-medium\",\n \"cssVar\": \"--flui-font-weight-medium\",\n \"path\": [\n \"font\",\n \"weight\",\n \"medium\"\n ],\n \"group\": \"font\",\n \"value\": \"500\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-semibold\",\n \"cssVar\": \"--flui-font-weight-semibold\",\n \"path\": [\n \"font\",\n \"weight\",\n \"semibold\"\n ],\n \"group\": \"font\",\n \"value\": \"600\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-bold\",\n \"cssVar\": \"--flui-font-weight-bold\",\n \"path\": [\n \"font\",\n \"weight\",\n \"bold\"\n ],\n \"group\": \"font\",\n \"value\": \"700\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-xs\",\n \"cssVar\": \"--flui-font-size-xs\",\n \"path\": [\n \"font\",\n \"size\",\n \"xs\"\n ],\n \"group\": \"font\",\n \"value\": \"12px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-sm\",\n \"cssVar\": \"--flui-font-size-sm\",\n \"path\": [\n \"font\",\n \"size\",\n \"sm\"\n ],\n \"group\": \"font\",\n \"value\": \"14px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-md\",\n \"cssVar\": \"--flui-font-size-md\",\n \"path\": [\n \"font\",\n \"size\",\n \"md\"\n ],\n \"group\": \"font\",\n \"value\": \"16px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-lg\",\n \"cssVar\": \"--flui-font-size-lg\",\n \"path\": [\n \"font\",\n \"size\",\n \"lg\"\n ],\n \"group\": \"font\",\n \"value\": \"18px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-xl\",\n \"cssVar\": \"--flui-font-size-xl\",\n \"path\": [\n \"font\",\n \"size\",\n \"xl\"\n ],\n \"group\": \"font\",\n \"value\": \"24px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-2xl\",\n \"cssVar\": \"--flui-font-size-2xl\",\n \"path\": [\n \"font\",\n \"size\",\n \"2xl\"\n ],\n \"group\": \"font\",\n \"value\": \"32px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-line-height-tight\",\n \"cssVar\": \"--flui-font-line-height-tight\",\n \"path\": [\n \"font\",\n \"lineHeight\",\n \"tight\"\n ],\n \"group\": \"font\",\n \"value\": \"1.2\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-line-height-normal\",\n \"cssVar\": \"--flui-font-line-height-normal\",\n \"path\": [\n \"font\",\n \"lineHeight\",\n \"normal\"\n ],\n \"group\": \"font\",\n \"value\": \"1.5\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-line-height-relaxed\",\n \"cssVar\": \"--flui-font-line-height-relaxed\",\n \"path\": [\n \"font\",\n \"lineHeight\",\n \"relaxed\"\n ],\n \"group\": \"font\",\n \"value\": \"1.75\",\n \"isColor\": false,\n \"reference\": null\n }\n];\n"],"names":["cn","inputs","twMerge","clsx","buttonVariants","cva","Button","forwardRef","className","variant","size","fullWidth","props","ref","jsx","inputVariants","Input","invalid","label","id","type","showPassword","setShowPassword","useState","isPassword","resolvedType","inputId","input","jsxs","v","Card","CardHeader","CardTitle","CardDescription","CardContent","trackVariants","thumbVariants","Switch","checked","defaultChecked","onCheckedChange","disabled","isControlled","internal","setInternal","value","next","Checkbox","indeterminate","innerRef","useRef","useEffect","setRefs","node","RadioGroupContext","createContext","RadioGroup","defaultValue","onValueChange","name","children","autoName","useId","current","onChange","Radio","ctx","useContext","selectVariants","Select","DropdownContext","useDropdown","Dropdown","open","setOpen","onClick","e","onKey","DropdownTrigger","cloneElement","DropdownContent","align","DropdownItem","onSelect","destructive","DropdownSeparator","badgeVariants","Badge","sizeVariants","statusColor","dotSize","initials","p","_a","Avatar","src","alt","status","errored","setErrored","showImg","spinnerVariants","Spinner","Progress","max","pct","Divider","orientation","Breadcrumb","items","Children","child","i","Fragment","BreadcrumbSeparator","BreadcrumbItem","href","useCountUp","target","duration","setCurrent","start","tick","now","t","eased","StatCard","countUp","formatCount","delta","helpText","icon","animated","hasDelta","up","displayValue","alertVariants","iconColor","glyph","Alert","title","onClose","useControllableState","setValue","useCallback","TabsContext","useTabs","Tabs","TabsList","listRef","indicator","setIndicator","list","active","TabsTrigger","TabsContent","AccordionContext","ItemContext","useAccordion","Accordion","init","toggle","prev","has","AccordionItem","AccordionTrigger","isOpen","AccordionContent","sidePos","Tooltip","content","side","PopoverContext","usePopover","Popover","PopoverTrigger","PopoverContent","Portal","mounted","setMounted","createPortal","useDismissable","prevOverflow","ModalContext","Modal","onOpenChange","close","ModalContent","ModalHeader","ModalTitle","ModalDescription","ModalBody","ModalFooter","DrawerContext","sideClasses","Drawer","DrawerContent","DrawerHeader","DrawerTitle","DrawerBody","DrawerFooter","ToastContext","variantStyles","ToastProvider","toasts","setToasts","idRef","dismiss","toast","options","ToastCard","item","onDismiss","timer","styles","useToast","textareaVariants","Textarea","CodeBlock","code","language","handleCopy","CopyIcon","Sidebar","user","nav","footerAction","itemClass","isActive","group","SettingRow","description","SettingsCard","SettingsGroup","IntegrationRow","connected","onConnect","onDisconnect","ProfileSettingsModal","defaultSection","controlledSection","onSectionChange","sectionTitles","sectionSubtitles","renderSection","firstId","_b","internalSection","setInternalSection","handleSelect","activeItem","g","subtitle","ThemeContext","MODE_KEY","BRAND_KEY","RADIUS_KEY","prefersDark","load","key","fallback","ThemeProvider","defaultMode","defaultBrand","defaultRadius","mode","setModeState","brand","setBrandState","radius","setRadiusState","systemDark","setSystemDark","mq","resolvedMode","el","setMode","setBrand","b","setRadius","r","toggleMode","useMemo","useTheme","tokens"],"mappings":";;;;;;AAIO,SAASA,KAAMC,GAAsB;AAC1C,SAAOC,GAAQC,GAAKF,CAAM,CAAC;AAC7B;ACFO,MAAMG,KAAiBC;AAAA;AAAA,EAE5B;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgB;AAAA,MAAA;AAAA,MAElB,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,WAAW,EAAE,MAAM,SAAA;AAAA,IAAS;AAAA,IAE9B,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAMaC,IAASC;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,MAAAC,GAAM,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAClD,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWb,EAAGI,GAAe,EAAE,SAAAK,GAAS,MAAAC,GAAM,WAAAC,EAAA,CAAW,GAAGH,CAAS;AAAA,MACpE,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AAEAN,EAAO,cAAc;AC/Cd,MAAMS,KAAgBV;AAAA,EAC3B;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB,EAAE,MAAM,MAAM,SAAS,GAAA;AAAA,EAAM;AAElD,GAQaW,KAAQT;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,MAAAE,GAAM,SAAAO,GAAS,OAAAC,GAAO,IAAAC,GAAI,MAAAC,GAAM,GAAGR,EAAA,GAASC,MAAQ;AAChE,UAAM,CAACQ,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAChDC,IAAaJ,MAAS,YACtBK,IAAeD,IAAcH,IAAe,SAAS,aAAcD,GAEnEM,IAAUP,MAAOD,IAAQA,EAAM,cAAc,QAAQ,QAAQ,GAAG,IAAI,SAEpES,IACJ,gBAAAC,EAAC,OAAA,EAAI,WAAU,qCACb,UAAA;AAAA,MAAA,gBAAAd;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAAD;AAAA,UACA,IAAIa;AAAA,UACJ,MAAMD;AAAA,UACN,WAAWzB;AAAA,YACTe,GAAc,EAAE,MAAAL,GAAM,SAAAO,GAAS;AAAA,YAC/BO,KAAc;AAAA,YACdhB;AAAA,UAAA;AAAA,UAED,GAAGI;AAAA,QAAA;AAAA,MAAA;AAAA,MAELY,KACC,gBAAAV;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS,MAAMQ,EAAgB,CAACO,MAAM,CAACA,CAAC;AAAA,UACxC,cAAYR,IAAe,kBAAkB;AAAA,UAC7C,WAAU;AAAA,UAET,UAAAA;AAAA;AAAA,8BAEE,OAAA,EAAI,SAAQ,aAAY,WAAU,WAAU,MAAK,QAAO,QAAO,gBAAe,aAAa,MAAM,eAAc,SAAQ,gBAAe,SAAQ,eAAW,IACxJ,UAAA;AAAA,cAAA,gBAAAP,EAAC,QAAA,EAAK,GAAE,kFAAA,CAAkF;AAAA,cAC1F,gBAAAA,EAAC,QAAA,EAAK,GAAE,yEAAA,CAAyE;AAAA,cACjF,gBAAAA,EAAC,UAAK,IAAG,KAAI,IAAG,KAAI,IAAG,MAAK,IAAG,KAAA,CAAK;AAAA,YAAA,EAAA,CACtC;AAAA;AAAA;AAAA,8BAGC,OAAA,EAAI,SAAQ,aAAY,WAAU,WAAU,MAAK,QAAO,QAAO,gBAAe,aAAa,MAAM,eAAc,SAAQ,gBAAe,SAAQ,eAAW,IACxJ,UAAA;AAAA,cAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,+CAAA,CAA+C;AAAA,gCACtD,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,IAAA,CAAI;AAAA,YAAA,EAAA,CAChC;AAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ,GAEJ;AAGF,WAAKI,IAEH,gBAAAU,EAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,MAAA,gBAAAd,EAAC,SAAA,EAAM,SAASY,GAAS,WAAU,+BAChC,UAAAR,GACH;AAAA,MACCS;AAAA,IAAA,GACH,IAPiBA;AAAA,EASrB;AACF;AAEAX,GAAM,cAAc;ACxFb,MAAMc,KAAOvB;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,GAAGI,EAAA,GAASC,MACxB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWb;AAAA,QACT;AAAA,QACAQ;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AACAkB,GAAK,cAAc;AAEZ,MAAMC,KAAaxB;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,GAAGI,EAAA,GAASC,MACxB,gBAAAC,EAAC,OAAA,EAAI,KAAAD,GAAU,WAAWb,EAAG,2BAA2BQ,CAAS,GAAI,GAAGI,EAAA,CAAO;AAEnF;AACAmB,GAAW,cAAc;AAElB,MAAMC,KAAYzB,EAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGI,KAASC,wBACzB,MAAA,EAAG,KAAAA,GAAU,WAAWb,EAAG,iCAAiCQ,CAAS,GAAI,GAAGI,GAAO,CACrF;AACDoB,GAAU,cAAc;AAEjB,MAAMC,KAAkB1B,EAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGI,KAASC,wBACzB,KAAA,EAAE,KAAAA,GAAU,WAAWb,EAAG,yBAAyBQ,CAAS,GAAI,GAAGI,GAAO,CAC5E;AACDqB,GAAgB,cAAc;AAEvB,MAAMC,KAAc3B;AAAA,EACzB,CAAC,EAAE,WAAAC,GAAW,GAAGI,EAAA,GAASC,MACxB,gBAAAC,EAAC,OAAA,EAAI,KAAAD,GAAU,WAAWb,EAAG,YAAYQ,CAAS,GAAI,GAAGI,EAAA,CAAO;AAEpE;AACAsB,GAAY,cAAc;ACzC1B,MAAMC,KAAgB9B;AAAA,EACpB;AAAA,EAGA;AAAA,IACE,UAAU;AAAA,MACR,MAAM,EAAE,IAAI,WAAW,IAAI,WAAA;AAAA,MAC3B,SAAS,EAAE,MAAM,cAAc,OAAO,mBAAA;AAAA,IAAmB;AAAA,IAE3D,iBAAiB,EAAE,MAAM,MAAM,SAAS,GAAA;AAAA,EAAM;AAElD,GAEM+B,KAAgB/B;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM,EAAE,IAAI,WAAW,IAAI,UAAA;AAAA,MAC3B,SAAS,EAAE,MAAM,IAAI,OAAO,gBAAA;AAAA,IAAgB;AAAA,IAE9C,kBAAkB;AAAA,MAChB,EAAE,MAAM,MAAM,SAAS,IAAM,OAAO,gBAAA;AAAA,MACpC,EAAE,MAAM,MAAM,SAAS,IAAM,OAAO,gBAAA;AAAA,IAAgB;AAAA,IAEtD,iBAAiB,EAAE,MAAM,MAAM,SAAS,GAAA;AAAA,EAAM;AAElD,GAUagC,IAAS9B;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,MAAAE,GAAM,SAAA4B,GAAS,gBAAAC,GAAgB,iBAAAC,GAAiB,UAAAC,GAAU,GAAG7B,EAAA,GAASC,MAAQ;AAC1F,UAAM6B,IAAeJ,MAAY,QAC3B,CAACK,GAAUC,CAAW,IAAIrB,EAASgB,KAAkB,EAAK,GAC1DM,IAAQH,IAAeJ,IAAUK;AAQvC,WACE,gBAAA7B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,MAAK;AAAA,QACL,MAAK;AAAA,QACL,gBAAcgC;AAAA,QACd,UAAAJ;AAAA,QACA,SAbW,MAAM;AACnB,gBAAMK,IAAO,CAACD;AACd,UAAKH,KAAcE,EAAYE,CAAI,GACnCN,KAAA,QAAAA,EAAkBM;AAAA,QACpB;AAAA,QAUI,WAAW9C,EAAGmC,GAAc,EAAE,MAAAzB,GAAM,SAASmC,EAAA,CAAO,GAAGrC,CAAS;AAAA,QAC/D,GAAGI;AAAA,QAEJ,UAAA,gBAAAE,EAAC,UAAK,WAAWsB,GAAc,EAAE,MAAA1B,GAAM,SAASmC,EAAA,CAAO,EAAA,CAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGhE;AACF;AAEAR,EAAO,cAAc;AC5Dd,MAAMU,KAAWxC;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,OAAAU,GAAO,eAAA8B,IAAgB,IAAO,UAAAP,GAAU,IAAAtB,GAAI,GAAGP,EAAA,GAASC,MAAQ;AAC5E,UAAMoC,IAAWC,EAAyB,IAAI;AAG9C,IAAAC,EAAU,MAAM;AACd,MAAIF,EAAS,YAASA,EAAS,QAAQ,gBAAgBD;AAAA,IACzD,GAAG,CAACA,CAAa,CAAC;AAElB,UAAMI,IAAU,CAACC,MAAkC;AACjD,MAAAJ,EAAS,UAAUI,GACf,OAAOxC,KAAQ,aAAYA,EAAIwC,CAAI,IAC9BxC,QAAS,UAAUwC;AAAA,IAC9B;AAEA,WACE,gBAAAzB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW5B;AAAA,UACT;AAAA,UACAyC,IAAW,kCAAkC;AAAA,UAC7CjC;AAAA,QAAA;AAAA,QAGF,UAAA;AAAA,UAAA,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKsC;AAAA,cACL,IAAAjC;AAAA,cACA,MAAK;AAAA,cACL,UAAAsB;AAAA,cACA,WAAU;AAAA,cACT,GAAG7B;AAAA,YAAA;AAAA,UAAA;AAAA,UAIN,gBAAAgB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW5B;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA;AAAA,gBAEA;AAAA;AAAA,gBAEA;AAAA,cAAA;AAAA,cAGF,UAAA;AAAA,gBAAA,gBAAAc;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,WAAU;AAAA,oBACV,MAAK;AAAA,oBACL,QAAO;AAAA,oBACP,aAAY;AAAA,oBACZ,eAAc;AAAA,oBACd,gBAAe;AAAA,oBACf,eAAW;AAAA,oBAEX,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,qBAAA,CAAqB;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAE/B,gBAAAA,EAAC,QAAA,EAAK,WAAU,6DAAA,CAA6D;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAE9EI,KAAS,gBAAAJ,EAAC,QAAA,EAAK,WAAU,mBAAmB,UAAAI,EAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGzD;AACF;AAEA6B,GAAS,cAAc;ACjEvB,MAAMO,IAAoBC,EAA6C,IAAI;AAUpE,SAASC,GAAW;AAAA,EACzB,OAAAX;AAAA,EACA,cAAAY;AAAA,EACA,eAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAnD;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAoB;AAClB,QAAMiD,IAAWC,EAAA,GACXpB,IAAeG,MAAU,QACzB,CAACF,GAAUC,CAAW,IAAIrB,EAASkC,CAAY,GAC/CM,IAAUrB,IAAeG,IAAQF,GAEjCqB,IAAW,CAAClB,MAAiB;AACjC,IAAKJ,KAAcE,EAAYE,CAAI,GACnCY,KAAA,QAAAA,EAAgBZ;AAAA,EAClB;AAEA,SACE,gBAAAhC;AAAA,IAACwC,EAAkB;AAAA,IAAlB;AAAA,MACC,OAAO,EAAE,MAAMK,KAAQE,GAAU,OAAOE,GAAS,UAAAC,EAAA;AAAA,MAEjD,UAAA,gBAAAlD,EAAC,OAAA,EAAI,MAAK,cAAa,WAAWd,EAAG,uBAAuBQ,CAAS,GAAI,GAAGI,GACzE,UAAAgD,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN;AAQO,MAAMK,KAAQ1D;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,OAAAqC,GAAO,OAAA3B,GAAO,UAAAuB,GAAU,GAAG7B,EAAA,GAASC,MAAQ;AACxD,UAAMqD,IAAMC,EAAWb,CAAiB;AACxC,QAAI,CAACY,EAAK,OAAM,IAAI,MAAM,8CAA8C;AACxE,UAAM5B,IAAU4B,EAAI,UAAUrB;AAE9B,WACE,gBAAAjB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW5B;AAAA,UACT;AAAA,UACAyC,IAAW,kCAAkC;AAAA,UAC7CjC;AAAA,QAAA;AAAA,QAGF,UAAA;AAAA,UAAA,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAAD;AAAA,cACA,MAAK;AAAA,cACL,MAAMqD,EAAI;AAAA,cACV,OAAArB;AAAA,cACA,SAAAP;AAAA,cACA,UAAAG;AAAA,cACA,UAAU,MAAMyB,EAAI,SAASrB,CAAK;AAAA,cAClC,WAAU;AAAA,cACT,GAAGjC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEN,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWd;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cAAA;AAAA,cAGF,UAAA,gBAAAc,EAAC,QAAA,EAAK,WAAU,mEAAA,CAAmE;AAAA,YAAA;AAAA,UAAA;AAAA,UAEpFI,KAAS,gBAAAJ,EAAC,QAAA,EAAK,WAAU,mBAAmB,UAAAI,EAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGzD;AACF;AAEA+C,GAAM,cAAc;AC5FpB,MAAMG,KAAiB/D;AAAA,EACrB;AAAA,EAGA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB,EAAE,MAAM,MAAM,SAAS,GAAA;AAAA,EAAM;AAElD,GAMagE,KAAS9D;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,MAAAE,GAAM,SAAAO,GAAS,UAAA2C,GAAU,GAAGhD,EAAA,GAASC,MACjD,gBAAAe,EAAC,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,IAAA,gBAAAd;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,WAAWb,EAAGoE,GAAe,EAAE,MAAA1D,GAAM,SAAAO,EAAA,CAAS,GAAGT,CAAS;AAAA,QACzD,GAAGI;AAAA,QAEH,UAAAgD;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAA9C;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,WAAU;AAAA,QACV,MAAK;AAAA,QACL,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,eAAW;AAAA,QAEX,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,eAAA,CAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACzB,EAAA,CACF;AAEJ;AAEAuD,GAAO,cAAc;ACtCrB,MAAMC,IAAkBf,EAA2C,IAAI;AAEvE,SAASgB,IAAc;AACrB,QAAML,IAAMC,EAAWG,CAAe;AACtC,MAAI,CAACJ,EAAK,OAAM,IAAI,MAAM,6DAA6D;AACvF,SAAOA;AACT;AAEO,SAASM,GAAS,EAAE,UAAAZ,KAA2C;AACpE,QAAM,CAACa,GAAMC,CAAO,IAAInD,EAAS,EAAK,GAChCV,IAAMqC,EAAuB,IAAI;AAGvC,SAAAC,EAAU,MAAM;AACd,QAAI,CAACsB,EAAM;AACX,UAAME,IAAU,CAACC,MAAkB;AACjC,MAAI/D,EAAI,WAAW,CAACA,EAAI,QAAQ,SAAS+D,EAAE,MAAc,KAAGF,EAAQ,EAAK;AAAA,IAC3E,GACMG,IAAQ,CAACD,MAAqB;AAClC,MAAIA,EAAE,QAAQ,YAAUF,EAAQ,EAAK;AAAA,IACvC;AACA,oBAAS,iBAAiB,aAAaC,CAAO,GAC9C,SAAS,iBAAiB,WAAWE,CAAK,GACnC,MAAM;AACX,eAAS,oBAAoB,aAAaF,CAAO,GACjD,SAAS,oBAAoB,WAAWE,CAAK;AAAA,IAC/C;AAAA,EACF,GAAG,CAACJ,CAAI,CAAC,GAGP,gBAAA3D,EAACwD,EAAgB,UAAhB,EAAyB,OAAO,EAAE,MAAAG,GAAM,SAAAC,EAAA,GACvC,4BAAC,OAAA,EAAI,KAAA7D,GAAU,WAAU,mCACtB,UAAA+C,GACH,GACF;AAEJ;AAGO,SAASkB,GAAgB,EAAE,UAAAlB,KAA6C;AAC7E,QAAM,EAAE,MAAAa,GAAM,SAAAC,EAAA,IAAYH,EAAA;AAC1B,SAAOQ,EAAanB,GAAU;AAAA,IAC5B,SAAS,MAAMc,EAAQ,CAACD,CAAI;AAAA,IAC5B,iBAAiB;AAAA,IACjB,iBAAiBA;AAAA,EAAA,CAClB;AACH;AAEO,SAASO,GAAgB;AAAA,EAC9B,UAAApB;AAAA,EACA,OAAAqB,IAAQ;AAAA,EACR,WAAAzE;AACF,GAIG;AACD,QAAM,EAAE,MAAAiE,EAAA,IAASF,EAAA;AACjB,SAAKE,IAEH,gBAAA3D;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWd;AAAA,QACT;AAAA,QACAiF,MAAU,QAAQ,YAAY;AAAA,QAC9BzE;AAAA,MAAA;AAAA,MAGD,UAAAoD;AAAA,IAAA;AAAA,EAAA,IAVa;AAapB;AAQO,SAASsB,GAAa;AAAA,EAC3B,UAAAtB;AAAA,EACA,UAAAuB;AAAA,EACA,aAAAC;AAAA,EACA,WAAA5E;AAAA,EACA,GAAGI;AACL,GAAsB;AACpB,QAAM,EAAE,SAAA8D,EAAA,IAAYH,EAAA;AACpB,SACE,gBAAAzD;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAK;AAAA,MACL,SAAS,MAAM;AACb,QAAAqE,KAAA,QAAAA,KACAT,EAAQ,EAAK;AAAA,MACf;AAAA,MACA,WAAW1E;AAAA,QACT;AAAA,QACA;AAAA,QACAoF,IAAc,gBAAgB;AAAA,QAC9B5E;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,MAEH,UAAAgD;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASyB,KAAoB;AAClC,SAAO,gBAAAvE,EAAC,OAAA,EAAI,MAAK,aAAY,WAAU,+BAA8B;AACvE;AC1HO,MAAMwE,KAAgBjF;AAAA,EAC3B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAe;AAAA,QACf,SAAe;AAAA,QACf,QAAe;AAAA,QACf,eAAe;AAAA,QACf,SAAe;AAAA,QACf,SAAe;AAAA,QACf,QAAe;AAAA,QACf,SAAe;AAAA,MAAA;AAAA,MAEjB,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB,EAAE,SAAS,WAAW,MAAM,KAAA;AAAA,EAAK;AAEtD,GAMakF,IAAQhF;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,MAAAC,GAAM,GAAGE,EAAA,GAASC,MACvC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWb,EAAGsF,GAAc,EAAE,SAAA7E,GAAS,MAAAC,EAAA,CAAM,GAAGF,CAAS;AAAA,MACxD,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA2E,EAAM,cAAc;ACrCpB,MAAMC,KAAenF,EAAI,6CAA6C;AAAA,EACpE,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,iBAAiB,EAAE,MAAM,KAAA;AAC3B,CAAC,GAEKoF,KAAsC;AAAA,EAC1C,QAAS;AAAA,EACT,MAAS;AAAA,EACT,MAAS;AAAA,EACT,SAAS;AACX,GAGMC,KAAkC;AAAA,EACtC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,SAASC,GAAShC,GAAe;AAC/B,SAAKA,IACEA,EACJ,OACA,MAAM,KAAK,EACX,MAAM,GAAG,CAAC,EACV,IAAI,CAACiC,MAAA;;AAAM,aAAAC,IAAAD,EAAE,CAAC,MAAH,gBAAAC,EAAM,kBAAiB;AAAA,GAAE,EACpC,KAAK,EAAE,IANQ;AAOpB;AAWO,MAAMC,KAASvF;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,MAAAE,IAAO,MAAM,KAAAqF,GAAK,KAAAC,GAAK,MAAArC,GAAM,QAAAsC,GAAQ,GAAGrF,EAAA,GAASC,MAAQ;AACrE,UAAM,CAACqF,GAASC,CAAU,IAAI5E,EAAS,EAAK,GACtC6E,IAAUL,KAAO,CAACG;AAExB,WACE,gBAAAtE,EAAC,QAAA,EAAK,KAAAf,GAAU,WAAWb,EAAGwF,GAAa,EAAE,MAAA9E,EAAA,CAAM,GAAGF,CAAS,GAAI,GAAGI,GAEpE,UAAA;AAAA,MAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,+GACb,UAAAsF,IACC,gBAAAtF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAAiF;AAAA,UACA,KAAKC,KAAOrC,KAAQ;AAAA,UACpB,WAAU;AAAA,UACV,SAAS,MAAMwC,EAAW,EAAI;AAAA,QAAA;AAAA,MAAA,sBAG/B,QAAA,EAAK,eAAW,IAAE,UAAAR,GAAShC,CAAI,GAAE,GAEtC;AAAA,MAGCsC,KACC,gBAAAnF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAYmF;AAAA,UACZ,WAAWjG;AAAA,YACT;AAAA,YACAyF,GAAYQ,CAAM;AAAA,YAClBP,GAAQhF,KAAQ,IAAI;AAAA,UAAA;AAAA,QACtB;AAAA,MAAA;AAAA,IACF,GAEJ;AAAA,EAEJ;AACF;AAEAoF,GAAO,cAAc;ACrFrB,MAAMO,KAAkBhG,EAAI,6BAA6B;AAAA,EACvD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,iBAAiB,EAAE,MAAM,KAAA;AAC3B,CAAC,GAQYiG,KAAU/F;AAAA,EACrB,CAAC,EAAE,WAAAC,GAAW,MAAAE,GAAM,OAAAQ,IAAQ,cAAc,GAAGN,EAAA,GAASC,MACpD,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,MAAK;AAAA,MACL,cAAYK;AAAA,MACZ,WAAWlB,EAAGqG,GAAgB,EAAE,MAAA3F,EAAA,CAAM,GAAGF,CAAS;AAAA,MACjD,GAAGI;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAE,EAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,QAAO,gBAAe,aAAY,KAAI,WAAU,cAAa;AAAA,QAC5F,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,QAAO;AAAA,YACP,aAAY;AAAA,YACZ,eAAc;AAAA,UAAA;AAAA,QAAA;AAAA,MAChB;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAwF,GAAQ,cAAc;ACjCf,MAAMC,KAAWhG;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,OAAAqC,IAAQ,GAAG,KAAA2D,IAAM,KAAK,eAAAxD,GAAe,GAAGpC,EAAA,GAASC,MAAQ;AACrE,UAAM4F,IAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI5D,IAAQ2D,IAAO,GAAG,CAAC;AAE1D,WACE,gBAAA1F;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe2F;AAAA,QACf,iBAAexD,IAAgB,SAAYH;AAAA,QAC3C,WAAW7C;AAAA,UACT;AAAA,UACAQ;AAAA,QAAA;AAAA,QAED,GAAGI;AAAA,QAEH,UAAAoC,IACC,gBAAAlC,EAAC,OAAA,EAAI,WAAU,2GAA0G,IAEzH,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,OAAO,GAAG2F,CAAG,IAAA;AAAA,UAAI;AAAA,QAAA;AAAA,MAC5B;AAAA,IAAA;AAAA,EAIR;AACF;AAEAF,GAAS,cAAc;AC/BhB,MAAMG,KAAUnG;AAAA,EACrB,CAAC,EAAE,WAAAC,GAAW,aAAAmG,IAAc,cAAc,OAAAzF,GAAO,GAAGN,EAAA,GAASC,MACvD8F,MAAgB,aAEhB,gBAAA7F;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,MAAK;AAAA,MACL,oBAAiB;AAAA,MACjB,WAAWb,EAAG,mDAAmDQ,CAAS;AAAA,MACzE,GAAGI;AAAA,IAAA;AAAA,EAAA,IAKNM,IAEA,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAf;AAAA,MACA,MAAK;AAAA,MACL,WAAWb,EAAG,iDAAiDQ,CAAS;AAAA,MACvE,GAAGI;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,gCAAA,CAAgC;AAAA,QAC/CI;AAAA,QACD,gBAAAJ,EAAC,QAAA,EAAK,WAAU,gCAAA,CAAgC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAMpD,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,MAAK;AAAA,MACL,oBAAiB;AAAA,MACjB,WAAWb,EAAG,iCAAiCQ,CAAS;AAAA,MACvD,GAAGI;AAAA,IAAA;AAAA,EAAA;AAIZ;AAEA8F,GAAQ,cAAc;AC/Cf,MAAME,KAAarG;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,UAAAoD,GAAU,GAAGhD,EAAA,GAASC,MAAQ;AAC1C,UAAMgG,IAAQC,GAAS,QAAQlD,CAAQ;AACvC,6BACG,OAAA,EAAI,KAAA/C,GAAU,cAAW,cAAa,WAAAL,GAAuB,GAAGI,GAC/D,UAAA,gBAAAE,EAAC,MAAA,EAAG,WAAU,+CACX,UAAA+F,EAAM,IAAI,CAACE,GAAOC,wBAChBC,IAAA,EACE,UAAA;AAAA,MAAAF;AAAA,MACAC,IAAIH,EAAM,SAAS,uBAAMK,IAAA,CAAA,CAAoB;AAAA,IAAA,EAAA,GAFjCF,CAGf,CACD,EAAA,CACH,GACF;AAAA,EAEJ;AACF;AACAJ,GAAW,cAAc;AAQlB,SAASO,GAAe;AAAA,EAC7B,MAAAC;AAAA,EACA,SAAArD;AAAA,EACA,WAAAvD;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAwB;AACtB,SACE,gBAAAE,EAAC,MAAA,EAAG,WAAWd,EAAG,4BAA4BQ,CAAS,GAAI,GAAGI,GAC3D,UAAAmD,KAAW,CAACqD,IACX,gBAAAtG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,gBAAciD,IAAU,SAAS;AAAA,MACjC,WAAW/D,EAAG+D,IAAU,wBAAwB,eAAe;AAAA,MAE9D,UAAAH;AAAA,IAAA;AAAA,EAAA,IAGH,gBAAA9C;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAsG;AAAA,MACA,WAAU;AAAA,MAET,UAAAxD;AAAA,IAAA;AAAA,EAAA,GAGP;AAEJ;AAEO,SAASsD,KAAsB;AACpC,2BACG,MAAA,EAAG,eAAW,IAAC,WAAU,iBAAgB,UAAA,KAE1C;AAEJ;AC1DA,SAASG,GAAWC,GAAgBC,IAAW,KAAM;AACnD,QAAM,CAACxD,GAASyD,CAAU,IAAIjG,EAAS,CAAC;AAExC,SAAA4B,EAAU,MAAM;AACd,IAAAqE,EAAW,CAAC;AACZ,UAAMC,IAAQ,YAAY,IAAA,GACpBC,IAAO,CAACC,MAAgB;AAC5B,YAAMC,IAAI,KAAK,KAAKD,IAAMF,KAASF,GAAU,CAAC,GACxCM,IAAQ,KAAK,IAAID,MAAM;AAC7B,MAAAJ,EAAWF,IAASO,CAAK,GACrBD,IAAI,IAAG,sBAAsBF,CAAI,MACrBJ,CAAM;AAAA,IACxB;AACA,0BAAsBI,CAAI;AAAA,EAC5B,GAAG,CAACJ,GAAQC,CAAQ,CAAC,GAEdxD;AACT;AAeO,MAAM+D,KAAWvH;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,OAAAU,GAAO,OAAA2B,GAAO,SAAAkF,GAAS,aAAAC,GAAa,OAAAC,GAAO,UAAAC,GAAU,MAAAC,GAAM,GAAGvH,EAAA,GAASC,MAAQ;AAC3F,UAAMuH,IAAWf,GAAWU,KAAW,CAAC,GAClCM,IAAW,OAAOJ,KAAU,UAC5BK,IAAKD,KAAYJ,KAAU,GAE3BM,IACJR,MAAY,SACPC,IAAcA,EAAYI,CAAQ,IAAI,KAAK,MAAMA,CAAQ,EAAE,eAAe,OAAO,IAClFvF;AAEN,WACE,gBAAAjB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAf;AAAA,QACA,WAAWb;AAAA,UACT;AAAA,UACAQ;AAAA,QAAA;AAAA,QAED,GAAGI;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAgB,EAAC,OAAA,EAAI,WAAU,qCACb,UAAA;AAAA,YAAA,gBAAAd,EAAC,QAAA,EAAK,WAAU,yBAAyB,UAAAI,GAAM;AAAA,YAC9CiH,KAAQ,gBAAArH,EAAC,QAAA,EAAK,WAAU,iBAAiB,UAAAqH,EAAA,CAAK;AAAA,UAAA,GACjD;AAAA,UACA,gBAAArH,EAAC,QAAA,EAAK,WAAU,6DACb,UAAAyH,GACH;AAAA,UACCF,KACC,gBAAAzG,EAAC2D,GAAA,EAAM,SAAS+C,IAAK,YAAY,UAAU,MAAK,MAAK,WAAU,cAC5D,UAAA;AAAA,YAAAA,IAAK,MAAM;AAAA,YAAI;AAAA,YAAE,KAAK,IAAIL,CAAM;AAAA,YAAE;AAAA,UAAA,GACrC;AAAA,UAEDC,KAAY,gBAAApH,EAAC,QAAA,EAAK,WAAU,yBAAyB,UAAAoH,EAAA,CAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGrE;AACF;AAEAJ,GAAS,cAAc;ACtEvB,MAAMU,KAAgBnI,EAAI,qCAAqC;AAAA,EAC7D,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EAEF,iBAAiB,EAAE,SAAS,OAAA;AAC9B,CAAC,GAEKoI,KAAoC;AAAA,EACxC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV,GAGMC,KAAgC;AAAA,EACpC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV,GASaC,KAAQpI;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,SAAAC,IAAU,QAAQ,OAAAmI,GAAO,SAAAC,GAAS,UAAAjF,GAAU,GAAGhD,EAAA,GAASC,MAAQ;AAC5E,UAAMgB,IAAIpB,KAAW;AACrB,WACE,gBAAAmB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAf;AAAA,QACA,MAAK;AAAA,QACL,WAAWb,EAAGwI,GAAc,EAAE,SAAA/H,EAAA,CAAS,GAAGD,CAAS;AAAA,QAClD,GAAGI;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAWd;AAAA,gBACT;AAAA,gBACAyI,GAAU5G,CAAC;AAAA,cAAA;AAAA,cAGZ,aAAMA,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEV,gBAAAD,EAAC,OAAA,EAAI,WAAU,kBACZ,UAAA;AAAA,YAAAgH,KAAS,gBAAA9H,EAAC,OAAA,EAAI,WAAU,yBAAyB,UAAA8H,GAAM;AAAA,YACvDhF,KAAY,gBAAA9C,EAAC,OAAA,EAAI,WAAU,iBAAiB,UAAA8C,EAAA,CAAS;AAAA,UAAA,GACxD;AAAA,UACCiF,KACC,gBAAA/H;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS+H;AAAA,cACT,cAAW;AAAA,cACX,WAAU;AAAA,cACX,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEAF,GAAM,cAAc;ACtEb,SAASG,GAAwB;AAAA,EACtC,OAAAjG;AAAA,EACA,cAAAY;AAAA,EACA,UAAAO;AACF,GAIG;AACD,QAAMtB,IAAeG,MAAU,QACzB,CAACF,GAAUC,CAAW,IAAIrB,EAAYkC,CAAY,GAClDM,IAAUrB,IAAgBG,IAAcF,GAExCoG,IAAWC;AAAA,IACf,CAAClG,MAAY;AACX,MAAKJ,KAAcE,EAAYE,CAAI,GACnCkB,KAAA,QAAAA,EAAWlB;AAAA,IACb;AAAA,IACA,CAACJ,GAAcsB,CAAQ;AAAA,EAAA;AAGzB,SAAO,CAACD,GAASgF,CAAQ;AAC3B;ACpBA,MAAME,IAAc1F,EAAuC,IAAI;AAC/D,SAAS2F,IAAU;AACjB,QAAMhF,IAAMC,EAAW8E,CAAW;AAClC,MAAI,CAAC/E,EAAK,OAAM,IAAI,MAAM,qDAAqD;AAC/E,SAAOA;AACT;AAQO,SAASiF,GAAK;AAAA,EACnB,OAAAtG;AAAA,EACA,cAAAY;AAAA,EACA,eAAAC;AAAA,EACA,WAAAlD;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAc;AACZ,QAAM,CAACmD,GAASgF,CAAQ,IAAID,GAAqB;AAAA,IAC/C,OAAAjG;AAAA,IACA,cAAcY,KAAgB;AAAA,IAC9B,UAAUC;AAAA,EAAA,CACX;AACD,2BACGuF,EAAY,UAAZ,EAAqB,OAAO,EAAE,OAAOlF,GAAS,UAAAgF,EAAA,GAC7C,4BAAC,OAAA,EAAI,WAAAvI,GAAuB,GAAGI,GAC5B,UAAAgD,GACH,GACF;AAEJ;AAEO,SAASwF,GAAS,EAAE,WAAA5I,GAAW,UAAAoD,GAAU,GAAGhD,KAA+C;AAChG,QAAM,EAAE,OAAAiC,EAAA,IAAUqG,EAAA,GACZG,IAAUnG,EAAuB,IAAI,GACrC,CAACoG,GAAWC,CAAY,IAAIhI,EAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAA,CAAO;AAE9E,SAAA4B,EAAU,MAAM;AACd,UAAMqG,IAAOH,EAAQ;AACrB,QAAI,CAACG,EAAM;AACX,UAAMC,IAASD,EAAK,cAAc,wBAAwB;AAC1D,IAAKC,KACLF,EAAa,EAAE,MAAME,EAAO,YAAY,OAAOA,EAAO,aAAa,OAAO,IAAM;AAAA,EAClF,GAAG,CAAC5G,CAAK,CAAC,GAGR,gBAAAjB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKyH;AAAA,MACL,MAAK;AAAA,MACL,WAAWrJ,EAAG,mEAAmEQ,CAAS;AAAA,MACzF,GAAGI;AAAA,MAEH,UAAA;AAAA,QAAAgD;AAAA,QACA0F,EAAU,SACT,gBAAAxI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAW;AAAA,YACX,WAAU;AAAA,YACV,OAAO,EAAE,MAAMwI,EAAU,MAAM,OAAOA,EAAU,MAAA;AAAA,UAAM;AAAA,QAAA;AAAA,MACxD;AAAA,IAAA;AAAA,EAAA;AAIR;AAKO,SAASI,GAAY,EAAE,OAAA7G,GAAO,WAAArC,GAAW,GAAGI,KAA2B;AAC5E,QAAMsD,IAAMgF,EAAA,GACNO,IAASvF,EAAI,UAAUrB;AAC7B,SACE,gBAAA/B;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAK;AAAA,MACL,iBAAe2I;AAAA,MACf,SAAS,MAAMvF,EAAI,SAASrB,CAAK;AAAA,MACjC,WAAW7C;AAAA,QACT;AAAA,QACA;AAAA,QACAyJ,IAAS,YAAY;AAAA,QACrBjJ;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AAKO,SAAS+I,GAAY,EAAE,OAAA9G,GAAO,WAAArC,GAAW,GAAGI,KAA2B;AAE5E,SADYsI,EAAA,EACJ,UAAUrG,IAAc,OAE9B,gBAAA/B;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWd,EAAG,+CAA+CQ,CAAS;AAAA,MACrE,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;ACxGA,MAAMgJ,IAAmBrG,EAA4C,IAAI,GACnEsG,IAActG,EAAsB,EAAE;AAE5C,SAASuG,IAAe;AACtB,QAAM5F,IAAMC,EAAWyF,CAAgB;AACvC,MAAI,CAAC1F,EAAK,OAAM,IAAI,MAAM,+DAA+D;AACzF,SAAOA;AACT;AAOO,SAAS6F,GAAU;AAAA,EACxB,MAAA3I,IAAO;AAAA,EACP,cAAAqC;AAAA,EACA,WAAAjD;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAmB;AACjB,QAAMoJ,IAAOvG,IACT,MAAM,QAAQA,CAAY,IACxBA,IACA,CAACA,CAAY,IACf,CAAA,GACE,CAACgB,GAAMC,CAAO,IAAInD,EAAmByI,CAAI,GAEzCC,IAAS,CAACpH,MACd6B,EAAQ,CAACwF,MAAS;AAChB,UAAMC,IAAMD,EAAK,SAASrH,CAAK;AAC/B,WAAIzB,MAAS,WAAiB+I,IAAM,CAAA,IAAK,CAACtH,CAAK,IACxCsH,IAAMD,EAAK,OAAO,CAACrI,MAAMA,MAAMgB,CAAK,IAAI,CAAC,GAAGqH,GAAMrH,CAAK;AAAA,EAChE,CAAC;AAEH,SACE,gBAAA/B,EAAC8I,EAAiB,UAAjB,EAA0B,OAAO,EAAE,MAAAnF,GAAM,QAAAwF,KACxC,UAAA,gBAAAnJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWd,EAAG,iEAAiEQ,CAAS;AAAA,MACvF,GAAGI;AAAA,MAEH,UAAAgD;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;AAKO,SAASwG,GAAc,EAAE,OAAAvH,GAAO,UAAAe,GAAU,GAAGhD,KAA6B;AAC/E,SACE,gBAAAE,EAAC+I,EAAY,UAAZ,EAAqB,OAAAhH,GACpB,4BAAC,OAAA,EAAK,GAAGjC,GAAQ,UAAAgD,EAAA,CAAS,EAAA,CAC5B;AAEJ;AAEO,SAASyG,GAAiB;AAAA,EAC/B,WAAA7J;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAkD;AAChD,QAAMsD,IAAM4F,EAAA,GACNjH,IAAQsB,EAAW0F,CAAW,GAC9BS,IAASpG,EAAI,KAAK,SAASrB,CAAK;AACtC,SACE,gBAAAjB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,iBAAe0I;AAAA,MACf,SAAS,MAAMpG,EAAI,OAAOrB,CAAK;AAAA,MAC/B,WAAW7C;AAAA,QACT;AAAA,QACA;AAAA,QACAQ;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,MAEH,UAAA;AAAA,QAAAgD;AAAA,QACD,gBAAA9C,EAAC,UAAK,WAAWd,EAAG,sCAAsCsK,KAAU,YAAY,GAAG,UAAA,IAAA,CAEnF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASC,GAAiB;AAAA,EAC/B,WAAA/J;AAAA,EACA,GAAGI;AACL,GAAyC;AACvC,QAAMsD,IAAM4F,EAAA,GACNjH,IAAQsB,EAAW0F,CAAW;AACpC,SAAK3F,EAAI,KAAK,SAASrB,CAAK,IACrB,gBAAA/B,EAAC,SAAI,WAAWd,EAAG,8BAA8BQ,CAAS,GAAI,GAAGI,GAAO,IADzC;AAExC;AClGA,MAAM4J,KAAkC;AAAA,EACtC,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAaO,SAASC,GAAQ,EAAE,SAAAC,GAAS,MAAAC,IAAO,OAAO,UAAA/G,GAAU,WAAApD,KAA2B;AACpF,QAAM,CAACiE,GAAMC,CAAO,IAAInD,EAAS,EAAK,GAChCJ,IAAK2C,EAAA;AAEX,SACE,gBAAAlC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,cAAc,MAAM8C,EAAQ,EAAI;AAAA,MAChC,cAAc,MAAMA,EAAQ,EAAK;AAAA,MACjC,SAAS,MAAMA,EAAQ,EAAI;AAAA,MAC3B,QAAQ,MAAMA,EAAQ,EAAK;AAAA,MAE3B,UAAA;AAAA,QAAA,gBAAA5D,EAAC,QAAA,EAAK,oBAAkB2D,IAAOtD,IAAK,QAAY,UAAAyC,GAAS;AAAA,QACxDa,KACC,gBAAA3D;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAAK;AAAA,YACA,WAAWnB;AAAA,cACT;AAAA,cACA;AAAA,cACAwK,GAAQG,CAAI;AAAA,cACZnK;AAAA,YAAA;AAAA,YAGD,UAAAkK;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR;ACnCA,MAAME,IAAiBrH,EAA0C,IAAI;AACrE,SAASsH,IAAa;AACpB,QAAM3G,IAAMC,EAAWyG,CAAc;AACrC,MAAI,CAAC1G,EAAK,OAAM,IAAI,MAAM,2DAA2D;AACrF,SAAOA;AACT;AAEO,SAAS4G,GAAQ,EAAE,UAAAlH,KAA2C;AACnE,QAAM,CAACa,GAAMC,CAAO,IAAInD,EAAS,EAAK,GAChCV,IAAMqC,EAAuB,IAAI;AAEvC,SAAAC,EAAU,MAAM;AACd,QAAI,CAACsB,EAAM;AACX,UAAME,IAAU,CAACC,MAAkB;AACjC,MAAI/D,EAAI,WAAW,CAACA,EAAI,QAAQ,SAAS+D,EAAE,MAAc,KAAGF,EAAQ,EAAK;AAAA,IAC3E,GACMG,IAAQ,CAACD,MAAqBA,EAAE,QAAQ,YAAYF,EAAQ,EAAK;AACvE,oBAAS,iBAAiB,aAAaC,CAAO,GAC9C,SAAS,iBAAiB,WAAWE,CAAK,GACnC,MAAM;AACX,eAAS,oBAAoB,aAAaF,CAAO,GACjD,SAAS,oBAAoB,WAAWE,CAAK;AAAA,IAC/C;AAAA,EACF,GAAG,CAACJ,CAAI,CAAC,GAGP,gBAAA3D,EAAC8J,EAAe,UAAf,EAAwB,OAAO,EAAE,MAAAnG,GAAM,SAAAC,EAAA,GACtC,4BAAC,OAAA,EAAI,KAAA7D,GAAU,WAAU,yBACtB,UAAA+C,GACH,GACF;AAEJ;AAGO,SAASmH,GAAe,EAAE,UAAAnH,KAA6C;AAC5E,QAAM,EAAE,MAAAa,GAAM,SAAAC,EAAA,IAAYmG,EAAA;AAC1B,SAAO9F,EAAanB,GAAU;AAAA,IAC5B,SAAS,MAAMc,EAAQ,CAACD,CAAI;AAAA,IAC5B,iBAAiB;AAAA,IACjB,iBAAiBA;AAAA,EAAA,CAClB;AACH;AAEO,SAASuG,GAAe;AAAA,EAC7B,UAAApH;AAAA,EACA,OAAAqB,IAAQ;AAAA,EACR,WAAAzE;AACF,GAIG;AACD,QAAM,EAAE,MAAAiE,EAAA,IAASoG,EAAA;AACjB,SAAKpG,IAEH,gBAAA3D;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWd;AAAA,QACT;AAAA,QACA;AAAA,QACAiF,MAAU,QAAQ,YAAY;AAAA,QAC9BzE;AAAA,MAAA;AAAA,MAGD,UAAAoD;AAAA,IAAA;AAAA,EAAA,IAXa;AAcpB;AC/EO,SAASqH,EAAO,EAAE,UAAArH,KAA2C;AAClE,QAAM,CAACsH,GAASC,CAAU,IAAI5J,EAAS,EAAK;AAE5C,SADA4B,EAAU,MAAMgI,EAAW,EAAI,GAAG,CAAA,CAAE,GAC/BD,IACEE,GAAaxH,GAAU,SAAS,IAAI,IADtB;AAEvB;ACNO,SAASyH,GAAe5G,GAAeoE,GAAqB;AACjE,EAAA1F,EAAU,MAAM;AACd,QAAI,CAACsB,EAAM;AACX,UAAMI,IAAQ,CAACD,MAAqBA,EAAE,QAAQ,YAAYiE,EAAA,GACpDyC,IAAe,SAAS,KAAK,MAAM;AACzC,oBAAS,KAAK,MAAM,WAAW,UAC/B,SAAS,iBAAiB,WAAWzG,CAAK,GACnC,MAAM;AACX,eAAS,KAAK,MAAM,WAAWyG,GAC/B,SAAS,oBAAoB,WAAWzG,CAAK;AAAA,IAC/C;AAAA,EACF,GAAG,CAACJ,GAAMoE,CAAO,CAAC;AACpB;ACVA,MAAM0C,KAAehI,EAA4C,IAAI;AAQ9D,SAASiI,GAAM,EAAE,MAAA/G,GAAM,cAAAgH,GAAc,UAAA7H,KAAwB;AAClE,QAAM8H,IAAQ,MAAMD,KAAA,gBAAAA,EAAe;AAEnC,SADAJ,GAAe5G,GAAMiH,CAAK,GACrBjH,IAGH,gBAAA3D,EAACmK,GAAA,EACC,UAAA,gBAAAnK,EAACyK,GAAa,UAAb,EAAsB,OAAO,EAAE,OAAAG,EAAA,GAC9B,UAAA,gBAAA9J,EAAC,OAAA,EAAI,WAAU,2DACb,UAAA;AAAA,IAAA,gBAAAd;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS4K;AAAA,MAAA;AAAA,IAAA;AAAA,IAEV9H;AAAA,EAAA,EAAA,CACH,GACF,GACF,IAbgB;AAepB;AAEO,SAAS+H,GAAa;AAAA,EAC3B,WAAAnL;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAyC;AACvC,QAAMsD,IAAMC,EAAWoH,EAAY;AACnC,SACE,gBAAA3J;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW5B;AAAA,QACT;AAAA,QACA;AAAA,QACAQ;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,MAEH,UAAA;AAAA,QAAAgD;AAAA,QACD,gBAAA9C;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAMoD,KAAA,gBAAAA,EAAK;AAAA,YACpB,cAAW;AAAA,YACX,WAAU;AAAA,YACX,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAAS0H,GAAY,EAAE,WAAApL,GAAW,GAAGI,KAA+C;AACzF,SAAO,gBAAAE,EAAC,SAAI,WAAWd,EAAG,gCAAgCQ,CAAS,GAAI,GAAGI,GAAO;AACnF;AACO,SAASiL,GAAW,EAAE,WAAArL,GAAW,GAAGI,KAAmD;AAC5F,SAAO,gBAAAE,EAAC,QAAG,WAAWd,EAAG,iCAAiCQ,CAAS,GAAI,GAAGI,GAAO;AACnF;AACO,SAASkL,GAAiB;AAAA,EAC/B,WAAAtL;AAAA,EACA,GAAGI;AACL,GAA+C;AAC7C,SAAO,gBAAAE,EAAC,OAAE,WAAWd,EAAG,yBAAyBQ,CAAS,GAAI,GAAGI,GAAO;AAC1E;AACO,SAASmL,GAAU,EAAE,WAAAvL,GAAW,GAAGI,KAA+C;AACvF,SAAO,gBAAAE,EAAC,SAAI,WAAWd,EAAG,aAAaQ,CAAS,GAAI,GAAGI,GAAO;AAChE;AACO,SAASoL,GAAY,EAAE,WAAAxL,GAAW,GAAGI,KAA+C;AACzF,SACE,gBAAAE,EAAC,SAAI,WAAWd,EAAG,mCAAmCQ,CAAS,GAAI,GAAGI,GAAO;AAEjF;AC3EA,MAAMqL,KAAgB1I,EAAwD,IAAI,GAE5E2I,KAAoC;AAAA,EACxC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AACV;AASO,SAASC,GAAO,EAAE,MAAA1H,GAAM,cAAAgH,GAAc,MAAAd,IAAO,SAAS,UAAA/G,KAAyB;AACpF,QAAM8H,IAAQ,MAAMD,KAAA,gBAAAA,EAAe;AAEnC,SADAJ,GAAe5G,GAAMiH,CAAK,GACrBjH,IAGH,gBAAA3D,EAACmK,GAAA,EACC,UAAA,gBAAAnK,EAACmL,GAAc,UAAd,EAAuB,OAAO,EAAE,OAAAP,GAAO,MAAAf,EAAA,GACtC,UAAA,gBAAA/I,EAAC,OAAA,EAAI,WAAU,sBACb,UAAA;AAAA,IAAA,gBAAAd;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS4K;AAAA,MAAA;AAAA,IAAA;AAAA,IAEV9H;AAAA,EAAA,EAAA,CACH,GACF,GACF,IAbgB;AAepB;AAEO,SAASwI,GAAc;AAAA,EAC5B,WAAA5L;AAAA,EACA,UAAAoD;AAAA,EACA,GAAGhD;AACL,GAAyC;AACvC,QAAMsD,IAAMC,EAAW8H,EAAa,GAC9BtB,KAAOzG,KAAA,gBAAAA,EAAK,SAAQ;AAC1B,SACE,gBAAAtC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW5B;AAAA,QACT;AAAA,QACA;AAAA,QACAkM,GAAYvB,CAAI;AAAA,QAChBnK;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,MAEH,UAAA;AAAA,QAAAgD;AAAA,QACD,gBAAA9C;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAMoD,KAAA,gBAAAA,EAAK;AAAA,YACpB,cAAW;AAAA,YACX,WAAU;AAAA,YACX,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASmI,GAAa,EAAE,WAAA7L,GAAW,GAAGI,KAA+C;AAC1F,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWd,EAAG,0DAA0DQ,CAAS;AAAA,MAChF,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AACO,SAAS0L,GAAY,EAAE,WAAA9L,GAAW,GAAGI,KAAmD;AAC7F,SAAO,gBAAAE,EAAC,QAAG,WAAWd,EAAG,iCAAiCQ,CAAS,GAAI,GAAGI,GAAO;AACnF;AACO,SAAS2L,GAAW,EAAE,WAAA/L,GAAW,GAAGI,KAA+C;AACxF,SAAO,gBAAAE,EAAC,SAAI,WAAWd,EAAG,8BAA8BQ,CAAS,GAAI,GAAGI,GAAO;AACjF;AACO,SAAS4L,GAAa,EAAE,WAAAhM,GAAW,GAAGI,KAA+C;AAC1F,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWd,EAAG,6DAA6DQ,CAAS;AAAA,MACnF,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AClEA,MAAM6L,KAAelJ,EAAwC,IAAI,GAE3DmJ,KAA+G;AAAA,EACnH,MAAS,EAAE,SAAS,mCAAsC,OAAO,WAAmB,aAAa,iBAAsB,QAAQ,qCAAA;AAAA,EAC/H,SAAS,EAAE,SAAS,sCAAsC,OAAO,mBAAmB,aAAa,iBAAsB,QAAQ,2CAAA;AAAA,EAC/H,SAAS,EAAE,SAAS,sCAAsC,OAAO,WAAmB,aAAa,iBAAsB,QAAQ,2BAAA;AAAA,EAC/H,QAAS,EAAE,SAAS,qCAAsC,OAAO,eAAmB,aAAa,iBAAsB,QAAQ,mCAAA;AACjI;AAEO,SAASC,GAAc,EAAE,UAAA/I,KAA2C;AACzE,QAAM,CAACgJ,GAAQC,CAAS,IAAItL,EAAsB,CAAA,CAAE,GAC9CuL,IAAQ5J,EAAO,CAAC,GAEhB6J,IAAU/D,EAAY,CAAC7H,MAAe;AAC1C,IAAA0L,EAAU,CAAC3C,MAASA,EAAK,IAAI,CAACtC,MAAMA,EAAE,OAAOzG,IAAK,EAAE,GAAGyG,GAAG,SAAS,GAAA,IAASA,CAAC,CAAC,GAC9E,WAAW,MAAM;AACf,MAAAiF,EAAU,CAAC3C,MAASA,EAAK,OAAO,CAACtC,MAAMA,EAAE,OAAOzG,CAAE,CAAC;AAAA,IACrD,GAAG,GAAG;AAAA,EACR,GAAG,CAAA,CAAE,GAEC6L,IAAQhE,EAAY,CAACiE,MAA0B;AACnD,UAAM9L,IAAK,EAAE2L,EAAM;AACnB,WAAAD,EAAU,CAAC3C,MAAS,CAAC,GAAGA,GAAM,EAAE,IAAA/I,GAAI,SAAS,QAAQ,UAAU,KAAM,GAAG8L,EAAA,CAAS,CAAC,GAC3E9L;AAAA,EACT,GAAG,CAAA,CAAE;AAEL,SACE,gBAAAS,EAAC6K,GAAa,UAAb,EAAsB,OAAO,EAAE,OAAAO,GAAO,SAAAD,KACpC,UAAA;AAAA,IAAAnJ;AAAA,IACD,gBAAA9C,EAACmK,GAAA,EACC,UAAA,gBAAAnK,EAAC,OAAA,EAAI,WAAU,2FACZ,UAAA8L,EAAO,IAAI,CAAChF,MACX,gBAAA9G,EAACoM,IAAA,EAAqB,MAAMtF,GAAG,WAAW,MAAMmF,EAAQnF,EAAE,EAAE,KAA5CA,EAAE,EAA6C,CAChE,EAAA,CACH,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,SAASsF,GAAU,EAAE,MAAAC,GAAM,WAAAC,KAAyD;AAClF,EAAAjK,EAAU,MAAM;AACd,QAAI,CAACgK,EAAK,SAAU;AACpB,UAAME,IAAQ,WAAWD,GAAWD,EAAK,QAAQ;AACjD,WAAO,MAAM,aAAaE,CAAK;AAAA,EACjC,GAAG,CAACF,EAAK,UAAUC,CAAS,CAAC;AAE7B,QAAME,IAASZ,GAAcS,EAAK,WAAW,MAAM;AAEnD,SACE,gBAAAvL;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW5B;AAAA,QACT;AAAA,QACAmN,EAAK,UACD,qDACA;AAAA,QACJG,EAAO;AAAA,MAAA;AAAA,MAGR,UAAA;AAAA,QAAAH,EAAK,QACJ,gBAAArM,EAAC,QAAA,EAAK,WAAWd,EAAG,mBAAmBsN,EAAO,KAAK,GAAI,UAAAH,EAAK,KAAA,CAAK;AAAA,QAGnE,gBAAAvL,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAA,gBAAAd,EAAC,OAAA,EAAI,WAAWd,EAAG,yBAAyBsN,EAAO,KAAK,GAAI,YAAK,MAAA,CAAM;AAAA,UACtEH,EAAK,eACJ,gBAAArM,EAAC,OAAA,EAAI,WAAWd,EAAG,kBAAkBsN,EAAO,WAAW,GAAI,UAAAH,EAAK,YAAA,CAAY;AAAA,QAAA,GAEhF;AAAA,QAEA,gBAAAvL,EAAC,OAAA,EAAI,WAAU,oCACZ,UAAA;AAAA,UAAAuL,EAAK,UACJ,gBAAArM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM;AAAE,gBAAAqM,EAAK,OAAQ,QAAA,GAAWC,EAAA;AAAA,cAAa;AAAA,cACtD,WAAWpN,EAAG,mFAAmFsN,EAAO,MAAM;AAAA,cAE7G,YAAK,OAAO;AAAA,YAAA;AAAA,UAAA;AAAA,UAGjB,gBAAAxM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAASsM;AAAA,cACT,cAAW;AAAA,cACX,WAAWpN,EAAG,iFAAiFsN,EAAO,KAAK;AAAA,cAC5G,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASC,KAAW;AACzB,QAAMrJ,IAAMC,EAAWsI,EAAY;AACnC,MAAI,CAACvI,EAAK,OAAM,IAAI,MAAM,kDAAkD;AAC5E,SAAOA;AACT;AC5HO,MAAMsJ,KAAmBnN;AAAA,EAC9B;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB,EAAE,SAAS,GAAA;AAAA,EAAM;AAEtC,GAMaoN,KAAWlN;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,SAAAS,GAAS,GAAGL,EAAA,GAASC,MACjC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWb,EAAGwN,GAAiB,EAAE,SAAAvM,EAAA,CAAS,GAAGT,CAAS;AAAA,MACrD,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA6M,GAAS,cAAc;ACvBhB,MAAMC,KAAYnN;AAAA,EACvB,CAAC,EAAE,MAAAoN,GAAM,UAAAC,GAAU,WAAApN,GAAW,GAAGI,EAAA,GAASC,MAAQ;AAChD,UAAM,EAAE,OAAAmM,EAAA,IAAUO,GAAA;AAElB,aAASM,IAAa;AACpB,gBAAU,UAAU,UAAUF,CAAI,EAAE,KAAK,MAAM;AAC7C,QAAAX,EAAM,EAAE,OAAO,YAAY,SAAS,WAAW,UAAU,KAAM;AAAA,MACjE,CAAC;AAAA,IACH;AAEA,WACE,gBAAApL;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAf;AAAA,QACA,WAAWb,EAAG,2CAA2CQ,CAAS;AAAA,QACjE,GAAGI;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAgB,EAAC,OAAA,EAAI,WAAU,2DACZ,UAAA;AAAA,YAAAgM,sBACE,QAAA,EAAK,WAAU,mCAAmC,UAAAA,GAAS,sBAE3D,QAAA,CAAA,CAAK;AAAA,YAER,gBAAAhM;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,SAASiM;AAAA,gBACT,cAAW;AAAA,gBACX,WAAU;AAAA,gBAEV,UAAA;AAAA,kBAAA,gBAAA/M,EAACgN,IAAA,EAAS;AAAA,kBAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAEd,GACF;AAAA,UACA,gBAAAhN,EAAC,SAAI,WAAU,+CACb,4BAAC,QAAA,EAAK,WAAU,qBAAqB,UAAA6M,EAAA,CAAK,EAAA,CAC5C;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAD,GAAU,cAAc;AAExB,SAASI,KAAW;AAClB,2BACG,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,QAAO,gBAAe,aAAY,OAAM,eAAc,SAAQ,gBAAe,SAAQ,eAAW,IAC1J,UAAA;AAAA,IAAA,gBAAAhN,EAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,KAAI,QAAO,KAAI,IAAG,MAAA,CAAM;AAAA,IAChD,gBAAAA,EAAC,QAAA,EAAK,GAAE,gFAAA,CAAgF;AAAA,EAAA,GAC1F;AAEJ;ACZA,SAASiN,GAAQ;AAAA,EACf,MAAAC;AAAA,EACA,KAAAC;AAAA,EACA,QAAAxE;AAAA,EACA,UAAAtE;AAAA,EACA,cAAA+I;AACF,GAMG;AACD,QAAMC,IAAY,CAACC,MACjB,gGACCA,IAAW,qCAAqC;AAEnD,SACE,gBAAAxM,EAAC,SAAA,EAAM,WAAU,yGAEf,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,kCACZ,UAAA;AAAA,MAAAoM,EAAK,SACJ,gBAAAlN;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKkN,EAAK;AAAA,UACV,KAAKA,EAAK;AAAA,UACV,WAAU;AAAA,QAAA;AAAA,MAAA,IAGZ,gBAAAlN,EAAC,QAAA,EAAK,WAAU,uHACb,UAAAkN,EAAK,YAAYA,EAAK,KAAK,MAAM,GAAG,CAAC,EAAE,eAC1C;AAAA,MAEF,gBAAApM,EAAC,OAAA,EAAI,WAAU,WACb,UAAA;AAAA,QAAA,gBAAAd,EAAC,KAAA,EAAE,WAAU,wCAAwC,UAAAkN,EAAK,MAAK;AAAA,QAC9DA,EAAK,YACJ,gBAAAlN,EAAC,OAAE,WAAU,kCAAkC,YAAK,SAAA,CAAS;AAAA,MAAA,GAEjE;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,WAAU;AAAA,UACV,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,eAAW;AAAA,UAEX,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,2BAAA,CAA2B;AAAA,QAAA;AAAA,MAAA;AAAA,IACrC,GACF;AAAA,IAGCmN,EAAI,IAAI,CAAC,EAAE,OAAAI,GAAO,OAAAxH,EAAA,wBAChB,OAAA,EACC,UAAA;AAAA,MAAA,gBAAA/F,EAAC,KAAA,EAAE,WAAU,iDAAiD,UAAAuN,GAAM;AAAA,MACpE,gBAAAvN,EAAC,QAAG,WAAU,yBACX,YAAM,IAAI,CAACqM,MACV,gBAAArM,EAAC,MAAA,EACC,UAAA,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS,MAAMuD,EAASgI,EAAK,EAAE;AAAA,UAC/B,WAAWgB,EAAUhB,EAAK,OAAO1D,CAAM;AAAA,UAEtC,UAAA;AAAA,YAAA0D,EAAK,QACJ,gBAAArM,EAAC,QAAA,EAAK,WAAU,sDACb,YAAK,MACR;AAAA,YAEDqM,EAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,KAXDA,EAAK,EAad,CACD,EAAA,CACH;AAAA,IAAA,EAAA,GAnBQkB,CAoBV,CACD;AAAA,IAGAH,KAAgB,gBAAApN,EAAC,OAAA,EAAI,WAAU,WAAW,UAAAoN,EAAA,CAAa;AAAA,EAAA,GAC1D;AAEJ;AAOO,SAASI,GAAW;AAAA,EACzB,OAAA1F;AAAA,EACA,aAAA2F;AAAA,EACA,SAAAjM;AAAA,EACA,iBAAAE;AACF,GAKG;AACD,SACE,gBAAAZ,EAAC,OAAA,EAAI,WAAU,qDACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAd,EAAC,KAAA,EAAE,WAAU,+BAA+B,UAAA8H,GAAM;AAAA,MACjD2F,KAAe,gBAAAzN,EAAC,KAAA,EAAE,WAAU,gCAAgC,UAAAyN,EAAA,CAAY;AAAA,IAAA,GAC3E;AAAA,IACA,gBAAAzN,EAACuB,GAAA,EAAO,SAAAC,GAAkB,iBAAAE,GAAkC,WAAU,WAAA,CAAW;AAAA,EAAA,GACnF;AAEJ;AAEO,SAASgM,GAAa,EAAE,UAAA5K,KAA2C;AACxE,SACE,gBAAA9C,EAAC,OAAA,EAAI,WAAU,4DACZ,UAAA8C,EAAA,CACH;AAEJ;AAEO,SAAS6K,GAAc;AAAA,EAC5B,OAAA7F;AAAA,EACA,UAAAhF;AACF,GAGG;AACD,SACE,gBAAAhC,EAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAA,gBAAAd,EAAC,MAAA,EAAG,WAAU,mCAAmC,UAAA8H,GAAM;AAAA,IACvD,gBAAA9H,EAAC0N,MAAc,UAAA5K,EAAA,CAAS;AAAA,EAAA,GAC1B;AAEJ;AAWO,SAAS8K,GAAe;AAAA,EAC7B,MAAAvG;AAAA,EACA,OAAAS;AAAA,EACA,aAAA2F;AAAA,EACA,WAAAI,IAAY;AAAA,EACZ,WAAAC;AAAA,EACA,cAAAC;AACF,GAAwB;AACtB,SACE,gBAAAjN,EAAC,OAAA,EAAI,WAAU,+DACb,UAAA;AAAA,IAAA,gBAAAd,EAAC,OAAA,EAAI,WAAU,4EACb,UAAA,gBAAAA,EAAC,UAAK,WAAU,2BAA2B,aAAK,EAAA,CAClD;AAAA,IACA,gBAAAc,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,MAAA,gBAAAd,EAAC,KAAA,EAAE,WAAU,+BAA+B,UAAA8H,GAAM;AAAA,MACjD2F,KAAe,gBAAAzN,EAAC,KAAA,EAAE,WAAU,gCAAgC,UAAAyN,EAAA,CAAY;AAAA,IAAA,GAC3E;AAAA,IACCI,IACC,gBAAA7N,EAACR,GAAA,EAAO,SAAQ,gBAAe,MAAK,MAAK,SAASuO,GAAc,yBAEhE,IAEA,gBAAA/N,EAACR,KAAO,SAAQ,aAAY,MAAK,MAAK,SAASsO,GAAW,UAAA,WAAA,CAE1D;AAAA,EAAA,GAEJ;AAEJ;AAIO,SAASE,GAAqB;AAAA,EACnC,MAAArK;AAAA,EACA,cAAAgH;AAAA,EACA,MAAAuC;AAAA,EACA,KAAAC;AAAA,EACA,gBAAAc;AAAA,EACA,eAAeC;AAAA,EACf,iBAAAC;AAAA,EACA,eAAAC,IAAgB,CAAA;AAAA,EAChB,kBAAAC,IAAmB,CAAA;AAAA,EACnB,eAAAC;AAAA,EACA,cAAAlB;AACF,GAA8B;;AAC5B,QAAMmB,MAAUC,KAAAzJ,IAAAoI,EAAI,CAAC,MAAL,gBAAApI,EAAQ,MAAM,OAAd,gBAAAyJ,EAAkB,OAAM,IAClC,CAACC,GAAiBC,CAAkB,IAAIjO;AAAA,IAC5CwN,KAAkBM;AAAA,EAAA,GAGd5F,IAASuF,KAAqBO,GAE9BE,IAAe,CAACtO,MAAe;AACnC,IAAAqO,EAAmBrO,CAAE,GACrB8N,KAAA,QAAAA,EAAkB9N;AAAA,EACpB,GAIMuO,IADWzB,EAAI,QAAQ,CAAC0B,MAAMA,EAAE,KAAK,EACf,KAAK,CAAC3I,MAAMA,EAAE,OAAOyC,CAAM,GACjDb,IAAQsG,EAAczF,CAAM,MAAKiG,KAAA,gBAAAA,EAAY,UAASjG,GACtDmG,IAAWT,EAAiB1F,CAAM;AAExC,SACE,gBAAA3I,EAAC0K,IAAA,EAAM,MAAA/G,GAAY,cAAAgH,GACjB,UAAA,gBAAA3K,EAAC6K,IAAA,EAAa,WAAU,sCACtB,UAAA,gBAAA/J,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,IAAA,gBAAAd;AAAA,MAACiN;AAAA,MAAA;AAAA,QACC,MAAAC;AAAA,QACA,KAAAC;AAAA,QACA,QAAAxE;AAAA,QACA,UAAUgG;AAAA,QACV,cAAAvB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,gBAAAtM,EAAC,OAAA,EAAI,WAAU,qDACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,iCACb,UAAA;AAAA,QAAA,gBAAAd,EAAC,MAAA,EAAG,WAAU,8DACX,UAAA8H,GACH;AAAA,QACCgH,KACC,gBAAA9O,EAAC,KAAA,EAAE,WAAU,gCAAgC,UAAA8O,GAAS;AAAA,QAExD,gBAAA9O,EAAC,OAAA,EAAI,WAAU,sGAAA,CAAsG;AAAA,MAAA,GACvH;AAAA,MAEA,gBAAAA,EAAC,OAAA,EAAI,WAAU,+CACZ,WAAAsO,KAAA,gBAAAA,EAAgB3F,OACf,gBAAA7H,EAAC,KAAA,EAAE,WAAU,yBAAwB,UAAA;AAAA,QAAA;AAAA,QACvB,gBAAAd,EAAC,YAAQ,UAAA8H,EAAA,CAAM;AAAA,QAAS;AAAA,MAAA,EAAA,CACtC,EAAA,CAEJ;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,GACF,GACF;AAEJ;AC7PA,MAAMiH,KAAetM,EAAwC,IAAI,GAE3DuM,IAAW,mBACXC,IAAY,cACZC,IAAa;AAEnB,SAASC,KAAuB;;AAC9B,SACE,OAAO,SAAW,SAClBpK,IAAA,OAAO,eAAP,gBAAAA,EAAA,aAAoB,gCAAgC;AAExD;AAEA,SAASqK,EAAuBC,GAAaC,GAAgB;AAC3D,MAAI;AACF,WAAQ,aAAa,QAAQD,CAAG,KAAWC;AAAA,EAC7C,QAAQ;AACN,WAAOA;AAAA,EACT;AACF;AAiBO,SAASC,GAAc;AAAA,EAC5B,UAAAzM;AAAA,EACA,aAAA0M,IAAc;AAAA,EACd,cAAAC,IAAe;AAAA,EACf,eAAAC,IAAgB;AAAA,EAChB,QAAAlJ;AACF,GAAuB;AACrB,QAAM,CAACmJ,GAAMC,CAAY,IAAInP;AAAA,IAAoB,MAC/C2O,EAAKJ,GAAUQ,CAAW;AAAA,EAAA,GAEtB,CAACK,GAAOC,CAAa,IAAIrP;AAAA,IAAgB,MAC7C2O,EAAKH,GAAWQ,CAAY;AAAA,EAAA,GAExB,CAACM,GAAQC,CAAc,IAAIvP;AAAA,IAAsB,MACrD2O,EAAKF,GAAYQ,CAAa;AAAA,EAAA,GAE1B,CAACO,GAAYC,CAAa,IAAIzP,EAAS0O,EAAW;AAGxD,EAAA9M,EAAU,MAAM;;AACd,UAAM8N,KAAKpL,IAAA,OAAO,eAAP,gBAAAA,EAAA,aAAoB;AAC/B,QAAI,CAACoL,EAAI;AACT,UAAMjN,IAAW,CAACY,MAA2BoM,EAAcpM,EAAE,OAAO;AACpE,WAAAqM,EAAG,iBAAiB,UAAUjN,CAAQ,GAC/B,MAAMiN,EAAG,oBAAoB,UAAUjN,CAAQ;AAAA,EACxD,GAAG,CAAA,CAAE;AAEL,QAAMkN,IACJT,MAAS,WAAYM,IAAa,SAAS,UAAWN;AAGxD,EAAAtN,EAAU,MAAM;AACd,UAAMgO,KAAK7J,KAAA,gBAAAA,QAAc,SAAS;AAClC,IAAA6J,EAAG,aAAa,cAAcD,CAAY,GACtCP,KAASA,MAAU,YACrBQ,EAAG,aAAa,cAAcR,CAAK,IAEnCQ,EAAG,gBAAgB,YAAY,GAE7BN,KAAUA,MAAW,YACvBM,EAAG,aAAa,eAAeN,CAAM,IAErCM,EAAG,gBAAgB,aAAa;AAAA,EAEpC,GAAG,CAACD,GAAcP,GAAOE,GAAQvJ,CAAM,CAAC;AAExC,QAAM8J,IAAUpI,EAAY,CAAC,MAAiB;AAC5C,IAAA0H,EAAa,CAAC;AACd,QAAI;AACF,mBAAa,QAAQZ,GAAU,CAAC;AAAA,IAClC,QAAQ;AAAA,IAER;AAAA,EACF,GAAG,CAAA,CAAE,GAECuB,IAAWrI,EAAY,CAACsI,MAAa;AACzC,IAAAV,EAAcU,CAAC;AACf,QAAI;AACF,mBAAa,QAAQvB,GAAWuB,CAAC;AAAA,IACnC,QAAQ;AAAA,IAER;AAAA,EACF,GAAG,CAAA,CAAE,GAECC,IAAYvI,EAAY,CAACwI,MAAmB;AAChD,IAAAV,EAAeU,CAAC;AAChB,QAAI;AACF,mBAAa,QAAQxB,GAAYwB,CAAC;AAAA,IACpC,QAAQ;AAAA,IAER;AAAA,EACF,GAAG,CAAA,CAAE,GAECC,IAAazI,EAAY,MAAM;AACnC,IAAAoI,EAAQF,MAAiB,SAAS,UAAU,MAAM;AAAA,EACpD,GAAG,CAACA,GAAcE,CAAO,CAAC,GAEpBvO,IAAQ6O;AAAA,IACZ,OAAO,EAAE,MAAAjB,GAAM,cAAAS,GAAc,OAAAP,GAAO,QAAAE,GAAQ,SAAAO,GAAS,UAAAC,GAAU,WAAAE,GAAW,YAAAE;IAC1E,CAAChB,GAAMS,GAAcP,GAAOE,GAAQO,GAASC,GAAUE,GAAWE,CAAU;AAAA,EAAA;AAG9E,SACE,gBAAA3Q,EAAC+O,GAAa,UAAb,EAAsB,OAAAhN,GAAe,UAAAe,EAAA,CAAS;AAEnD;AAEO,SAAS+N,KAAW;AACzB,QAAMzN,IAAMC,EAAW0L,EAAY;AACnC,MAAI,CAAC3L;AACH,UAAM,IAAI,MAAM,kDAAkD;AAEpE,SAAOA;AACT;ACvJO,MAAM0N,KAAsB;AAAA,EACjC;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,MAAQ;AAAA,IACR,QAAU;AAAA,IACV,MAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,OAAS;AAAA,IACT,OAAS;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,EAAA;AAEjB;"}
1
+ {"version":3,"file":"index.js","sources":["../src/lib/utils/cn.ts","../src/lib/components/Button/Button.tsx","../src/lib/components/Input/Input.tsx","../src/lib/components/Card/Card.tsx","../src/lib/components/Switch/Switch.tsx","../src/lib/components/Checkbox/Checkbox.tsx","../src/lib/components/Radio/Radio.tsx","../src/lib/components/Select/Select.tsx","../src/lib/components/Dropdown/Dropdown.tsx","../src/lib/components/Badge/Badge.tsx","../src/lib/components/Avatar/Avatar.tsx","../src/lib/components/Spinner/Spinner.tsx","../src/lib/components/Progress/Progress.tsx","../src/lib/components/Divider/Divider.tsx","../src/lib/components/Breadcrumb/Breadcrumb.tsx","../src/lib/components/StatCard/StatCard.tsx","../src/lib/components/Alert/Alert.tsx","../src/lib/hooks/useControllableState.ts","../src/lib/components/Tabs/Tabs.tsx","../src/lib/components/Accordion/Accordion.tsx","../src/lib/components/Tooltip/Tooltip.tsx","../src/lib/components/Popover/Popover.tsx","../src/lib/utils/Portal.tsx","../src/lib/hooks/useDismissable.ts","../src/lib/components/Modal/Modal.tsx","../src/lib/components/Drawer/Drawer.tsx","../src/lib/components/Toast/Toast.tsx","../src/lib/components/Textarea/Textarea.tsx","../node_modules/prism-react-renderer/dist/index.mjs","../src/lib/components/CodeBlock/prismSetup.ts","../src/lib/components/CodeBlock/syntaxTheme.ts","../src/lib/components/CodeBlock/CodeBlock.tsx","../src/lib/components/ProfileSettingsModal/ProfileSettingsModal.tsx","../src/lib/theme/ThemeProvider.tsx","../src/lib/tokens/tokens.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n/** Combina classes condicionais e resolve conflitos do Tailwind. */\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const buttonVariants = cva(\n // base: tudo derivado de tokens via utilitários mapeados no @theme\n \"inline-flex items-center justify-center gap-2 font-medium whitespace-nowrap cursor-pointer \" +\n \"transition-colors outline-none focus-visible:ring-2 focus-visible:ring-primary \" +\n \"focus-visible:ring-offset-2 ring-offset-bg disabled:opacity-50 \" +\n \"disabled:pointer-events-none disabled:cursor-not-allowed select-none\",\n {\n variants: {\n variant: {\n primary: \"bg-primary text-fg-on-brand hover:bg-primary-hover active:bg-primary-active\",\n secondary:\n \"bg-bg-muted text-fg hover:bg-border-default active:bg-border-strong\",\n outline:\n \"border border-border-strong bg-transparent text-fg hover:bg-bg-subtle\",\n ghost: \"bg-transparent text-fg hover:bg-bg-muted\",\n accent: \"bg-accent text-accent-fg hover:bg-accent-hover active:bg-accent-active\",\n danger: \"bg-danger text-fg-on-brand hover:bg-danger-hover\",\n \"danger-ghost\": \"bg-transparent text-danger hover:bg-danger/10\",\n },\n size: {\n sm: \"h-8 px-3 text-sm rounded-lg\",\n md: \"h-10 px-4 text-md rounded-lg\",\n lg: \"h-12 px-6 text-lg rounded-lg\",\n },\n fullWidth: { true: \"w-full\" },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, fullWidth, ...props }, ref) => (\n <button\n ref={ref}\n className={cn(buttonVariants({ variant, size, fullWidth }), className)}\n {...props}\n />\n ),\n);\n\nButton.displayName = \"Button\";\n","import { forwardRef, useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const inputVariants = cva(\n \"flex w-full bg-bg-muted text-fg placeholder:text-fg-muted border border-transparent \" +\n \"transition-colors outline-none rounded-lg \" +\n \"focus-visible:border-border-strong \" +\n \"disabled:opacity-50 disabled:pointer-events-none\",\n {\n variants: {\n size: {\n sm: \"h-8 px-3 text-xs\",\n md: \"h-10 px-3 text-sm\",\n lg: \"h-12 px-4 text-md\",\n },\n invalid: {\n true: \"border-danger!\",\n false: \"\",\n },\n },\n defaultVariants: { size: \"md\", invalid: false },\n },\n);\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n VariantProps<typeof inputVariants> {\n label?: string;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ className, size, invalid, label, id, type, ...props }, ref) => {\n const [showPassword, setShowPassword] = useState(false);\n const isPassword = type === \"password\";\n const resolvedType = isPassword ? (showPassword ? \"text\" : \"password\") : type;\n\n const inputId = id ?? (label ? label.toLowerCase().replace(/\\s+/g, \"-\") : undefined);\n\n const input = (\n <div className=\"relative flex w-full items-center\">\n <input\n ref={ref}\n id={inputId}\n type={resolvedType}\n className={cn(\n inputVariants({ size, invalid }),\n isPassword && \"pr-10\",\n className,\n )}\n {...props}\n />\n {isPassword && (\n <button\n type=\"button\"\n tabIndex={-1}\n onClick={() => setShowPassword((v) => !v)}\n aria-label={showPassword ? \"Ocultar senha\" : \"Mostrar senha\"}\n className=\"absolute right-3 cursor-pointer text-fg-muted transition-colors hover:text-fg\"\n >\n {showPassword ? (\n // olho fechado\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" strokeWidth={1.75} strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94\" />\n <path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n ) : (\n // olho aberto\n <svg viewBox=\"0 0 24 24\" className=\"h-4 w-4\" fill=\"none\" stroke=\"currentColor\" strokeWidth={1.75} strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n )}\n </button>\n )}\n </div>\n );\n\n if (!label) return input;\n return (\n <div className=\"flex w-full flex-col gap-1.5\">\n <label htmlFor={inputId} className=\"text-xs font-medium text-fg\">\n {label}\n </label>\n {input}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport const Card = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"bg-bg-subtle border border-border-default rounded-lg shadow-sm\",\n className,\n )}\n {...props}\n />\n ),\n);\nCard.displayName = \"Card\";\n\nexport const CardHeader = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex flex-col gap-1 p-6\", className)} {...props} />\n ),\n);\nCardHeader.displayName = \"CardHeader\";\n\nexport const CardTitle = forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3 ref={ref} className={cn(\"text-lg font-semibold text-fg\", className)} {...props} />\n));\nCardTitle.displayName = \"CardTitle\";\n\nexport const CardDescription = forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p ref={ref} className={cn(\"text-sm text-fg-muted\", className)} {...props} />\n));\nCardDescription.displayName = \"CardDescription\";\n\nexport const CardContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n ),\n);\nCardContent.displayName = \"CardContent\";\n","import { forwardRef, useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst trackVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer items-center rounded-full transition-colors \" +\n \"outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 \" +\n \"ring-offset-bg disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: { sm: \"h-5 w-9\", md: \"h-6 w-11\" },\n checked: { true: \"bg-primary\", false: \"bg-border-strong\" },\n },\n defaultVariants: { size: \"md\", checked: false },\n },\n);\n\nconst thumbVariants = cva(\n \"pointer-events-none absolute left-0.5 inline-block rounded-full bg-fg-on-brand shadow-sm transition-transform\",\n {\n variants: {\n size: { sm: \"h-4 w-4\", md: \"h-5 w-5\" },\n checked: { true: \"\", false: \"translate-x-0\" },\n },\n compoundVariants: [\n { size: \"sm\", checked: true, class: \"translate-x-4\" },\n { size: \"md\", checked: true, class: \"translate-x-5\" },\n ],\n defaultVariants: { size: \"md\", checked: false },\n },\n);\n\nexport interface SwitchProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"onChange\">,\n VariantProps<typeof trackVariants> {\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n ({ className, size, checked, defaultChecked, onCheckedChange, disabled, ...props }, ref) => {\n const isControlled = checked !== undefined;\n const [internal, setInternal] = useState(defaultChecked ?? false);\n const value = isControlled ? checked : internal;\n\n const toggle = () => {\n const next = !value;\n if (!isControlled) setInternal(next);\n onCheckedChange?.(next);\n };\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n disabled={disabled}\n onClick={toggle}\n className={cn(trackVariants({ size, checked: value }), className)}\n {...props}\n >\n <span className={thumbVariants({ size, checked: value })} />\n </button>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n","import { forwardRef, useEffect, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface CheckboxProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"type\"> {\n label?: React.ReactNode;\n indeterminate?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, label, indeterminate = false, disabled, id, ...props }, ref) => {\n const innerRef = useRef<HTMLInputElement>(null);\n\n // expõe a ref interna e sincroniza o estado indeterminate (não é atributo HTML)\n useEffect(() => {\n if (innerRef.current) innerRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n const setRefs = (node: HTMLInputElement | null) => {\n innerRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n };\n\n return (\n <label\n className={cn(\n \"relative inline-flex items-center gap-2 select-none\",\n disabled ? \"cursor-not-allowed opacity-50\" : \"cursor-pointer\",\n className,\n )}\n >\n <input\n ref={setRefs}\n id={id}\n type=\"checkbox\"\n disabled={disabled}\n className=\"peer sr-only\"\n {...props}\n />\n {/* a caixa visual. Os modificadores [&>...] miram os filhos a partir\n do estado do input irmão (peer), já que peer-* só alcança irmãos. */}\n <span\n className={cn(\n \"relative flex h-5 w-5 shrink-0 items-center justify-center rounded-sm border border-border-strong bg-bg transition-colors\",\n \"peer-checked:border-primary peer-checked:bg-primary\",\n \"peer-indeterminate:border-primary peer-indeterminate:bg-primary\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2 ring-offset-bg\",\n // check visível só quando checked (e não indeterminate)\n \"peer-checked:[&>svg]:opacity-100 peer-indeterminate:[&>svg]:opacity-0\",\n // traço visível só quando indeterminate\n \"peer-indeterminate:[&>span]:opacity-100\",\n )}\n >\n <svg\n viewBox=\"0 0 16 16\"\n className=\"h-3.5 w-3.5 text-fg-on-brand opacity-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <path d=\"M3.5 8.5l3 3 6-6.5\" />\n </svg>\n <span className=\"absolute h-0.5 w-2.5 rounded-full bg-fg-on-brand opacity-0\" />\n </span>\n {label && <span className=\"text-sm text-fg\">{label}</span>}\n </label>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { createContext, forwardRef, useContext, useId, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface RadioGroupContextValue {\n name: string;\n value?: string;\n onChange: (value: string) => void;\n}\n\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\n\nexport interface RadioGroupProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n name?: string;\n}\n\nexport function RadioGroup({\n value,\n defaultValue,\n onValueChange,\n name,\n className,\n children,\n ...props\n}: RadioGroupProps) {\n const autoName = useId();\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState(defaultValue);\n const current = isControlled ? value : internal;\n\n const onChange = (next: string) => {\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n };\n\n return (\n <RadioGroupContext.Provider\n value={{ name: name ?? autoName, value: current, onChange }}\n >\n <div role=\"radiogroup\" className={cn(\"flex flex-col gap-2\", className)} {...props}>\n {children}\n </div>\n </RadioGroupContext.Provider>\n );\n}\n\nexport interface RadioProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"type\" | \"value\" | \"onChange\"> {\n value: string;\n label?: React.ReactNode;\n}\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n ({ className, value, label, disabled, ...props }, ref) => {\n const ctx = useContext(RadioGroupContext);\n if (!ctx) throw new Error(\"<Radio> precisa estar dentro de <RadioGroup>\");\n const checked = ctx.value === value;\n\n return (\n <label\n className={cn(\n \"inline-flex items-center gap-2 select-none\",\n disabled ? \"cursor-not-allowed opacity-50\" : \"cursor-pointer\",\n className,\n )}\n >\n <input\n ref={ref}\n type=\"radio\"\n name={ctx.name}\n value={value}\n checked={checked}\n disabled={disabled}\n onChange={() => ctx.onChange(value)}\n className=\"peer sr-only\"\n {...props}\n />\n <span\n className={cn(\n \"flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-border-strong bg-bg transition-colors\",\n \"peer-checked:border-primary\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-primary peer-focus-visible:ring-offset-2 ring-offset-bg\",\n \"peer-checked:[&>span]:scale-100\",\n )}\n >\n <span className=\"h-2.5 w-2.5 scale-0 rounded-full bg-primary transition-transform\" />\n </span>\n {label && <span className=\"text-sm text-fg\">{label}</span>}\n </label>\n );\n },\n);\n\nRadio.displayName = \"Radio\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst selectVariants = cva(\n \"w-full appearance-none bg-bg-muted text-fg border border-transparent transition-colors outline-none \" +\n \"focus-visible:border-border-strong \" +\n \"disabled:opacity-50 disabled:pointer-events-none rounded-lg pr-9\",\n {\n variants: {\n size: {\n sm: \"h-8 pl-3 text-xs\",\n md: \"h-10 pl-3 text-sm\",\n lg: \"h-12 pl-4 text-md\",\n },\n invalid: {\n true: \"border-danger!\",\n false: \"\",\n },\n },\n defaultVariants: { size: \"md\", invalid: false },\n },\n);\n\nexport interface SelectProps\n extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, \"size\">,\n VariantProps<typeof selectVariants> {}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ className, size, invalid, children, ...props }, ref) => (\n <div className=\"relative inline-flex w-full items-center\">\n <select\n ref={ref}\n className={cn(selectVariants({ size, invalid }), className)}\n {...props}\n >\n {children}\n </select>\n <svg\n viewBox=\"0 0 16 16\"\n className=\"pointer-events-none absolute right-3 h-4 w-4 text-fg-muted\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <path d=\"M4 6l4 4 4-4\" />\n </svg>\n </div>\n ),\n);\n\nSelect.displayName = \"Select\";\n","import {\n cloneElement,\n createContext,\n useContext,\n useEffect,\n useRef,\n useState,\n type ReactElement,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface DropdownContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst DropdownContext = createContext<DropdownContextValue | null>(null);\n\nfunction useDropdown() {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Componentes de Dropdown precisam estar dentro de <Dropdown>\");\n return ctx;\n}\n\nexport function Dropdown({ children }: { children: React.ReactNode }) {\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n // fecha ao clicar fora ou apertar Esc\n useEffect(() => {\n if (!open) return;\n const onClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false);\n };\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") setOpen(false);\n };\n document.addEventListener(\"mousedown\", onClick);\n document.addEventListener(\"keydown\", onKey);\n return () => {\n document.removeEventListener(\"mousedown\", onClick);\n document.removeEventListener(\"keydown\", onKey);\n };\n }, [open]);\n\n return (\n <DropdownContext.Provider value={{ open, setOpen }}>\n <div ref={ref} className=\"relative inline-block text-left\">\n {children}\n </div>\n </DropdownContext.Provider>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function DropdownTrigger({ children }: { children: ReactElement<any> }) {\n const { open, setOpen } = useDropdown();\n return cloneElement(children, {\n onClick: () => setOpen(!open),\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": open,\n });\n}\n\nexport function DropdownContent({\n children,\n align = \"start\",\n className,\n}: {\n children: React.ReactNode;\n align?: \"start\" | \"end\";\n className?: string;\n}) {\n const { open } = useDropdown();\n if (!open) return null;\n return (\n <div\n role=\"menu\"\n className={cn(\n \"absolute z-50 mt-1 min-w-44 rounded-md border border-border-default bg-bg p-1 shadow-md\",\n align === \"end\" ? \"right-0\" : \"left-0\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nexport interface DropdownItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n onSelect?: () => void;\n destructive?: boolean;\n}\n\nexport function DropdownItem({\n children,\n onSelect,\n destructive,\n className,\n ...props\n}: DropdownItemProps) {\n const { setOpen } = useDropdown();\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n onClick={() => {\n onSelect?.();\n setOpen(false);\n }}\n className={cn(\n \"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors cursor-pointer\",\n \"hover:bg-bg-muted focus-visible:bg-bg-muted disabled:opacity-50 disabled:pointer-events-none disabled:cursor-not-allowed\",\n destructive ? \"text-danger\" : \"text-fg\",\n className,\n )}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function DropdownSeparator() {\n return <div role=\"separator\" className=\"my-1 h-px bg-border-default\" />;\n}\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const badgeVariants = cva(\n \"inline-flex items-center gap-1 font-medium whitespace-nowrap rounded-[var(--flui-radius-badge)]\",\n {\n variants: {\n variant: {\n neutral: \"bg-bg-muted text-fg\",\n primary: \"bg-brand-500 text-fg-on-brand\",\n accent: \"bg-accent-subtle text-accent-fg\",\n \"accent-bold\": \"bg-accent text-accent-fg\",\n success: \"bg-accent text-accent-fg\",\n warning: \"bg-warning/35 text-fg\",\n danger: \"bg-danger/10 text-danger\",\n outline: \"border border-border-strong text-fg\",\n },\n size: {\n sm: \"px-2 py-0.5 text-xs\",\n md: \"px-2.5 py-0.5 text-sm\",\n },\n },\n defaultVariants: { variant: \"neutral\", size: \"sm\" },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, ...props }, ref) => (\n <span\n ref={ref}\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n />\n ),\n);\n\nBadge.displayName = \"Badge\";\n","import { forwardRef, useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst sizeVariants = cva(\"relative inline-flex shrink-0 select-none\", {\n variants: {\n size: {\n xs: \"h-6 w-6 text-xs\",\n sm: \"h-8 w-8 text-sm\",\n md: \"h-10 w-10 text-md\",\n lg: \"h-12 w-12 text-lg\",\n xl: \"h-16 w-16 text-xl\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n\nconst statusColor: Record<string, string> = {\n online: \"bg-accent\",\n busy: \"bg-danger\",\n away: \"bg-warning\",\n offline: \"bg-border-strong\",\n};\n\n// Tamanho fixo do dot por tamanho de avatar para manter proporção legível\nconst dotSize: Record<string, string> = {\n xs: \"h-1.5 w-1.5\",\n sm: \"h-2 w-2\",\n md: \"h-2.5 w-2.5\",\n lg: \"h-3 w-3\",\n xl: \"h-3.5 w-3.5\",\n};\n\nfunction initials(name?: string) {\n if (!name) return \"\";\n return name\n .trim()\n .split(/\\s+/)\n .slice(0, 2)\n .map((p) => p[0]?.toUpperCase() ?? \"\")\n .join(\"\");\n}\n\nexport interface AvatarProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof sizeVariants> {\n src?: string;\n alt?: string;\n name?: string;\n status?: \"online\" | \"busy\" | \"away\" | \"offline\";\n}\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ className, size = \"md\", src, alt, name, status, ...props }, ref) => {\n const [errored, setErrored] = useState(false);\n const showImg = src && !errored;\n\n return (\n <span ref={ref} className={cn(sizeVariants({ size }), className)} {...props}>\n {/* círculo com overflow-hidden isolado — não clipa o dot */}\n <span className=\"flex h-full w-full items-center justify-center overflow-hidden rounded-full bg-bg-muted font-medium text-fg\">\n {showImg ? (\n <img\n src={src}\n alt={alt ?? name ?? \"\"}\n className=\"h-full w-full object-cover\"\n onError={() => setErrored(true)}\n />\n ) : (\n <span aria-hidden>{initials(name)}</span>\n )}\n </span>\n\n {/* dot posicionado dentro do círculo, próximo à borda inferior direita */}\n {status && (\n <span\n aria-label={status}\n className={cn(\n \"absolute bottom-[8%] right-[8%] rounded-full ring-2 ring-bg\",\n statusColor[status],\n dotSize[size ?? \"md\"],\n )}\n />\n )}\n </span>\n );\n },\n);\n\nAvatar.displayName = \"Avatar\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst spinnerVariants = cva(\"animate-spin text-primary\", {\n variants: {\n size: {\n sm: \"h-4 w-4\",\n md: \"h-6 w-6\",\n lg: \"h-8 w-8\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport interface SpinnerProps\n extends React.SVGAttributes<SVGSVGElement>,\n VariantProps<typeof spinnerVariants> {\n label?: string;\n}\n\nexport const Spinner = forwardRef<SVGSVGElement, SpinnerProps>(\n ({ className, size, label = \"Carregando\", ...props }, ref) => (\n <svg\n ref={ref}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n role=\"status\"\n aria-label={label}\n className={cn(spinnerVariants({ size }), className)}\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"3\" className=\"opacity-20\" />\n <path\n d=\"M12 2a10 10 0 0 1 10 10\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n);\n\nSpinner.displayName = \"Spinner\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {\n /** 0–100. Omita (ou use indeterminate) para estado indeterminado. */\n value?: number;\n max?: number;\n indeterminate?: boolean;\n}\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value = 0, max = 100, indeterminate, ...props }, ref) => {\n const pct = Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={indeterminate ? undefined : value}\n className={cn(\n \"relative h-1 w-full overflow-hidden rounded-full bg-bg-muted\",\n className,\n )}\n {...props}\n >\n {indeterminate ? (\n <div className=\"absolute inset-y-0 w-1/3 rounded-full bg-primary animate-[flui-indeterminate_1.2s_ease-in-out_infinite]\" />\n ) : (\n <div\n className=\"h-full rounded-full bg-primary transition-[width] duration-300\"\n style={{ width: `${pct}%` }}\n />\n )}\n </div>\n );\n },\n);\n\nProgress.displayName = \"Progress\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n /** rótulo central (apenas horizontal) */\n label?: React.ReactNode;\n}\n\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n ({ className, orientation = \"horizontal\", label, ...props }, ref) => {\n if (orientation === \"vertical\") {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"vertical\"\n className={cn(\"mx-2 h-full w-px self-stretch bg-border-default\", className)}\n {...props}\n />\n );\n }\n\n if (label) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n className={cn(\"flex items-center gap-3 text-sm text-fg-muted\", className)}\n {...props}\n >\n <span className=\"h-px flex-1 bg-border-default\" />\n {label}\n <span className=\"h-px flex-1 bg-border-default\" />\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\"h-px w-full bg-border-default\", className)}\n {...props}\n />\n );\n },\n);\n\nDivider.displayName = \"Divider\";\n","import { Children, Fragment, forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport const Breadcrumb = forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, children, ...props }, ref) => {\n const items = Children.toArray(children);\n return (\n <nav ref={ref} aria-label=\"breadcrumb\" className={className} {...props}>\n <ol className=\"flex flex-wrap items-center gap-1.5 text-sm\">\n {items.map((child, i) => (\n <Fragment key={i}>\n {child}\n {i < items.length - 1 && <BreadcrumbSeparator />}\n </Fragment>\n ))}\n </ol>\n </nav>\n );\n },\n);\nBreadcrumb.displayName = \"Breadcrumb\";\n\nexport interface BreadcrumbItemProps\n extends React.LiHTMLAttributes<HTMLLIElement> {\n href?: string;\n current?: boolean;\n}\n\nexport function BreadcrumbItem({\n href,\n current,\n className,\n children,\n ...props\n}: BreadcrumbItemProps) {\n return (\n <li className={cn(\"inline-flex items-center\", className)} {...props}>\n {current || !href ? (\n <span\n aria-current={current ? \"page\" : undefined}\n className={cn(current ? \"font-medium text-fg\" : \"text-fg-muted\")}\n >\n {children}\n </span>\n ) : (\n <a\n href={href}\n className=\"text-fg-muted transition-colors hover:text-fg hover:underline\"\n >\n {children}\n </a>\n )}\n </li>\n );\n}\n\nexport function BreadcrumbSeparator() {\n return (\n <li aria-hidden className=\"text-fg-muted\">\n /\n </li>\n );\n}\n","import { forwardRef, useEffect, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Badge } from \"../Badge/Badge\";\n\nfunction useCountUp(target: number, duration = 1000) {\n const [current, setCurrent] = useState(0);\n\n useEffect(() => {\n setCurrent(0);\n const start = performance.now();\n const tick = (now: number) => {\n const t = Math.min((now - start) / duration, 1);\n const eased = 1 - (1 - t) ** 4; // quartic ease-out: rápido → lento\n setCurrent(target * eased);\n if (t < 1) requestAnimationFrame(tick);\n else setCurrent(target);\n };\n requestAnimationFrame(tick);\n }, [target, duration]);\n\n return current;\n}\n\nexport interface StatCardProps extends React.HTMLAttributes<HTMLDivElement> {\n label: React.ReactNode;\n value?: React.ReactNode;\n /** Valor numérico para animação tipo cassino. Usa `formatCount` para exibir. */\n countUp?: number;\n /** Formata o número animado. Default: toLocaleString('pt-BR'). */\n formatCount?: (n: number) => string;\n /** variação percentual; positivo = alta (success), negativo = baixa (danger) */\n delta?: number;\n helpText?: React.ReactNode;\n icon?: React.ReactNode;\n}\n\nexport const StatCard = forwardRef<HTMLDivElement, StatCardProps>(\n ({ className, label, value, countUp, formatCount, delta, helpText, icon, ...props }, ref) => {\n const animated = useCountUp(countUp ?? 0);\n const hasDelta = typeof delta === \"number\";\n const up = hasDelta && delta! >= 0;\n\n const displayValue =\n countUp !== undefined\n ? (formatCount ? formatCount(animated) : Math.round(animated).toLocaleString(\"pt-BR\"))\n : value;\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col gap-2 rounded-xl bg-bg-subtle p-8 shadow-sm\",\n className,\n )}\n {...props}\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"text-sm text-fg-muted\">{label}</span>\n {icon && <span className=\"text-fg-muted\">{icon}</span>}\n </div>\n <span className=\"text-3xl font-bold text-fg whitespace-nowrap tabular-nums\">\n {displayValue}\n </span>\n {hasDelta && (\n <Badge variant={up ? \"success\" : \"danger\"} size=\"sm\" className=\"self-start\">\n {up ? \"▲\" : \"▼\"} {Math.abs(delta!)}%\n </Badge>\n )}\n {helpText && <span className=\"text-xs text-fg-muted\">{helpText}</span>}\n </div>\n );\n },\n);\n\nStatCard.displayName = \"StatCard\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst alertVariants = cva(\"flex gap-3 rounded-lg p-4 text-sm\", {\n variants: {\n variant: {\n info: \"bg-primary/10 text-fg\",\n success: \"bg-success-subtle text-success-fg\",\n warning: \"bg-warning/10 text-fg\",\n danger: \"bg-danger/10 text-fg\",\n },\n },\n defaultVariants: { variant: \"info\" },\n});\n\nconst iconColor: Record<string, string> = {\n info: \"text-primary\",\n success: \"text-success-fg\",\n warning: \"text-warning\",\n danger: \"text-danger\",\n};\n\n// glifos simples por variante (sem dependência de lib de ícones)\nconst glyph: Record<string, string> = {\n info: \"ℹ\",\n success: \"✓\",\n warning: \"!\",\n danger: \"✕\",\n};\n\nexport interface AlertProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\">,\n VariantProps<typeof alertVariants> {\n title?: React.ReactNode;\n onClose?: () => void;\n}\n\nexport const Alert = forwardRef<HTMLDivElement, AlertProps>(\n ({ className, variant = \"info\", title, onClose, children, ...props }, ref) => {\n const v = variant ?? \"info\";\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n >\n <span\n aria-hidden\n className={cn(\n \"flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-xs font-bold\",\n iconColor[v],\n )}\n >\n {glyph[v]}\n </span>\n <div className=\"min-w-0 flex-1\">\n {title && <div className=\"font-semibold\">{title}</div>}\n {children && <div className=\"opacity-80\">{children}</div>}\n </div>\n {onClose && (\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Fechar\"\n className=\"shrink-0 cursor-pointer rounded-sm px-1 text-fg-muted transition-colors hover:text-fg\"\n >\n ✕\n </button>\n )}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n","import { useCallback, useState } from \"react\";\n\n/**\n * Suporta componentes controlados e não-controlados com a mesma API.\n * Se `value` for fornecido, o componente é controlado; senão usa estado interno.\n */\nexport function useControllableState<T>({\n value,\n defaultValue,\n onChange,\n}: {\n value?: T;\n defaultValue: T;\n onChange?: (value: T) => void;\n}) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<T>(defaultValue);\n const current = isControlled ? (value as T) : internal;\n\n const setValue = useCallback(\n (next: T) => {\n if (!isControlled) setInternal(next);\n onChange?.(next);\n },\n [isControlled, onChange],\n );\n\n return [current, setValue] as const;\n}\n","import { createContext, useContext, useEffect, useRef, useState } from \"react\";\nimport { useControllableState } from \"../../hooks/useControllableState\";\nimport { cn } from \"../../utils/cn\";\n\ninterface TabsContextValue {\n value: string;\n setValue: (value: string) => void;\n}\nconst TabsContext = createContext<TabsContextValue | null>(null);\nfunction useTabs() {\n const ctx = useContext(TabsContext);\n if (!ctx) throw new Error(\"Componentes de Tabs precisam estar dentro de <Tabs>\");\n return ctx;\n}\n\nexport interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function Tabs({\n value,\n defaultValue,\n onValueChange,\n className,\n children,\n ...props\n}: TabsProps) {\n const [current, setValue] = useControllableState({\n value,\n defaultValue: defaultValue ?? \"\",\n onChange: onValueChange,\n });\n return (\n <TabsContext.Provider value={{ value: current, setValue }}>\n <div className={className} {...props}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n const { value } = useTabs();\n const listRef = useRef<HTMLDivElement>(null);\n const [indicator, setIndicator] = useState({ left: 0, width: 0, ready: false });\n\n useEffect(() => {\n const list = listRef.current;\n if (!list) return;\n const active = list.querySelector('[aria-selected=\"true\"]') as HTMLElement | null;\n if (!active) return;\n setIndicator({ left: active.offsetLeft, width: active.offsetWidth, ready: true });\n }, [value]);\n\n return (\n <div\n ref={listRef}\n role=\"tablist\"\n className={cn(\"relative flex items-center gap-1 border-b border-border-default\", className)}\n {...props}\n >\n {children}\n {indicator.ready && (\n <span\n aria-hidden\n className=\"pointer-events-none absolute bottom-[-1px] h-[2px] rounded-full bg-primary transition-all duration-250 ease-out\"\n style={{ left: indicator.left, width: indicator.width }}\n />\n )}\n </div>\n );\n}\n\nexport interface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n value: string;\n}\nexport function TabsTrigger({ value, className, ...props }: TabsTriggerProps) {\n const ctx = useTabs();\n const active = ctx.value === value;\n return (\n <button\n type=\"button\"\n role=\"tab\"\n aria-selected={active}\n onClick={() => ctx.setValue(value)}\n className={cn(\n \"px-4 py-2 text-sm font-medium transition-colors outline-none cursor-pointer\",\n \"focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 ring-offset-bg\",\n active ? \"text-fg\" : \"text-fg-muted hover:text-fg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport interface TabsContentProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string;\n}\nexport function TabsContent({ value, className, ...props }: TabsContentProps) {\n const ctx = useTabs();\n if (ctx.value !== value) return null;\n return (\n <div\n role=\"tabpanel\"\n className={cn(\"pt-4 animate-[flui-slide-up_200ms_ease-out]\", className)}\n {...props}\n />\n );\n}\n","import { createContext, useContext, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface AccordionContextValue {\n open: string[];\n toggle: (value: string) => void;\n}\nconst AccordionContext = createContext<AccordionContextValue | null>(null);\nconst ItemContext = createContext<string>(\"\");\n\nfunction useAccordion() {\n const ctx = useContext(AccordionContext);\n if (!ctx) throw new Error(\"Componentes de Accordion precisam estar dentro de <Accordion>\");\n return ctx;\n}\n\nexport interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {\n type?: \"single\" | \"multiple\";\n defaultValue?: string | string[];\n}\n\nexport function Accordion({\n type = \"single\",\n defaultValue,\n className,\n children,\n ...props\n}: AccordionProps) {\n const init = defaultValue\n ? Array.isArray(defaultValue)\n ? defaultValue\n : [defaultValue]\n : [];\n const [open, setOpen] = useState<string[]>(init);\n\n const toggle = (value: string) =>\n setOpen((prev) => {\n const has = prev.includes(value);\n if (type === \"single\") return has ? [] : [value];\n return has ? prev.filter((v) => v !== value) : [...prev, value];\n });\n\n return (\n <AccordionContext.Provider value={{ open, toggle }}>\n <div\n className={cn(\"border-y border-border-default divide-y divide-border-default\", className)}\n {...props}\n >\n {children}\n </div>\n </AccordionContext.Provider>\n );\n}\n\nexport interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string;\n}\nexport function AccordionItem({ value, children, ...props }: AccordionItemProps) {\n return (\n <ItemContext.Provider value={value}>\n <div {...props}>{children}</div>\n </ItemContext.Provider>\n );\n}\n\nexport function AccordionTrigger({\n className,\n children,\n ...props\n}: React.ButtonHTMLAttributes<HTMLButtonElement>) {\n const ctx = useAccordion();\n const value = useContext(ItemContext);\n const isOpen = ctx.open.includes(value);\n return (\n <button\n type=\"button\"\n aria-expanded={isOpen}\n onClick={() => ctx.toggle(value)}\n className={cn(\n \"flex w-full items-center justify-between gap-2 py-4 text-left text-sm font-medium text-fg outline-none cursor-pointer\",\n \"focus-visible:ring-2 focus-visible:ring-primary ring-offset-bg\",\n className,\n )}\n {...props}\n >\n {children}\n <span className={cn(\"text-fg-muted transition-transform\", isOpen && \"rotate-180\")}>\n ▾\n </span>\n </button>\n );\n}\n\nexport function AccordionContent({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n const ctx = useAccordion();\n const value = useContext(ItemContext);\n if (!ctx.open.includes(value)) return null;\n return <div className={cn(\"pb-4 text-sm text-fg-muted\", className)} {...props} />;\n}\n","import { useId, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nconst sidePos: Record<string, string> = {\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n};\n\nexport interface TooltipProps {\n content: React.ReactNode;\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n children: React.ReactNode;\n className?: string;\n}\n\n/**\n * Tooltip leve baseado em hover/focus. O posicionamento é relativo ao gatilho\n * (sem detecção de colisão com a borda da tela — para isso, usar Floating UI).\n */\nexport function Tooltip({ content, side = \"top\", children, className }: TooltipProps) {\n const [open, setOpen] = useState(false);\n const id = useId();\n\n return (\n <span\n className=\"relative inline-flex\"\n onMouseEnter={() => setOpen(true)}\n onMouseLeave={() => setOpen(false)}\n onFocus={() => setOpen(true)}\n onBlur={() => setOpen(false)}\n >\n <span aria-describedby={open ? id : undefined}>{children}</span>\n {open && (\n <span\n role=\"tooltip\"\n id={id}\n className={cn(\n \"pointer-events-none absolute z-50 whitespace-nowrap rounded-md bg-fg px-2 py-1 text-xs text-bg shadow-md\",\n \"animate-[flui-fade-in_120ms_ease-out]\",\n sidePos[side],\n className,\n )}\n >\n {content}\n </span>\n )}\n </span>\n );\n}\n","import {\n cloneElement,\n createContext,\n useContext,\n useEffect,\n useRef,\n useState,\n type ReactElement,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\n\ninterface PopoverContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\nconst PopoverContext = createContext<PopoverContextValue | null>(null);\nfunction usePopover() {\n const ctx = useContext(PopoverContext);\n if (!ctx) throw new Error(\"Componentes de Popover precisam estar dentro de <Popover>\");\n return ctx;\n}\n\nexport function Popover({ children }: { children: React.ReactNode }) {\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!open) return;\n const onClick = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false);\n };\n const onKey = (e: KeyboardEvent) => e.key === \"Escape\" && setOpen(false);\n document.addEventListener(\"mousedown\", onClick);\n document.addEventListener(\"keydown\", onKey);\n return () => {\n document.removeEventListener(\"mousedown\", onClick);\n document.removeEventListener(\"keydown\", onKey);\n };\n }, [open]);\n\n return (\n <PopoverContext.Provider value={{ open, setOpen }}>\n <div ref={ref} className=\"relative inline-block\">\n {children}\n </div>\n </PopoverContext.Provider>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function PopoverTrigger({ children }: { children: ReactElement<any> }) {\n const { open, setOpen } = usePopover();\n return cloneElement(children, {\n onClick: () => setOpen(!open),\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": open,\n });\n}\n\nexport function PopoverContent({\n children,\n align = \"start\",\n className,\n}: {\n children: React.ReactNode;\n align?: \"start\" | \"end\";\n className?: string;\n}) {\n const { open } = usePopover();\n if (!open) return null;\n return (\n <div\n role=\"dialog\"\n className={cn(\n \"absolute z-50 mt-2 min-w-56 rounded-lg border border-border-default bg-bg p-4 shadow-lg\",\n \"animate-[flui-slide-up_140ms_ease-out]\",\n align === \"end\" ? \"right-0\" : \"left-0\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\n\n/** Renderiza os filhos em document.body, evitando problemas de overflow/z-index. */\nexport function Portal({ children }: { children: React.ReactNode }) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => setMounted(true), []);\n if (!mounted) return null;\n return createPortal(children, document.body);\n}\n","import { useEffect } from \"react\";\n\n/** Trava o scroll do body e fecha no Escape enquanto `open` for true. */\nexport function useDismissable(open: boolean, onClose: () => void) {\n useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => e.key === \"Escape\" && onClose();\n const prevOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n document.addEventListener(\"keydown\", onKey);\n return () => {\n document.body.style.overflow = prevOverflow;\n document.removeEventListener(\"keydown\", onKey);\n };\n }, [open, onClose]);\n}\n","import { createContext, useContext } from \"react\";\nimport { Portal } from \"../../utils/Portal\";\nimport { useDismissable } from \"../../hooks/useDismissable\";\nimport { cn } from \"../../utils/cn\";\n\nconst ModalContext = createContext<{ close: () => void } | null>(null);\n\nexport interface ModalProps {\n open: boolean;\n onOpenChange?: (open: boolean) => void;\n children: React.ReactNode;\n}\n\nexport function Modal({ open, onOpenChange, children }: ModalProps) {\n const close = () => onOpenChange?.(false);\n useDismissable(open, close);\n if (!open) return null;\n\n return (\n <Portal>\n <ModalContext.Provider value={{ close }}>\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <div\n className=\"absolute inset-0 bg-black/60 backdrop-blur-sm animate-[flui-fade-in_120ms_ease-out]\"\n onClick={close}\n />\n {children}\n </div>\n </ModalContext.Provider>\n </Portal>\n );\n}\n\nexport function ModalContent({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n const ctx = useContext(ModalContext);\n return (\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n className={cn(\n \"relative z-10 w-full max-w-lg rounded-xl border border-border-default bg-bg shadow-lg\",\n \"animate-[flui-slide-up_160ms_ease-out]\",\n className,\n )}\n {...props}\n >\n {children}\n <button\n type=\"button\"\n onClick={() => ctx?.close()}\n aria-label=\"Fechar\"\n className=\"absolute right-4 top-4 cursor-pointer rounded-sm px-1 text-fg-muted transition-colors hover:text-fg\"\n >\n ✕\n </button>\n </div>\n );\n}\n\nexport function ModalHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"flex flex-col gap-1 p-6 pb-2\", className)} {...props} />;\n}\nexport function ModalTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) {\n return <h2 className={cn(\"text-lg font-semibold text-fg\", className)} {...props} />;\n}\nexport function ModalDescription({\n className,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) {\n return <p className={cn(\"text-sm text-fg-muted\", className)} {...props} />;\n}\nexport function ModalBody({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"px-6 py-2\", className)} {...props} />;\n}\nexport function ModalFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div className={cn(\"flex justify-end gap-2 p-6 pt-4\", className)} {...props} />\n );\n}\n","import { createContext, useContext, useEffect, useState } from \"react\";\nimport { Portal } from \"../../utils/Portal\";\nimport { useDismissable } from \"../../hooks/useDismissable\";\nimport { cn } from \"../../utils/cn\";\n\ntype Side = \"left\" | \"right\" | \"top\" | \"bottom\";\n\n/** Deve coincidir com a duração em overlay-animations.css */\nconst ANIM_MS = 220;\n\nconst DrawerContext = createContext<{ close: () => void; side: Side; closing: boolean } | null>(\n null,\n);\n\nconst sideClasses: Record<Side, string> = {\n left: \"left-0 top-0 h-full w-[420px] max-w-[96vw] border-r\",\n right: \"right-0 top-0 h-full w-[420px] max-w-[96vw] border-l\",\n top: \"top-0 left-0 w-full max-h-[90vh] border-b\",\n bottom: \"bottom-0 left-0 w-full max-h-[90vh] border-t\",\n};\n\nconst drawerEnter: Record<Side, string> = {\n left: \"flui-drawer-enter-left\",\n right: \"flui-drawer-enter-right\",\n top: \"flui-drawer-enter-top\",\n bottom: \"flui-drawer-enter-bottom\",\n};\n\nconst drawerExit: Record<Side, string> = {\n left: \"flui-drawer-exit-left\",\n right: \"flui-drawer-exit-right\",\n top: \"flui-drawer-exit-top\",\n bottom: \"flui-drawer-exit-bottom\",\n};\n\nexport interface DrawerProps {\n open: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: Side;\n children: React.ReactNode;\n}\n\nexport function Drawer({ open, onOpenChange, side = \"right\", children }: DrawerProps) {\n const [present, setPresent] = useState(open);\n const closing = present && !open;\n\n useEffect(() => {\n if (open) {\n setPresent(true);\n return;\n }\n if (!present) return;\n const timer = setTimeout(() => setPresent(false), ANIM_MS);\n return () => clearTimeout(timer);\n }, [open, present]);\n\n const close = () => onOpenChange?.(false);\n useDismissable(present, close);\n\n if (!present) return null;\n\n return (\n <Portal>\n <DrawerContext.Provider value={{ close, side, closing }}>\n <div className=\"fixed inset-0 z-50\">\n <div\n className={cn(\n \"absolute inset-0 bg-black/60 backdrop-blur-sm\",\n closing ? \"flui-overlay-exit\" : \"flui-overlay-enter\",\n )}\n onClick={close}\n />\n {children}\n </div>\n </DrawerContext.Provider>\n </Portal>\n );\n}\n\nexport function DrawerContent({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n const ctx = useContext(DrawerContext);\n const side = ctx?.side ?? \"right\";\n const closing = ctx?.closing ?? false;\n\n return (\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n className={cn(\n \"absolute z-10 flex flex-col border-border-default bg-bg shadow-lg\",\n closing ? drawerExit[side] : drawerEnter[side],\n sideClasses[side],\n className,\n )}\n {...props}\n >\n {children}\n <button\n type=\"button\"\n onClick={() => ctx?.close()}\n aria-label=\"Fechar\"\n className=\"absolute right-4 top-4 cursor-pointer rounded-sm px-1 text-fg-muted transition-colors hover:text-fg\"\n >\n ✕\n </button>\n </div>\n );\n}\n\nexport function DrawerHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"flex flex-col gap-1 border-b border-border-default p-6\", className)}\n {...props}\n />\n );\n}\nexport function DrawerTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) {\n return <h2 className={cn(\"text-lg font-semibold text-fg\", className)} {...props} />;\n}\nexport function DrawerBody({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(\"flex-1 overflow-y-auto p-6\", className)} {...props} />;\n}\nexport function DrawerFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"flex justify-end gap-2 border-t border-border-default p-6\", className)}\n {...props}\n />\n );\n}\n","import { createContext, useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { Portal } from \"../../utils/Portal\";\nimport { cn } from \"../../utils/cn\";\n\ntype ToastVariant = \"info\" | \"success\" | \"warning\" | \"danger\";\n\ninterface ToastAction {\n label: string;\n onClick: () => void;\n}\n\ninterface ToastOptions {\n title: React.ReactNode;\n description?: React.ReactNode;\n variant?: ToastVariant;\n duration?: number; // ms; 0 = não fecha sozinho\n icon?: React.ReactNode;\n action?: ToastAction;\n}\n\ninterface ToastItem extends ToastOptions {\n id: number;\n leaving?: boolean;\n}\n\ninterface ToastContextValue {\n toast: (options: ToastOptions) => number;\n dismiss: (id: number) => void;\n}\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nconst variantStyles: Record<ToastVariant, { wrapper: string; title: string; description: string; action: string }> = {\n info: { wrapper: \"bg-[var(--color-toast-info-bg)]\", title: \"text-fg\", description: \"text-fg-muted\", action: \"text-primary hover:text-primary/80\" },\n success: { wrapper: \"bg-[var(--color-toast-success-bg)]\", title: \"text-success-fg\", description: \"text-fg-muted\", action: \"text-success-fg hover:text-success-fg/80\" },\n warning: { wrapper: \"bg-[var(--color-toast-warning-bg)]\", title: \"text-fg\", description: \"text-fg-muted\", action: \"text-fg hover:text-fg/80\" },\n danger: { wrapper: \"bg-[var(--color-toast-danger-bg)]\", title: \"text-danger\", description: \"text-fg-muted\", action: \"text-danger hover:text-danger/80\" },\n};\n\nexport function ToastProvider({ children }: { children: React.ReactNode }) {\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n const idRef = useRef(0);\n\n const dismiss = useCallback((id: number) => {\n setToasts((prev) => prev.map((t) => t.id === id ? { ...t, leaving: true } : t));\n setTimeout(() => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, 160);\n }, []);\n\n const toast = useCallback((options: ToastOptions) => {\n const id = ++idRef.current;\n setToasts((prev) => [...prev, { id, variant: \"info\", duration: 4000, ...options }]);\n return id;\n }, []);\n\n return (\n <ToastContext.Provider value={{ toast, dismiss }}>\n {children}\n <Portal>\n <div className=\"pointer-events-none fixed bottom-4 right-8 z-[60] flex w-80 max-w-[90vw] flex-col gap-2\">\n {toasts.map((t) => (\n <ToastCard key={t.id} item={t} onDismiss={() => dismiss(t.id)} />\n ))}\n </div>\n </Portal>\n </ToastContext.Provider>\n );\n}\n\nfunction ToastCard({ item, onDismiss }: { item: ToastItem; onDismiss: () => void }) {\n useEffect(() => {\n if (!item.duration) return;\n const timer = setTimeout(onDismiss, item.duration);\n return () => clearTimeout(timer);\n }, [item.duration, onDismiss]);\n\n const styles = variantStyles[item.variant ?? \"info\"];\n\n return (\n <div\n role=\"status\"\n className={cn(\n \"pointer-events-auto flex items-start gap-3 rounded-3xl p-4 shadow-sm\",\n item.leaving\n ? \"animate-[flui-slide-down_160ms_ease-in_forwards]\"\n : \"animate-[flui-slide-up_160ms_ease-out]\",\n styles.wrapper,\n )}\n >\n {item.icon && (\n <span className={cn(\"mt-0.5 shrink-0\", styles.title)}>{item.icon}</span>\n )}\n\n <div className=\"min-w-0 flex-1\">\n <div className={cn(\"text-sm font-semibold\", styles.title)}>{item.title}</div>\n {item.description && (\n <div className={cn(\"mt-0.5 text-sm\", styles.description)}>{item.description}</div>\n )}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-1\">\n {item.action && (\n <button\n type=\"button\"\n onClick={() => { item.action!.onClick(); onDismiss(); }}\n className={cn(\"cursor-pointer rounded-sm px-1.5 py-0.5 text-xs font-semibold transition-colors\", styles.action)}\n >\n {item.action.label}\n </button>\n )}\n <button\n type=\"button\"\n onClick={onDismiss}\n aria-label=\"Fechar\"\n className={cn(\"cursor-pointer rounded-sm px-1 transition-colors opacity-60 hover:opacity-100\", styles.title)}\n >\n ✕\n </button>\n </div>\n </div>\n );\n}\n\nexport function useToast() {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error(\"useToast precisa estar dentro de <ToastProvider>\");\n return ctx;\n}\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nexport const textareaVariants = cva(\n \"flex w-full bg-bg-muted text-fg placeholder:text-fg-muted border border-transparent \" +\n \"transition-colors outline-none resize-y rounded-lg min-h-28 px-3 py-3 text-sm \" +\n \"focus-visible:border-border-strong \" +\n \"disabled:opacity-50 disabled:pointer-events-none\",\n {\n variants: {\n invalid: {\n true: \"border-danger!\",\n false: \"\",\n },\n },\n defaultVariants: { invalid: false },\n },\n);\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n VariantProps<typeof textareaVariants> {}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, invalid, ...props }, ref) => (\n <textarea\n ref={ref}\n className={cn(textareaVariants({ invalid }), className)}\n {...props}\n />\n ),\n);\n\nTextarea.displayName = \"Textarea\";\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\nvar require_prism = __commonJS({\n \"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js\"(exports, module) {\n var Prism2 = function() {\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0;\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\\u00a0/g, \" \");\n }\n },\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n },\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function(obj) {\n if (!obj[\"__id\"]) {\n Object.defineProperty(obj, \"__id\", { value: ++uniqueId });\n }\n return obj[\"__id\"];\n },\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n switch (_.util.type(o)) {\n case \"Object\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = /** @type {Record<string, any>} */\n {};\n visited[id] = clone;\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n return (\n /** @type {any} */\n clone\n );\n case \"Array\":\n id = _.util.objId(o);\n if (visited[id]) {\n return visited[id];\n }\n clone = [];\n visited[id] = clone;\n /** @type {Array} */\n /** @type {any} */\n o.forEach(function(v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n default:\n return o;\n }\n },\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function(element) {\n while (element) {\n var m = lang.exec(element.className);\n if (m) {\n return m[1].toLowerCase();\n }\n element = element.parentElement;\n }\n return \"none\";\n },\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function(element, language) {\n element.className = element.className.replace(RegExp(lang, \"gi\"), \"\");\n element.classList.add(\"language-\" + language);\n },\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function(element, className, defaultActivation) {\n var no = \"no-\" + className;\n while (element) {\n var classList = element.classList;\n if (classList.contains(className)) {\n return true;\n }\n if (classList.contains(no)) {\n return false;\n }\n element = element.parentElement;\n }\n return !!defaultActivation;\n }\n },\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function(id, redef) {\n var lang2 = _.util.clone(_.languages[id]);\n for (var key in redef) {\n lang2[key] = redef[key];\n }\n return lang2;\n },\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function(inside, before, insert, root) {\n root = root || /** @type {any} */\n _.languages;\n var grammar = root[inside];\n var ret = {};\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken];\n }\n }\n }\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token];\n }\n }\n }\n var old = root[inside];\n root[inside] = ret;\n _.languages.DFS(_.languages, function(key, value) {\n if (value === old && key != inside) {\n this[key] = ret;\n }\n });\n return ret;\n },\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {};\n var objId = _.util.objId;\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i);\n var property = o[i];\n var propertyType = _.util.type(property);\n if (propertyType === \"Object\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, null, visited);\n } else if (propertyType === \"Array\" && !visited[objId(property)]) {\n visited[objId(property)] = true;\n DFS(property, callback, i, visited);\n }\n }\n }\n }\n },\n plugins: {},\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function(text, grammar, language) {\n var env = {\n code: text,\n grammar,\n language\n };\n _.hooks.run(\"before-tokenize\", env);\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.');\n }\n env.tokens = _.tokenize(env.code, env.grammar);\n _.hooks.run(\"after-tokenize\", env);\n return Token.stringify(_.util.encode(env.tokens), env.language);\n },\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function(text, grammar) {\n var rest = grammar.rest;\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token];\n }\n delete grammar.rest;\n }\n var tokenList = new LinkedList();\n addAfter(tokenList, tokenList.head, text);\n matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n return toArray(tokenList);\n },\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function(name, callback) {\n var hooks2 = _.hooks.all;\n hooks2[name] = hooks2[name] || [];\n hooks2[name].push(callback);\n },\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function(name, env) {\n var callbacks = _.hooks.all[name];\n if (!callbacks || !callbacks.length) {\n return;\n }\n for (var i = 0, callback; callback = callbacks[i++]; ) {\n callback(env);\n }\n }\n },\n Token\n };\n function Token(type, content, alias, matchedStr) {\n this.type = type;\n this.content = content;\n this.alias = alias;\n this.length = (matchedStr || \"\").length | 0;\n }\n Token.stringify = function stringify(o, language) {\n if (typeof o == \"string\") {\n return o;\n }\n if (Array.isArray(o)) {\n var s = \"\";\n o.forEach(function(e) {\n s += stringify(e, language);\n });\n return s;\n }\n var env = {\n type: o.type,\n content: stringify(o.content, language),\n tag: \"span\",\n classes: [\"token\", o.type],\n attributes: {},\n language\n };\n var aliases = o.alias;\n if (aliases) {\n if (Array.isArray(aliases)) {\n Array.prototype.push.apply(env.classes, aliases);\n } else {\n env.classes.push(aliases);\n }\n }\n _.hooks.run(\"wrap\", env);\n var attributes = \"\";\n for (var name in env.attributes) {\n attributes += \" \" + name + '=\"' + (env.attributes[name] || \"\").replace(/\"/g, \"&quot;\") + '\"';\n }\n return \"<\" + env.tag + ' class=\"' + env.classes.join(\" \") + '\"' + attributes + \">\" + env.content + \"</\" + env.tag + \">\";\n };\n function matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos;\n var match = pattern.exec(text);\n if (match && lookbehind && match[1]) {\n var lookbehindLength = match[1].length;\n match.index += lookbehindLength;\n match[0] = match[0].slice(lookbehindLength);\n }\n return match;\n }\n function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue;\n }\n var patterns = grammar[token];\n patterns = Array.isArray(patterns) ? patterns : [patterns];\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + \",\" + j) {\n return;\n }\n var patternObj = patterns[j];\n var inside = patternObj.inside;\n var lookbehind = !!patternObj.lookbehind;\n var greedy = !!patternObj.greedy;\n var alias = patternObj.alias;\n if (greedy && !patternObj.pattern.global) {\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + \"g\");\n }\n var pattern = patternObj.pattern || patternObj;\n for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n if (rematch && pos >= rematch.reach) {\n break;\n }\n var str = currentNode.value;\n if (tokenList.length > text.length) {\n return;\n }\n if (str instanceof Token) {\n continue;\n }\n var removeCount = 1;\n var match;\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind);\n if (!match || match.index >= text.length) {\n break;\n }\n var from = match.index;\n var to = match.index + match[0].length;\n var p = pos;\n p += currentNode.value.length;\n while (from >= p) {\n currentNode = currentNode.next;\n p += currentNode.value.length;\n }\n p -= currentNode.value.length;\n pos = p;\n if (currentNode.value instanceof Token) {\n continue;\n }\n for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === \"string\"); k = k.next) {\n removeCount++;\n p += k.value.length;\n }\n removeCount--;\n str = text.slice(pos, p);\n match.index -= pos;\n } else {\n match = matchPattern(pattern, 0, str, lookbehind);\n if (!match) {\n continue;\n }\n }\n var from = match.index;\n var matchStr = match[0];\n var before = str.slice(0, from);\n var after = str.slice(from + matchStr.length);\n var reach = pos + str.length;\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach;\n }\n var removeFrom = currentNode.prev;\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before);\n pos += before.length;\n }\n removeRange(tokenList, removeFrom, removeCount);\n var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n currentNode = addAfter(tokenList, removeFrom, wrapped);\n if (after) {\n addAfter(tokenList, currentNode, after);\n }\n if (removeCount > 1) {\n var nestedRematch = {\n cause: token + \",\" + j,\n reach\n };\n matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach;\n }\n }\n }\n }\n }\n }\n function LinkedList() {\n var head = { value: null, prev: null, next: null };\n var tail = { value: null, prev: head, next: null };\n head.next = tail;\n this.head = head;\n this.tail = tail;\n this.length = 0;\n }\n function addAfter(list, node, value) {\n var next = node.next;\n var newNode = { value, prev: node, next };\n node.next = newNode;\n next.prev = newNode;\n list.length++;\n return newNode;\n }\n function removeRange(list, node, count) {\n var next = node.next;\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next;\n }\n node.next = next;\n next.prev = node;\n list.length -= i;\n }\n function toArray(list) {\n var array = [];\n var node = list.head.next;\n while (node !== list.tail) {\n array.push(node.value);\n node = node.next;\n }\n return array;\n }\n return _;\n }();\n module.exports = Prism2;\n Prism2.default = Prism2;\n }\n});\n\n// src/prism-langs.ts\nvar Prism = __toESM(require_prism());\nPrism.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/, greedy: true }, prolog: { pattern: /<\\?[\\s\\S]+?\\?>/, greedy: true }, doctype: { pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i, greedy: true, inside: { \"internal-subset\": { pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/, lookbehind: true, greedy: true, inside: null }, string: { pattern: /\"[^\"]*\"|'[^']*'/, greedy: true }, punctuation: /^<!|>$|[[\\]]/, \"doctype-tag\": /^DOCTYPE/i, name: /[^\\s<>'\"]+/ } }, cdata: { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, greedy: true }, tag: { pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/, greedy: true, inside: { tag: { pattern: /^<\\/?[^\\s>\\/]+/, inside: { punctuation: /^<\\/?/, namespace: /^[^\\s>\\/:]+:/ } }, \"special-attr\": [], \"attr-value\": { pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, { pattern: /^(\\s*)[\"']|[\"']$/, lookbehind: true }] } }, punctuation: /\\/?>/, \"attr-name\": { pattern: /[^\\s>\\/]+/, inside: { namespace: /^[^\\s>\\/:]+:/ } } } }, entity: [{ pattern: /&[\\da-z]{1,8};/i, alias: \"named-entity\" }, /&#x?[\\da-f]{1,8};/i] }, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.languages.markup.doctype.inside[\"internal-subset\"].inside = Prism.languages.markup, Prism.hooks.add(\"wrap\", function(e) {\n \"entity\" === e.type && (e.attributes.title = e.content.replace(/&amp;/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", { value: function(e, n) {\n var t = {}, t = (t[\"language-\" + n] = { pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i, lookbehind: true, inside: Prism.languages[n] }, t.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i, { \"included-cdata\": { pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i, inside: t } }), n = (t[\"language-\" + n] = { pattern: /[\\s\\S]+/, inside: Prism.languages[n] }, {});\n n[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function() {\n return e;\n }), \"i\"), lookbehind: true, greedy: true, inside: t }, Prism.languages.insertBefore(\"markup\", \"cdata\", n);\n} }), Object.defineProperty(Prism.languages.markup.tag, \"addAttribute\", { value: function(e, n) {\n Prism.languages.markup.tag.inside[\"special-attr\"].push({ pattern: RegExp(/(^|[\"'\\s])/.source + \"(?:\" + e + \")\" + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, \"i\"), lookbehind: true, inside: { \"attr-name\": /^[^\\s=]+/, \"attr-value\": { pattern: /=[\\s\\S]+/, inside: { value: { pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/, lookbehind: true, alias: [n, \"language-\" + n], inside: Prism.languages[n] }, punctuation: [{ pattern: /^=/, alias: \"attr-equals\" }, /\"|'/] } } } });\n} }), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup, Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.ssml = Prism.languages.xml, Prism.languages.atom = Prism.languages.xml, Prism.languages.rss = Prism.languages.xml, function(e) {\n var n = { pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/, alias: \"escape\" }, t = /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, a = \"(?:[^\\\\\\\\-]|\" + t.source + \")\", a = RegExp(a + \"-\" + a), r = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: true, alias: \"variable\" };\n e.languages.regex = { \"char-class\": { pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/, lookbehind: true, inside: { \"char-class-negation\": { pattern: /(^\\[)\\^/, lookbehind: true, alias: \"operator\" }, \"char-class-punctuation\": { pattern: /^\\[|\\]$/, alias: \"punctuation\" }, range: { pattern: a, inside: { escape: t, \"range-punctuation\": { pattern: /-/, alias: \"operator\" } } }, \"special-escape\": n, \"char-set\": { pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, escape: t } }, \"special-escape\": n, \"char-set\": { pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i, alias: \"class-name\" }, backreference: [{ pattern: /\\\\(?![123][0-7]{2})[1-9]/, alias: \"keyword\" }, { pattern: /\\\\k<[^<>']+>/, alias: \"keyword\", inside: { \"group-name\": r } }], anchor: { pattern: /[$^]|\\\\[ABbGZz]/, alias: \"function\" }, escape: t, group: [{ pattern: /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: \"punctuation\", inside: { \"group-name\": r } }, { pattern: /\\)/, alias: \"punctuation\" }], quantifier: { pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/, alias: \"number\" }, alternation: { pattern: /\\|/, alias: \"keyword\" } };\n}(Prism), Prism.languages.clike = { comment: [{ pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, greedy: true }, \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i, lookbehind: true, inside: { punctuation: /[.\\\\]/ } }, keyword: /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/, boolean: /\\b(?:false|true)\\b/, function: /\\b\\w+(?=\\()/, number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.javascript = Prism.languages.extend(\"clike\", { \"class-name\": [Prism.languages.clike[\"class-name\"], { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/, lookbehind: true }], keyword: [{ pattern: /((?:^|\\})\\s*)catch\\b/, lookbehind: true }, { pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/, lookbehind: true }], function: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/, number: { pattern: RegExp(/(^|[^\\w$])/.source + \"(?:\" + /NaN|Infinity/.source + \"|\" + /0[bB][01]+(?:_[01]+)*n?/.source + \"|\" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + \"|\" + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + \"|\" + /\\d+(?:_\\d+)*n/.source + \"|\" + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source + \")\" + /(?![\\w$])/.source), lookbehind: true }, operator: /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/ }), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", { regex: { pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + \"(?:\" + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + \"|\" + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + \")\" + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source), lookbehind: true, greedy: true, inside: { \"regex-source\": { pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/, lookbehind: true, alias: \"language-regex\", inside: Prism.languages.regex }, \"regex-delimiter\": /^\\/|\\/$/, \"regex-flags\": /^[a-z]+$/ } }, \"function-variable\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/, alias: \"function\" }, parameter: [{ pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/, lookbehind: true, inside: Prism.languages.javascript }], constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/ }), Prism.languages.insertBefore(\"javascript\", \"string\", { hashbang: { pattern: /^#!.*/, greedy: true, alias: \"comment\" }, \"template-string\": { pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/, lookbehind: true, inside: { \"interpolation-punctuation\": { pattern: /^\\$\\{|\\}$/, alias: \"punctuation\" }, rest: Prism.languages.javascript } }, string: /[\\s\\S]+/ } }, \"string-property\": { pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m, lookbehind: true, greedy: true, alias: \"property\" } }), Prism.languages.insertBefore(\"javascript\", \"operator\", { \"literal-property\": { pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m, lookbehind: true, alias: \"property\" } }), Prism.languages.markup && (Prism.languages.markup.tag.addInlined(\"script\", \"javascript\"), Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, \"javascript\")), Prism.languages.js = Prism.languages.javascript, Prism.languages.actionscript = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/, operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), Prism.languages.actionscript[\"class-name\"].alias = \"function\", delete Prism.languages.actionscript.parameter, delete Prism.languages.actionscript[\"literal-property\"], Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", { xml: { pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/, lookbehind: true, inside: Prism.languages.markup } }), function(e) {\n var n = /#(?!\\{).+/, t = { pattern: /#\\{[^}]+\\}/, alias: \"variable\" };\n e.languages.coffeescript = e.languages.extend(\"javascript\", { comment: n, string: [{ pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/, greedy: true }, { pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/, greedy: true, inside: { interpolation: t } }], keyword: /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/, \"class-member\": { pattern: /@(?!\\d)\\w+/, alias: \"variable\" } }), e.languages.insertBefore(\"coffeescript\", \"comment\", { \"multiline-comment\": { pattern: /###[\\s\\S]+?###/, alias: \"comment\" }, \"block-regex\": { pattern: /\\/{3}[\\s\\S]*?\\/{3}/, alias: \"regex\", inside: { comment: n, interpolation: t } } }), e.languages.insertBefore(\"coffeescript\", \"string\", { \"inline-javascript\": { pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: \"punctuation\" }, script: { pattern: /[\\s\\S]+/, alias: \"language-javascript\", inside: e.languages.javascript } } }, \"multiline-string\": [{ pattern: /'''[\\s\\S]*?'''/, greedy: true, alias: \"string\" }, { pattern: /\"\"\"[\\s\\S]*?\"\"\"/, greedy: true, alias: \"string\", inside: { interpolation: t } }] }), e.languages.insertBefore(\"coffeescript\", \"keyword\", { property: /(?!\\d)\\w+(?=\\s*:(?!:))/ }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism), function(l) {\n var e = l.languages.javadoclike = { parameter: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m, lookbehind: true }, keyword: { pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m, lookbehind: true }, punctuation: /[{}]/ };\n Object.defineProperty(e, \"addSupport\", { value: function(e2, o) {\n (e2 = \"string\" == typeof e2 ? [e2] : e2).forEach(function(e3) {\n var n = function(e4) {\n e4.inside || (e4.inside = {}), e4.inside.rest = o;\n }, t = \"doc-comment\";\n if (a = l.languages[e3]) {\n var a, r = a[t];\n if ((r = r ? r : (a = l.languages.insertBefore(e3, \"comment\", { \"doc-comment\": { pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/, lookbehind: true, alias: \"comment\" } }))[t]) instanceof RegExp && (r = a[t] = { pattern: r }), Array.isArray(r))\n for (var s = 0, i = r.length; s < i; s++)\n r[s] instanceof RegExp && (r[s] = { pattern: r[s] }), n(r[s]);\n else\n n(r);\n }\n });\n } }), e.addSupport([\"java\", \"javascript\", \"php\"], e);\n}(Prism), function(e) {\n var n = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/, n = (e.languages.css = { comment: /\\/\\*[\\s\\S]*?\\*\\//, atrule: { pattern: RegExp(\"@[\\\\w-](?:\" + /[^;{\\s\"']|\\s+(?!\\s)/.source + \"|\" + n.source + \")*?\" + /(?:;|(?=\\s*\\{))/.source), inside: { rule: /^@[\\w-]+/, \"selector-function-argument\": { pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/, lookbehind: true, alias: \"selector\" }, keyword: { pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/, lookbehind: true } } }, url: { pattern: RegExp(\"\\\\burl\\\\((?:\" + n.source + \"|\" + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + \")\\\\)\", \"i\"), greedy: true, inside: { function: /^url/i, punctuation: /^\\(|\\)$/, string: { pattern: RegExp(\"^\" + n.source + \"$\"), alias: \"url\" } } }, selector: { pattern: RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"'\\\\s]|\\\\s+(?![\\\\s{])|` + n.source + \")*(?=\\\\s*\\\\{)\"), lookbehind: true }, string: { pattern: n, greedy: true }, property: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i, lookbehind: true }, important: /!important\\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i, lookbehind: true }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);\n n && (n.tag.addInlined(\"style\", \"css\"), n.tag.addAttribute(\"style\", \"css\"));\n}(Prism), function(e) {\n var n = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, n = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: true, inside: n = { \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/, \"pseudo-class\": /:[-\\w]+/, class: /\\.[-\\w]+/, id: /#[-\\w]+/, attribute: { pattern: RegExp(`\\\\[(?:[^[\\\\]\"']|` + n.source + \")*\\\\]\"), greedy: true, inside: { punctuation: /^\\[|\\]$/, \"case-sensitivity\": { pattern: /(\\s)[si]$/i, lookbehind: true, alias: \"keyword\" }, namespace: { pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/, lookbehind: true, inside: { punctuation: /\\|$/ } }, \"attr-name\": { pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/, lookbehind: true }, \"attr-value\": [n, { pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/, lookbehind: true }], operator: /[|~*^$]?=/ } }, \"n-th\": [{ pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/, lookbehind: true, inside: { number: /[\\dn]+/, operator: /[+-]/ } }, { pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i, lookbehind: true }], combinator: />|\\+|~|\\|\\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside[\"selector-function-argument\"].inside = n, e.languages.insertBefore(\"css\", \"property\", { variable: { pattern: /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i, lookbehind: true } }), { pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/, lookbehind: true }), t = { pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/, lookbehind: true };\n e.languages.insertBefore(\"css\", \"function\", { operator: { pattern: /(\\s)[+\\-*\\/](?=\\s)/, lookbehind: true }, hexcode: { pattern: /\\B#[\\da-f]{3,8}\\b/i, alias: \"color\" }, color: [{ pattern: /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i, lookbehind: true }, { pattern: /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i, inside: { unit: n, number: t, function: /[\\w-]+(?=\\()/, punctuation: /[(),]/ } }], entity: /\\\\[\\da-f]{1,8}/i, unit: n, number: t });\n}(Prism), function(e) {\n var n = /[*&][^\\s[\\]{},]+/, t = /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/, a = \"(?:\" + t.source + \"(?:[ \t]+\" + n.source + \")?|\" + n.source + \"(?:[ \t]+\" + t.source + \")?)\", r = /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source;\n }), s = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;\n function i(e2, n2) {\n n2 = (n2 || \"\").replace(/m/g, \"\") + \"m\";\n var t2 = /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<value>>/g, function() {\n return e2;\n });\n return RegExp(t2, n2);\n }\n e.languages.yaml = { scalar: { pattern: RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g, function() {\n return a;\n })), lookbehind: true, alias: \"string\" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g, function() {\n return a;\n }).replace(/<<key>>/g, function() {\n return \"(?:\" + r + \"|\" + s + \")\";\n })), lookbehind: true, greedy: true, alias: \"atrule\" }, directive: { pattern: /(^[ \\t]*)%.+/m, lookbehind: true, alias: \"important\" }, datetime: { pattern: i(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source), lookbehind: true, alias: \"number\" }, boolean: { pattern: i(/false|true/.source, \"i\"), lookbehind: true, alias: \"important\" }, null: { pattern: i(/null|~/.source, \"i\"), lookbehind: true, alias: \"important\" }, string: { pattern: i(s), lookbehind: true, greedy: true }, number: { pattern: i(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source, \"i\"), lookbehind: true }, tag: t, important: n, punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./ }, e.languages.yml = e.languages.yaml;\n}(Prism), function(o) {\n var n = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n function e(e2) {\n return e2 = e2.replace(/<inner>/g, function() {\n return n;\n }), RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + \"(?:\" + e2 + \")\");\n }\n var t = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source, a = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function() {\n return t;\n }), r = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source, l = (o.languages.markdown = o.languages.extend(\"markup\", {}), o.languages.insertBefore(\"markdown\", \"prolog\", { \"front-matter-block\": { pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/, lookbehind: true, greedy: true, inside: { punctuation: /^---|---$/, \"front-matter\": { pattern: /\\S+(?:\\s+\\S+)*/, alias: [\"yaml\", \"language-yaml\"], inside: o.languages.yaml } } }, blockquote: { pattern: /^>(?:[\\t ]*>)*/m, alias: \"punctuation\" }, table: { pattern: RegExp(\"^\" + a + r + \"(?:\" + a + \")*\", \"m\"), inside: { \"table-data-rows\": { pattern: RegExp(\"^(\" + a + r + \")(?:\" + a + \")*$\"), lookbehind: true, inside: { \"table-data\": { pattern: RegExp(t), inside: o.languages.markdown }, punctuation: /\\|/ } }, \"table-line\": { pattern: RegExp(\"^(\" + a + \")\" + r + \"$\"), lookbehind: true, inside: { punctuation: /\\||:?-{3,}:?/ } }, \"table-header-row\": { pattern: RegExp(\"^\" + a + \"$\"), inside: { \"table-header\": { pattern: RegExp(t), alias: \"important\", inside: o.languages.markdown }, punctuation: /\\|/ } } } }, code: [{ pattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/, lookbehind: true, alias: \"keyword\" }, { pattern: /^```[\\s\\S]*?^```$/m, greedy: true, inside: { \"code-block\": { pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m, lookbehind: true }, \"code-language\": { pattern: /^(```).+/, lookbehind: true }, punctuation: /```/ } }], title: [{ pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m, alias: \"important\", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\\s*)#.+/m, lookbehind: true, alias: \"important\", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m, lookbehind: true, alias: \"punctuation\" }, list: { pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m, lookbehind: true, alias: \"punctuation\" }, \"url-reference\": { pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/, inside: { variable: { pattern: /^(!?\\[)[^\\]]+/, lookbehind: true }, string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/, punctuation: /^[\\[\\]!:]|[<>]/ }, alias: \"url\" }, bold: { pattern: e(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^..)[\\s\\S]+(?=..$)/, lookbehind: true, inside: {} }, punctuation: /\\*\\*|__/ } }, italic: { pattern: e(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^.)[\\s\\S]+(?=.$)/, lookbehind: true, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: e(/(~~?)(?:(?!~)<inner>)+\\2/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^~~?)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: {} }, punctuation: /~~?/ } }, \"code-snippet\": { pattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/, lookbehind: true, greedy: true, alias: [\"code\", \"keyword\"] }, url: { pattern: e(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source), lookbehind: true, greedy: true, inside: { operator: /^!/, content: { pattern: /(^\\[)[^\\]]+(?=\\])/, lookbehind: true, inside: {} }, variable: { pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/, lookbehind: true }, url: { pattern: /(^\\]\\()[^\\s)]+/, lookbehind: true }, string: { pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/, lookbehind: true } } } }), [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function(n2) {\n [\"url\", \"bold\", \"italic\", \"strike\", \"code-snippet\"].forEach(function(e2) {\n n2 !== e2 && (o.languages.markdown[n2].inside.content.inside[e2] = o.languages.markdown[e2]);\n });\n }), o.hooks.add(\"after-tokenize\", function(e2) {\n \"markdown\" !== e2.language && \"md\" !== e2.language || !function e3(n2) {\n if (n2 && \"string\" != typeof n2)\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r2, s = n2[t2];\n \"code\" !== s.type ? e3(s.content) : (r2 = s.content[1], s = s.content[3], r2 && s && \"code-language\" === r2.type && \"code-block\" === s.type && \"string\" == typeof r2.content && (r2 = r2.content.replace(/\\b#/g, \"sharp\").replace(/\\b\\+\\+/g, \"pp\"), r2 = \"language-\" + (r2 = (/[a-z][\\w-]*/i.exec(r2) || [\"\"])[0].toLowerCase()), s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, r2] : s.alias.push(r2) : s.alias = [r2]));\n }\n }(e2.tokens);\n }), o.hooks.add(\"wrap\", function(e2) {\n if (\"code-block\" === e2.type) {\n for (var n2 = \"\", t2 = 0, a2 = e2.classes.length; t2 < a2; t2++) {\n var r2 = e2.classes[t2], r2 = /language-(.+)/.exec(r2);\n if (r2) {\n n2 = r2[1];\n break;\n }\n }\n var s, i = o.languages[n2];\n i ? e2.content = o.highlight(function(e3) {\n e3 = e3.replace(l, \"\");\n return e3 = e3.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function(e4, n3) {\n var t3;\n return \"#\" === (n3 = n3.toLowerCase())[0] ? (t3 = \"x\" === n3[1] ? parseInt(n3.slice(2), 16) : Number(n3.slice(1)), c(t3)) : u[n3] || e4;\n });\n }(e2.content), i, n2) : n2 && \"none\" !== n2 && o.plugins.autoloader && (s = \"md-\" + (/* @__PURE__ */ new Date()).valueOf() + \"-\" + Math.floor(1e16 * Math.random()), e2.attributes.id = s, o.plugins.autoloader.loadLanguages(n2, function() {\n var e3 = document.getElementById(s);\n e3 && (e3.innerHTML = o.highlight(e3.textContent, o.languages[n2], n2));\n }));\n }\n }), RegExp(o.languages.markup.tag.pattern.source, \"gi\")), u = { amp: \"&\", lt: \"<\", gt: \">\", quot: '\"' }, c = String.fromCodePoint || String.fromCharCode;\n o.languages.md = o.languages.markdown;\n}(Prism), Prism.languages.graphql = { comment: /#.*/, description: { pattern: /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i, greedy: true, alias: \"string\", inside: { \"language-markdown\": { pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/, lookbehind: true, inside: Prism.languages.markdown } } }, string: { pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/, greedy: true }, number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, boolean: /\\b(?:false|true)\\b/, variable: /\\$[a-z_]\\w*/i, directive: { pattern: /@[a-z_]\\w*/i, alias: \"function\" }, \"attr-name\": { pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i, greedy: true }, \"atom-input\": { pattern: /\\b[A-Z]\\w*Input\\b/, alias: \"class-name\" }, scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/, constant: /\\b[A-Z][A-Z_\\d]*\\b/, \"class-name\": { pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/, lookbehind: true }, fragment: { pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-mutation\": { pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, \"definition-query\": { pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/, lookbehind: true, alias: \"function\" }, keyword: /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/, operator: /[!=|&]|\\.{3}/, \"property-query\": /\\w+(?=\\s*\\()/, object: /\\w+(?=\\s*\\{)/, punctuation: /[!(){}\\[\\]:=,]/, property: /\\w+/ }, Prism.hooks.add(\"after-tokenize\", function(e) {\n if (\"graphql\" === e.language)\n for (var i = e.tokens.filter(function(e2) {\n return \"string\" != typeof e2 && \"comment\" !== e2.type && \"scalar\" !== e2.type;\n }), o = 0; o < i.length; ) {\n var n = i[o++];\n if (\"keyword\" === n.type && \"mutation\" === n.content) {\n var t = [];\n if (p([\"definition-mutation\", \"punctuation\"]) && \"(\" === c(1).content) {\n o += 2;\n var a = d(/^\\($/, /^\\)$/);\n if (-1 === a)\n continue;\n for (; o < a; o++) {\n var r = c(0);\n \"variable\" === r.type && (g(r, \"variable-input\"), t.push(r.content));\n }\n o = a + 1;\n }\n if (p([\"punctuation\", \"property-query\"]) && \"{\" === c(0).content && (o++, g(c(0), \"property-mutation\"), 0 < t.length)) {\n var s = d(/^\\{$/, /^\\}$/);\n if (-1 !== s)\n for (var l = o; l < s; l++) {\n var u = i[l];\n \"variable\" === u.type && 0 <= t.indexOf(u.content) && g(u, \"variable-input\");\n }\n }\n }\n }\n function c(e2) {\n return i[o + e2];\n }\n function p(e2, n2) {\n n2 = n2 || 0;\n for (var t2 = 0; t2 < e2.length; t2++) {\n var a2 = c(t2 + n2);\n if (!a2 || a2.type !== e2[t2])\n return;\n }\n return 1;\n }\n function d(e2, n2) {\n for (var t2 = 1, a2 = o; a2 < i.length; a2++) {\n var r2 = i[a2], s2 = r2.content;\n if (\"punctuation\" === r2.type && \"string\" == typeof s2) {\n if (e2.test(s2))\n t2++;\n else if (n2.test(s2) && 0 === --t2)\n return a2;\n }\n }\n return -1;\n }\n function g(e2, n2) {\n var t2 = e2.alias;\n t2 ? Array.isArray(t2) || (e2.alias = t2 = [t2]) : e2.alias = t2 = [], t2.push(n2);\n }\n}), Prism.languages.sql = { comment: { pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/, lookbehind: true }, variable: [{ pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/, greedy: true }, /@[\\w.$]+/], string: { pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/, greedy: true, lookbehind: true }, identifier: { pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/, greedy: true, lookbehind: true, inside: { punctuation: /^`|`$/ } }, function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, keyword: /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i, boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i, number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i, operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i, punctuation: /[;[\\]()`,.]/ }, function(b) {\n var e = b.languages.javascript[\"template-string\"], t = e.pattern.source, m = e.inside.interpolation, f = m.inside[\"interpolation-punctuation\"], s = m.pattern.source;\n function n(e2, n2) {\n if (b.languages[e2])\n return { pattern: RegExp(\"((?:\" + n2 + \")\\\\s*)\" + t), lookbehind: true, greedy: true, inside: { \"template-punctuation\": { pattern: /^`|`$/, alias: \"string\" }, \"embedded-code\": { pattern: /[\\s\\S]+/, alias: e2 } } };\n }\n function h(e2, n2, t2) {\n e2 = { code: e2, grammar: n2, language: t2 };\n return b.hooks.run(\"before-tokenize\", e2), e2.tokens = b.tokenize(e2.code, e2.grammar), b.hooks.run(\"after-tokenize\", e2), e2.tokens;\n }\n function l(a2, e2, r) {\n var n2 = b.tokenize(a2, { interpolation: { pattern: RegExp(s), lookbehind: true } }), p = 0, d = {}, n2 = h(n2.map(function(e3) {\n if (\"string\" == typeof e3)\n return e3;\n for (var n3, t2, e3 = e3.content; -1 !== a2.indexOf((t2 = p++, n3 = \"___\" + r.toUpperCase() + \"_\" + t2 + \"___\")); )\n ;\n return d[n3] = e3, n3;\n }).join(\"\"), e2, r), g = Object.keys(d);\n return p = 0, function e3(n3) {\n for (var t2 = 0; t2 < n3.length; t2++) {\n if (p >= g.length)\n return;\n var a3, r2, s2, i, o, l2, u2, c = n3[t2];\n \"string\" == typeof c || \"string\" == typeof c.content ? (a3 = g[p], -1 !== (u2 = (l2 = \"string\" == typeof c ? c : c.content).indexOf(a3)) && (++p, r2 = l2.substring(0, u2), o = d[a3], s2 = void 0, (i = {})[\"interpolation-punctuation\"] = f, 3 === (i = b.tokenize(o, i)).length && ((s2 = [1, 1]).push.apply(s2, h(i[1], b.languages.javascript, \"javascript\")), i.splice.apply(i, s2)), s2 = new b.Token(\"interpolation\", i, m.alias, o), i = l2.substring(u2 + a3.length), o = [], r2 && o.push(r2), o.push(s2), i && (e3(l2 = [i]), o.push.apply(o, l2)), \"string\" == typeof c ? (n3.splice.apply(n3, [t2, 1].concat(o)), t2 += o.length - 1) : c.content = o)) : (u2 = c.content, Array.isArray(u2) ? e3(u2) : e3([u2]));\n }\n }(n2), new b.Token(r, n2, \"language-\" + r, a2);\n }\n b.languages.javascript[\"template-string\"] = [n(\"css\", /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), n(\"html\", /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), n(\"svg\", /\\bsvg/.source), n(\"markdown\", /\\b(?:markdown|md)/.source), n(\"graphql\", /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source), n(\"sql\", /\\bsql/.source), e].filter(Boolean);\n var a = { javascript: true, js: true, typescript: true, ts: true, jsx: true, tsx: true };\n function u(e2) {\n return \"string\" == typeof e2 ? e2 : Array.isArray(e2) ? e2.map(u).join(\"\") : u(e2.content);\n }\n b.hooks.add(\"after-tokenize\", function(e2) {\n e2.language in a && !function e3(n2) {\n for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) {\n var r, s2, i, o = n2[t2];\n \"string\" != typeof o && (r = o.content, Array.isArray(r) ? \"template-string\" === o.type ? (o = r[1], 3 === r.length && \"string\" != typeof o && \"embedded-code\" === o.type && (s2 = u(o), o = o.alias, o = Array.isArray(o) ? o[0] : o, i = b.languages[o]) && (r[1] = l(s2, i, o))) : e3(r) : \"string\" != typeof r && e3([r]));\n }\n }(e2.tokens);\n });\n}(Prism), function(e) {\n e.languages.typescript = e.languages.extend(\"javascript\", { \"class-name\": { pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: true, greedy: true, inside: null }, builtin: /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/ }), e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, /\\btype\\b(?=\\s*(?:[\\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript[\"literal-property\"];\n var n = e.languages.extend(\"typescript\", {});\n delete n[\"class-name\"], e.languages.typescript[\"class-name\"].inside = n, e.languages.insertBefore(\"typescript\", \"function\", { decorator: { pattern: /@[$\\w\\xA0-\\uFFFF]+/, inside: { at: { pattern: /^@/, alias: \"operator\" }, function: /^[\\s\\S]+/ } }, \"generic-function\": { pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/, greedy: true, inside: { function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: n } } } }), e.languages.ts = e.languages.typescript;\n}(Prism), function(e) {\n var n = e.languages.javascript, t = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source, a = \"(@(?:arg|argument|param|property)\\\\s+(?:\" + t + \"\\\\s+)?)\";\n e.languages.jsdoc = e.languages.extend(\"javadoclike\", { parameter: { pattern: RegExp(a + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source), lookbehind: true, inside: { punctuation: /\\./ } } }), e.languages.insertBefore(\"jsdoc\", \"keyword\", { \"optional-parameter\": { pattern: RegExp(a + /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source), lookbehind: true, inside: { parameter: { pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/, lookbehind: true, inside: { punctuation: /\\./ } }, code: { pattern: /(=)[\\s\\S]*(?=\\]$)/, lookbehind: true, inside: n, alias: \"language-javascript\" }, punctuation: /[=[\\]]/ } }, \"class-name\": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(/<TYPE>/g, function() {\n return t;\n })), lookbehind: true, inside: { punctuation: /\\./ } }, { pattern: RegExp(\"(@[a-z]+\\\\s+)\" + t), lookbehind: true, inside: { string: n.string, number: n.number, boolean: n.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\\.\\.\\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\\]]/ } }], example: { pattern: /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/, lookbehind: true, inside: { code: { pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m, lookbehind: true, inside: n, alias: \"language-javascript\" } } } }), e.languages.javadoclike.addSupport(\"javascript\", e.languages.jsdoc);\n}(Prism), function(e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", { type: [{ pattern: /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/, alias: \"class-name\" }] }), e.languages.flow[\"function-variable\"].pattern = /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", { \"flow-punctuation\": { pattern: /\\{\\||\\|\\}/, alias: \"punctuation\" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/, lookbehind: true }, { pattern: /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/, lookbehind: true });\n}(Prism), Prism.languages.n4js = Prism.languages.extend(\"javascript\", { keyword: /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/ }), Prism.languages.insertBefore(\"n4js\", \"constant\", { annotation: { pattern: /@+\\w+/, alias: \"operator\" } }), Prism.languages.n4jsd = Prism.languages.n4js, function(e) {\n function n(e2, n2) {\n return RegExp(e2.replace(/<ID>/g, function() {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source;\n }), n2);\n }\n e.languages.insertBefore(\"javascript\", \"function-variable\", { \"method-variable\": { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript[\"function-variable\"].pattern.source), lookbehind: true, alias: [\"function-variable\", \"method\", \"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"function\", { method: { pattern: RegExp(\"(\\\\.\\\\s*)\" + e.languages.javascript.function.source), lookbehind: true, alias: [\"function\", \"property-access\"] } }), e.languages.insertBefore(\"javascript\", \"constant\", { \"known-class-name\": [{ pattern: /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/, alias: \"class-name\" }, { pattern: /\\b(?:[A-Z]\\w*)Error\\b/, alias: \"class-name\" }] }), e.languages.insertBefore(\"javascript\", \"keyword\", { imports: { pattern: n(/(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source), lookbehind: true, inside: e.languages.javascript }, exports: { pattern: n(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source), lookbehind: true, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\\b(?:as|default|export|from|import)\\b/, alias: \"module\" }, { pattern: /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/, alias: \"control-flow\" }, { pattern: /\\bnull\\b/, alias: [\"null\", \"nil\"] }, { pattern: /\\bundefined\\b/, alias: \"nil\" }), e.languages.insertBefore(\"javascript\", \"operator\", { spread: { pattern: /\\.{3}/, alias: \"operator\" }, arrow: { pattern: /=>/, alias: \"operator\" } }), e.languages.insertBefore(\"javascript\", \"punctuation\", { \"property-access\": { pattern: n(/(\\.\\s*)#?<ID>/.source), lookbehind: true }, \"maybe-class-name\": { pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/, lookbehind: true }, dom: { pattern: /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/, alias: \"variable\" }, console: { pattern: /\\bconsole(?=\\s*\\.)/, alias: \"class-name\" } });\n for (var t = [\"function\", \"function-variable\", \"method\", \"method-variable\", \"property-access\"], a = 0; a < t.length; a++) {\n var r = t[a], s = e.languages.javascript[r], r = (s = \"RegExp\" === e.util.type(s) ? e.languages.javascript[r] = { pattern: s } : s).inside || {};\n (s.inside = r)[\"maybe-class-name\"] = /^[A-Z][\\s\\S]*/;\n }\n}(Prism), function(s) {\n var e = s.util.clone(s.languages.javascript), t = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source, a = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source, r = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;\n function n(e2, n2) {\n return e2 = e2.replace(/<S>/g, function() {\n return t;\n }).replace(/<BRACES>/g, function() {\n return a;\n }).replace(/<SPREAD>/g, function() {\n return r;\n }), RegExp(e2, n2);\n }\n r = n(r).source, s.languages.jsx = s.languages.extend(\"markup\", e), s.languages.jsx.tag.pattern = n(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source), s.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/, s.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/, s.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, s.languages.jsx.tag.inside.comment = e.comment, s.languages.insertBefore(\"inside\", \"attr-name\", { spread: { pattern: n(/<SPREAD>/.source), inside: s.languages.jsx } }, s.languages.jsx.tag), s.languages.insertBefore(\"inside\", \"special-attr\", { script: { pattern: n(/=<BRACES>/.source), alias: \"language-javascript\", inside: { \"script-punctuation\": { pattern: /^=(?=\\{)/, alias: \"punctuation\" }, rest: s.languages.jsx } } }, s.languages.jsx.tag);\n function i(e2) {\n for (var n2 = [], t2 = 0; t2 < e2.length; t2++) {\n var a2 = e2[t2], r2 = false;\n \"string\" != typeof a2 && (\"tag\" === a2.type && a2.content[0] && \"tag\" === a2.content[0].type ? \"</\" === a2.content[0].content[0].content ? 0 < n2.length && n2[n2.length - 1].tagName === o(a2.content[0].content[1]) && n2.pop() : \"/>\" !== a2.content[a2.content.length - 1].content && n2.push({ tagName: o(a2.content[0].content[1]), openedBraces: 0 }) : 0 < n2.length && \"punctuation\" === a2.type && \"{\" === a2.content ? n2[n2.length - 1].openedBraces++ : 0 < n2.length && 0 < n2[n2.length - 1].openedBraces && \"punctuation\" === a2.type && \"}\" === a2.content ? n2[n2.length - 1].openedBraces-- : r2 = true), (r2 || \"string\" == typeof a2) && 0 < n2.length && 0 === n2[n2.length - 1].openedBraces && (r2 = o(a2), t2 < e2.length - 1 && (\"string\" == typeof e2[t2 + 1] || \"plain-text\" === e2[t2 + 1].type) && (r2 += o(e2[t2 + 1]), e2.splice(t2 + 1, 1)), 0 < t2 && (\"string\" == typeof e2[t2 - 1] || \"plain-text\" === e2[t2 - 1].type) && (r2 = o(e2[t2 - 1]) + r2, e2.splice(t2 - 1, 1), t2--), e2[t2] = new s.Token(\"plain-text\", r2, null, r2)), a2.content && \"string\" != typeof a2.content && i(a2.content);\n }\n }\n var o = function(e2) {\n return e2 ? \"string\" == typeof e2 ? e2 : \"string\" == typeof e2.content ? e2.content : e2.content.map(o).join(\"\") : \"\";\n };\n s.hooks.add(\"after-tokenize\", function(e2) {\n \"jsx\" !== e2.language && \"tsx\" !== e2.language || i(e2.tokens);\n });\n}(Prism), function(e) {\n var n = e.util.clone(e.languages.typescript), n = (e.languages.tsx = e.languages.extend(\"jsx\", n), delete e.languages.tsx.parameter, delete e.languages.tsx[\"literal-property\"], e.languages.tsx.tag);\n n.pattern = RegExp(/(^|[^\\w$]|(?=<\\/))/.source + \"(?:\" + n.pattern.source + \")\", n.pattern.flags), n.lookbehind = true;\n}(Prism), Prism.languages.swift = { comment: { pattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/, lookbehind: true, greedy: true }, \"string-literal\": [{ pattern: RegExp(/(^|[^\"#])/.source + \"(?:\" + /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source + \"|\" + /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source + \")\" + /(?![\"#])/.source), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\\\($/, alias: \"punctuation\" }, punctuation: /\\\\(?=[\\r\\n])/, string: /[\\s\\S]+/ } }, { pattern: RegExp(/(^|[^\"#])(#+)/.source + \"(?:\" + /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source + \"|\" + /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source + \")\\\\2\"), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/, lookbehind: true, inside: null }, \"interpolation-punctuation\": { pattern: /^\\)|\\\\#+\\($/, alias: \"punctuation\" }, string: /[\\s\\S]+/ } }], directive: { pattern: RegExp(/#/.source + \"(?:\" + /(?:elseif|if)\\b/.source + \"(?:[ \t]*\" + /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source + \")+|\" + /(?:else|endif)\\b/.source + \")\"), alias: \"property\", inside: { \"directive-name\": /^#\\w+/, boolean: /\\b(?:false|true)\\b/, number: /\\b\\d+(?:\\.\\d+)*\\b/, operator: /!|&&|\\|\\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/, alias: \"constant\" }, \"other-directive\": { pattern: /#\\w+\\b/, alias: \"property\" }, attribute: { pattern: /@\\w+/, alias: \"atrule\" }, \"function-definition\": { pattern: /(\\bfunc\\s+)\\w+/, lookbehind: true, alias: \"function\" }, label: { pattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/, lookbehind: true, alias: \"important\" }, keyword: /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/, boolean: /\\b(?:false|true)\\b/, nil: { pattern: /\\bnil\\b/, alias: \"constant\" }, \"short-argument\": /\\$\\d+\\b/, omit: { pattern: /\\b_\\b/, alias: \"keyword\" }, number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i, \"class-name\": /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/, operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\\]();,.:\\\\]/ }, Prism.languages.swift[\"string-literal\"].forEach(function(e) {\n e.inside.interpolation.inside = Prism.languages.swift;\n}), function(e) {\n e.languages.kotlin = e.languages.extend(\"clike\", { keyword: { pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/, lookbehind: true }, function: [{ pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/, greedy: true }, { pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/, lookbehind: true, greedy: true }], number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/, operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/ }), delete e.languages.kotlin[\"class-name\"];\n var n = { \"interpolation-punctuation\": { pattern: /^\\$\\{?|\\}$/, alias: \"punctuation\" }, expression: { pattern: /[\\s\\S]+/, inside: e.languages.kotlin } };\n e.languages.insertBefore(\"kotlin\", \"string\", { \"string-literal\": [{ pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/, alias: \"multiline\", inside: { interpolation: { pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, inside: n }, string: /[\\s\\S]+/ } }, { pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/, alias: \"singleline\", inside: { interpolation: { pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i, lookbehind: true, inside: n }, string: /[\\s\\S]+/ } }], char: { pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: true } }), delete e.languages.kotlin.string, e.languages.insertBefore(\"kotlin\", \"keyword\", { annotation: { pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/, alias: \"builtin\" } }), e.languages.insertBefore(\"kotlin\", \"function\", { label: { pattern: /\\b\\w+@|@\\w+\\b/, alias: \"symbol\" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;\n}(Prism), Prism.languages.c = Prism.languages.extend(\"clike\", { comment: { pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, \"class-name\": { pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/, lookbehind: true }, keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/, function: /\\b[a-z_]\\w*(?=\\s*\\()/i, number: /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/ }), Prism.languages.insertBefore(\"c\", \"string\", { char: { pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/, greedy: true } }), Prism.languages.insertBefore(\"c\", \"string\", { macro: { pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im, lookbehind: true, greedy: true, alias: \"property\", inside: { string: [{ pattern: /^(#\\s*include\\s*)<[^>]+>/, lookbehind: true }, Prism.languages.c.string], char: Prism.languages.c.char, comment: Prism.languages.c.comment, \"macro-name\": [{ pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i, lookbehind: true }, { pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i, lookbehind: true, alias: \"function\" }], directive: { pattern: /^(#\\s*)[a-z]+/, lookbehind: true, alias: \"keyword\" }, \"directive-hash\": /^#/, punctuation: /##|\\\\(?=[\\r\\n])/, expression: { pattern: /\\S[\\s\\S]*/, inside: Prism.languages.c } } } }), Prism.languages.insertBefore(\"c\", \"function\", { constant: /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/ }), delete Prism.languages.c.boolean, Prism.languages.objectivec = Prism.languages.extend(\"c\", { string: { pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/, greedy: true }, keyword: /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/, operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/ }), delete Prism.languages.objectivec[\"class-name\"], Prism.languages.objc = Prism.languages.objectivec, Prism.languages.reason = Prism.languages.extend(\"clike\", { string: { pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/, greedy: true }, \"class-name\": /\\b[A-Z]\\w*/, keyword: /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/, operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/ }), Prism.languages.insertBefore(\"reason\", \"class-name\", { char: { pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/, greedy: true }, constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/, label: { pattern: /\\b[a-z]\\w*(?=::)/, alias: \"symbol\" } }), delete Prism.languages.reason.function, function(e) {\n for (var n = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source, t = 0; t < 2; t++)\n n = n.replace(/<self>/g, function() {\n return n;\n });\n n = n.replace(/<self>/g, function() {\n return /[^\\s\\S]/.source;\n }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\\\])/.source + n), lookbehind: true, greedy: true }, { pattern: /(^|[^\\\\:])\\/\\/.*/, lookbehind: true, greedy: true }], string: { pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/, greedy: true }, char: { pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/, greedy: true }, attribute: { pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/, greedy: true, alias: \"attr-name\", inside: { string: null } }, \"closure-params\": { pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/, lookbehind: true, greedy: true, inside: { \"closure-punctuation\": { pattern: /^\\||\\|$/, alias: \"punctuation\" }, rest: null } }, \"lifetime-annotation\": { pattern: /'\\w+/, alias: \"symbol\" }, \"fragment-specifier\": { pattern: /(\\$\\w+:)[a-z]+/, lookbehind: true, alias: \"punctuation\" }, variable: /\\$\\w+/, \"function-definition\": { pattern: /(\\bfn\\s+)\\w+/, lookbehind: true, alias: \"function\" }, \"type-definition\": { pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/, lookbehind: true, alias: \"class-name\" }, \"module-declaration\": [{ pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/, lookbehind: true, alias: \"namespace\" }, { pattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/, lookbehind: true, alias: \"namespace\", inside: { punctuation: /::/ } }], keyword: [/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/], function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/, macro: { pattern: /\\b\\w+!/, alias: \"property\" }, constant: /\\b[A-Z_][A-Z_\\d]+\\b/, \"class-name\": /\\b[A-Z]\\w*\\b/, namespace: { pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/, inside: { punctuation: /::/ } }, number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/, boolean: /\\b(?:false|true)\\b/, punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/, operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust[\"closure-params\"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;\n}(Prism), Prism.languages.go = Prism.languages.extend(\"clike\", { string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/, lookbehind: true, greedy: true }, keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/, boolean: /\\b(?:_|false|iota|nil|true)\\b/, number: [/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i], operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./, builtin: /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/ }), Prism.languages.insertBefore(\"go\", \"string\", { char: { pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/, greedy: true } }), delete Prism.languages.go[\"class-name\"], function(e) {\n var n = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/, t = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function() {\n return n.source;\n });\n e.languages.cpp = e.languages.extend(\"c\", { \"class-name\": [{ pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function() {\n return n.source;\n })), lookbehind: true }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/], keyword: n, number: { pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i, greedy: true }, operator: />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/, boolean: /\\b(?:false|true)\\b/ }), e.languages.insertBefore(\"cpp\", \"string\", { module: { pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + \"(?:\" + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + \"|\" + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function() {\n return t;\n }) + \")\"), lookbehind: true, greedy: true, inside: { string: /^[<\"][\\s\\S]+/, operator: /:/, punctuation: /\\./ } }, \"raw-string\": { pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/, alias: \"string\", greedy: true } }), e.languages.insertBefore(\"cpp\", \"keyword\", { \"generic-function\": { pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i, inside: { function: /^\\w+/, generic: { pattern: /<[\\s\\S]+/, alias: \"class-name\", inside: e.languages.cpp } } } }), e.languages.insertBefore(\"cpp\", \"operator\", { \"double-colon\": { pattern: /::/, alias: \"punctuation\" } }), e.languages.insertBefore(\"cpp\", \"class-name\", { \"base-clause\": { pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/, lookbehind: true, greedy: true, inside: e.languages.extend(\"cpp\", {}) } }), e.languages.insertBefore(\"inside\", \"double-colon\", { \"class-name\": /\\b[a-z_]\\w*\\b(?!\\s*::)/i }, e.languages.cpp[\"base-clause\"]);\n}(Prism), Prism.languages.python = { comment: { pattern: /(^|[^\\\\])#.*/, lookbehind: true, greedy: true }, \"string-interpolation\": { pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i, greedy: true, inside: { interpolation: { pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/, lookbehind: true, inside: { \"format-spec\": { pattern: /(:)[^:(){}]+(?=\\}$)/, lookbehind: true }, \"conversion-option\": { pattern: /![sra](?=[:}]$)/, alias: \"punctuation\" }, rest: null } }, string: /[\\s\\S]+/ } }, \"triple-quoted-string\": { pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i, greedy: true, alias: \"string\" }, string: { pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i, greedy: true }, function: { pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g, lookbehind: true }, \"class-name\": { pattern: /(\\bclass\\s+)\\w+/i, lookbehind: true }, decorator: { pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m, lookbehind: true, alias: [\"annotation\", \"punctuation\"], inside: { punctuation: /\\./ } }, keyword: /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/, builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/, boolean: /\\b(?:False|None|True)\\b/, number: /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i, operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\\];(),.:]/ }, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python, Prism.languages.json = { property: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/, lookbehind: true, greedy: true }, string: { pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/, lookbehind: true, greedy: true }, comment: { pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/, greedy: true }, number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i, punctuation: /[{}[\\],]/, operator: /:/, boolean: /\\b(?:false|true)\\b/, null: { pattern: /\\bnull\\b/, alias: \"keyword\" } }, Prism.languages.webmanifest = Prism.languages.json;\n\n// src/themes/index.ts\nvar themes_exports = {};\n__export(themes_exports, {\n dracula: () => dracula_default,\n duotoneDark: () => duotoneDark_default,\n duotoneLight: () => duotoneLight_default,\n github: () => github_default,\n gruvboxMaterialDark: () => gruvboxMaterialDark_default,\n gruvboxMaterialLight: () => gruvboxMaterialLight_default,\n jettwaveDark: () => jettwaveDark_default,\n jettwaveLight: () => jettwaveLight_default,\n nightOwl: () => nightOwl_default,\n nightOwlLight: () => nightOwlLight_default,\n oceanicNext: () => oceanicNext_default,\n okaidia: () => okaidia_default,\n oneDark: () => oneDark_default,\n oneLight: () => oneLight_default,\n palenight: () => palenight_default,\n shadesOfPurple: () => shadesOfPurple_default,\n synthwave84: () => synthwave84_default,\n ultramin: () => ultramin_default,\n vsDark: () => vsDark_default,\n vsLight: () => vsLight_default\n});\n\n// src/themes/dracula.ts\nvar theme = {\n plain: {\n color: \"#F8F8F2\",\n backgroundColor: \"#282A36\"\n },\n styles: [\n {\n types: [\"prolog\", \"constant\", \"builtin\"],\n style: {\n color: \"rgb(189, 147, 249)\"\n }\n },\n {\n types: [\"inserted\", \"function\"],\n style: {\n color: \"rgb(80, 250, 123)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgb(255, 85, 85)\"\n }\n },\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 184, 108)\"\n }\n },\n {\n types: [\"punctuation\", \"symbol\"],\n style: {\n color: \"rgb(248, 248, 242)\"\n }\n },\n {\n types: [\"string\", \"char\", \"tag\", \"selector\"],\n style: {\n color: \"rgb(255, 121, 198)\"\n }\n },\n {\n types: [\"keyword\", \"variable\"],\n style: {\n color: \"rgb(189, 147, 249)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(98, 114, 164)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(241, 250, 140)\"\n }\n }\n ]\n};\nvar dracula_default = theme;\n\n// src/themes/duotoneDark.ts\nvar theme2 = {\n plain: {\n backgroundColor: \"#2a2734\",\n color: \"#9a86fd\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#6c6783\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#e09142\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#9a86fd\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#eeebff\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#c4b9fe\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\",\n \"placeholder\",\n \"variable\"\n ],\n style: {\n color: \"#ffcc99\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#c4b9fe\"\n }\n }\n ]\n};\nvar duotoneDark_default = theme2;\n\n// src/themes/duotoneLight.ts\nvar theme3 = {\n plain: {\n backgroundColor: \"#faf8f5\",\n color: \"#728fcb\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\", \"punctuation\"],\n style: {\n color: \"#b6ad9a\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"operator\", \"number\"],\n style: {\n color: \"#063289\"\n }\n },\n {\n types: [\"property\", \"function\"],\n style: {\n color: \"#b29762\"\n }\n },\n {\n types: [\"tag-id\", \"selector\", \"atrule-id\"],\n style: {\n color: \"#2d2006\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#896724\"\n }\n },\n {\n types: [\n \"boolean\",\n \"string\",\n \"entity\",\n \"url\",\n \"attr-value\",\n \"keyword\",\n \"control\",\n \"directive\",\n \"unit\",\n \"statement\",\n \"regex\",\n \"atrule\"\n ],\n style: {\n color: \"#728fcb\"\n }\n },\n {\n types: [\"placeholder\", \"variable\"],\n style: {\n color: \"#93abdc\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"#896724\"\n }\n }\n ]\n};\nvar duotoneLight_default = theme3;\n\n// src/themes/github.ts\nvar theme4 = {\n plain: {\n color: \"#393A34\",\n backgroundColor: \"#f6f8fa\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#999988\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#e3116c\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#393A34\"\n }\n },\n {\n types: [\n \"entity\",\n \"url\",\n \"symbol\",\n \"number\",\n \"boolean\",\n \"variable\",\n \"constant\",\n \"property\",\n \"regex\",\n \"inserted\"\n ],\n style: {\n color: \"#36acaa\"\n }\n },\n {\n types: [\"atrule\", \"keyword\", \"attr-name\", \"selector\"],\n style: {\n color: \"#00a4db\"\n }\n },\n {\n types: [\"function\", \"deleted\", \"tag\"],\n style: {\n color: \"#d73a49\"\n }\n },\n {\n types: [\"function-variable\"],\n style: {\n color: \"#6f42c1\"\n }\n },\n {\n types: [\"tag\", \"selector\", \"keyword\"],\n style: {\n color: \"#00009f\"\n }\n }\n ]\n};\nvar github_default = theme4;\n\n// src/themes/nightOwl.ts\nvar theme5 = {\n plain: {\n color: \"#d6deeb\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(99, 119, 119)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(214, 222, 235)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(255, 203, 139)\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"rgb(127, 219, 202)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"property\"],\n style: {\n color: \"rgb(128, 203, 196)\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n }\n ]\n};\nvar nightOwl_default = theme5;\n\n// src/themes/nightOwlLight.ts\nvar theme6 = {\n plain: {\n color: \"#403f53\",\n backgroundColor: \"#FBFBFB\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\", \"attr-name\"],\n style: {\n color: \"rgb(72, 118, 214)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(152, 159, 177)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"builtin\", \"char\", \"constant\", \"url\"],\n style: {\n color: \"rgb(72, 118, 214)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(201, 103, 101)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(170, 9, 130)\"\n }\n },\n {\n // This was manually added after the auto-generation\n // so that punctuations are not italicised\n types: [\"punctuation\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"function\", \"selector\", \"doctype\"],\n style: {\n color: \"rgb(153, 76, 195)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(17, 17, 17)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(153, 76, 195)\"\n }\n },\n {\n types: [\"operator\", \"property\", \"keyword\", \"namespace\"],\n style: {\n color: \"rgb(12, 150, 155)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(188, 84, 84)\"\n }\n }\n ]\n};\nvar nightOwlLight_default = theme6;\n\n// src/themes/oceanicNext.ts\nvar colors = {\n char: \"#D8DEE9\",\n comment: \"#999999\",\n keyword: \"#c5a5c5\",\n primitive: \"#5a9bcf\",\n string: \"#8dc891\",\n variable: \"#d7deea\",\n boolean: \"#ff8b50\",\n punctuation: \"#5FB3B3\",\n tag: \"#fc929e\",\n function: \"#79b6f2\",\n className: \"#FAC863\",\n method: \"#6699CC\",\n operator: \"#fc929e\"\n};\nvar theme7 = {\n plain: {\n backgroundColor: \"#282c34\",\n color: \"#ffffff\"\n },\n styles: [\n {\n types: [\"attr-name\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"attr-value\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\n \"comment\",\n \"block-comment\",\n \"prolog\",\n \"doctype\",\n \"cdata\",\n \"shebang\"\n ],\n style: {\n color: colors.comment\n }\n },\n {\n types: [\n \"property\",\n \"number\",\n \"function-name\",\n \"constant\",\n \"symbol\",\n \"deleted\"\n ],\n style: {\n color: colors.primitive\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: colors.boolean\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: colors.tag\n }\n },\n {\n types: [\"string\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: colors.string\n }\n },\n {\n types: [\"selector\", \"char\", \"builtin\", \"inserted\"],\n style: {\n color: colors.char\n }\n },\n {\n types: [\"function\"],\n style: {\n color: colors.function\n }\n },\n {\n types: [\"operator\", \"entity\", \"url\", \"variable\"],\n style: {\n color: colors.variable\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: colors.keyword\n }\n },\n {\n types: [\"atrule\", \"class-name\"],\n style: {\n color: colors.className\n }\n },\n {\n types: [\"important\"],\n style: {\n fontWeight: \"400\"\n }\n },\n {\n types: [\"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n opacity: 0.7\n }\n }\n ]\n};\nvar oceanicNext_default = theme7;\n\n// src/themes/okaidia.ts\nvar theme8 = {\n plain: {\n color: \"#f8f8f2\",\n backgroundColor: \"#272822\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(162, 191, 252)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"#f92672\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#8292a2\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"#a6e22e\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"#e6db74\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#f8f8f2\"\n }\n },\n {\n types: [\"selector\", \"doctype\"],\n style: {\n color: \"#a6e22e\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"tag\", \"operator\", \"keyword\"],\n style: {\n color: \"#66d9ef\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"#ae81ff\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\",\n opacity: 0.7\n }\n },\n {\n types: [\"tag\", \"property\"],\n style: {\n color: \"#f92672\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"#a6e22e !important\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"#8292a2\"\n }\n },\n {\n types: [\"rule\"],\n style: {\n color: \"#e6db74\"\n }\n }\n ]\n};\nvar okaidia_default = theme8;\n\n// src/themes/palenight.ts\nvar theme9 = {\n plain: {\n color: \"#bfc7d5\",\n backgroundColor: \"#292d3e\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(105, 112, 152)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"string\", \"inserted\"],\n style: {\n color: \"rgb(195, 232, 141)\"\n }\n },\n {\n types: [\"number\"],\n style: {\n color: \"rgb(247, 140, 108)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\"],\n style: {\n color: \"rgb(130, 170, 255)\"\n }\n },\n {\n types: [\"punctuation\", \"selector\"],\n style: {\n color: \"rgb(199, 146, 234)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(191, 199, 213)\"\n }\n },\n {\n types: [\"class-name\", \"attr-name\"],\n style: {\n color: \"rgb(255, 203, 107)\"\n }\n },\n {\n types: [\"tag\", \"deleted\"],\n style: {\n color: \"rgb(255, 85, 114)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(137, 221, 255)\"\n }\n },\n {\n types: [\"boolean\"],\n style: {\n color: \"rgb(255, 88, 116)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"doctype\"],\n style: {\n color: \"rgb(199, 146, 234)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"namespace\"],\n style: {\n color: \"rgb(178, 204, 214)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"rgb(221, 221, 221)\"\n }\n }\n ]\n};\nvar palenight_default = theme9;\n\n// src/themes/shadesOfPurple.ts\nvar theme10 = {\n plain: {\n color: \"#9EFEFF\",\n backgroundColor: \"#2D2A55\"\n },\n styles: [\n {\n types: [\"changed\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n color: \"rgba(239, 83, 80, 0.56)\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"rgb(173, 219, 103)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(179, 98, 255)\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"rgb(255, 255, 255)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"string\", \"url\"],\n style: {\n color: \"rgb(165, 255, 144)\"\n }\n },\n {\n types: [\"variable\"],\n style: {\n color: \"rgb(255, 238, 128)\"\n }\n },\n {\n types: [\"number\", \"boolean\"],\n style: {\n color: \"rgb(255, 98, 140)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 180, 84)\"\n }\n },\n {\n types: [\n \"keyword\",\n \"operator\",\n \"property\",\n \"namespace\",\n \"tag\",\n \"selector\",\n \"doctype\"\n ],\n style: {\n color: \"rgb(255, 157, 0)\"\n }\n },\n {\n types: [\"builtin\", \"char\", \"constant\", \"function\", \"class-name\"],\n style: {\n color: \"rgb(250, 208, 0)\"\n }\n }\n ]\n};\nvar shadesOfPurple_default = theme10;\n\n// src/themes/synthwave84.ts\nvar theme11 = {\n plain: {\n backgroundColor: \"linear-gradient(to bottom, #2a2139 75%, #34294f)\",\n backgroundImage: \"#34294f\",\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n },\n styles: [\n {\n types: [\"comment\", \"block-comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: {\n color: \"#495495\",\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"punctuation\"],\n style: {\n color: \"#ccc\"\n }\n },\n {\n types: [\n \"tag\",\n \"attr-name\",\n \"namespace\",\n \"number\",\n \"unit\",\n \"hexcode\",\n \"deleted\"\n ],\n style: {\n color: \"#e2777a\"\n }\n },\n {\n types: [\"property\", \"selector\"],\n style: {\n color: \"#72f1b8\",\n textShadow: \"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475\"\n }\n },\n {\n types: [\"function-name\"],\n style: {\n color: \"#6196cc\"\n }\n },\n {\n types: [\"boolean\", \"selector-id\", \"function\"],\n style: {\n color: \"#fdfdfd\",\n textShadow: \"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975\"\n }\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"builtin\"],\n style: {\n color: \"#fff5f6\",\n textShadow: \"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75\"\n }\n },\n {\n types: [\"constant\", \"symbol\"],\n style: {\n color: \"#f92aad\",\n textShadow: \"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3\"\n }\n },\n {\n types: [\"important\", \"atrule\", \"keyword\", \"selector-class\"],\n style: {\n color: \"#f4eee4\",\n textShadow: \"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575\"\n }\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"variable\"],\n style: {\n color: \"#f87c32\"\n }\n },\n {\n types: [\"parameter\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\", \"url\"],\n style: {\n color: \"#67cdcc\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"ffffffee\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"entity\"],\n style: {\n cursor: \"help\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n color: \"green\"\n }\n }\n ]\n};\nvar synthwave84_default = theme11;\n\n// src/themes/ultramin.ts\nvar theme12 = {\n plain: {\n color: \"#282a2e\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(197, 200, 198)\"\n }\n },\n {\n types: [\"string\", \"number\", \"builtin\", \"variable\"],\n style: {\n color: \"rgb(150, 152, 150)\"\n }\n },\n {\n types: [\"class-name\", \"function\", \"tag\", \"attr-name\"],\n style: {\n color: \"rgb(40, 42, 46)\"\n }\n }\n ]\n};\nvar ultramin_default = theme12;\n\n// src/themes/vsDark.ts\nvar theme13 = {\n plain: {\n color: \"#9CDCFE\",\n backgroundColor: \"#1E1E1E\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"rgb(0, 0, 128)\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(106, 153, 85)\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"rgb(181, 206, 168)\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"rgb(100, 102, 149)\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"rgb(156, 220, 254)\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"rgb(206, 145, 120)\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"rgb(215, 186, 125)\"\n }\n },\n {\n // Fix tag color\n types: [\"tag\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n // Fix tag color for HTML\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"rgb(86, 156, 214)\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"rgb(212, 212, 212)\"\n }\n },\n {\n // Fix punctuation color for HTML\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"rgb(220, 220, 170)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(78, 201, 176)\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"rgb(209, 105, 105)\"\n }\n }\n ]\n};\nvar vsDark_default = theme13;\n\n// src/themes/vsLight.ts\nvar theme14 = {\n plain: {\n color: \"#000000\",\n backgroundColor: \"#ffffff\"\n },\n styles: [\n {\n types: [\"comment\"],\n style: {\n color: \"rgb(0, 128, 0)\"\n }\n },\n {\n types: [\"builtin\"],\n style: {\n color: \"rgb(0, 112, 193)\"\n }\n },\n {\n types: [\"number\", \"variable\", \"inserted\"],\n style: {\n color: \"rgb(9, 134, 88)\"\n }\n },\n {\n types: [\"operator\"],\n style: {\n color: \"rgb(0, 0, 0)\"\n }\n },\n {\n types: [\"constant\", \"char\"],\n style: {\n color: \"rgb(129, 31, 63)\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"rgb(128, 0, 0)\"\n }\n },\n {\n types: [\"attr-name\"],\n style: {\n color: \"rgb(255, 0, 0)\"\n }\n },\n {\n types: [\"deleted\", \"string\"],\n style: {\n color: \"rgb(163, 21, 21)\"\n }\n },\n {\n types: [\"changed\", \"punctuation\"],\n style: {\n color: \"rgb(4, 81, 165)\"\n }\n },\n {\n types: [\"function\", \"keyword\"],\n style: {\n color: \"rgb(0, 0, 255)\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"rgb(38, 127, 153)\"\n }\n }\n ]\n};\nvar vsLight_default = theme14;\n\n// src/themes/jettwaveDark.ts\nvar theme15 = {\n plain: {\n color: \"#f8fafc\",\n backgroundColor: \"#011627\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#569CD6\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#f8fafc\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#9CDCFE\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#cbd5e1\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#D4D4D4\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#7dd3fc\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveDark_default = theme15;\n\n// src/themes/jettwaveLight.ts\nvar theme16 = {\n plain: {\n color: \"#0f172a\",\n backgroundColor: \"#f1f5f9\"\n },\n styles: [\n {\n types: [\"prolog\"],\n style: {\n color: \"#000080\"\n }\n },\n {\n types: [\"comment\"],\n style: {\n color: \"#6A9955\"\n }\n },\n {\n types: [\"builtin\", \"changed\", \"keyword\", \"interpolation-punctuation\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"number\", \"inserted\"],\n style: {\n color: \"#B5CEA8\"\n }\n },\n {\n types: [\"constant\"],\n style: {\n color: \"#0f172a\"\n }\n },\n {\n types: [\"attr-name\", \"variable\"],\n style: {\n color: \"#0c4a6e\"\n }\n },\n {\n types: [\"deleted\", \"string\", \"attr-value\", \"template-punctuation\"],\n style: {\n color: \"#64748b\"\n }\n },\n {\n types: [\"selector\"],\n style: {\n color: \"#D7BA7D\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"tag\"],\n languages: [\"markup\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"punctuation\", \"operator\"],\n style: {\n color: \"#475569\"\n }\n },\n {\n types: [\"punctuation\"],\n languages: [\"markup\"],\n style: {\n color: \"#808080\"\n }\n },\n {\n types: [\"function\"],\n style: {\n color: \"#0e7490\"\n }\n },\n {\n types: [\"class-name\"],\n style: {\n color: \"#0ea5e9\"\n }\n },\n {\n types: [\"char\"],\n style: {\n color: \"#D16969\"\n }\n }\n ]\n};\nvar jettwaveLight_default = theme16;\n\n// src/themes/oneDark.ts\nvar theme17 = {\n plain: {\n backgroundColor: \"hsl(220, 13%, 18%)\",\n color: \"hsl(220, 14%, 71%)\",\n textShadow: \"0 1px rgba(0, 0, 0, 0.3)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(220, 10%, 40%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"maybe-class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: { color: \"hsl(29, 54%, 61%)\" }\n },\n {\n types: [\"keyword\"],\n style: { color: \"hsl(286, 60%, 67%)\" }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(355, 65%, 65%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\"\n ],\n style: {\n color: \"hsl(95, 38%, 62%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(207, 82%, 66%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(187, 47%, 55%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(220, 14%, 71%)\"\n }\n }\n ]\n};\nvar oneDark_default = theme17;\n\n// src/themes/oneLight.ts\nvar theme18 = {\n plain: {\n backgroundColor: \"hsl(230, 1%, 98%)\",\n color: \"hsl(230, 8%, 24%)\"\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"cdata\"],\n style: {\n color: \"hsl(230, 4%, 64%)\"\n }\n },\n {\n types: [\"doctype\", \"punctuation\", \"entity\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n },\n {\n types: [\n \"attr-name\",\n \"class-name\",\n \"boolean\",\n \"constant\",\n \"number\",\n \"atrule\"\n ],\n style: {\n color: \"hsl(35, 99%, 36%)\"\n }\n },\n {\n types: [\"keyword\"],\n style: {\n color: \"hsl(301, 63%, 40%)\"\n }\n },\n {\n types: [\"property\", \"tag\", \"symbol\", \"deleted\", \"important\"],\n style: {\n color: \"hsl(5, 74%, 59%)\"\n }\n },\n {\n types: [\n \"selector\",\n \"string\",\n \"char\",\n \"builtin\",\n \"inserted\",\n \"regex\",\n \"attr-value\",\n \"punctuation\"\n ],\n style: {\n color: \"hsl(119, 34%, 47%)\"\n }\n },\n {\n types: [\"variable\", \"operator\", \"function\"],\n style: {\n color: \"hsl(221, 87%, 60%)\"\n }\n },\n {\n types: [\"url\"],\n style: {\n color: \"hsl(198, 99%, 37%)\"\n }\n },\n {\n types: [\"deleted\"],\n style: {\n textDecorationLine: \"line-through\"\n }\n },\n {\n types: [\"inserted\"],\n style: {\n textDecorationLine: \"underline\"\n }\n },\n {\n types: [\"italic\"],\n style: {\n fontStyle: \"italic\"\n }\n },\n {\n types: [\"important\", \"bold\"],\n style: {\n fontWeight: \"bold\"\n }\n },\n {\n types: [\"important\"],\n style: {\n color: \"hsl(230, 8%, 24%)\"\n }\n }\n ]\n};\nvar oneLight_default = theme18;\n\n// src/themes/gruvboxMaterialDark.ts\nvar theme19 = {\n plain: {\n color: \"#ebdbb2\",\n backgroundColor: \"#292828\"\n },\n styles: [\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\",\n \"function\"\n ],\n style: {\n color: \"#d8a657\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#7daea3\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#e78a4e\"\n }\n },\n {\n types: [\"attr-name\", \"char\", \"url\", \"regex\"],\n style: {\n color: \"#a9b665\"\n }\n },\n {\n types: [\"attr-value\", \"string\"],\n style: {\n color: \"#89b482\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#ea6962\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#d3869b\"\n }\n }\n ]\n};\nvar gruvboxMaterialDark_default = theme19;\n\n// src/themes/gruvboxMaterialLight.ts\nvar theme20 = {\n plain: {\n color: \"#654735\",\n backgroundColor: \"#f9f5d7\"\n },\n styles: [\n {\n types: [\n \"delimiter\",\n \"boolean\",\n \"keyword\",\n \"selector\",\n \"important\",\n \"atrule\",\n \"property\",\n \"variable\",\n \"deleted\"\n ],\n style: {\n color: \"#af2528\"\n }\n },\n {\n types: [\n \"imports\",\n \"class-name\",\n \"maybe-class-name\",\n \"constant\",\n \"doctype\",\n \"builtin\"\n ],\n style: {\n color: \"#b4730e\"\n }\n },\n {\n types: [\"string\", \"attr-value\"],\n style: {\n color: \"#477a5b\"\n }\n },\n {\n types: [\"property-access\"],\n style: {\n color: \"#266b79\"\n }\n },\n {\n types: [\"function\", \"attr-name\", \"char\", \"url\"],\n style: {\n color: \"#72761e\"\n }\n },\n {\n types: [\"tag\"],\n style: {\n color: \"#b94c07\"\n }\n },\n {\n types: [\"comment\", \"prolog\", \"cdata\", \"operator\", \"inserted\"],\n style: {\n color: \"#a89984\"\n }\n },\n {\n types: [\"entity\", \"number\", \"symbol\"],\n style: {\n color: \"#924f79\"\n }\n }\n ]\n};\nvar gruvboxMaterialLight_default = theme20;\n\n// src/index.ts\nimport { createElement } from \"react\";\n\n// src/components/useGetLineProps.ts\nimport { useCallback } from \"react\";\nimport clsx from \"clsx\";\nvar useGetLineProps = (themeDictionary) => useCallback(\n (_a) => {\n var _b = _a, { className, style, line } = _b, rest = __objRest(_b, [\"className\", \"style\", \"line\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx(\"token-line\", className)\n });\n if (typeof themeDictionary === \"object\" && \"plain\" in themeDictionary)\n output.style = themeDictionary.plain;\n if (typeof style === \"object\")\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n return output;\n },\n [themeDictionary]\n);\n\n// src/components/useGetTokenProps.ts\nimport { useCallback as useCallback2 } from \"react\";\nimport clsx2 from \"clsx\";\nvar useGetTokenProps = (themeDictionary) => {\n const styleForToken = useCallback2(\n ({ types, empty }) => {\n if (themeDictionary == null)\n return void 0;\n else if (types.length === 1 && types[0] === \"plain\") {\n return empty != null ? { display: \"inline-block\" } : void 0;\n } else if (types.length === 1 && empty != null) {\n return themeDictionary[types[0]];\n }\n return Object.assign(\n empty != null ? { display: \"inline-block\" } : {},\n ...types.map((type) => themeDictionary[type])\n );\n },\n [themeDictionary]\n );\n return useCallback2(\n (_a) => {\n var _b = _a, { token, className, style } = _b, rest = __objRest(_b, [\"token\", \"className\", \"style\"]);\n const output = __spreadProps(__spreadValues({}, rest), {\n className: clsx2(\"token\", ...token.types, className),\n children: token.content,\n style: styleForToken(token)\n });\n if (style != null) {\n output.style = __spreadValues(__spreadValues({}, output.style || {}), style);\n }\n return output;\n },\n [styleForToken]\n );\n};\n\n// src/utils/normalizeTokens.ts\nvar newlineRe = /\\r\\n|\\r|\\n/;\nvar normalizeEmptyLines = (line) => {\n if (line.length === 0) {\n line.push({\n types: [\"plain\"],\n content: \"\\n\",\n empty: true\n });\n } else if (line.length === 1 && line[0].content === \"\") {\n line[0].content = \"\\n\";\n line[0].empty = true;\n }\n};\nvar appendTypes = (types, add) => {\n const typesSize = types.length;\n if (typesSize > 0 && types[typesSize - 1] === add) {\n return types;\n }\n return types.concat(add);\n};\nvar normalizeTokens = (tokens) => {\n const typeArrStack = [[]];\n const tokenArrStack = [tokens];\n const tokenArrIndexStack = [0];\n const tokenArrSizeStack = [tokens.length];\n let i = 0;\n let stackIndex = 0;\n let currentLine = [];\n const acc = [currentLine];\n while (stackIndex > -1) {\n while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) {\n let content;\n let types = typeArrStack[stackIndex];\n const tokenArr = tokenArrStack[stackIndex];\n const token = tokenArr[i];\n if (typeof token === \"string\") {\n types = stackIndex > 0 ? types : [\"plain\"];\n content = token;\n } else {\n types = appendTypes(types, token.type);\n if (token.alias) {\n types = appendTypes(types, token.alias);\n }\n content = token.content;\n }\n if (typeof content !== \"string\") {\n stackIndex++;\n typeArrStack.push(types);\n tokenArrStack.push(content);\n tokenArrIndexStack.push(0);\n tokenArrSizeStack.push(content.length);\n continue;\n }\n const splitByNewlines = content.split(newlineRe);\n const newlineCount = splitByNewlines.length;\n currentLine.push({\n types,\n content: splitByNewlines[0]\n });\n for (let i2 = 1; i2 < newlineCount; i2++) {\n normalizeEmptyLines(currentLine);\n acc.push(currentLine = []);\n currentLine.push({\n types,\n content: splitByNewlines[i2]\n });\n }\n }\n stackIndex--;\n typeArrStack.pop();\n tokenArrStack.pop();\n tokenArrIndexStack.pop();\n tokenArrSizeStack.pop();\n }\n normalizeEmptyLines(currentLine);\n return acc;\n};\nvar normalizeTokens_default = normalizeTokens;\n\n// src/components/useTokenize.ts\nimport { useMemo } from \"react\";\nvar useTokenize = ({ prism, code, grammar, language }) => {\n return useMemo(() => {\n if (grammar == null)\n return normalizeTokens_default([code]);\n const prismConfig = {\n code,\n grammar,\n language,\n tokens: []\n };\n prism.hooks.run(\"before-tokenize\", prismConfig);\n prismConfig.tokens = prism.tokenize(code, grammar);\n prism.hooks.run(\"after-tokenize\", prismConfig);\n return normalizeTokens_default(prismConfig.tokens);\n }, [\n code,\n grammar,\n language,\n // prism is a stable import\n prism\n ]);\n};\n\n// src/utils/themeToDict.ts\nvar themeToDict = (theme21, language) => {\n const { plain } = theme21;\n const themeDict = theme21.styles.reduce((acc, themeEntry) => {\n const { languages: languages2, style } = themeEntry;\n if (languages2 && !languages2.includes(language)) {\n return acc;\n }\n themeEntry.types.forEach((type) => {\n const accStyle = __spreadValues(__spreadValues({}, acc[type]), style);\n acc[type] = accStyle;\n });\n return acc;\n }, {});\n themeDict.root = plain;\n themeDict.plain = __spreadProps(__spreadValues({}, plain), { backgroundColor: void 0 });\n return themeDict;\n};\nvar themeToDict_default = themeToDict;\n\n// src/components/highlight.ts\nvar Highlight = ({\n children,\n language: _language,\n code,\n theme: theme21,\n prism\n}) => {\n const language = _language.toLowerCase();\n const themeDictionary = themeToDict_default(theme21, language);\n const getLineProps = useGetLineProps(themeDictionary);\n const getTokenProps = useGetTokenProps(themeDictionary);\n const grammar = prism.languages[language];\n const tokens = useTokenize({ prism, language, code, grammar });\n return children({\n tokens,\n className: `prism-code language-${language}`,\n style: themeDictionary != null ? themeDictionary.root : {},\n getLineProps,\n getTokenProps\n });\n};\n\n// src/index.ts\nvar Highlight2 = (props) => createElement(Highlight, __spreadProps(__spreadValues({}, props), {\n prism: props.prism || Prism,\n theme: props.theme || vsDark_default,\n code: props.code,\n language: props.language\n}));\nexport {\n Highlight2 as Highlight,\n Prism,\n normalizeTokens_default as normalizeTokens,\n themes_exports as themes,\n useTokenize\n};\n/*! Bundled license information:\n\nprismjs/prism.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\n//# sourceMappingURL=index.mjs.map","import { Prism } from \"prism-react-renderer\";\n\nconst LANGUAGE_ALIASES: Record<string, string> = {\n sh: \"bash\",\n shell: \"bash\",\n zsh: \"bash\",\n html: \"markup\",\n js: \"javascript\",\n ts: \"typescript\",\n};\n\n/**\n * Bash não vem no bundle do prism-react-renderer. Registramos inline para\n * evitar importar prismjs/components/* — no Vite/ESM eles rodam antes de\n * globalThis.Prism existir e quebram a página.\n */\nfunction registerBashGrammar() {\n if (Prism.languages.bash) return;\n\n Prism.languages.bash = {\n comment: { pattern: /#.*/, greedy: true },\n string: { pattern: /([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1/, greedy: true },\n builtin:\n /\\b(?:npm|npx|yarn|pnpm|node|git|cd|mkdir|rm|cp|mv|echo|export|source|sudo|curl|wget|install)\\b/,\n keyword:\n /\\b(?:if|then|else|elif|fi|for|while|do|done|in|case|esac|function|select|return|exit)\\b/,\n operator: /&&|\\|\\||>>|<<|[-%*+=^!|&;<>]/,\n punctuation: /[{}()[\\]$]/,\n variable: /\\$[\\w@#?*!-]+/,\n };\n\n Prism.languages.sh = Prism.languages.bash;\n Prism.languages.shell = Prism.languages.bash;\n}\n\nregisterBashGrammar();\n\nexport function resolveLanguage(language?: string): string {\n if (!language) return \"javascript\";\n const normalized = language.toLowerCase();\n return LANGUAGE_ALIASES[normalized] ?? normalized;\n}\n\nexport function isSupportedLanguage(language: string): boolean {\n return Boolean(Prism.languages[language]);\n}\n","import type { PrismTheme } from \"prism-react-renderer\";\n\n/** Tema de syntax highlighting — usa tokens com contraste por modo (light/dark). */\nexport const fluiSyntaxTheme: PrismTheme = {\n plain: {\n color: \"var(--color-fg)\",\n backgroundColor: \"transparent\",\n },\n styles: [\n {\n types: [\"comment\", \"prolog\", \"doctype\", \"cdata\"],\n style: { color: \"var(--color-fg-muted)\", fontStyle: \"italic\" },\n },\n {\n types: [\"string\", \"char\", \"attr-value\", \"regex\", \"inserted\"],\n style: { color: \"var(--color-syntax-string)\" },\n },\n {\n types: [\"keyword\", \"atrule\"],\n style: { color: \"var(--color-syntax-keyword)\" },\n },\n {\n types: [\"function\", \"method\", \"function-variable\"],\n style: { color: \"var(--color-syntax-keyword)\" },\n },\n {\n types: [\"tag\", \"builtin\", \"important\"],\n style: { color: \"var(--color-danger)\" },\n },\n {\n types: [\"class-name\", \"maybe-class-name\", \"selector\"],\n style: { color: \"var(--color-syntax-class)\" },\n },\n {\n types: [\"number\", \"boolean\", \"constant\", \"symbol\"],\n style: { color: \"var(--color-syntax-number)\" },\n },\n {\n types: [\"operator\", \"punctuation\", \"entity\", \"url\"],\n style: { color: \"var(--color-fg-muted)\" },\n },\n {\n types: [\"property\", \"variable\", \"parameter\"],\n style: { color: \"var(--color-fg)\" },\n },\n {\n types: [\"deleted\"],\n style: { color: \"var(--color-danger)\" },\n },\n ],\n};\n","import { forwardRef } from \"react\";\nimport { Highlight } from \"prism-react-renderer\";\nimport { cn } from \"../../utils/cn\";\nimport { useToast } from \"../Toast/Toast\";\nimport { isSupportedLanguage, resolveLanguage } from \"./prismSetup\";\nimport { fluiSyntaxTheme } from \"./syntaxTheme\";\n\nexport interface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Rótulo exibido no canto superior esquerdo (ex: \"tsx\", \"bash\"). */\n language?: string;\n /** Código a ser exibido. */\n code: string;\n}\n\nexport const CodeBlock = forwardRef<HTMLDivElement, CodeBlockProps>(\n ({ code, language, className, ...props }, ref) => {\n const { toast } = useToast();\n const resolvedLanguage = resolveLanguage(language);\n const canHighlight = isSupportedLanguage(resolvedLanguage);\n\n function handleCopy() {\n navigator.clipboard.writeText(code).then(() => {\n toast({ title: \"Copiado!\", variant: \"success\", duration: 2000 });\n });\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"overflow-hidden rounded-lg bg-bg-subtle\", className)}\n {...props}\n >\n <div className=\"flex items-center justify-between bg-bg-muted px-4 py-2\">\n {language ? (\n <span className=\"font-mono text-xs text-fg-muted\">{language}</span>\n ) : (\n <span />\n )}\n <button\n type=\"button\"\n onClick={handleCopy}\n aria-label=\"Copiar código\"\n className=\"inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-fg-muted transition-colors hover:bg-bg hover:text-fg\"\n >\n <CopyIcon />\n Copiar\n </button>\n </div>\n\n {canHighlight ? (\n <Highlight\n code={code.trimEnd()}\n language={resolvedLanguage}\n theme={fluiSyntaxTheme}\n >\n {({ tokens, getLineProps, getTokenProps }) => (\n <pre className=\"overflow-x-auto p-4 text-sm leading-relaxed\">\n <code className=\"font-mono\">\n {tokens.map((line, lineIndex) => (\n <div key={lineIndex} {...getLineProps({ line })}>\n {line.map((token, tokenIndex) => (\n <span key={tokenIndex} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </code>\n </pre>\n )}\n </Highlight>\n ) : (\n <pre className=\"overflow-x-auto p-4 text-sm leading-relaxed\">\n <code className=\"font-mono text-fg\">{code}</code>\n </pre>\n )}\n </div>\n );\n },\n);\n\nCodeBlock.displayName = \"CodeBlock\";\n\nfunction CopyIcon() {\n return (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <rect x=\"6\" y=\"6\" width=\"8\" height=\"8\" rx=\"1.5\" />\n <path d=\"M4 10H3a1.5 1.5 0 0 1-1.5-1.5v-6A1.5 1.5 0 0 1 3 1h6A1.5 1.5 0 0 1 10.5 2.5V4\" />\n </svg>\n );\n}\n","import { useState } from \"react\";\nimport { Modal, ModalContent } from \"../Modal/Modal\";\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface ProfileSettingsUser {\n name: string;\n subtitle?: string;\n /** Texto de fallback se não houver avatar (ex: \"EM\") */\n initials?: string;\n /** URL da foto */\n avatar?: string;\n}\n\nexport interface ProfileSettingsNavItem {\n id: string;\n label: string;\n /** Qualquer ReactNode — passe um ícone Tabler ou SVG */\n icon?: React.ReactNode;\n}\n\nexport interface ProfileSettingsNavGroup {\n group: string;\n items: ProfileSettingsNavItem[];\n}\n\nexport interface ProfileSettingsModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n user: ProfileSettingsUser;\n nav: ProfileSettingsNavGroup[];\n /** Seção ativa inicial */\n defaultSection?: string;\n /** Seção ativa controlada externamente */\n activeSection?: string;\n onSectionChange?: (id: string) => void;\n /** Título por seção. Fallback: label do item */\n sectionTitles?: Record<string, string>;\n /** Subtítulo por seção */\n sectionSubtitles?: Record<string, string>;\n /** Renderiza o conteúdo da seção ativa */\n renderSection?: (id: string) => React.ReactNode;\n /** Ação no rodapé do sidebar (ex: \"Get help\") */\n footerAction?: React.ReactNode;\n}\n\n// ─── Sidebar ──────────────────────────────────────────────────────────────────\n\nfunction Sidebar({\n user,\n nav,\n active,\n onSelect,\n footerAction,\n}: {\n user: ProfileSettingsUser;\n nav: ProfileSettingsNavGroup[];\n active: string;\n onSelect: (id: string) => void;\n footerAction?: React.ReactNode;\n}) {\n const itemClass = (isActive: boolean) =>\n \"flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-sm transition-colors \" +\n (isActive ? \"bg-bg-subtle font-medium text-fg\" : \"text-fg hover:bg-bg-subtle\");\n\n return (\n <aside className=\"flex w-52 shrink-0 flex-col gap-5 overflow-y-auto border-r border-border-default bg-bg py-5 pl-4 pr-2\">\n {/* User info */}\n <div className=\"flex items-center gap-2.5 px-1\">\n {user.avatar ? (\n <img\n src={user.avatar}\n alt={user.name}\n className=\"h-8 w-8 shrink-0 rounded-full object-cover\"\n />\n ) : (\n <span className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary-subtle text-xs font-semibold text-primary\">\n {user.initials ?? user.name.slice(0, 2).toUpperCase()}\n </span>\n )}\n <div className=\"min-w-0\">\n <p className=\"truncate text-sm font-medium text-fg\">{user.name}</p>\n {user.subtitle && (\n <p className=\"truncate text-xs text-fg-muted\">{user.subtitle}</p>\n )}\n </div>\n <svg\n viewBox=\"0 0 16 16\"\n className=\"ml-auto h-3.5 w-3.5 shrink-0 text-fg-muted\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden\n >\n <path d=\"M5 7l3-3 3 3M5 9l3 3 3-3\" />\n </svg>\n </div>\n\n {/* Nav groups */}\n {nav.map(({ group, items }) => (\n <div key={group}>\n <p className=\"mb-1 px-1 text-xs font-semibold text-fg-muted\">{group}</p>\n <ul className=\"flex flex-col gap-0.5\">\n {items.map((item) => (\n <li key={item.id}>\n <button\n type=\"button\"\n onClick={() => onSelect(item.id)}\n className={itemClass(item.id === active)}\n >\n {item.icon && (\n <span className=\"shrink-0 text-fg [&>svg]:h-[15px] [&>svg]:w-[15px]\">\n {item.icon}\n </span>\n )}\n {item.label}\n </button>\n </li>\n ))}\n </ul>\n </div>\n ))}\n\n {/* Footer slot */}\n {footerAction && <div className=\"mt-auto\">{footerAction}</div>}\n </aside>\n );\n}\n\n// ─── Settings primitives ─────────────────────────────────────────────────────\n\nimport { Switch } from \"../Switch/Switch\";\nimport { Button } from \"../Button/Button\";\n\nexport function SettingRow({\n title,\n description,\n checked,\n onCheckedChange,\n}: {\n title: string;\n description?: string;\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n}) {\n return (\n <div className=\"flex items-center justify-between gap-6 px-4 py-4\">\n <div>\n <p className=\"text-sm font-medium text-fg\">{title}</p>\n {description && <p className=\"mt-0.5 text-sm text-fg-muted\">{description}</p>}\n </div>\n <Switch checked={checked} onCheckedChange={onCheckedChange} className=\"shrink-0\" />\n </div>\n );\n}\n\nexport function SettingsCard({ children }: { children: React.ReactNode }) {\n return (\n <div className=\"divide-y divide-border-default rounded-xl bg-bg-elevated\">\n {children}\n </div>\n );\n}\n\nexport function SettingsGroup({\n title,\n children,\n}: {\n title: string;\n children: React.ReactNode;\n}) {\n return (\n <div className=\"flex flex-col gap-3\">\n <h3 className=\"text-base font-semibold text-fg\">{title}</h3>\n <SettingsCard>{children}</SettingsCard>\n </div>\n );\n}\n\nexport interface IntegrationRowProps {\n icon: React.ReactNode;\n title: string;\n description?: string;\n connected?: boolean;\n onConnect?: () => void;\n onDisconnect?: () => void;\n}\n\nexport function IntegrationRow({\n icon,\n title,\n description,\n connected = false,\n onConnect,\n onDisconnect,\n}: IntegrationRowProps) {\n return (\n <div className=\"flex items-center gap-4 rounded-xl bg-bg-elevated px-4 py-4\">\n <div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-bg-muted\">\n <span className=\"[&>svg]:h-4 [&>svg]:w-4\">{icon}</span>\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium text-fg\">{title}</p>\n {description && <p className=\"mt-0.5 text-sm text-fg-muted\">{description}</p>}\n </div>\n {connected ? (\n <Button variant=\"danger-ghost\" size=\"sm\" onClick={onDisconnect}>\n Desconectar\n </Button>\n ) : (\n <Button variant=\"secondary\" size=\"sm\" onClick={onConnect}>\n Conectar\n </Button>\n )}\n </div>\n );\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport function ProfileSettingsModal({\n open,\n onOpenChange,\n user,\n nav,\n defaultSection,\n activeSection: controlledSection,\n onSectionChange,\n sectionTitles = {},\n sectionSubtitles = {},\n renderSection,\n footerAction,\n}: ProfileSettingsModalProps) {\n const firstId = nav[0]?.items[0]?.id ?? \"\";\n const [internalSection, setInternalSection] = useState(\n defaultSection ?? firstId,\n );\n\n const active = controlledSection ?? internalSection;\n\n const handleSelect = (id: string) => {\n setInternalSection(id);\n onSectionChange?.(id);\n };\n\n // resolve title: explicit override → nav label → id\n const allItems = nav.flatMap((g) => g.items);\n const activeItem = allItems.find((i) => i.id === active);\n const title = sectionTitles[active] ?? activeItem?.label ?? active;\n const subtitle = sectionSubtitles[active];\n\n return (\n <Modal open={open} onOpenChange={onOpenChange}>\n <ModalContent className=\"max-w-[1300px] overflow-hidden p-0\">\n <div className=\"flex h-[820px]\">\n <Sidebar\n user={user}\n nav={nav}\n active={active}\n onSelect={handleSelect}\n footerAction={footerAction}\n />\n\n <div className=\"flex flex-1 flex-col overflow-hidden bg-bg-subtle\">\n <div className=\"relative px-[200px] pb-8 pt-8\">\n <h2 className=\"font-display text-2xl font-semibold tracking-tight text-fg\">\n {title}\n </h2>\n {subtitle && (\n <p className=\"mt-0.5 text-sm text-fg-muted\">{subtitle}</p>\n )}\n <div className=\"pointer-events-none absolute inset-x-0 -bottom-6 h-6 bg-gradient-to-b from-bg-subtle to-transparent\" />\n </div>\n\n <div className=\"flex-1 overflow-y-auto px-[200px] pb-8 pt-6\">\n {renderSection?.(active) ?? (\n <p className=\"text-sm text-fg-muted\">\n Conteúdo de <strong>{title}</strong>.\n </p>\n )}\n </div>\n </div>\n </div>\n </ModalContent>\n </Modal>\n );\n}\n","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\n/** Modo de cor. \"system\" segue a preferência do SO. */\nexport type ColorMode = \"light\" | \"dark\" | \"system\";\n\n/**\n * Marca/tema. \"default\" usa o ramp base (:root). Os demais correspondem aos\n * blocos [data-brand=\"…\"] gerados pelo Style Dictionary a partir de\n * tokens/brands/*.json — daí o tipo aberto (string) para temas customizados.\n */\nexport type Brand = \"default\" | (string & {});\n\nexport type RadiusScale = \"sharp\" | \"default\" | \"soft\" | \"round\";\n\ninterface ThemeContextValue {\n /** Preferência escolhida (pode ser \"system\"). */\n mode: ColorMode;\n /** Modo efetivo já resolvido (\"light\" | \"dark\"). */\n resolvedMode: \"light\" | \"dark\";\n brand: Brand;\n radius: RadiusScale;\n setMode: (mode: ColorMode) => void;\n setBrand: (brand: Brand) => void;\n setRadius: (radius: RadiusScale) => void;\n /** Alterna entre claro e escuro (resolve \"system\" antes). */\n toggleMode: () => void;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\n\nconst MODE_KEY = \"flui-color-mode\";\nconst BRAND_KEY = \"flui-brand\";\nconst RADIUS_KEY = \"flui-radius\";\n\nfunction prefersDark(): boolean {\n return (\n typeof window !== \"undefined\" &&\n window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches\n );\n}\n\nfunction load<T extends string>(key: string, fallback: T): T {\n try {\n return (localStorage.getItem(key) as T) ?? fallback;\n } catch {\n return fallback;\n }\n}\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n /** Modo inicial caso não haja preferência salva. Padrão: \"system\". */\n defaultMode?: ColorMode;\n /** Marca inicial caso não haja preferência salva. Padrão: \"default\". */\n defaultBrand?: Brand;\n /** Escala de radius inicial caso não haja preferência salva. Padrão: \"default\". */\n defaultRadius?: RadiusScale;\n /**\n * Onde aplicar os atributos data-theme / data-brand / data-radius.\n * Padrão: document.documentElement (escopo global do app).\n */\n target?: () => HTMLElement | null;\n}\n\nexport function ThemeProvider({\n children,\n defaultMode = \"system\",\n defaultBrand = \"default\",\n defaultRadius = \"default\",\n target,\n}: ThemeProviderProps) {\n const [mode, setModeState] = useState<ColorMode>(() =>\n load(MODE_KEY, defaultMode),\n );\n const [brand, setBrandState] = useState<Brand>(() =>\n load(BRAND_KEY, defaultBrand),\n );\n const [radius, setRadiusState] = useState<RadiusScale>(() =>\n load(RADIUS_KEY, defaultRadius),\n );\n const [systemDark, setSystemDark] = useState(prefersDark);\n\n // acompanha mudanças do SO quando o modo é \"system\"\n useEffect(() => {\n const mq = window.matchMedia?.(\"(prefers-color-scheme: dark)\");\n if (!mq) return;\n const onChange = (e: MediaQueryListEvent) => setSystemDark(e.matches);\n mq.addEventListener(\"change\", onChange);\n return () => mq.removeEventListener(\"change\", onChange);\n }, []);\n\n const resolvedMode: \"light\" | \"dark\" =\n mode === \"system\" ? (systemDark ? \"dark\" : \"light\") : mode;\n\n // aplica os atributos no elemento alvo\n useEffect(() => {\n const el = target?.() ?? document.documentElement;\n el.setAttribute(\"data-theme\", resolvedMode);\n if (brand && brand !== \"default\") {\n el.setAttribute(\"data-brand\", brand);\n } else {\n el.removeAttribute(\"data-brand\");\n }\n if (radius && radius !== \"default\") {\n el.setAttribute(\"data-radius\", radius);\n } else {\n el.removeAttribute(\"data-radius\");\n }\n }, [resolvedMode, brand, radius, target]);\n\n const setMode = useCallback((m: ColorMode) => {\n setModeState(m);\n try {\n localStorage.setItem(MODE_KEY, m);\n } catch {\n /* ignore */\n }\n }, []);\n\n const setBrand = useCallback((b: Brand) => {\n setBrandState(b);\n try {\n localStorage.setItem(BRAND_KEY, b);\n } catch {\n /* ignore */\n }\n }, []);\n\n const setRadius = useCallback((r: RadiusScale) => {\n setRadiusState(r);\n try {\n localStorage.setItem(RADIUS_KEY, r);\n } catch {\n /* ignore */\n }\n }, []);\n\n const toggleMode = useCallback(() => {\n setMode(resolvedMode === \"dark\" ? \"light\" : \"dark\");\n }, [resolvedMode, setMode]);\n\n const value = useMemo<ThemeContextValue>(\n () => ({ mode, resolvedMode, brand, radius, setMode, setBrand, setRadius, toggleMode }),\n [mode, resolvedMode, brand, radius, setMode, setBrand, setRadius, toggleMode],\n );\n\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n\nexport function useTheme() {\n const ctx = useContext(ThemeContext);\n if (!ctx) {\n throw new Error(\"useTheme precisa estar dentro de <ThemeProvider>\");\n }\n return ctx;\n}\n","// AUTO-GERADO por Style Dictionary. Não editar à mão.\n// Fonte: tokens/*.json — rode `npm run tokens` para regenerar.\n\nexport interface TokenMeta {\n name: string;\n cssVar: string;\n path: string[];\n group: string;\n value: string;\n isColor: boolean;\n reference: string | null;\n}\n\nexport const tokens: TokenMeta[] = [\n {\n \"name\": \"flui-color-accent-scale-50\",\n \"cssVar\": \"--flui-color-accent-scale-50\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"50\"\n ],\n \"group\": \"color\",\n \"value\": \"#f9ffe0\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-100\",\n \"cssVar\": \"--flui-color-accent-scale-100\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"100\"\n ],\n \"group\": \"color\",\n \"value\": \"#f3ffb8\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-200\",\n \"cssVar\": \"--flui-color-accent-scale-200\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"200\"\n ],\n \"group\": \"color\",\n \"value\": \"#e8ff80\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-300\",\n \"cssVar\": \"--flui-color-accent-scale-300\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"300\"\n ],\n \"group\": \"color\",\n \"value\": \"#dcff45\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-400\",\n \"cssVar\": \"--flui-color-accent-scale-400\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"400\"\n ],\n \"group\": \"color\",\n \"value\": \"#d7ff15\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-500\",\n \"cssVar\": \"--flui-color-accent-scale-500\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#c4eb00\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-600\",\n \"cssVar\": \"--flui-color-accent-scale-600\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#afd100\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-700\",\n \"cssVar\": \"--flui-color-accent-scale-700\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"700\"\n ],\n \"group\": \"color\",\n \"value\": \"#8ab000\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-800\",\n \"cssVar\": \"--flui-color-accent-scale-800\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"800\"\n ],\n \"group\": \"color\",\n \"value\": \"#638000\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-accent-scale-900\",\n \"cssVar\": \"--flui-color-accent-scale-900\",\n \"path\": [\n \"color\",\n \"accent-scale\",\n \"900\"\n ],\n \"group\": \"color\",\n \"value\": \"#1a2200\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-50\",\n \"cssVar\": \"--flui-color-brand-50\",\n \"path\": [\n \"color\",\n \"brand\",\n \"50\"\n ],\n \"group\": \"color\",\n \"value\": \"#e8eeff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-100\",\n \"cssVar\": \"--flui-color-brand-100\",\n \"path\": [\n \"color\",\n \"brand\",\n \"100\"\n ],\n \"group\": \"color\",\n \"value\": \"#ccd5ff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-200\",\n \"cssVar\": \"--flui-color-brand-200\",\n \"path\": [\n \"color\",\n \"brand\",\n \"200\"\n ],\n \"group\": \"color\",\n \"value\": \"#99abff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-300\",\n \"cssVar\": \"--flui-color-brand-300\",\n \"path\": [\n \"color\",\n \"brand\",\n \"300\"\n ],\n \"group\": \"color\",\n \"value\": \"#6680ff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-400\",\n \"cssVar\": \"--flui-color-brand-400\",\n \"path\": [\n \"color\",\n \"brand\",\n \"400\"\n ],\n \"group\": \"color\",\n \"value\": \"#3355ff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-500\",\n \"cssVar\": \"--flui-color-brand-500\",\n \"path\": [\n \"color\",\n \"brand\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#0033d6\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-600\",\n \"cssVar\": \"--flui-color-brand-600\",\n \"path\": [\n \"color\",\n \"brand\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#0029b0\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-700\",\n \"cssVar\": \"--flui-color-brand-700\",\n \"path\": [\n \"color\",\n \"brand\",\n \"700\"\n ],\n \"group\": \"color\",\n \"value\": \"#001f8a\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-800\",\n \"cssVar\": \"--flui-color-brand-800\",\n \"path\": [\n \"color\",\n \"brand\",\n \"800\"\n ],\n \"group\": \"color\",\n \"value\": \"#001566\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-brand-900\",\n \"cssVar\": \"--flui-color-brand-900\",\n \"path\": [\n \"color\",\n \"brand\",\n \"900\"\n ],\n \"group\": \"color\",\n \"value\": \"#000b42\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-0\",\n \"cssVar\": \"--flui-color-neutral-0\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"0\"\n ],\n \"group\": \"color\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-50\",\n \"cssVar\": \"--flui-color-neutral-50\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"50\"\n ],\n \"group\": \"color\",\n \"value\": \"#f7f8fa\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-100\",\n \"cssVar\": \"--flui-color-neutral-100\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"100\"\n ],\n \"group\": \"color\",\n \"value\": \"#f3f4f7\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-150\",\n \"cssVar\": \"--flui-color-neutral-150\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"150\"\n ],\n \"group\": \"color\",\n \"value\": \"#eceef2\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-200\",\n \"cssVar\": \"--flui-color-neutral-200\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"200\"\n ],\n \"group\": \"color\",\n \"value\": \"#dde1e9\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-300\",\n \"cssVar\": \"--flui-color-neutral-300\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"300\"\n ],\n \"group\": \"color\",\n \"value\": \"#c2c8d4\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-400\",\n \"cssVar\": \"--flui-color-neutral-400\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"400\"\n ],\n \"group\": \"color\",\n \"value\": \"#9aa2b4\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-500\",\n \"cssVar\": \"--flui-color-neutral-500\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#6b7385\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-600\",\n \"cssVar\": \"--flui-color-neutral-600\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#4c5263\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-700\",\n \"cssVar\": \"--flui-color-neutral-700\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"700\"\n ],\n \"group\": \"color\",\n \"value\": \"#363b49\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-750\",\n \"cssVar\": \"--flui-color-neutral-750\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"750\"\n ],\n \"group\": \"color\",\n \"value\": \"#2c303c\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-800\",\n \"cssVar\": \"--flui-color-neutral-800\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"800\"\n ],\n \"group\": \"color\",\n \"value\": \"#22262f\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-850\",\n \"cssVar\": \"--flui-color-neutral-850\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"850\"\n ],\n \"group\": \"color\",\n \"value\": \"#1a1d25\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-875\",\n \"cssVar\": \"--flui-color-neutral-875\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"875\"\n ],\n \"group\": \"color\",\n \"value\": \"#161920\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-900\",\n \"cssVar\": \"--flui-color-neutral-900\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"900\"\n ],\n \"group\": \"color\",\n \"value\": \"#13151b\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-950\",\n \"cssVar\": \"--flui-color-neutral-950\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"950\"\n ],\n \"group\": \"color\",\n \"value\": \"#0e1015\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-neutral-1000\",\n \"cssVar\": \"--flui-color-neutral-1000\",\n \"path\": [\n \"color\",\n \"neutral\",\n \"1000\"\n ],\n \"group\": \"color\",\n \"value\": \"#050608\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-success-500\",\n \"cssVar\": \"--flui-color-success-500\",\n \"path\": [\n \"color\",\n \"success\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#1f9d55\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-success-600\",\n \"cssVar\": \"--flui-color-success-600\",\n \"path\": [\n \"color\",\n \"success\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#157f43\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-warning-500\",\n \"cssVar\": \"--flui-color-warning-500\",\n \"path\": [\n \"color\",\n \"warning\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#d9920a\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-warning-600\",\n \"cssVar\": \"--flui-color-warning-600\",\n \"path\": [\n \"color\",\n \"warning\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#b6790a\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-danger-500\",\n \"cssVar\": \"--flui-color-danger-500\",\n \"path\": [\n \"color\",\n \"danger\",\n \"500\"\n ],\n \"group\": \"color\",\n \"value\": \"#e02424\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-color-danger-600\",\n \"cssVar\": \"--flui-color-danger-600\",\n \"path\": [\n \"color\",\n \"danger\",\n \"600\"\n ],\n \"group\": \"color\",\n \"value\": \"#bd1b1b\",\n \"isColor\": true,\n \"reference\": null\n },\n {\n \"name\": \"flui-semantic-bg-base\",\n \"cssVar\": \"--flui-semantic-bg-base\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"base\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-0\"\n },\n {\n \"name\": \"flui-semantic-bg-subtle\",\n \"cssVar\": \"--flui-semantic-bg-subtle\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#f7f8fa\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-50\"\n },\n {\n \"name\": \"flui-semantic-bg-muted\",\n \"cssVar\": \"--flui-semantic-bg-muted\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"muted\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#eceef2\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-150\"\n },\n {\n \"name\": \"flui-semantic-bg-elevated\",\n \"cssVar\": \"--flui-semantic-bg-elevated\",\n \"path\": [\n \"semantic\",\n \"bg\",\n \"elevated\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-0\"\n },\n {\n \"name\": \"flui-semantic-fg-default\",\n \"cssVar\": \"--flui-semantic-fg-default\",\n \"path\": [\n \"semantic\",\n \"fg\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#13151b\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-900\"\n },\n {\n \"name\": \"flui-semantic-fg-muted\",\n \"cssVar\": \"--flui-semantic-fg-muted\",\n \"path\": [\n \"semantic\",\n \"fg\",\n \"muted\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#6b7385\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-500\"\n },\n {\n \"name\": \"flui-semantic-fg-on-brand\",\n \"cssVar\": \"--flui-semantic-fg-on-brand\",\n \"path\": [\n \"semantic\",\n \"fg\",\n \"onBrand\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#ffffff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-0\"\n },\n {\n \"name\": \"flui-semantic-border-default\",\n \"cssVar\": \"--flui-semantic-border-default\",\n \"path\": [\n \"semantic\",\n \"border\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#eceef2\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-150\"\n },\n {\n \"name\": \"flui-semantic-border-strong\",\n \"cssVar\": \"--flui-semantic-border-strong\",\n \"path\": [\n \"semantic\",\n \"border\",\n \"strong\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#c2c8d4\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-300\"\n },\n {\n \"name\": \"flui-semantic-primary-default\",\n \"cssVar\": \"--flui-semantic-primary-default\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#0033d6\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-500\"\n },\n {\n \"name\": \"flui-semantic-primary-hover\",\n \"cssVar\": \"--flui-semantic-primary-hover\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"hover\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#0029b0\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-600\"\n },\n {\n \"name\": \"flui-semantic-primary-active\",\n \"cssVar\": \"--flui-semantic-primary-active\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"active\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#001f8a\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-700\"\n },\n {\n \"name\": \"flui-semantic-primary-subtle\",\n \"cssVar\": \"--flui-semantic-primary-subtle\",\n \"path\": [\n \"semantic\",\n \"primary\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#e8eeff\",\n \"isColor\": true,\n \"reference\": \"--flui-color-brand-50\"\n },\n {\n \"name\": \"flui-semantic-accent-default\",\n \"cssVar\": \"--flui-semantic-accent-default\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#d7ff15\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-400\"\n },\n {\n \"name\": \"flui-semantic-accent-hover\",\n \"cssVar\": \"--flui-semantic-accent-hover\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"hover\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#c4eb00\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-500\"\n },\n {\n \"name\": \"flui-semantic-accent-active\",\n \"cssVar\": \"--flui-semantic-accent-active\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"active\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#afd100\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-600\"\n },\n {\n \"name\": \"flui-semantic-accent-subtle\",\n \"cssVar\": \"--flui-semantic-accent-subtle\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#f3ffb8\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-100\"\n },\n {\n \"name\": \"flui-semantic-accent-foreground\",\n \"cssVar\": \"--flui-semantic-accent-foreground\",\n \"path\": [\n \"semantic\",\n \"accent\",\n \"foreground\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#1a2200\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-900\"\n },\n {\n \"name\": \"flui-semantic-danger-default\",\n \"cssVar\": \"--flui-semantic-danger-default\",\n \"path\": [\n \"semantic\",\n \"danger\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#e02424\",\n \"isColor\": true,\n \"reference\": \"--flui-color-danger-500\"\n },\n {\n \"name\": \"flui-semantic-danger-hover\",\n \"cssVar\": \"--flui-semantic-danger-hover\",\n \"path\": [\n \"semantic\",\n \"danger\",\n \"hover\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#bd1b1b\",\n \"isColor\": true,\n \"reference\": \"--flui-color-danger-600\"\n },\n {\n \"name\": \"flui-semantic-success-default\",\n \"cssVar\": \"--flui-semantic-success-default\",\n \"path\": [\n \"semantic\",\n \"success\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#afd100\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-600\"\n },\n {\n \"name\": \"flui-semantic-success-subtle\",\n \"cssVar\": \"--flui-semantic-success-subtle\",\n \"path\": [\n \"semantic\",\n \"success\",\n \"subtle\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#f3ffb8\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-100\"\n },\n {\n \"name\": \"flui-semantic-success-foreground\",\n \"cssVar\": \"--flui-semantic-success-foreground\",\n \"path\": [\n \"semantic\",\n \"success\",\n \"foreground\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#1a2200\",\n \"isColor\": true,\n \"reference\": \"--flui-color-accent-scale-900\"\n },\n {\n \"name\": \"flui-semantic-warning-default\",\n \"cssVar\": \"--flui-semantic-warning-default\",\n \"path\": [\n \"semantic\",\n \"warning\",\n \"default\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#d9920a\",\n \"isColor\": true,\n \"reference\": \"--flui-color-warning-500\"\n },\n {\n \"name\": \"flui-semantic-warning-on-warning\",\n \"cssVar\": \"--flui-semantic-warning-on-warning\",\n \"path\": [\n \"semantic\",\n \"warning\",\n \"onWarning\"\n ],\n \"group\": \"semantic\",\n \"value\": \"#13151b\",\n \"isColor\": true,\n \"reference\": \"--flui-color-neutral-900\"\n },\n {\n \"name\": \"flui-space-0\",\n \"cssVar\": \"--flui-space-0\",\n \"path\": [\n \"space\",\n \"0\"\n ],\n \"group\": \"space\",\n \"value\": \"0\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-1\",\n \"cssVar\": \"--flui-space-1\",\n \"path\": [\n \"space\",\n \"1\"\n ],\n \"group\": \"space\",\n \"value\": \"4px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-2\",\n \"cssVar\": \"--flui-space-2\",\n \"path\": [\n \"space\",\n \"2\"\n ],\n \"group\": \"space\",\n \"value\": \"8px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-3\",\n \"cssVar\": \"--flui-space-3\",\n \"path\": [\n \"space\",\n \"3\"\n ],\n \"group\": \"space\",\n \"value\": \"12px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-4\",\n \"cssVar\": \"--flui-space-4\",\n \"path\": [\n \"space\",\n \"4\"\n ],\n \"group\": \"space\",\n \"value\": \"16px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-5\",\n \"cssVar\": \"--flui-space-5\",\n \"path\": [\n \"space\",\n \"5\"\n ],\n \"group\": \"space\",\n \"value\": \"20px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-6\",\n \"cssVar\": \"--flui-space-6\",\n \"path\": [\n \"space\",\n \"6\"\n ],\n \"group\": \"space\",\n \"value\": \"24px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-8\",\n \"cssVar\": \"--flui-space-8\",\n \"path\": [\n \"space\",\n \"8\"\n ],\n \"group\": \"space\",\n \"value\": \"32px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-10\",\n \"cssVar\": \"--flui-space-10\",\n \"path\": [\n \"space\",\n \"10\"\n ],\n \"group\": \"space\",\n \"value\": \"40px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-12\",\n \"cssVar\": \"--flui-space-12\",\n \"path\": [\n \"space\",\n \"12\"\n ],\n \"group\": \"space\",\n \"value\": \"48px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-space-16\",\n \"cssVar\": \"--flui-space-16\",\n \"path\": [\n \"space\",\n \"16\"\n ],\n \"group\": \"space\",\n \"value\": \"64px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-none\",\n \"cssVar\": \"--flui-radius-none\",\n \"path\": [\n \"radius\",\n \"none\"\n ],\n \"group\": \"radius\",\n \"value\": \"0\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-sm\",\n \"cssVar\": \"--flui-radius-sm\",\n \"path\": [\n \"radius\",\n \"sm\"\n ],\n \"group\": \"radius\",\n \"value\": \"8px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-md\",\n \"cssVar\": \"--flui-radius-md\",\n \"path\": [\n \"radius\",\n \"md\"\n ],\n \"group\": \"radius\",\n \"value\": \"12px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-lg\",\n \"cssVar\": \"--flui-radius-lg\",\n \"path\": [\n \"radius\",\n \"lg\"\n ],\n \"group\": \"radius\",\n \"value\": \"16px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-xl\",\n \"cssVar\": \"--flui-radius-xl\",\n \"path\": [\n \"radius\",\n \"xl\"\n ],\n \"group\": \"radius\",\n \"value\": \"24px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-full\",\n \"cssVar\": \"--flui-radius-full\",\n \"path\": [\n \"radius\",\n \"full\"\n ],\n \"group\": \"radius\",\n \"value\": \"9999px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-radius-badge\",\n \"cssVar\": \"--flui-radius-badge\",\n \"path\": [\n \"radius\",\n \"badge\"\n ],\n \"group\": \"radius\",\n \"value\": \"9999px\",\n \"isColor\": false,\n \"reference\": \"--flui-radius-full\"\n },\n {\n \"name\": \"flui-shadow-sm\",\n \"cssVar\": \"--flui-shadow-sm\",\n \"path\": [\n \"shadow\",\n \"sm\"\n ],\n \"group\": \"shadow\",\n \"value\": \"0 1px 2px rgba(19, 21, 27, 0.06)\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-shadow-md\",\n \"cssVar\": \"--flui-shadow-md\",\n \"path\": [\n \"shadow\",\n \"md\"\n ],\n \"group\": \"shadow\",\n \"value\": \"0 4px 12px rgba(19, 21, 27, 0.10)\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-shadow-lg\",\n \"cssVar\": \"--flui-shadow-lg\",\n \"path\": [\n \"shadow\",\n \"lg\"\n ],\n \"group\": \"shadow\",\n \"value\": \"0 12px 32px rgba(19, 21, 27, 0.14)\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-family-sans\",\n \"cssVar\": \"--flui-font-family-sans\",\n \"path\": [\n \"font\",\n \"family\",\n \"sans\"\n ],\n \"group\": \"font\",\n \"value\": \"Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-family-mono\",\n \"cssVar\": \"--flui-font-family-mono\",\n \"path\": [\n \"font\",\n \"family\",\n \"mono\"\n ],\n \"group\": \"font\",\n \"value\": \"ui-monospace, SFMono-Regular, Menlo, monospace\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-regular\",\n \"cssVar\": \"--flui-font-weight-regular\",\n \"path\": [\n \"font\",\n \"weight\",\n \"regular\"\n ],\n \"group\": \"font\",\n \"value\": \"400\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-medium\",\n \"cssVar\": \"--flui-font-weight-medium\",\n \"path\": [\n \"font\",\n \"weight\",\n \"medium\"\n ],\n \"group\": \"font\",\n \"value\": \"500\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-semibold\",\n \"cssVar\": \"--flui-font-weight-semibold\",\n \"path\": [\n \"font\",\n \"weight\",\n \"semibold\"\n ],\n \"group\": \"font\",\n \"value\": \"600\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-weight-bold\",\n \"cssVar\": \"--flui-font-weight-bold\",\n \"path\": [\n \"font\",\n \"weight\",\n \"bold\"\n ],\n \"group\": \"font\",\n \"value\": \"700\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-xs\",\n \"cssVar\": \"--flui-font-size-xs\",\n \"path\": [\n \"font\",\n \"size\",\n \"xs\"\n ],\n \"group\": \"font\",\n \"value\": \"12px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-sm\",\n \"cssVar\": \"--flui-font-size-sm\",\n \"path\": [\n \"font\",\n \"size\",\n \"sm\"\n ],\n \"group\": \"font\",\n \"value\": \"14px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-md\",\n \"cssVar\": \"--flui-font-size-md\",\n \"path\": [\n \"font\",\n \"size\",\n \"md\"\n ],\n \"group\": \"font\",\n \"value\": \"16px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-lg\",\n \"cssVar\": \"--flui-font-size-lg\",\n \"path\": [\n \"font\",\n \"size\",\n \"lg\"\n ],\n \"group\": \"font\",\n \"value\": \"18px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-xl\",\n \"cssVar\": \"--flui-font-size-xl\",\n \"path\": [\n \"font\",\n \"size\",\n \"xl\"\n ],\n \"group\": \"font\",\n \"value\": \"24px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-size-2xl\",\n \"cssVar\": \"--flui-font-size-2xl\",\n \"path\": [\n \"font\",\n \"size\",\n \"2xl\"\n ],\n \"group\": \"font\",\n \"value\": \"32px\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-line-height-tight\",\n \"cssVar\": \"--flui-font-line-height-tight\",\n \"path\": [\n \"font\",\n \"lineHeight\",\n \"tight\"\n ],\n \"group\": \"font\",\n \"value\": \"1.2\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-line-height-normal\",\n \"cssVar\": \"--flui-font-line-height-normal\",\n \"path\": [\n \"font\",\n \"lineHeight\",\n \"normal\"\n ],\n \"group\": \"font\",\n \"value\": \"1.5\",\n \"isColor\": false,\n \"reference\": null\n },\n {\n \"name\": \"flui-font-line-height-relaxed\",\n \"cssVar\": \"--flui-font-line-height-relaxed\",\n \"path\": [\n \"font\",\n \"lineHeight\",\n \"relaxed\"\n ],\n \"group\": \"font\",\n \"value\": \"1.75\",\n \"isColor\": false,\n \"reference\": null\n }\n];\n"],"names":["cn","inputs","twMerge","clsx","buttonVariants","cva","Button","forwardRef","className","variant","size","fullWidth","props","ref","jsx","inputVariants","Input","invalid","label","id","type","showPassword","setShowPassword","useState","isPassword","resolvedType","inputId","input","jsxs","v","Card","CardHeader","CardTitle","CardDescription","CardContent","trackVariants","thumbVariants","Switch","checked","defaultChecked","onCheckedChange","disabled","isControlled","internal","setInternal","value","next","Checkbox","indeterminate","innerRef","useRef","useEffect","setRefs","node","RadioGroupContext","createContext","RadioGroup","defaultValue","onValueChange","name","children","autoName","useId","current","onChange","Radio","ctx","useContext","selectVariants","Select","DropdownContext","useDropdown","Dropdown","open","setOpen","onClick","e","onKey","DropdownTrigger","cloneElement","DropdownContent","align","DropdownItem","onSelect","destructive","DropdownSeparator","badgeVariants","Badge","sizeVariants","statusColor","dotSize","initials","p","_a","Avatar","src","alt","status","errored","setErrored","showImg","spinnerVariants","Spinner","Progress","max","pct","Divider","orientation","Breadcrumb","items","Children","child","i","Fragment","BreadcrumbSeparator","BreadcrumbItem","href","useCountUp","target","duration","setCurrent","start","tick","now","t","eased","StatCard","countUp","formatCount","delta","helpText","icon","animated","hasDelta","up","displayValue","alertVariants","iconColor","glyph","Alert","title","onClose","useControllableState","setValue","useCallback","TabsContext","useTabs","Tabs","TabsList","listRef","indicator","setIndicator","list","active","TabsTrigger","TabsContent","AccordionContext","ItemContext","useAccordion","Accordion","init","toggle","prev","has","AccordionItem","AccordionTrigger","isOpen","AccordionContent","sidePos","Tooltip","content","side","PopoverContext","usePopover","Popover","PopoverTrigger","PopoverContent","Portal","mounted","setMounted","createPortal","useDismissable","prevOverflow","ModalContext","Modal","onOpenChange","close","ModalContent","ModalHeader","ModalTitle","ModalDescription","ModalBody","ModalFooter","ANIM_MS","DrawerContext","sideClasses","drawerEnter","drawerExit","Drawer","present","setPresent","closing","timer","DrawerContent","DrawerHeader","DrawerTitle","DrawerBody","DrawerFooter","ToastContext","variantStyles","ToastProvider","toasts","setToasts","idRef","dismiss","toast","options","ToastCard","item","onDismiss","styles","useToast","textareaVariants","Textarea","__create","__defProp","__defProps","__getOwnPropDesc","__getOwnPropDescs","__getOwnPropNames","__getOwnPropSymbols","__getProtoOf","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","__spreadValues","a","b","prop","__spreadProps","__objRest","source","exclude","__commonJS","cb","mod","__export","all","__copyProps","to","from","except","desc","__toESM","isNodeMode","require_prism","exports","module","Prism2","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","deepClone","visited","clone","element","m","language","defaultActivation","no","classList","redef","lang2","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","text","env","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","hooks2","callbacks","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","k","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","newNode","count","array","Prism","n","r","l","e2","e3","e4","n2","t2","a2","r2","n3","t3","c","u","d","g","s2","f","h","a3","l2","u2","themes_exports","dracula_default","duotoneDark_default","duotoneLight_default","github_default","gruvboxMaterialDark_default","gruvboxMaterialLight_default","jettwaveDark_default","jettwaveLight_default","nightOwl_default","nightOwlLight_default","oceanicNext_default","okaidia_default","oneDark_default","oneLight_default","palenight_default","shadesOfPurple_default","synthwave84_default","ultramin_default","vsDark_default","vsLight_default","theme","theme2","theme3","theme4","theme5","theme6","colors","theme7","theme8","theme9","theme10","theme11","theme12","theme13","theme14","theme15","theme16","theme17","theme18","theme19","theme20","useGetLineProps","themeDictionary","_b","style","line","output","useGetTokenProps","styleForToken","useCallback2","types","empty","clsx2","newlineRe","normalizeEmptyLines","appendTypes","add","typesSize","normalizeTokens","typeArrStack","tokenArrStack","tokenArrIndexStack","tokenArrSizeStack","stackIndex","currentLine","acc","splitByNewlines","newlineCount","i2","normalizeTokens_default","useTokenize","prism","code","useMemo","prismConfig","themeToDict","theme21","plain","themeDict","themeEntry","languages2","accStyle","themeToDict_default","Highlight","_language","getLineProps","getTokenProps","Highlight2","createElement","LANGUAGE_ALIASES","registerBashGrammar","resolveLanguage","normalized","isSupportedLanguage","fluiSyntaxTheme","CodeBlock","resolvedLanguage","canHighlight","handleCopy","CopyIcon","lineIndex","tokenIndex","Sidebar","user","nav","footerAction","itemClass","isActive","group","SettingRow","description","SettingsCard","SettingsGroup","IntegrationRow","connected","onConnect","onDisconnect","ProfileSettingsModal","defaultSection","controlledSection","onSectionChange","sectionTitles","sectionSubtitles","renderSection","firstId","internalSection","setInternalSection","handleSelect","activeItem","subtitle","ThemeContext","MODE_KEY","BRAND_KEY","RADIUS_KEY","prefersDark","load","fallback","ThemeProvider","defaultMode","defaultBrand","defaultRadius","mode","setModeState","brand","setBrandState","radius","setRadiusState","systemDark","setSystemDark","mq","resolvedMode","el","setMode","setBrand","setRadius","toggleMode","useTheme"],"mappings":"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","x_google_ignoreList":[28]}