{"version":3,"sources":["../../src/components/index.ts","../../src/components/CodeBlocks.tsx","../../src/components/Content.tsx","../../src/theme/theme-utils.ts","../../src/components/CopyToClipboardButton.tsx","../../src/components/ErrorBoundary.tsx","../../src/components/Footer.tsx","../../src/components/header/Header.tsx","../../src/components/Keyboard.tsx","../../src/components/logos/AI2Logo.tsx","../../src/components/logos/AI2Mark.tsx","../../src/components/logos/ACE.tsx","../../src/components/logos/Ai2OLMoE.tsx","../../src/components/logos/Ai2OpenScholar8B.tsx","../../src/components/logos/Ai2Playground.tsx","../../src/components/logos/DataDecide.tsx","../../src/components/logos/Dolma.tsx","../../src/components/logos/EarthSystems.tsx","../../src/components/logos/Molmo.tsx","../../src/components/logos/OLMES.tsx","../../src/components/logos/OLMo.tsx","../../src/components/logos/OLMoE.tsx","../../src/components/logos/Paloma.tsx","../../src/components/logos/PixMo.tsx","../../src/components/logos/Playground.tsx","../../src/components/logos/SafetyTool.tsx","../../src/components/logos/Skiff.tsx","../../src/components/logos/Tulu.tsx","../../src/components/logos/Tulu3.tsx","../../src/components/logos/Tulu370B.tsx","../../src/components/logos/Tulu3405B.tsx","../../src/components/logos/Varnish.tsx","../../src/components/logos/index.ts","../../src/components/Markdown.tsx","../../src/components/SnackbarContext.tsx","../../src/components/SnackbarList.tsx","../../src/components/icons/index.ts","../../src/components/icons/Add.tsx","../../src/components/icons/Check.tsx","../../src/components/icons/Close.tsx","../../src/components/icons/Menu.tsx","../../src/components/icons/Remove.tsx","../../src/components/icons/Spark.tsx","../../src/components/icons/Upload.tsx","../../src/components/social/ShareOnTwitterButton.tsx","../../src/components/social/ShareOnFacebookButton.tsx","../../src/components/social/ShareOnLinkedInButton.tsx","../../src/components/TextTruncator.tsx","../../src/components/VarnishApp.tsx","../../src/theme/theme.ts","../../../../node_modules/hex-rgb/index.js","../../src/theme/colors.ts","../../src/theme/components/buttons.ts","../../src/theme/components/data-display.ts","../../src/theme/components/feedback.ts","../../src/theme/components/inputs.ts","../../src/theme/components/navigation.ts","../../src/theme/components/surfaces.ts","../../src/theme/components/index.ts","../../src/theme/palette.ts","../../src/theme/typography.ts","../../src/theme/shape.ts","../../src/components/ResizableTableContainer.tsx","../../src/components/ColumnResizer.tsx","../../src/components/FileInput.tsx","../../src/components/FileInputButton.tsx"],"sourcesContent":["'use client';\n// This is included here to ensure the module augmentations in it are included when only pulling something from /components\nimport '../theme/muiThemeOverride.d';\n\nexport * from './CodeBlocks';\nexport * from './Content';\nexport * from './CopyToClipboardButton';\nexport * from './ErrorBoundary';\nexport * from './Footer';\nexport * from './header';\nexport * from './Keyboard';\nexport * from './logos';\nexport * from './Markdown';\nexport * from './SnackbarContext';\nexport * from './SnackbarList';\nexport * from './social';\nexport * from './TextTruncator';\nexport * from './VarnishApp';\nexport * from './ResizableTableContainer';\nexport * from './ColumnResizer';\nexport * from './FileInput';\nexport * from './FileInputButton';\nexport * as Icons from './icons';\n","'use client';\n\nimport { forwardRef, type ReactNode, type Ref } from 'react';\nimport { styled, useTheme, useThemeProps } from '@mui/material/styles';\nimport type { SyntaxHighlighterProps } from 'react-syntax-highlighter';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport varnishPrismLight from '@allenai/varnish-theme/varnishPrismLight';\nimport varnishPrismDark from '@allenai/varnish-theme/varnishPrismDark';\n\ninterface CodeBlockProps {\n    language?: string;\n    colorMode?: 'light' | 'dark';\n    inline?: boolean;\n    value?: string;\n    children?: ReactNode;\n    className?: string;\n    wrapLongLines?: boolean;\n}\n\nconst CodeBlockRoot = styled('div', {\n    name: 'MuiCodeBlock',\n    slot: 'root',\n})({});\n\nconst CodeBlockInlineRoot = styled('span', {\n    name: 'MuiCodeBlock',\n    slot: 'root',\n})({});\n\nconst CodeBlock = forwardRef<HTMLDivElement, CodeBlockProps>(function CodeBlock(inProps, ref) {\n    const props = useThemeProps({ props: inProps, name: 'MuiCodeBlock' });\n    const {\n        language,\n        colorMode = 'light',\n        inline = false,\n        value,\n        children,\n        className,\n        wrapLongLines = true,\n    } = props;\n    const theme = useTheme();\n    const languageDerived = language ?? className?.replace(/\\blanguage-([^\\s]+)/, '$1');\n\n    const content = value ?? children;\n\n    const prismTheme =\n        colorMode === 'dark'\n            ? (varnishPrismDark as SyntaxHighlighterProps['style'])\n            : (varnishPrismLight as SyntaxHighlighterProps['style']);\n\n    const background =\n        colorMode === 'dark'\n            ? (theme.palette.background as unknown as Record<string, string>).reversed\n            : theme.palette.grey[100];\n\n    if (typeof content !== 'string') {\n        return (\n            <CodeBlockRoot ref={ref} className={className}>\n                <pre>\n                    <code>{content}</code>\n                </pre>\n            </CodeBlockRoot>\n        );\n    }\n\n    if (inline) {\n        return (\n            <CodeBlockInlineRoot ref={ref as Ref<HTMLSpanElement>} className={className}>\n                <SyntaxHighlighter\n                    language={languageDerived}\n                    style={prismTheme}\n                    PreTag=\"span\"\n                    wrapLongLines={wrapLongLines}\n                    customStyle={{\n                        display: 'inline',\n                        padding: '0 4px',\n                        whiteSpace: 'nowrap',\n                        background,\n                    }}>\n                    {content}\n                </SyntaxHighlighter>\n            </CodeBlockInlineRoot>\n        );\n    }\n\n    return (\n        <CodeBlockRoot ref={ref} className={className}>\n            <SyntaxHighlighter\n                language={languageDerived}\n                style={prismTheme}\n                wrapLongLines={wrapLongLines}\n                customStyle={{\n                    background,\n                    padding: theme.spacing(2),\n                    margin: '.5em 0',\n                    overflow: 'auto',\n                    minWidth: 0,\n                    fontSize: '.9em',\n                    lineHeight: 1.2,\n                    borderRadius: theme.shape.borderRadius,\n                }}>\n                {content}\n            </SyntaxHighlighter>\n        </CodeBlockRoot>\n    );\n});\n\nexport { CodeBlock };\nexport type { CodeBlockProps };\n\nexport default { CodeBlock };\n","'use client'; // for server side rendering\n\nimport { forwardRef, type ElementType, type ReactNode } from 'react';\nimport { Box, styled } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\nimport { isThemeColor } from '../theme/theme-utils';\n\n/**\n * Different variants represent different application level layouts:\n *\n *  - The \"left-aligned\" variant is a layout with a left aligned navigation menu. This\n *    is traditionally used for applications with several levels of navigation.\n *\n *  - The \"center-aligned\" variant is a standard, horizontally centered application. This\n *    is a fairly conventional layout used for content  rich websites.\n */\nexport type LayoutVariant = 'left-aligned' | 'center-aligned';\n\nexport interface ContentProps {\n    children: ReactNode | ReactNode[];\n    /**\n     * If true, a `<main />` tag is used, which tells web scrapers and accessibility devices\n     * that the content is of significant importance. There should only be a single `<main />\n     * element per page.\n     */\n    main?: boolean;\n    /**\n     * The layout variant to use. Defaults to 'center-aligned'.\n     */\n    layout?: LayoutVariant;\n    className?: string;\n    bgcolor?: string;\n}\n\ninterface ContentOwnerState {\n    main?: boolean;\n    layout?: LayoutVariant;\n    bgcolor?: string;\n}\n\nconst ContentRoot = styled(Box, {\n    name: 'MuiContent',\n    slot: 'root',\n})<{ ownerState: ContentOwnerState; component?: ElementType }>(\n    ({ theme, ownerState: { layout, bgcolor } }) => ({\n        maxWidth: layout === 'center-aligned' ? `${theme.breakpoints.values.lg}px` : undefined,\n        width: '100%',\n        ...(layout === 'center-aligned' ? { margin: '0 auto' } : {}),\n        padding: theme.spacing(3),\n        wordWrap: 'break-word',\n        wordBreak: 'break-word',\n        hyphens: 'auto',\n        // if the user passes a key to the color theme, use the mapped color,\n        // else treat the string as a normal color string\n        background: bgcolor\n            ? isThemeColor(theme, bgcolor)\n                ? theme.color[bgcolor].hex\n                : bgcolor\n            : 'none',\n        [`@media (max-width: ${theme.breakpoints.values.sm}px)`]: {\n            padding: theme.spacing(1.5),\n        },\n    })\n);\n\nexport const Content = forwardRef<HTMLDivElement, ContentProps>(function Content(inProps, ref) {\n    const props = useThemeProps({ props: inProps, name: 'MuiContent' });\n    const { children, className, main, layout = 'center-aligned', bgcolor, ...other } = props;\n    const ownerState: ContentOwnerState = { main, layout, bgcolor };\n    return (\n        <ContentRoot\n            ref={ref}\n            component={main ? 'main' : 'div'}\n            className={className}\n            ownerState={ownerState}\n            {...other}>\n            {children}\n        </ContentRoot>\n    );\n});\n\nexport default Content;\n","import type { PaletteModes } from '@allenai/varnish-theme/mui';\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport { type Theme } from '@mui/material';\nimport type { TypographyVariant } from '@mui/material/styles';\n\n// importing from @mui/system directly seems to get us around some client component issues in Next\nimport { getContrastRatio } from '@mui/system/colorManipulator';\n\n// Used to convert style object to css for typographic elements like h1...h6\nexport const getTypographyStyle = (\n    theme: Omit<Theme, 'components'>,\n    key: TypographyVariant,\n    includeKey: boolean = true\n) => {\n    const typography = (\n        theme.typography as unknown as Record<string, Record<string, string | number | undefined>>\n    )[key];\n    return `\n    ${includeKey ? `${key} {` : ''}\n      color: ${typography.color};\n      font-family: ${typography.fontFamily};\n      font-weight:  ${typography.fontWeight};\n      font-size:  ${typography.fontSize};\n      line-height:  ${typography.lineHeight};\n      margin:  ${typography.margin};\n    ${includeKey ? '}' : ''}\n  `;\n};\n\nexport const getThemeObjectTokens = <T extends { [index: string]: { value: string | number } }>(\n    themeObject: T,\n    properties: (keyof T)[] = Object.keys(themeObject)\n) => {\n    type RecordOfT = Record<keyof T, string>;\n\n    return properties.reduce((acc: RecordOfT, attribute: keyof T) => {\n        acc[attribute] = themeObject[attribute].value.toString();\n        return acc;\n    }, {} as RecordOfT);\n};\n\ninterface ColorWithContrastRatio {\n    color: string;\n    contrastRatio: number;\n}\nconst getColorWithContrastRatio = (baseColor: string, color: string): ColorWithContrastRatio => {\n    return {\n        color,\n        contrastRatio: getContrastRatio(baseColor, color),\n    };\n};\n\n/**\n *\n * @param backgroundColor The color you want to get the contrast color for\n * @param mode 'light' or 'dark', this determines which palette we pull text colors from\n * @returns The primary or reversed value for the palette mode selected, chosen based on whichever has the better contrast ratio\n */\nexport const getContrastText = (\n    backgroundColor: string,\n    mode: PaletteModes = 'light',\n    desiredContrastRatio = 4.5\n) => {\n    const primaryText = getColorWithContrastRatio(\n        backgroundColor,\n        varnishTokens.palette[mode].text.primary.default.value\n    );\n\n    const reversedText = getColorWithContrastRatio(\n        backgroundColor,\n        varnishTokens.palette[mode].text.primary.reversed.value\n    );\n\n    const secondaryText = getColorWithContrastRatio(\n        backgroundColor,\n        varnishTokens.palette[mode].text.secondary.default.value\n    );\n\n    // HACK: dark-green will always have better contrast than ai2-green. This lets us keep using ai2-green if it's above the contrast ratio we're looking for\n    if (primaryText.contrastRatio >= desiredContrastRatio) {\n        return primaryText.color;\n    }\n\n    // We want the color with the highest contrast ratio at the first index\n    const colorsOrderedByContrastRatio = [primaryText, reversedText, secondaryText].sort(\n        (a, b) => b.contrastRatio - a.contrastRatio\n    );\n\n    return colorsOrderedByContrastRatio[0].color;\n};\n\nexport const isThemeColor = (theme: Theme, key: string): key is keyof typeof theme.color => {\n    return key in theme.color;\n};\n","'use client'; // for server side rendering\n\nimport { forwardRef, useState, type ReactNode } from 'react';\nimport { Snackbar, IconButton, styled } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\n\nexport interface CopyToClipboardButtonProps {\n    text?: string;\n    autoHideDuration?: number;\n    buttonContent?: ReactNode; // we recommend '@mui/icons-material/ContentCopy'\n    children: NonNullable<ReactNode>;\n}\n\nconst CopyToClipboardButtonRoot = styled(IconButton, {\n    name: 'MuiCopyToClipboardButton',\n    slot: 'root',\n})({});\n\nexport const CopyToClipboardButton = forwardRef<HTMLButtonElement, CopyToClipboardButtonProps>(\n    function CopyToClipboardButton(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiCopyToClipboardButton' });\n        const { text, autoHideDuration, buttonContent, children } = props;\n        const [open, setOpen] = useState(false);\n        const value = text || JSON.stringify(children);\n        const handleClick = () => {\n            setOpen(true);\n            navigator.clipboard.writeText(value);\n        };\n\n        return (\n            <>\n                {children}\n                <CopyToClipboardButtonRoot\n                    ref={ref}\n                    color=\"primary\"\n                    size=\"small\"\n                    onClick={handleClick}>\n                    {buttonContent || 'Copy'}\n                </CopyToClipboardButtonRoot>\n                <Snackbar\n                    open={open}\n                    onClose={() => {\n                        setOpen(false);\n                    }}\n                    autoHideDuration={autoHideDuration || 2500}\n                    message={`Copied '${value}' to clipboard`}\n                />\n            </>\n        );\n    }\n);\n\nexport default CopyToClipboardButton;\n","'use client'; // for server side rendering\n\nimport { PureComponent, type ReactNode } from 'react';\nimport { Alert, AlertTitle, styled } from '@mui/material';\n\nexport interface ErrorBoundaryProps {\n    errorTitle?: string;\n    children: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n    error?: Error;\n}\n\nconst ErrorBoundaryDebugInfo = styled('code', {\n    name: 'MuiErrorBoundary',\n    slot: 'debugInfo',\n})`\n    display: block;\n    padding: ${({ theme }) => theme.spacing(2)};\n    margin: ${({ theme }) => theme.spacing(1.5)} 0 0;\n    overflow: auto;\n    pre {\n        margin: 0;\n        padding: 0;\n        overflow: initial;\n    }\n`;\n\n/**\n * https://reactjs.org/docs/error-boundaries.html\n */\nexport class ErrorBoundary extends PureComponent<ErrorBoundaryProps, ErrorBoundaryState> {\n    state: ErrorBoundaryState = {};\n\n    static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n        return { error };\n    }\n\n    render() {\n        const { errorTitle = 'Sorry, something went wrong.', children } = this.props;\n        const { error } = this.state;\n\n        // If there's no error, just return what renders via the happy path.\n        if (!error) {\n            return children;\n        }\n\n        const showErrorDetails = process.env.NODE_ENV === 'development';\n        return (\n            <Alert severity=\"error\">\n                <AlertTitle>{errorTitle}</AlertTitle>\n\n                {showErrorDetails ? (\n                    <p>\n                        <b>{error.message}:</b>\n                        <ErrorBoundaryDebugInfo>\n                            <pre>{error.stack || JSON.stringify(error, null, 2)}</pre>\n                        </ErrorBoundaryDebugInfo>\n                    </p>\n                ) : (\n                    <div>Please try again.</div>\n                )}\n            </Alert>\n        );\n    }\n}\n\nexport default ErrorBoundary;\n","'use client'; // for server side rendering\n\nimport { Link, styled } from '@mui/material';\nimport { Fragment, type ReactNode } from 'react';\n\nexport type FooterVariant = 'full' | 'slimLeft' | 'slimCenter';\nexport type FooterColor = 'default' | 'filled';\n\ninterface FooterProps {\n    variant?: FooterVariant;\n    color?: FooterColor;\n    linksGroup?: ReactNode[];\n    className?: string;\n    linksGroupClassName?: string;\n    copyRightClassName?: string;\n    children?: ReactNode;\n}\n\ninterface StyledFooterProps {\n    footerVariant: FooterVariant;\n    footerColor: FooterColor;\n}\n\nconst StyledFooter = styled('footer')<StyledFooterProps>(\n    ({ theme, footerVariant, footerColor }) => ({\n        padding: theme.spacing(3),\n        backgroundColor:\n            footerColor === 'filled'\n                ? theme.palette.background.reversed\n                : theme.palette.background.paper,\n        color: footerColor === 'filled' ? theme.palette.text.reversed : theme.palette.text.primary,\n        textAlign: footerVariant === 'slimCenter' ? 'center' : 'left',\n        '& a': {\n            color: 'inherit',\n        },\n    })\n);\n\nconst LinksGroupGrid = styled('div')(({ theme }) => ({\n    display: 'grid',\n    gap: theme.spacing(2),\n    marginBottom: theme.spacing(2),\n    gridTemplateColumns: '1fr',\n    [theme.breakpoints.up('md')]: {\n        gridTemplateColumns: 'repeat(2, 1fr)',\n    },\n    [theme.breakpoints.up('lg')]: {\n        gridTemplateColumns: 'repeat(4, 1fr)',\n    },\n}));\n\nexport function FooterLinkSeparator() {\n    return <> | </>;\n}\n\nexport function PrivacyLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/privacy-policy\">\n            Privacy Policy\n        </Link>\n    );\n}\n\nexport function TermsOfUseLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/terms\">\n            Terms of Use\n        </Link>\n    );\n}\n\nexport function BusinessConductLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/business-code-of-conduct\">\n            Business Code of Conduct\n        </Link>\n    );\n}\n\nexport function ResponsibleUseLink() {\n    return (\n        <Link color=\"secondary\" href=\"https://allenai.org/responsible-use\">\n            Responsible Use\n        </Link>\n    );\n}\n\nexport function AI2TermsAndConditionsAllLinks() {\n    return (\n        <>\n            <PrivacyLink />\n            <FooterLinkSeparator />\n            <TermsOfUseLink />\n            <FooterLinkSeparator />\n            <BusinessConductLink />\n        </>\n    );\n}\n\nexport function AI2CopyrightLink() {\n    return (\n        <>\n            <Link color=\"secondary\" href=\"https://allenai.org\">\n                © The Allen Institute for Artificial Intelligence\n            </Link>{' '}\n            - All Rights Reserved\n        </>\n    );\n}\n\nconst defaultLinksGroup = [\n    <PrivacyLink key=\"privacy\" />,\n    <TermsOfUseLink key=\"terms\" />,\n    <ResponsibleUseLink key=\"responsible\" />,\n];\n\nexport function Footer({\n    variant = 'full',\n    color = 'default',\n    linksGroup,\n    className,\n    linksGroupClassName,\n    copyRightClassName,\n    children,\n}: FooterProps) {\n    const resolvedLinks = linksGroup ?? defaultLinksGroup;\n\n    return (\n        <StyledFooter className={className} footerVariant={variant} footerColor={color}>\n            {children || (\n                <>\n                    {variant === 'full' && (\n                        <LinksGroupGrid className={linksGroupClassName}>\n                            {resolvedLinks.map((link, id) => (\n                                <Fragment key={id}>{link}</Fragment>\n                            ))}\n                        </LinksGroupGrid>\n                    )}\n                    <div className={copyRightClassName}>\n                        <AI2CopyrightLink />\n                    </div>\n                </>\n            )}\n        </StyledFooter>\n    );\n}\n","'use client'; // for server side rendering\n\nimport { AppBar, Toolbar, styled, useColorScheme } from '@mui/material';\nimport type { AppBarProps } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport { forwardRef, type PropsWithChildren, type ReactNode } from 'react';\n\ninterface HeaderProps extends Omit<AppBarProps, 'ref' | 'position'> {\n    logo?: ReactNode;\n    navItem?: ReactNode;\n    search?: ReactNode;\n    action?: ReactNode;\n\n    position?: 'sticky' | 'fixed';\n    shape?: 'box' | 'rounded' | 'full';\n\n    searchClassName?: string;\n    actionClassName?: string;\n    navClassName?: string;\n    logoClassName?: string;\n}\n\ninterface HeaderOwnerState {\n    shape: 'box' | 'rounded' | 'full';\n}\n\n// --- Styled slots ---\n\nconst HeaderRoot = styled(AppBar, {\n    name: 'MuiHeader',\n    slot: 'root',\n})<{ ownerState: HeaderOwnerState }>(({ theme, ownerState }) => ({\n    border: 'none',\n    ...(ownerState.shape === 'box' && { borderRadius: varnishTokens.radii.xl.value }),\n    ...(ownerState.shape === 'rounded' && { borderRadius: varnishTokens.radii.full.value }),\n    [theme.breakpoints.down('sm')]: {\n        ...(ownerState.shape === 'box' && { borderRadius: varnishTokens.radii.md.value }),\n    },\n}));\n\nconst HeaderContainer = styled('div', {\n    name: 'MuiHeader',\n    slot: 'container',\n})({\n    color: 'inherit',\n    display: 'flex',\n    flexDirection: 'row',\n    alignItems: 'center',\n    justifyContent: 'space-between',\n    flexWrap: 'nowrap',\n    whiteSpace: 'nowrap',\n    width: '100%',\n});\n\nconst HeaderLogo = styled('div', {\n    name: 'MuiHeader',\n    slot: 'logo',\n})(({ theme }) => ({\n    display: 'flex',\n    alignItems: 'center',\n    gap: theme.spacing(1.5),\n    flexShrink: 0,\n}));\n\nconst HeaderSlotsArea = styled('div', {\n    name: 'MuiHeader',\n    slot: 'slotsArea',\n})({\n    color: 'inherit',\n    display: 'flex',\n    alignItems: 'center',\n    gap: varnishTokens.spacing[2].value,\n    flexDirection: 'row',\n});\n\nconst HeaderNav = styled('nav', {\n    name: 'MuiHeader',\n    slot: 'nav',\n})({\n    display: 'flex',\n    gap: varnishTokens.spacing[2].value,\n    alignSelf: 'center',\n    flexWrap: 'nowrap',\n    whiteSpace: 'nowrap',\n    color: 'inherit',\n    flexDirection: 'row',\n});\n\nconst HeaderSearch = styled('div', {\n    name: 'MuiHeader',\n    slot: 'search',\n})({\n    whiteSpace: 'nowrap',\n    color: 'inherit',\n});\n\nconst HeaderAction = styled('div', {\n    name: 'MuiHeader',\n    slot: 'action',\n})({\n    whiteSpace: 'nowrap',\n    color: 'inherit',\n});\n\nconst Header = forwardRef<HTMLDivElement, PropsWithChildren<HeaderProps>>(\n    function Header(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiHeader' });\n        const {\n            children,\n            logo,\n            navItem,\n            search,\n            action,\n            position = 'sticky',\n            shape = 'box',\n            searchClassName,\n            actionClassName,\n            navClassName,\n            logoClassName,\n            ...appBarProps\n        } = props;\n\n        const hasSlots = logo || navItem || search || action;\n        const { mode, systemMode } = useColorScheme();\n        const resolvedMode = mode === 'system' ? systemMode : mode;\n        const invertedAttr = resolvedMode === 'dark' ? 'data-light' : 'data-dark';\n\n        const ownerState: HeaderOwnerState = { shape };\n\n        return (\n            <HeaderRoot {...appBarProps} ref={ref} position={position} ownerState={ownerState}>\n                <Toolbar>\n                    {hasSlots ? (\n                        <HeaderContainer {...{ [invertedAttr]: '' }}>\n                            <HeaderLogo aria-label=\"Site Logo\" className={logoClassName}>\n                                {logo}\n                            </HeaderLogo>\n                            <HeaderSlotsArea>\n                                {!!navItem && (\n                                    <HeaderNav\n                                        className={navClassName}\n                                        aria-label=\"Main Navigation\">\n                                        {navItem}\n                                    </HeaderNav>\n                                )}\n                                {!!search && (\n                                    <HeaderSearch\n                                        className={searchClassName}\n                                        aria-label=\"Search Bar\">\n                                        {search}\n                                    </HeaderSearch>\n                                )}\n                                {!!action && (\n                                    <HeaderAction\n                                        className={actionClassName}\n                                        aria-label=\"Action Button\">\n                                        {action}\n                                    </HeaderAction>\n                                )}\n                            </HeaderSlotsArea>\n                        </HeaderContainer>\n                    ) : (\n                        children\n                    )}\n                </Toolbar>\n            </HeaderRoot>\n        );\n    }\n);\n\nexport { Header };\nexport type { HeaderProps };\n","import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { styled, useThemeProps } from '@mui/material/styles';\n\nexport interface KeyboardProps extends HTMLAttributes<HTMLElement> {\n    children?: ReactNode;\n}\n\nconst KeyboardRoot = styled('kbd', {\n    name: 'MuiKeyboard',\n    slot: 'Root',\n})(({ theme }) => ({\n    fontFamily: theme.typography.fontFamily,\n    fontSize: theme.typography.caption.fontSize,\n    color: theme.palette.text.secondary,\n    marginLeft: 'auto',\n    paddingLeft: theme.spacing(2),\n}));\n\nexport const Keyboard = forwardRef<HTMLElement, KeyboardProps>(function Keyboard(inProps, ref) {\n    const props = useThemeProps({ props: inProps, name: 'MuiKeyboard' });\n    const { children, className, ...other } = props;\n\n    return (\n        <KeyboardRoot ref={ref} className={className} {...other}>\n            {children}\n        </KeyboardRoot>\n    );\n});\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function AI2Logo(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 756 240\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>AI2</title>\n            <path\n                d=\"M93.1725 97.3271H46.5863V52.9552H84.0892C89.0964 52.9552 93.1725 48.8739 93.1725 43.8603V6.30957H137.488V52.9552C137.488 77.4661 117.652 97.3271 93.1725 97.3271ZM46.5863 101.875H0V146.247H37.5029C42.5101 146.247 46.5863 150.328 46.5863 155.341V192.892H90.9017V146.247C90.9017 121.736 71.0659 101.875 46.5863 101.875ZM195.428 99.6009C190.421 99.6009 186.345 95.5195 186.345 90.5059V52.9552H142.03V99.6009C142.03 124.112 161.865 143.973 186.345 143.973H232.931V99.6009H195.428ZM95.4434 192.892V239.538H139.759V201.987C139.759 196.974 143.835 192.892 148.842 192.892H186.345V148.52H139.759C115.279 148.52 95.4434 168.381 95.4434 192.892Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M533.079 37.8804H488.946V6.30961H533.079V37.869V37.8804ZM498.744 64.1761H472.119V97.3272H495.247C499.108 97.3272 502.253 100.465 502.253 104.33V239.526H537.28V101.863C537.28 77.432 521.521 64.1648 498.756 64.1648L498.744 64.1761ZM391.901 6.30961L478.42 239.538H441.644L418.663 177.635H310.503L287.522 239.538H251.098L337.617 6.30961H391.913H391.901ZM407.865 148.52L364.583 31.9119L321.301 148.52H407.854H407.865ZM619.871 210.434L690.971 154.318C732.3 121.702 750.512 98.9074 750.512 67.6891C750.512 34.6744 729.848 0 667.502 0C592.087 0 567.324 50.6815 567.324 97.3272H605.156C605.156 55.229 623.754 29.8087 667.502 29.8087C699.725 29.8087 712.691 48.5556 712.691 68.0415C712.691 85.572 707.434 97.4977 687.122 113.982L568.028 210.434V239.538H754.725V210.434H619.871Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function AI2Mark(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 48.02 48\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>AI2 Mark</title>\n            <path\n                d=\"M19.2,18.73h-9.6v-9.13h7.73c1.03,0,1.87-.84,1.87-1.87V0h9.13v9.6c0,5.06-4.1,9.13-9.13,9.13ZM9.6,19.67H0v9.13h7.73c1.03,0,1.87.84,1.87,1.87v7.73h9.13v-9.6c0-5.06-4.1-9.13-9.13-9.13ZM40.3,19.2c-1.03,0-1.87-.84-1.87-1.87v-7.73h-9.13v9.6c0,5.06,4.1,9.13,9.13,9.13h9.6v-9.13h-7.73ZM19.67,38.4v9.6h9.13v-7.73c0-1.03.84-1.87,1.87-1.87h7.73v-9.13h-9.6c-5.06,0-9.13,4.1-9.13,9.13Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function ACE(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 517 133\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>ACE</title>\n            <path\n                d=\"M49.6965 52.2742H24.8482V28.249H44.8516C47.5223 28.249 49.6965 26.0391 49.6965 23.3245V2.99265H73.3335V28.249C73.3335 41.5204 62.7534 52.2742 49.6965 52.2742ZM24.8482 54.7364H0V78.7616H20.0033C22.6741 78.7616 24.8482 80.9714 24.8482 83.686V104.018H48.4852V78.7616C48.4852 65.4902 37.9052 54.7364 24.8482 54.7364ZM104.238 53.5053C101.567 53.5053 99.3929 51.2954 99.3929 48.5808V28.249H75.7559V53.5053C75.7559 66.7767 86.3359 77.5305 99.3929 77.5305H124.241V53.5053H104.238ZM50.9077 104.018V129.274H74.5447V108.942C74.5447 106.228 76.7188 104.018 79.3896 104.018H99.3929V79.9927H74.5447C61.4877 79.9927 50.9077 90.7465 50.9077 104.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M254.623 129L243.481 99.1616H182.671L171.529 129H151.889L198.534 3.41468H227.806L274.452 129H254.623ZM188.525 83.4871H237.626L213.076 17.2007L188.525 83.4871Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M341.054 132.21C326.702 132.21 314.804 129.378 305.362 123.712C295.919 118.047 288.932 110.241 284.399 100.295C279.867 90.3486 277.601 78.9547 277.601 66.1129C277.601 53.397 279.867 42.066 284.399 32.1199C289.058 22.1738 296.171 14.368 305.739 8.70248C315.434 2.91108 327.394 0.0153809 341.621 0.0153809C354.714 0.0153809 365.542 2.02978 374.103 6.05858C382.664 9.96148 389.148 15.627 393.555 23.0551C397.961 30.3573 400.668 39.3591 401.675 50.0606H381.846C380.965 42.7584 378.95 36.5893 375.803 31.5533C372.781 26.5173 368.375 22.6774 362.583 20.0335C356.918 17.3896 349.804 16.0676 341.243 16.0676C331.423 16.0676 323.302 17.9561 316.881 21.7331C310.461 25.5101 305.676 31.1127 302.529 38.5408C299.507 45.9689 297.996 55.1596 297.996 66.1129C297.996 77.1921 299.507 86.4457 302.529 93.8738C305.55 101.176 310.209 106.716 316.504 110.493C322.799 114.27 330.856 116.158 340.677 116.158C349.615 116.158 357.044 114.773 362.961 112.003C369.004 109.108 373.536 105.016 376.558 99.7282C379.706 94.3145 381.594 87.7677 382.224 80.0878H402.242C401.486 91.0411 398.905 100.421 394.499 108.226C390.092 115.906 383.42 121.824 374.481 125.978C365.668 130.133 354.526 132.21 341.054 132.21Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M440.105 113.325H516.022V129H420.653V3.41468H515.456V19.0892H440.105V57.0481H509.79V72.3449H440.105V113.325Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Ai2OLMoE(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1119 133\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Ai2OLMoE</title>\n            <path\n                d=\"M49.6965 52.2744H24.8482V28.2492H44.8516C47.5223 28.2492 49.6965 26.0394 49.6965 23.3248V2.99289H73.3335V28.2492C73.3335 41.5206 62.7534 52.2744 49.6965 52.2744ZM24.8482 54.7366H0V78.7618H20.0033C22.6741 78.7618 24.8482 80.9717 24.8482 83.6863V104.018H48.4852V78.7618C48.4852 65.4904 37.9052 54.7366 24.8482 54.7366ZM104.238 53.5055C101.567 53.5055 99.3929 51.2957 99.3929 48.5811V28.2492H75.7559V53.5055C75.7559 66.7769 86.3359 77.5307 99.3929 77.5307H124.241V53.5055H104.238ZM50.9077 104.018V129.274H74.5447V108.943C74.5447 106.228 76.7188 104.018 79.3896 104.018H99.3929V79.993H74.5447C61.4877 79.993 50.9077 90.7467 50.9077 104.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M254.623 129L243.481 99.1619H182.671L171.529 129H151.889L198.534 3.41493H227.806L274.452 129H254.623ZM188.525 83.4873H237.626L213.076 17.201L188.525 83.4873Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M314.1 129H295.215V55.3487C295.215 53.9638 294.901 53.0195 294.271 52.5159C293.767 51.8864 292.823 51.5717 291.438 51.5717H278.974V34.5752H293.327C299.496 34.5752 304.469 36.4637 308.246 40.2407C312.023 43.8918 313.974 48.7389 314.1 54.7821V129ZM288.039 3.41493H311.834V20.4114H288.039V3.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M338.04 113.326L402.249 61.3919C407.537 57.1113 411.125 53.1454 413.013 49.4943C415.028 45.8432 416.035 41.5626 416.035 36.6525C416.035 30.4834 414.021 25.5104 409.992 21.7334C406.089 17.9564 399.983 16.0679 391.673 16.0679C379.965 16.0679 371.404 19.4042 365.99 26.0769C360.702 32.6237 358.058 41.7515 358.058 53.4602H337.662C337.914 38.7299 342.132 26.1399 350.315 15.6902C358.499 5.24047 372.285 0.015625 391.673 0.015625C407.285 0.015625 418.616 3.47788 425.666 10.4024C432.843 17.3269 436.431 26.014 436.431 36.4637C436.431 44.6472 433.976 52.2012 429.066 59.1257C424.156 66.0502 415.909 74.0448 404.326 83.1096L365.99 113.326H438.697V129H338.04V113.326Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M566.24 132.211C544.837 132.211 528.848 126.167 518.272 114.081C507.823 101.869 502.598 85.8794 502.598 66.1131C502.598 53.5231 504.801 42.2551 509.207 32.309C513.74 22.3629 520.727 14.4941 530.17 8.70273C539.738 2.91133 551.762 0.015625 566.24 0.015625C580.719 0.015625 592.679 2.91133 602.122 8.70273C611.69 14.4941 618.678 22.3629 623.084 32.309C627.616 42.2551 629.883 53.5231 629.883 66.1131C629.883 78.829 627.616 90.16 623.084 100.106C618.678 110.052 611.69 117.921 602.122 123.712C592.679 129.378 580.719 132.211 566.24 132.211ZM522.994 66.1131C522.994 82.9837 526.393 95.5737 533.191 103.883C540.116 112.067 551.132 116.158 566.24 116.158C581.348 116.158 592.302 112.067 599.1 103.883C606.025 95.5737 609.487 82.9837 609.487 66.1131C609.487 49.2425 606.025 36.7155 599.1 28.532C592.302 20.2226 581.348 16.0679 566.24 16.0679C551.132 16.0679 540.116 20.2226 533.191 28.532C526.393 36.7155 522.994 49.2425 522.994 66.1131Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M649.154 3.41493H668.606V113.326H732.248V129H649.154V3.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M887.983 129H868.531V18.5229L830.006 129H804.323L765.797 18.5229V129H746.346V3.41493H780.15L817.353 110.115L854.557 3.41493H887.983V129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M955.38 132.022C944.805 132.022 935.866 129.819 928.564 125.412C921.261 121.006 915.785 115.025 912.134 107.471C908.483 99.7914 906.657 91.1672 906.657 81.5988C906.657 72.1563 908.483 63.6581 912.134 56.1041C915.785 48.5501 921.261 42.5698 928.564 38.1633C935.866 33.7568 944.805 31.5536 955.38 31.5536C965.956 31.5536 974.895 33.7568 982.197 38.1633C989.499 42.5698 994.976 48.613 998.627 56.2929C1002.28 63.8469 1004.1 72.2822 1004.1 81.5988C1004.1 91.0413 1002.28 99.6025 998.627 107.282C994.976 114.836 989.499 120.88 982.197 125.412C974.895 129.819 965.956 132.022 955.38 132.022ZM925.731 81.7877C925.731 94.2518 928.06 103.254 932.718 108.793C937.503 114.207 945.057 116.914 955.38 116.914C965.704 116.914 973.195 114.207 977.854 108.793C982.638 103.254 985.03 94.2518 985.03 81.7877C985.03 69.3236 982.638 60.3847 977.854 54.971C973.195 49.4314 965.704 46.6616 955.38 46.6616C945.057 46.6616 937.503 49.4314 932.718 54.971C928.06 60.3847 925.731 69.3236 925.731 81.7877Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1042.25 113.326H1118.17V129H1022.8V3.41493H1117.6V19.0895H1042.25V57.0483H1111.93V72.3452H1042.25V113.326Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Ai2OpenScholar8B(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1960 170\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Ai2OpenScholar8B</title>\n            <path\n                d=\"M49.6965 55.4693H24.8482V31.4441H44.8516C47.5223 31.4441 49.6965 29.2342 49.6965 26.5196V6.18774H73.3335V31.4441C73.3335 44.7155 62.7534 55.4693 49.6965 55.4693ZM24.8482 57.9315H0V81.9567H20.0033C22.6741 81.9567 24.8482 84.1665 24.8482 86.8811V107.213H48.4852V81.9567C48.4852 68.6853 37.9052 57.9315 24.8482 57.9315ZM104.238 56.7004C101.567 56.7004 99.3929 54.4905 99.3929 51.7759V31.4441H75.7559V56.7004C75.7559 69.9718 86.3359 80.7256 99.3929 80.7256H124.241V56.7004H104.238ZM50.9077 107.213V132.469H74.5447V112.137C74.5447 109.423 76.7188 107.213 79.3896 107.213H99.3929V83.1878H74.5447C61.4877 83.1878 50.9077 93.9416 50.9077 107.213Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1857.13 6.60986H1921.15C1933.61 6.60986 1942.81 9.44261 1948.72 15.1081C1954.64 20.7736 1957.6 28.2017 1957.6 37.3924C1957.6 45.9536 1955.21 52.8152 1950.42 57.9771C1945.64 63.0131 1939.78 66.0976 1932.86 67.2307C1940.66 68.3638 1947.02 71.5743 1951.93 76.8621C1956.84 82.024 1959.3 89.1373 1959.3 98.2021C1959.3 108.652 1955.9 116.961 1949.1 123.13C1942.43 129.174 1932.67 132.195 1919.83 132.195H1857.13V6.60986ZM1917.56 116.521C1924.86 116.521 1930.22 114.632 1933.61 110.855C1937.14 106.952 1938.9 101.979 1938.9 95.9359C1938.9 81.5833 1930.66 74.407 1914.16 74.407H1876.58V116.521H1917.56ZM1914.16 60.0544C1922.09 60.0544 1927.89 58.4807 1931.54 55.3332C1935.31 52.1857 1937.2 47.3385 1937.2 40.7917C1937.2 34.3708 1935.69 29.7125 1932.67 26.8168C1929.65 23.7952 1924.3 22.2844 1916.62 22.2844H1876.58V60.0544H1914.16Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1785.39 135.217C1773.81 135.217 1764.24 133.517 1756.68 130.118C1749.26 126.718 1743.84 122.249 1740.44 116.709C1737.04 111.17 1735.34 105.189 1735.34 98.7685C1735.34 91.7181 1737.23 85.3602 1741.01 79.6947C1744.79 73.9033 1750.51 69.5597 1758.19 66.664C1752.15 64.0201 1747.37 60.1802 1743.84 55.1442C1740.32 49.9823 1738.55 44.1909 1738.55 37.77C1738.55 31.6009 1740.19 25.9354 1743.46 20.7735C1746.74 15.6116 1751.84 11.4569 1758.76 8.30939C1765.81 5.16189 1774.69 3.58813 1785.39 3.58813C1796.09 3.58813 1804.9 5.16189 1811.83 8.30939C1818.88 11.4569 1824.04 15.6116 1827.31 20.7735C1830.59 25.9354 1832.22 31.6009 1832.22 37.77C1832.22 44.065 1830.4 49.7305 1826.75 54.7665C1823.22 59.8025 1818.5 63.7054 1812.58 66.4752C1820.26 69.4968 1825.99 73.9033 1829.77 79.6947C1833.55 85.3602 1835.43 91.7181 1835.43 98.7685C1835.43 105.189 1833.73 111.17 1830.34 116.709C1826.94 122.123 1821.46 126.592 1813.91 130.118C1806.48 133.517 1796.97 135.217 1785.39 135.217ZM1754.8 97.2577C1754.8 112.24 1764.99 119.731 1785.39 119.731C1805.79 119.731 1815.98 112.24 1815.98 97.2577C1815.98 90.4591 1813.4 84.9196 1808.24 80.639C1803.2 76.3584 1795.59 74.218 1785.39 74.218C1775.19 74.218 1767.51 76.3584 1762.35 80.639C1757.31 84.9196 1754.8 90.4591 1754.8 97.2577ZM1756.68 39.0919C1756.68 45.6387 1759.01 50.8006 1763.67 54.5776C1768.33 58.2287 1775.57 60.0543 1785.39 60.0543C1795.21 60.0543 1802.45 58.2287 1807.11 54.5776C1811.77 50.8006 1814.09 45.6387 1814.09 39.0919C1814.09 32.9228 1811.77 28.0757 1807.11 24.5505C1802.57 20.8994 1795.34 19.0738 1785.39 19.0738C1775.44 19.0738 1768.14 20.8994 1763.48 24.5505C1758.95 28.0757 1756.68 32.9228 1756.68 39.0919Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M1720.24 77.8062V91.9699H1644.7V77.8062H1720.24Z\" fill=\"currentColor\" />\n            <path\n                d=\"M1581.25 37.7701H1599.95V60.6209C1606.49 44.3798 1617.63 36.2593 1633.37 36.2593H1636.21V54.5777H1631.48C1619.52 54.5777 1611.28 58.04 1606.74 64.9645C1602.34 71.7631 1600.13 82.1498 1600.13 96.1247V132.195H1581.25V37.7701Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1506.24 134.65C1496.55 134.65 1488.87 132.195 1483.2 127.285C1477.66 122.375 1474.89 115.576 1474.89 106.889C1474.89 99.0833 1477.1 92.8513 1481.5 88.193C1486.04 83.4088 1493.4 80.1354 1503.6 78.3728L1527.2 74.4069C1531.86 73.6515 1535.2 72.4555 1537.21 70.8188C1539.35 69.1821 1540.42 66.727 1540.42 63.4536C1540.42 58.7953 1538.85 55.2701 1535.7 52.878C1532.68 50.36 1527.33 49.101 1519.65 49.101C1511.97 49.101 1506.18 50.6118 1502.28 53.6334C1498.5 56.655 1496.36 61.1874 1495.86 67.2306H1476.97C1477.1 57.0327 1480.81 49.0381 1488.11 43.2467C1495.42 37.4553 1505.68 34.5596 1518.9 34.5596C1531.61 34.5596 1541.24 37.2035 1547.79 42.4913C1554.46 47.7791 1557.8 54.8924 1557.8 63.8313V110.666C1557.8 117.591 1558.11 124.767 1558.74 132.195H1541.56C1540.8 124.767 1540.42 117.654 1540.42 110.855C1538.28 117.654 1534.38 123.319 1528.72 127.851C1523.05 132.384 1515.56 134.65 1506.24 134.65ZM1493.78 106.134C1493.78 110.54 1495.23 114.002 1498.12 116.52C1501.14 118.913 1505.17 120.109 1510.21 120.109C1519.78 120.109 1527.2 116.961 1532.49 110.666C1537.78 104.245 1540.42 96.1247 1540.42 86.3045V80.639C1538.16 82.2757 1535.7 83.5976 1533.06 84.6048C1530.42 85.4861 1527.27 86.3674 1523.62 87.2487L1510.59 90.2703C1504.67 91.6552 1500.39 93.6067 1497.74 96.1247C1495.1 98.5168 1493.78 101.853 1493.78 106.134Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M1435.19 0H1454.08V132.195H1435.19V0Z\" fill=\"currentColor\" />\n            <path\n                d=\"M1366.83 135.217C1356.25 135.217 1347.32 133.013 1340.01 128.607C1332.71 124.2 1327.23 118.22 1323.58 110.666C1319.93 102.986 1318.11 94.3619 1318.11 84.7935C1318.11 75.3511 1319.93 66.8528 1323.58 59.2988C1327.23 51.7448 1332.71 45.7645 1340.01 41.358C1347.32 36.9515 1356.25 34.7483 1366.83 34.7483C1377.41 34.7483 1386.34 36.9515 1393.65 41.358C1400.95 45.7645 1406.43 51.8077 1410.08 59.4876C1413.73 67.0416 1415.55 75.4769 1415.55 84.7935C1415.55 94.236 1413.73 102.797 1410.08 110.477C1406.43 118.031 1400.95 124.074 1393.65 128.607C1386.34 133.013 1377.41 135.217 1366.83 135.217ZM1337.18 84.9824C1337.18 97.4465 1339.51 106.448 1344.17 111.988C1348.95 117.402 1356.51 120.109 1366.83 120.109C1377.15 120.109 1384.64 117.402 1389.3 111.988C1394.09 106.448 1396.48 97.4465 1396.48 84.9824C1396.48 72.5183 1394.09 63.5794 1389.3 58.1657C1384.64 52.6261 1377.15 49.8563 1366.83 49.8563C1356.51 49.8563 1348.95 52.6261 1344.17 58.1657C1339.51 63.5794 1337.18 72.5183 1337.18 84.9824Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1213.14 0H1232.03V58.9212C1238.58 42.806 1249.97 34.7484 1266.21 34.7484C1278.42 34.7484 1287.17 37.9589 1292.46 44.3798C1297.88 50.8007 1300.58 60.432 1300.58 73.2738V132.195H1281.7V74.9735C1281.7 65.7828 1279.87 59.4248 1276.22 55.8996C1272.57 52.2485 1267.41 50.423 1260.73 50.423C1251.17 50.423 1243.99 53.7593 1239.21 60.432C1234.42 67.1047 1232.03 77.7433 1232.03 92.3477V132.195H1213.14V0Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1099.93 84.9824C1099.93 75.414 1101.76 66.8528 1105.41 59.2988C1109.19 51.7448 1114.66 45.7645 1121.84 41.358C1129.14 36.9515 1137.95 34.7483 1148.28 34.7483C1162.51 34.7483 1173.46 38.2735 1181.14 45.3239C1188.94 52.2484 1193.1 61.502 1193.6 73.0848H1175.85C1174.97 66.1603 1172.39 60.5578 1168.11 56.2772C1163.83 51.9966 1157.47 49.8563 1149.03 49.8563C1139.34 49.8563 1131.91 52.6261 1126.75 58.1657C1121.59 63.5794 1119.01 72.5183 1119.01 84.9824C1119.01 97.5724 1121.52 106.574 1126.56 111.988C1131.6 117.402 1138.96 120.109 1148.66 120.109C1157.34 120.109 1163.95 117.905 1168.49 113.499C1173.14 108.966 1175.91 103.049 1176.8 95.7468H1194.55C1194.3 102.923 1192.34 109.533 1188.69 115.576C1185.17 121.493 1180.01 126.278 1173.21 129.929C1166.41 133.454 1158.22 135.217 1148.66 135.217C1138.33 135.217 1129.52 133.013 1122.22 128.607C1114.92 124.2 1109.38 118.22 1105.6 110.666C1101.82 103.112 1099.93 94.5508 1099.93 84.9824Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M998.785 90.0815C999.414 110.1 1011.5 120.109 1035.04 120.109C1046.88 120.109 1055.06 118.283 1059.59 114.632C1064.13 110.981 1066.39 105.63 1066.39 98.5797C1066.39 92.7883 1064.63 88.2559 1061.11 84.9825C1057.71 81.5832 1052.42 79.38 1045.24 78.3728L1016.16 74.2181C994.504 71.1965 983.677 59.9284 983.677 40.4139C983.677 29.3347 987.832 20.3958 996.141 13.5972C1004.45 6.6727 1016.66 3.21045 1032.78 3.21045C1049.52 3.21045 1062.11 6.9245 1070.55 14.3526C1079.11 21.6548 1083.83 31.3491 1084.71 43.4355H1065.83C1064.82 35.5038 1061.61 29.3347 1056.2 24.9282C1050.78 20.5217 1042.91 18.3184 1032.59 18.3184C1022.77 18.3184 1015.4 20.2699 1010.49 24.1728C1005.71 27.9498 1003.32 33.1746 1003.32 39.8474C1003.32 44.6315 1004.7 48.5974 1007.47 51.7449C1010.24 54.7665 1014.46 56.718 1020.12 57.5993L1050.91 62.1317C1062.36 63.7684 1071.05 67.3565 1076.97 72.8961C1083.01 78.3098 1086.03 86.0526 1086.03 96.1246C1086.03 122.186 1069.04 135.217 1035.04 135.217C1015.91 135.217 1001.93 130.999 993.119 122.564C984.306 114.002 979.9 103.175 979.9 90.0815H998.785Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M873.8 37.7699H892.685V58.9211C899.232 42.8059 910.626 34.7483 926.867 34.7483C939.079 34.7483 947.829 37.9587 953.117 44.3796C958.531 50.8005 961.238 60.4319 961.238 73.2737V132.195H942.353V74.9734C942.353 65.7826 940.527 59.4247 936.876 55.8995C933.225 52.2484 928.063 50.4228 921.39 50.4228C911.822 50.4228 904.646 53.7592 899.861 60.4319C895.077 67.1046 892.685 77.7431 892.685 92.3475V132.195H873.8V37.7699Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M809.663 135.217C793.674 135.217 781.714 130.558 773.782 121.242C765.85 111.925 761.884 99.7757 761.884 84.7935C761.884 75.3511 763.647 66.8528 767.172 59.2988C770.697 51.7448 776.048 45.7645 783.224 41.358C790.401 36.9515 799.214 34.7483 809.663 34.7483C819.358 34.7483 827.604 36.8886 834.403 41.1692C841.327 45.3239 846.489 51.0523 849.888 58.3545C853.414 65.6567 855.176 73.9032 855.176 83.0939C855.176 86.2414 855.05 88.6335 854.798 90.2702H780.392C781.147 101.475 784.106 109.47 789.268 114.254C794.429 118.912 801.417 121.242 810.23 121.242C825.338 121.242 834.466 115.387 837.613 103.679H854.987C853.854 111.988 849.7 119.353 842.523 125.774C835.473 132.069 824.52 135.217 809.663 135.217ZM837.047 76.4841C836.165 57.9768 827.1 48.7232 809.852 48.7232C801.291 48.7232 794.555 50.8635 789.645 55.1441C784.735 59.2988 781.714 66.4121 780.58 76.4841H837.047Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M703.732 135.217C687.113 135.217 675.467 128.796 668.794 115.954V169.965H649.909V37.7699H668.794V54.011C675.467 41.1692 687.113 34.7483 703.732 34.7483C718.21 34.7483 729.163 39.4695 736.592 48.912C744.02 58.2286 747.734 70.2521 747.734 84.9824C747.734 99.7127 744.02 111.799 736.592 121.242C729.163 130.558 718.21 135.217 703.732 135.217ZM668.794 84.9824C668.794 108.4 679.118 120.109 699.766 120.109C710.09 120.109 717.455 117.276 721.861 111.61C726.394 105.819 728.66 96.9429 728.66 84.9824C728.66 73.0219 726.394 64.2089 721.861 58.5434C717.455 52.752 710.09 49.8563 699.766 49.8563C679.118 49.8563 668.794 61.565 668.794 84.9824Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M566.24 135.405C544.837 135.405 528.848 129.362 518.272 117.276C507.822 105.064 502.598 89.0742 502.598 69.308C502.598 56.7179 504.801 45.4499 509.207 35.5038C513.74 25.5577 520.727 17.689 530.17 11.8976C539.738 6.10615 551.762 3.21045 566.24 3.21045C580.719 3.21045 592.679 6.10615 602.122 11.8976C611.69 17.689 618.677 25.5577 623.084 35.5038C627.616 45.4499 629.883 56.7179 629.883 69.308C629.883 82.0238 627.616 93.3549 623.084 103.301C618.677 113.247 611.69 121.116 602.122 126.907C592.679 132.573 580.719 135.405 566.24 135.405ZM522.993 69.308C522.993 86.1786 526.393 98.7686 533.191 107.078C540.116 115.261 551.132 119.353 566.24 119.353C581.348 119.353 592.301 115.261 599.1 107.078C606.025 98.7686 609.487 86.1786 609.487 69.308C609.487 52.4374 606.025 39.9103 599.1 31.7268C592.301 23.4174 581.348 19.2627 566.24 19.2627C551.132 19.2627 540.116 23.4174 533.191 31.7268C526.393 39.9103 522.993 52.4374 522.993 69.308Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M338.04 116.52L402.249 64.5867C407.537 60.3061 411.125 56.3402 413.014 52.6891C415.028 49.038 416.035 44.7575 416.035 39.8474C416.035 33.6782 414.021 28.7052 409.992 24.9282C406.089 21.1512 399.983 19.2627 391.673 19.2627C379.965 19.2627 371.404 22.599 365.99 29.2718C360.702 35.8186 358.058 44.9463 358.058 56.655H337.662C337.914 41.9247 342.132 29.3347 350.315 18.885C358.499 8.4353 372.285 3.21045 391.673 3.21045C407.285 3.21045 418.616 6.6727 425.666 13.5972C432.843 20.5217 436.431 29.2088 436.431 39.6585C436.431 47.842 433.976 55.396 429.066 62.3205C424.156 69.245 415.909 77.2397 404.326 86.3045L365.99 116.52H438.697V132.195H338.04V116.52Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M314.1 132.195H295.215V58.5436C295.215 57.1587 294.9 56.2145 294.271 55.7109C293.767 55.0814 292.823 54.7666 291.438 54.7666H278.974V37.7701H293.327C299.496 37.7701 304.469 39.6586 308.246 43.4356C312.023 47.0867 313.974 51.9339 314.1 57.9771V132.195ZM288.039 6.60986H311.834V23.6064H288.039V6.60986Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M254.623 132.195L243.481 102.357H182.671L171.529 132.195H151.888L198.534 6.60986H227.806L274.452 132.195H254.623ZM237.626 86.6823L213.076 20.3959L188.525 86.6823H237.626Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Ai2Playground(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1485 173\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Ai2Playground</title>\n            <path\n                d=\"M52.8722 56.2742H26.4361V32.249H47.7177C50.5591 32.249 52.8722 30.0391 52.8722 27.3245V6.99265H78.0196V32.249C78.0196 45.5204 66.7635 56.2742 52.8722 56.2742ZM26.4361 58.7364H0V82.7616H21.2816C24.123 82.7616 26.4361 84.9714 26.4361 87.6861V108.018H51.5835V82.7616C51.5835 69.4902 40.3274 58.7364 26.4361 58.7364ZM110.899 57.5053C108.057 57.5053 105.744 55.2954 105.744 52.5808V32.249H80.5969V57.5053C80.5969 70.7767 91.853 81.5305 105.744 81.5305H132.18V57.5053H110.899ZM54.1608 108.018V133.274H79.3083V112.942C79.3083 110.228 81.6213 108.018 84.4627 108.018H105.744V83.9927H79.3083C65.4169 83.9927 54.1608 94.7465 54.1608 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M264.208 133L253.066 103.162H192.256L181.114 133H161.474L208.12 7.41469H237.392L284.037 133H264.208ZM198.111 87.4871H247.212L222.661 21.2007L198.111 87.4871Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M323.686 133H304.801V59.3484C304.801 57.9635 304.486 57.0193 303.856 56.5157C303.353 55.8862 302.409 55.5714 301.024 55.5714H288.56V38.5749H302.912C309.081 38.5749 314.054 40.4634 317.831 44.2404C321.608 47.8915 323.56 52.7387 323.686 58.7819V133ZM297.624 7.41469H321.419V24.4112H297.624V7.41469Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M347.625 117.325L411.834 65.3916C417.122 61.111 420.71 57.1452 422.599 53.4941C424.613 49.843 425.62 45.5624 425.62 40.6523C425.62 34.4832 423.606 29.5101 419.577 25.7331C415.674 21.9561 409.568 20.0676 401.259 20.0676C389.55 20.0676 380.989 23.404 375.575 30.0767C370.287 36.6235 367.643 45.7512 367.643 57.4599H347.248C347.499 42.7296 351.717 30.1396 359.901 19.6899C368.084 9.24024 381.87 4.01539 401.259 4.01539C416.87 4.01539 428.201 7.47764 435.252 14.4021C442.428 21.3266 446.016 30.0137 446.016 40.4634C446.016 48.6469 443.561 56.2009 438.651 63.1254C433.741 70.0499 425.494 78.0446 413.912 87.1094L375.575 117.325H448.282V133H347.625V117.325Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M576.77 7.41469C589.863 7.41469 599.621 11.0028 606.042 18.1791C612.588 25.3554 615.862 34.4202 615.862 45.3735C615.862 56.4527 612.651 65.5805 606.23 72.7568C599.809 79.9331 589.989 83.5212 576.77 83.5212H537.111V133H517.471V7.41469H576.77ZM572.048 67.8467C587.66 67.8467 595.466 60.3556 595.466 45.3735C595.466 30.5173 587.66 23.0892 572.048 23.0892H537.111V67.8467H572.048Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M634.786 0.804932H653.672V133H634.786V0.804932Z\" fill=\"currentColor\" />\n            <path\n                d=\"M705.838 135.455C696.144 135.455 688.464 133 682.799 128.09C677.259 123.18 674.489 116.381 674.489 107.694C674.489 99.8882 676.693 93.6562 681.099 88.9979C685.631 84.2137 692.997 80.9403 703.195 79.1777L726.801 75.2118C731.459 74.4564 734.795 73.2604 736.81 71.6237C738.95 69.987 740.02 67.5319 740.02 64.2585C740.02 59.6002 738.447 56.075 735.299 53.6829C732.277 51.1649 726.927 49.9059 719.247 49.9059C711.567 49.9059 705.775 51.4167 701.873 54.4383C698.096 57.4599 695.955 61.9923 695.452 68.0355H676.567C676.693 57.8376 680.407 49.843 687.709 44.0516C695.011 38.2602 705.272 35.3645 718.491 35.3645C731.207 35.3645 740.839 38.0084 747.385 43.2962C754.058 48.584 757.394 55.6973 757.394 64.6362V111.471C757.394 118.396 757.709 125.572 758.339 133H741.153C740.398 125.572 740.02 118.458 740.02 111.66C737.88 118.458 733.977 124.124 728.312 128.656C722.646 133.189 715.155 135.455 705.838 135.455ZM709.804 120.914C719.373 120.914 726.801 117.766 732.089 111.471C737.376 105.05 740.02 96.9296 740.02 87.1094V81.4439C737.754 83.0806 735.299 84.4025 732.655 85.4097C730.011 86.291 726.864 87.1723 723.213 88.0536L710.182 91.0752C704.265 92.4601 699.984 94.4116 697.34 96.9296C694.696 99.3217 693.374 102.658 693.374 106.939C693.374 111.345 694.822 114.807 697.718 117.325C700.739 119.717 704.768 120.914 709.804 120.914Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M769.841 155.662H797.791L806.667 133H799.868L764.175 38.5749H783.627L809.122 105.994L813.088 117.325L816.676 105.994L842.548 38.5749H860.867L821.397 141.309C818.375 149.115 815.668 154.969 813.276 158.872C810.884 162.775 807.611 165.734 803.456 167.748C799.301 169.763 793.51 170.77 786.082 170.77H769.841V155.662Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M914.447 172.847C900.094 172.847 888.889 169.889 880.832 163.971C872.774 158.054 868.304 149.43 867.423 138.099H886.308C887.567 151.57 897.01 158.306 914.636 158.306C925.085 158.306 932.576 156.291 937.109 152.263C941.767 148.36 944.096 141.624 944.096 132.056V113.926C937.927 125.005 926.596 130.545 910.103 130.545C895.373 130.545 884.231 126.327 876.677 117.892C869.249 109.331 865.535 97.8109 865.535 83.3324C865.535 68.8539 869.249 57.397 876.677 48.9617C884.231 40.4005 895.373 36.1199 910.103 36.1199C926.218 36.1199 937.549 41.9742 944.096 53.6829V38.5749H962.981V132.622C962.981 145.968 959.141 155.977 951.461 162.649C943.907 169.448 931.569 172.847 914.447 172.847ZM914.636 116.003C924.708 116.003 932.136 113.422 936.92 108.261C941.704 103.099 944.096 94.7893 944.096 83.3324C944.096 71.8755 941.704 63.5661 936.92 58.4042C932.136 53.2423 924.708 50.6613 914.636 50.6613C904.06 50.6613 896.38 53.1793 891.596 58.2153C886.938 63.1254 884.609 71.4978 884.609 83.3324C884.609 95.167 886.938 103.602 891.596 108.638C896.38 113.548 904.06 116.003 914.636 116.003Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M989.06 38.5749H1007.76V61.4258C1014.3 45.1847 1025.45 37.0641 1041.18 37.0641H1044.02V55.3826H1039.29C1027.33 55.3826 1019.09 58.8448 1014.56 65.7693C1010.15 72.5679 1007.95 82.9547 1007.95 96.9296V133H989.06V38.5749Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1101.99 136.022C1091.42 136.022 1082.48 133.818 1075.18 129.412C1067.87 125.005 1062.4 119.025 1058.75 111.471C1055.09 103.791 1053.27 95.167 1053.27 85.5986C1053.27 76.1561 1055.09 67.6578 1058.75 60.1038C1062.4 52.5498 1067.87 46.5696 1075.18 42.1631C1082.48 37.7566 1091.42 35.5533 1101.99 35.5533C1112.57 35.5533 1121.51 37.7566 1128.81 42.1631C1136.11 46.5696 1141.59 52.6128 1145.24 60.2927C1148.89 67.8467 1150.72 76.282 1150.72 85.5986C1150.72 95.0411 1148.89 103.602 1145.24 111.282C1141.59 118.836 1136.11 124.879 1128.81 129.412C1121.51 133.818 1112.57 136.022 1101.99 136.022ZM1072.34 85.7874C1072.34 98.2515 1074.67 107.253 1079.33 112.793C1084.11 118.207 1091.67 120.914 1101.99 120.914C1112.32 120.914 1119.81 118.207 1124.47 112.793C1129.25 107.253 1131.64 98.2515 1131.64 85.7874C1131.64 73.3233 1129.25 64.3844 1124.47 58.9707C1119.81 53.4311 1112.32 50.6613 1101.99 50.6613C1091.67 50.6613 1084.11 53.4311 1079.33 58.9707C1074.67 64.3844 1072.34 73.3233 1072.34 85.7874Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1203.4 136.022C1191.19 136.022 1182.25 132.811 1176.59 126.39C1171.05 119.843 1168.28 110.212 1168.28 97.4961V38.5749H1187.16V95.7965C1187.16 104.987 1189.05 111.408 1192.83 115.059C1196.73 118.584 1202.21 120.347 1209.26 120.347C1217.82 120.347 1224.55 116.822 1229.46 109.771C1234.37 102.595 1236.83 92.1454 1236.83 78.4223V38.5749H1255.71V133H1236.83V112.415C1230.53 128.153 1219.39 136.022 1203.4 136.022Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1281.74 38.5749H1300.63V59.7261C1307.17 43.6109 1318.57 35.5533 1334.81 35.5533C1347.02 35.5533 1355.77 38.7638 1361.06 45.1847C1366.47 51.6056 1369.18 61.2369 1369.18 74.0787V133H1350.29V75.7784C1350.29 66.5877 1348.47 60.2297 1344.82 56.7045C1341.17 53.0534 1336 51.2279 1329.33 51.2279C1319.76 51.2279 1312.59 54.5642 1307.8 61.2369C1303.02 67.9096 1300.63 78.5482 1300.63 93.1526V133H1281.74V38.5749Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1431.09 35.5533C1447.71 35.5533 1459.35 41.9742 1466.02 54.816V0.804932H1484.91V133H1466.02V116.759C1459.35 129.601 1447.71 136.022 1431.09 136.022C1416.61 136.022 1405.66 131.363 1398.23 122.047C1390.8 112.604 1387.09 100.518 1387.09 85.7874C1387.09 71.0571 1390.8 59.0337 1398.23 49.7171C1405.66 40.2746 1416.61 35.5533 1431.09 35.5533ZM1435.05 50.6613C1424.73 50.6613 1417.3 53.557 1412.77 59.3484C1408.36 65.0139 1406.16 73.8269 1406.16 85.7874C1406.16 97.7479 1408.36 106.624 1412.77 112.415C1417.3 118.081 1424.73 120.914 1435.05 120.914C1455.7 120.914 1466.02 109.205 1466.02 85.7874C1466.02 62.37 1455.7 50.6613 1435.05 50.6613Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function DataDecide(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1171 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>DataDecide</title>\n            <path\n                d=\"M49.6965 56.2744H24.8482V32.2492H44.8516C47.5223 32.2492 49.6965 30.0394 49.6965 27.3248V6.9929H73.3335V32.2492C73.3335 45.5206 62.7534 56.2744 49.6965 56.2744ZM24.8482 58.7366H0V82.7618H20.0033C22.6741 82.7618 24.8482 84.9717 24.8482 87.6863V108.018H48.4852V82.7618C48.4852 69.4904 37.9052 58.7366 24.8482 58.7366ZM104.238 57.5055C101.567 57.5055 99.3929 55.2957 99.3929 52.5811V32.2492H75.7559V57.5055C75.7559 70.7769 86.3359 81.5307 99.3929 81.5307H124.241V57.5055H104.238ZM50.9077 108.018V133.274H74.5447V112.943C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.993H74.5447C61.4877 83.993 50.9077 94.7467 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M174.362 117.326H212.887C223.211 117.326 231.457 115.563 237.626 112.038C243.921 108.513 248.454 103.288 251.224 96.3633C253.993 89.4388 255.378 80.6258 255.378 69.9243C255.378 59.2228 253.993 50.4727 251.224 43.6741C248.454 36.7496 243.921 31.5877 237.626 28.1884C231.457 24.7891 223.211 23.0895 212.887 23.0895H174.362V7.41493H216.664C229.884 7.41493 240.9 10.1847 249.713 15.7243C258.526 21.2639 265.073 28.755 269.353 38.1975C273.634 47.64 275.774 58.2156 275.774 69.9243C275.774 81.7589 273.634 92.4604 269.353 102.029C265.073 111.471 258.526 119.025 249.713 124.691C240.9 130.23 229.884 133 216.664 133H174.362V117.326ZM162.275 7.41493H181.727V133H162.275V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M321.688 135.455C315.267 135.455 309.665 134.385 304.881 132.245C300.222 129.979 296.634 126.768 294.116 122.613C291.598 118.459 290.339 113.486 290.339 107.694C290.339 102.532 291.283 98.0629 293.172 94.2859C295.06 90.383 298.082 87.1726 302.237 84.6546C306.517 82.1366 312.12 80.311 319.044 79.1779L342.651 75.2121C347.309 74.4567 350.645 73.2606 352.66 71.6239C354.8 69.9872 355.87 67.5322 355.87 64.2588C355.87 61.2372 355.241 58.7192 353.982 56.7048C352.723 54.5645 350.519 52.9278 347.372 51.7947C344.35 50.5357 340.259 49.9062 335.097 49.9062C327.417 49.9062 321.625 51.417 317.722 54.4386C313.945 57.4602 311.805 61.9926 311.302 68.0358H292.417C292.542 61.3631 294.179 55.5717 297.327 50.6616C300.6 45.7515 305.384 41.9745 311.679 39.3306C317.974 36.6867 325.528 35.3647 334.341 35.3647C342.777 35.3647 349.89 36.6237 355.681 39.1417C361.599 41.5338 366.005 44.9331 368.901 49.3396C371.796 53.6202 373.244 58.7192 373.244 64.6365V111.471C373.244 114.871 373.307 118.333 373.433 121.858C373.559 125.257 373.811 128.971 374.189 133H357.003C356.626 129.475 356.311 125.95 356.059 122.425C355.933 118.899 355.87 115.311 355.87 111.66C354.485 115.941 352.345 119.907 349.449 123.558C346.554 127.083 342.777 129.979 338.118 132.245C333.46 134.385 327.983 135.455 321.688 135.455ZM325.654 120.914C332.075 120.914 337.552 119.466 342.084 116.57C346.616 113.549 350.016 109.52 352.282 104.484C354.674 99.3219 355.87 93.5305 355.87 87.1096V81.4441C353.856 82.9549 351.652 84.2139 349.26 85.2211C346.868 86.1024 344.161 86.8578 341.14 87.4873L339.062 88.0539L326.032 91.0755C320.115 92.4604 315.834 94.4118 313.19 96.9298C310.546 99.3219 309.224 102.658 309.224 106.939C309.224 111.345 310.672 114.808 313.568 117.326C316.589 119.718 320.618 120.914 325.654 120.914Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M431.066 133C423.512 133 417.658 132.056 413.503 130.167C409.474 128.153 406.642 125.194 405.005 121.291C403.368 117.263 402.55 111.912 402.55 105.239V53.1166H384.609V43.2964L404.25 36.4978L411.992 17.2351H421.435V38.5752H451.651V53.1166H421.435V117.892H449.763V133H431.066Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M496.153 135.455C489.732 135.455 484.13 134.385 479.346 132.245C474.687 129.979 471.099 126.768 468.581 122.613C466.063 118.459 464.804 113.486 464.804 107.694C464.804 102.532 465.748 98.0629 467.637 94.2859C469.525 90.383 472.547 87.1726 476.702 84.6546C480.982 82.1366 486.585 80.311 493.509 79.1779L517.116 75.2121C521.774 74.4567 525.11 73.2606 527.125 71.6239C529.265 69.9872 530.335 67.5322 530.335 64.2588C530.335 61.2372 529.706 58.7192 528.447 56.7048C527.188 54.5645 524.984 52.9278 521.837 51.7947C518.815 50.5357 514.724 49.9062 509.562 49.9062C501.882 49.9062 496.09 51.417 492.187 54.4386C488.41 57.4602 486.27 61.9926 485.766 68.0358H466.881C467.007 61.3631 468.644 55.5717 471.792 50.6616C475.065 45.7515 479.849 41.9745 486.144 39.3306C492.439 36.6867 499.993 35.3647 508.806 35.3647C517.241 35.3647 524.355 36.6237 530.146 39.1417C536.064 41.5338 540.47 44.9331 543.366 49.3396C546.261 53.6202 547.709 58.7192 547.709 64.6365V111.471C547.709 114.871 547.772 118.333 547.898 121.858C548.024 125.257 548.276 128.971 548.654 133H531.468C531.091 129.475 530.776 125.95 530.524 122.425C530.398 118.899 530.335 115.311 530.335 111.66C528.95 115.941 526.81 119.907 523.914 123.558C521.018 127.083 517.242 129.979 512.583 132.245C507.925 134.385 502.448 135.455 496.153 135.455ZM500.119 120.914C506.54 120.914 512.017 119.466 516.549 116.57C521.081 113.549 524.481 109.52 526.747 104.484C529.139 99.3219 530.335 93.5305 530.335 87.1096V81.4441C528.321 82.9549 526.117 84.2139 523.725 85.2211C521.333 86.1024 518.626 86.8578 515.605 87.4873L513.527 88.0539L500.497 91.0755C494.579 92.4604 490.299 94.4118 487.655 96.9298C485.011 99.3219 483.689 102.658 483.689 106.939C483.689 111.345 485.137 114.808 488.033 117.326C491.054 119.718 495.083 120.914 500.119 120.914Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M582.492 117.326H621.017C631.341 117.326 639.587 115.563 645.756 112.038C652.051 108.513 656.584 103.288 659.354 96.3633C662.123 89.4388 663.508 80.6258 663.508 69.9243C663.508 59.2228 662.123 50.4727 659.354 43.6741C656.584 36.7496 652.051 31.5877 645.756 28.1884C639.587 24.7891 631.341 23.0895 621.017 23.0895H582.492V7.41493H624.794C638.013 7.41493 649.03 10.1847 657.843 15.7243C666.656 21.2639 673.203 28.755 677.483 38.1975C681.764 47.64 683.904 58.2156 683.904 69.9243C683.904 81.7589 681.764 92.4604 677.483 102.029C673.203 111.471 666.656 119.025 657.843 124.691C649.03 130.23 638.013 133 624.794 133H582.492V117.326ZM570.405 7.41493H589.857V133H570.405V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M745.115 136.022C734.288 136.022 725.286 133.819 718.109 129.412C711.059 125.006 705.834 119.025 702.435 111.471C699.036 103.917 697.336 95.2931 697.336 85.5988C697.336 76.1563 699.099 67.6581 702.624 60.1041C706.149 52.5501 711.5 46.5698 718.676 42.1633C725.852 37.7568 734.665 35.5536 745.115 35.5536C754.809 35.5536 763.056 37.6939 769.854 41.9745C776.779 46.1292 781.941 51.8576 785.34 59.1598C788.865 66.462 790.628 74.7085 790.628 83.8992V86.7319C790.628 87.6132 790.502 89.0611 790.25 91.0755H712.255V77.2894H780.43L772.309 85.7877C772.813 77.6042 772.121 70.8056 770.232 65.3919C768.47 59.9782 765.448 56.0123 761.167 53.4943C757.013 50.8504 751.725 49.5285 745.304 49.5285C738.883 49.5285 733.469 50.6616 729.063 52.9278C724.782 55.194 721.446 59.0339 719.054 64.4476C716.788 69.7354 715.654 76.8488 715.654 85.7877C715.654 94.8525 716.913 102.092 719.431 107.505C721.949 112.793 725.412 116.57 729.818 118.836C734.225 120.977 739.512 122.047 745.682 122.047C751.221 122.047 755.817 121.291 759.468 119.781C763.245 118.27 766.203 116.255 768.344 113.737C770.61 111.094 772.184 108.009 773.065 104.484H790.439C789.81 109.52 787.921 114.43 784.774 119.214C781.752 123.998 776.968 128.027 770.421 131.301C763.874 134.448 755.439 136.022 745.115 136.022Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M803.564 85.7877C803.564 76.2193 805.39 67.6581 809.041 60.1041C812.818 52.5501 818.294 46.5698 825.471 42.1633C832.773 37.7568 841.586 35.5536 851.91 35.5536C861.478 35.5536 869.599 37.1903 876.271 40.4637C882.944 43.7371 887.98 48.2695 891.379 54.0609C894.905 59.7264 896.856 66.3361 897.234 73.8901H879.482C878.978 69.3577 877.719 65.3919 875.705 61.9926C873.69 58.4674 870.732 55.6976 866.829 53.6832C863.052 51.6688 858.331 50.6616 852.665 50.6616C846.244 50.6616 840.831 51.8576 836.424 54.2497C832.018 56.5159 828.618 60.23 826.226 65.3919C823.834 70.5538 822.638 77.3524 822.638 85.7877C822.638 94.3489 823.771 101.21 826.037 106.372C828.429 111.534 831.766 115.248 836.046 117.514C840.453 119.781 845.867 120.914 852.287 120.914C860.975 120.914 867.584 118.711 872.117 114.304C876.775 109.772 879.545 103.854 880.426 96.5521H898.178C897.926 103.728 895.975 110.338 892.324 116.381C888.798 122.299 883.637 127.083 876.838 130.734C870.039 134.259 861.856 136.022 852.287 136.022C841.964 136.022 833.151 133.819 825.848 129.412C818.546 125.006 813.007 119.025 809.23 111.471C805.453 103.917 803.564 95.3561 803.564 85.7877Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M941.326 133H922.441V59.3487C922.441 57.9638 922.126 57.0195 921.497 56.5159C920.993 55.8864 920.049 55.5717 918.664 55.5717H906.2V38.5752H920.552C924.581 38.5752 928.169 39.4565 931.317 41.2191C934.464 42.8558 936.919 45.1849 938.682 48.2065C940.444 51.2281 941.326 54.7533 941.326 58.7821V133ZM915.264 7.41493H939.06V24.4114H915.264V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1003.41 35.5536C1017.26 35.5536 1027.59 40.023 1034.38 48.9619C1041.31 57.7749 1044.77 70.0502 1044.77 85.7877C1044.77 96.1115 1043.26 105.05 1040.24 112.604C1037.22 120.032 1032.62 125.824 1026.45 129.979C1020.28 134.007 1012.6 136.022 1003.41 136.022C993.593 136.022 985.41 133.819 978.863 129.412C972.316 125.006 967.406 119.025 964.132 111.471C960.985 103.917 959.411 95.3561 959.411 85.7877C959.411 76.2193 960.985 67.6581 964.132 60.1041C967.406 52.5501 972.316 46.5698 978.863 42.1633C985.41 37.7568 993.593 35.5536 1003.41 35.5536ZM1057.24 133H1038.35V0.805176H1057.24V133ZM1007.38 50.6616C1000.45 50.6616 994.852 51.9835 990.571 54.6274C986.417 57.1454 983.332 60.9854 981.318 66.1473C979.429 71.3092 978.485 77.856 978.485 85.7877C978.485 93.7194 979.429 100.266 981.318 105.428C983.332 110.59 986.417 114.493 990.571 117.137C994.852 119.655 1000.45 120.914 1007.38 120.914C1014.05 120.914 1019.65 119.655 1024.19 117.137C1028.84 114.619 1032.37 110.779 1034.76 105.617C1037.15 100.329 1038.35 93.7194 1038.35 85.7877C1038.35 77.856 1037.15 71.3092 1034.76 66.1473C1032.37 60.8595 1028.84 56.9566 1024.19 54.4386C1019.65 51.9206 1014.05 50.6616 1007.38 50.6616Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1124.66 136.022C1113.83 136.022 1104.83 133.819 1097.65 129.412C1090.6 125.006 1085.38 119.025 1081.98 111.471C1078.58 103.917 1076.88 95.2931 1076.88 85.5988C1076.88 76.1563 1078.64 67.6581 1082.17 60.1041C1085.69 52.5501 1091.04 46.5698 1098.22 42.1633C1105.4 37.7568 1114.21 35.5536 1124.66 35.5536C1134.35 35.5536 1142.6 37.6939 1149.4 41.9745C1156.32 46.1292 1161.49 51.8576 1164.88 59.1598C1168.41 66.462 1170.17 74.7085 1170.17 83.8992V86.7319C1170.17 87.6132 1170.05 89.0611 1169.79 91.0755H1091.8V77.2894H1159.97L1151.85 85.7877C1152.36 77.6042 1151.66 70.8056 1149.78 65.3919C1148.01 59.9782 1144.99 56.0123 1140.71 53.4943C1136.56 50.8504 1131.27 49.5285 1124.85 49.5285C1118.43 49.5285 1113.01 50.6616 1108.61 52.9278C1104.33 55.194 1100.99 59.0339 1098.6 64.4476C1096.33 69.7354 1095.2 76.8488 1095.2 85.7877C1095.2 94.8525 1096.46 102.092 1098.98 107.505C1101.49 112.793 1104.96 116.57 1109.36 118.836C1113.77 120.977 1119.06 122.047 1125.23 122.047C1130.77 122.047 1135.36 121.291 1139.01 119.781C1142.79 118.27 1145.75 116.255 1147.89 113.737C1150.15 111.094 1151.73 108.009 1152.61 104.484H1169.98C1169.35 109.52 1167.47 114.43 1164.32 119.214C1161.3 123.998 1156.51 128.027 1149.97 131.301C1143.42 134.448 1134.98 136.022 1124.66 136.022Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Dolma(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 704 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Dolma</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0392 49.6965 27.3246V6.99271H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7365H0V82.7617H20.0033C22.6741 82.7617 24.8482 84.9715 24.8482 87.6861V108.018H48.4852V82.7617C48.4852 69.4902 37.9052 58.7365 24.8482 58.7365ZM104.238 57.5053C101.567 57.5053 99.3929 55.2955 99.3929 52.5809V32.249H75.7559V57.5053C75.7559 70.7768 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9928H74.5447C61.4877 83.9928 50.9077 94.7466 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M162.275 7.41475H216.664C229.884 7.41475 240.9 10.1845 249.713 15.7241C258.526 21.2637 265.073 28.7548 269.353 38.1973C273.634 47.6398 275.774 58.2154 275.774 69.9241C275.774 81.7587 273.634 92.4602 269.353 102.029C265.073 111.471 258.526 119.025 249.713 124.691C240.9 130.23 229.884 133 216.664 133H162.275V7.41475ZM212.887 117.325C228.121 117.325 239.011 113.486 245.558 105.806C252.105 97.9998 255.378 86.0393 255.378 69.9241C255.378 53.8089 252.105 41.9743 245.558 34.4203C239.011 26.8663 228.121 23.0893 212.887 23.0893H181.727V117.325H212.887Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M337.929 136.022C327.354 136.022 318.415 133.818 311.113 129.412C303.81 125.005 298.334 119.025 294.683 111.471C291.032 103.791 289.206 95.1671 289.206 85.5986C289.206 76.1562 291.032 67.6579 294.683 60.1039C298.334 52.5499 303.81 46.5696 311.113 42.1631C318.415 37.7566 327.354 35.5534 337.929 35.5534C348.505 35.5534 357.444 37.7566 364.746 42.1631C372.048 46.5696 377.525 52.6129 381.176 60.2928C384.827 67.8467 386.653 76.282 386.653 85.5986C386.653 95.0412 384.827 103.602 381.176 111.282C377.525 118.836 372.048 124.879 364.746 129.412C357.444 133.818 348.505 136.022 337.929 136.022ZM308.28 85.7875C308.28 98.2516 310.609 107.253 315.267 112.793C320.052 118.207 327.606 120.914 337.929 120.914C348.253 120.914 355.744 118.207 360.402 112.793C365.187 107.253 367.579 98.2516 367.579 85.7875C367.579 73.3234 365.187 64.3845 360.402 58.9708C355.744 53.4312 348.253 50.6614 337.929 50.6614C327.606 50.6614 320.052 53.4312 315.267 58.9708C310.609 64.3845 308.28 73.3234 308.28 85.7875Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M406.29 0.804993H425.175V133H406.29V0.804993Z\" fill=\"currentColor\" />\n            <path\n                d=\"M582.531 75.7785C582.531 67.0913 580.832 60.8593 577.432 57.0823C574.033 53.1794 569.06 51.2279 562.513 51.2279C553.574 51.2279 546.839 54.5643 542.306 61.237C537.9 67.9097 535.697 78.5482 535.697 93.1526V133H517.189V75.7785C517.189 67.0913 515.49 60.8593 512.09 57.0823C508.691 53.1794 503.718 51.2279 497.171 51.2279C488.358 51.2279 481.686 54.5643 477.153 61.237C472.621 67.9097 470.355 78.5482 470.355 93.1526V133H451.47V38.575H470.355V59.1596C476.65 43.4221 487.729 35.5534 503.592 35.5534C512.279 35.5534 519.141 37.6307 524.177 41.7854C529.213 45.8142 532.612 51.8574 534.375 59.9151C540.67 43.674 552.19 35.5534 568.934 35.5534C590.589 35.5534 601.416 48.3952 601.416 74.0788V133H582.531V75.7785Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M651.438 135.455C641.744 135.455 634.064 133 628.398 128.09C622.859 123.18 620.089 116.381 620.089 107.694C620.089 99.8883 622.292 93.6563 626.699 88.998C631.231 84.2138 638.596 80.9403 648.794 79.1777L672.4 75.2119C677.059 74.4565 680.395 73.2605 682.409 71.6237C684.55 69.987 685.62 67.532 685.62 64.2586C685.62 59.6003 684.046 56.0751 680.899 53.683C677.877 51.165 672.526 49.906 664.846 49.906C657.167 49.906 651.375 51.4168 647.472 54.4384C643.695 57.46 641.555 61.9924 641.051 68.0356H622.166C622.292 57.8377 626.006 49.8431 633.308 44.0517C640.611 38.2603 650.872 35.3645 664.091 35.3645C676.807 35.3645 686.438 38.0084 692.985 43.2962C699.658 48.584 702.994 55.6974 702.994 64.6363V111.471C702.994 118.396 703.309 125.572 703.938 133H686.753C685.998 125.572 685.62 118.459 685.62 111.66C683.48 118.459 679.577 124.124 673.911 128.656C668.246 133.189 660.755 135.455 651.438 135.455ZM638.974 106.939C638.974 111.345 640.422 114.807 643.318 117.325C646.339 119.718 650.368 120.914 655.404 120.914C664.972 120.914 672.4 117.766 677.688 111.471C682.976 105.05 685.62 96.9297 685.62 87.1095V81.444C683.354 83.0807 680.899 84.4026 678.255 85.4098C675.611 86.2911 672.463 87.1724 668.812 88.0537L655.782 91.0753C649.864 92.4602 645.584 94.4117 642.94 96.9296C640.296 99.3217 638.974 102.658 638.974 106.939Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function EarthSystems(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1332 171\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>EarthSystems</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0391 49.6965 27.3245V6.99268H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7364H0V82.7616H20.0033C22.6741 82.7616 24.8482 84.9715 24.8482 87.6861V108.018H48.4852V82.7616C48.4852 69.4902 37.9052 58.7364 24.8482 58.7364ZM104.238 57.5053C101.567 57.5053 99.3929 55.2955 99.3929 52.5808V32.249H75.7559V57.5053C75.7559 70.7767 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9927H74.5447C61.4877 83.9927 50.9077 94.7465 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1312.48 75.7783C1312.48 67.0912 1310.78 60.8591 1307.38 57.0821C1303.98 53.1792 1299.01 51.2278 1292.46 51.2278C1283.52 51.2278 1276.79 54.5641 1272.26 61.2368C1267.85 67.9095 1265.65 78.5481 1265.65 93.1525V133H1247.14V75.7783C1247.14 67.0912 1245.44 60.8591 1242.04 57.0821C1238.64 53.1792 1233.67 51.2278 1227.12 51.2278C1218.31 51.2278 1211.63 54.5641 1207.1 61.2368C1202.57 67.9095 1200.3 78.5481 1200.3 93.1525V133H1181.42V38.5748H1200.3V59.1595C1206.6 43.422 1217.68 35.5532 1233.54 35.5532C1242.23 35.5532 1249.09 37.6306 1254.13 41.7853C1259.16 45.8141 1262.56 51.8573 1264.32 59.9149C1270.62 43.6738 1282.14 35.5532 1298.88 35.5532C1320.54 35.5532 1331.37 48.395 1331.37 74.0786V133H1312.48V75.7783Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1117.28 136.021C1101.29 136.021 1089.33 131.363 1081.4 122.047C1073.47 112.73 1069.5 100.581 1069.5 85.5985C1069.5 76.156 1071.27 67.6577 1074.79 60.1037C1078.32 52.5497 1083.67 46.5695 1090.84 42.163C1098.02 37.7565 1106.83 35.5532 1117.28 35.5532C1126.98 35.5532 1135.22 37.6935 1142.02 41.9741C1148.95 46.1288 1154.11 51.8573 1157.51 59.1595C1161.03 66.4617 1162.8 74.7081 1162.8 83.8988C1162.8 87.0463 1162.67 89.4384 1162.42 91.0751H1088.01C1088.77 102.28 1091.72 110.275 1096.89 115.059C1102.05 119.717 1109.04 122.047 1117.85 122.047C1132.96 122.047 1142.08 116.192 1145.23 104.483H1162.61C1161.47 112.793 1157.32 120.158 1150.14 126.579C1143.09 132.874 1132.14 136.021 1117.28 136.021ZM1144.67 77.2891C1143.78 58.7818 1134.72 49.5281 1117.47 49.5281C1108.91 49.5281 1102.17 51.6684 1097.26 55.949C1092.35 60.1037 1089.33 67.2171 1088.2 77.2891H1144.67Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1036.9 133C1029.34 133 1023.49 132.056 1019.34 130.167C1015.31 128.153 1012.47 125.194 1010.84 121.291C1009.2 117.262 1008.38 111.912 1008.38 105.239V53.1164H990.441V43.2962L1010.08 36.4976L1017.82 17.2349H1027.27V38.5749H1057.48V53.1164H1027.27V117.892H1055.59V133H1036.9Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M916.105 101.462C916.483 107.631 918.875 112.604 923.282 116.381C927.688 120.158 934.235 122.047 942.922 122.047C950.854 122.047 956.33 120.851 959.352 118.459C962.374 115.941 963.884 112.289 963.884 107.505C963.884 103.602 962.688 100.581 960.296 98.4404C958.03 96.1742 954.442 94.6634 949.532 93.908L926.114 90.3199C917.931 89.0609 911.636 86.2281 907.229 81.8216C902.949 77.4151 900.808 71.6237 900.808 64.4474C900.808 55.3826 904.271 48.2693 911.195 43.1074C918.12 37.9455 927.751 35.3645 940.089 35.3645C952.05 35.3645 961.681 38.1343 968.983 43.6739C976.285 49.0876 980.251 56.3269 980.881 65.3917H961.996C961.492 60.7334 959.352 56.8934 955.575 53.8718C951.798 50.8502 946.447 49.3394 939.523 49.3394C932.598 49.3394 927.436 50.5984 924.037 53.1164C920.764 55.5085 919.127 58.719 919.127 62.7478C919.127 65.8953 920.071 68.4762 921.96 70.4906C923.974 72.505 927.373 73.8899 932.158 74.6453L952.553 77.6669C963.633 79.3036 971.375 82.577 975.782 87.4871C980.188 92.2713 982.392 98.6293 982.392 106.561C982.392 116.381 979.118 123.746 972.571 128.656C966.025 133.567 955.953 136.022 942.355 136.022C927.499 136.022 916.483 132.874 909.307 126.579C902.13 120.158 898.542 111.786 898.542 101.462H916.105Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M801.382 155.662H829.332L838.208 133H831.409L795.716 38.575H815.168L840.663 105.994L844.628 117.325L848.217 105.994L874.089 38.575H892.408L852.938 141.309C849.916 149.115 847.209 154.97 844.817 158.872C842.425 162.775 839.152 165.734 834.997 167.748C830.842 169.763 825.051 170.77 817.623 170.77H801.382V155.662Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M698.912 90.8864C699.541 110.904 711.627 120.914 735.171 120.914C747.005 120.914 755.189 119.088 759.721 115.437C764.254 111.786 766.52 106.435 766.52 99.3846C766.52 93.5932 764.757 89.0608 761.232 85.7874C757.833 82.3881 752.545 80.1849 745.369 79.1777L716.286 75.023C694.631 72.0014 683.804 60.7333 683.804 41.2188C683.804 30.1396 687.958 21.2007 696.268 14.4021C704.577 7.47763 716.789 4.01538 732.905 4.01538C749.649 4.01538 762.239 7.72943 770.675 15.1575C779.236 22.4597 783.957 32.154 784.838 44.2404H765.953C764.946 36.3087 761.736 30.1396 756.322 25.7331C750.908 21.3266 743.04 19.1234 732.716 19.1234C722.896 19.1234 715.53 21.0748 710.62 24.9777C705.836 28.7547 703.444 33.9796 703.444 40.6523C703.444 45.4365 704.829 49.4023 707.599 52.5498C710.368 55.5714 714.586 57.5229 720.252 58.4042L751.034 62.9366C762.491 64.5733 771.178 68.1614 777.096 73.701C783.139 79.1147 786.16 86.8576 786.16 96.9296C786.16 122.991 769.164 136.022 735.171 136.022C716.034 136.022 702.059 131.804 693.246 123.369C684.433 114.807 680.027 103.98 680.027 90.8864H698.912Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M527.457 0.804932H546.342V59.7261C552.888 43.6109 564.282 35.5533 580.523 35.5533C592.736 35.5533 601.486 38.7638 606.774 45.1847C612.187 51.6056 614.894 61.2369 614.894 74.0787V133H596.009V75.7784C596.009 66.5877 594.184 60.2297 590.532 56.7045C586.881 53.0534 581.719 51.2279 575.047 51.2279C565.478 51.2279 558.302 54.5642 553.518 61.2369C548.734 67.9096 546.342 78.5482 546.342 93.1526V133H527.457V0.804932Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M488.053 133C480.499 133 474.645 132.056 470.49 130.167C466.461 128.153 463.629 125.194 461.992 121.291C460.355 117.262 459.537 111.912 459.537 105.239V53.1164H441.596V43.2962L461.237 36.4976L468.979 17.2349H478.422V38.5749H508.638V53.1164H478.422V117.892H506.749V133H488.053Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M381.02 38.575H399.716V61.4259C406.262 45.1848 417.405 37.0642 433.142 37.0642H435.975V55.3827H431.254C419.293 55.3827 411.047 58.8449 406.514 65.7694C402.108 72.568 399.905 82.9548 399.905 96.9297V133H381.02V38.575Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M306.012 135.455C296.318 135.455 288.638 133 282.972 128.09C277.433 123.18 274.663 116.381 274.663 107.694C274.663 99.8883 276.866 93.6562 281.273 88.9979C285.805 84.2137 293.17 80.9403 303.368 79.1777L326.975 75.2119C331.633 74.4565 334.969 73.2604 336.984 71.6237C339.124 69.987 340.194 67.532 340.194 64.2586C340.194 59.6003 338.62 56.0751 335.473 53.683C332.451 51.165 327.1 49.906 319.421 49.906C311.741 49.906 305.949 51.4168 302.046 54.4384C298.269 57.46 296.129 61.9924 295.625 68.0356H276.74C276.866 57.8377 280.58 49.843 287.883 44.0516C295.185 38.2602 305.446 35.3645 318.665 35.3645C331.381 35.3645 341.012 38.0084 347.559 43.2962C354.232 48.584 357.568 55.6974 357.568 64.6363V111.471C357.568 118.396 357.883 125.572 358.512 133H341.327C340.572 125.572 340.194 118.459 340.194 111.66C338.054 118.459 334.151 124.124 328.485 128.656C322.82 133.189 315.329 135.455 306.012 135.455ZM293.548 106.939C293.548 111.345 294.996 114.807 297.892 117.325C300.913 119.718 304.942 120.914 309.978 120.914C319.546 120.914 326.975 117.766 332.262 111.471C337.55 105.05 340.194 96.9296 340.194 87.1094V81.4439C337.928 83.0806 335.473 84.4026 332.829 85.4098C330.185 86.2911 327.037 87.1724 323.386 88.0537L310.356 91.0753C304.438 92.4602 300.158 94.4116 297.514 96.9296C294.87 99.3217 293.548 102.658 293.548 106.939Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M181.727 117.326H257.644V133H162.275V7.41479H257.078V23.0893H181.727V61.0482H251.412V76.3451H181.727V117.326Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Molmo(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 750 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Molmo</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0392 49.6965 27.3246V6.99271H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7365H0V82.7617H20.0033C22.6741 82.7617 24.8482 84.9715 24.8482 87.6861V108.018H48.4852V82.7617C48.4852 69.4902 37.9052 58.7365 24.8482 58.7365ZM104.238 57.5053C101.567 57.5053 99.3929 55.2955 99.3929 52.5809V32.249H75.7559V57.5053C75.7559 70.7768 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9928H74.5447C61.4877 83.9928 50.9077 94.7466 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M303.913 133H284.461V22.5227L245.936 133H220.252L181.727 22.5227V133H162.275V7.41475H196.079L233.283 114.115L270.486 7.41475H303.913V133Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M371.31 136.022C360.734 136.022 351.796 133.818 344.493 129.412C337.191 125.005 331.715 119.025 328.063 111.471C324.412 103.791 322.587 95.1671 322.587 85.5986C322.587 76.1562 324.412 67.6579 328.063 60.1039C331.715 52.5499 337.191 46.5696 344.493 42.1631C351.796 37.7566 360.734 35.5534 371.31 35.5534C381.886 35.5534 390.825 37.7566 398.127 42.1631C405.429 46.5696 410.906 52.6129 414.557 60.2928C418.208 67.8467 420.033 76.282 420.033 85.5986C420.033 95.0412 418.208 103.602 414.557 111.282C410.906 118.836 405.429 124.879 398.127 129.412C390.825 133.818 381.886 136.022 371.31 136.022ZM341.661 85.7875C341.661 98.2516 343.99 107.253 348.648 112.793C353.432 118.207 360.986 120.914 371.31 120.914C381.634 120.914 389.125 118.207 393.783 112.793C398.567 107.253 400.96 98.2516 400.96 85.7875C400.96 73.3234 398.567 64.3845 393.783 58.9708C389.125 53.4312 381.634 50.6614 371.31 50.6614C360.986 50.6614 353.432 53.4312 348.648 58.9708C343.99 64.3845 341.661 73.3234 341.661 85.7875Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M439.671 0.804993H458.556V133H439.671V0.804993Z\" fill=\"currentColor\" />\n            <path\n                d=\"M615.912 75.7785C615.912 67.0913 614.212 60.8593 610.813 57.0823C607.414 53.1794 602.441 51.2279 595.894 51.2279C586.955 51.2279 580.219 54.5643 575.687 61.237C571.281 67.9097 569.077 78.5482 569.077 93.1526V133H550.57V75.7785C550.57 67.0913 548.87 60.8593 545.471 57.0823C542.072 53.1794 537.099 51.2279 530.552 51.2279C521.739 51.2279 515.066 54.5643 510.534 61.237C506.001 67.9097 503.735 78.5482 503.735 93.1526V133H484.85V38.575H503.735V59.1596C510.03 43.4221 521.109 35.5534 536.973 35.5534C545.66 35.5534 552.521 37.6307 557.557 41.7854C562.594 45.8142 565.993 51.8574 567.755 59.9151C574.05 43.674 585.57 35.5534 602.315 35.5534C623.97 35.5534 634.797 48.3952 634.797 74.0788V133H615.912V75.7785Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M701.06 136.022C690.484 136.022 681.545 133.818 674.243 129.412C666.941 125.005 661.464 119.025 657.813 111.471C654.162 103.791 652.337 95.1671 652.337 85.5986C652.337 76.1562 654.162 67.6579 657.813 60.1039C661.464 52.5499 666.941 46.5696 674.243 42.1631C681.545 37.7566 690.484 35.5534 701.06 35.5534C711.636 35.5534 720.574 37.7566 727.877 42.1631C735.179 46.5696 740.655 52.6129 744.307 60.2928C747.958 67.8467 749.783 76.282 749.783 85.5986C749.783 95.0412 747.958 103.602 744.307 111.282C740.655 118.836 735.179 124.879 727.877 129.412C720.574 133.818 711.636 136.022 701.06 136.022ZM671.41 85.7875C671.41 98.2516 673.74 107.253 678.398 112.793C683.182 118.207 690.736 120.914 701.06 120.914C711.384 120.914 718.875 118.207 723.533 112.793C728.317 107.253 730.709 98.2516 730.709 85.7875C730.709 73.3234 728.317 64.3845 723.533 58.9708C718.875 53.4312 711.384 50.6614 701.06 50.6614C690.736 50.6614 683.182 53.4312 678.398 58.9708C673.74 64.3845 671.41 73.3234 671.41 85.7875Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function OLMES(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 780 133\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>OLMES</title>\n            <path\n                d=\"M49.6965 52.2742H24.8482V28.249H44.8516C47.5223 28.249 49.6965 26.0391 49.6965 23.3245V2.99265H73.3335V28.249C73.3335 41.5204 62.7534 52.2742 49.6965 52.2742ZM24.8482 54.7364H0V78.7616H20.0033C22.6741 78.7616 24.8482 80.9714 24.8482 83.686V104.018H48.4852V78.7616C48.4852 65.4902 37.9052 54.7364 24.8482 54.7364ZM104.238 53.5053C101.567 53.5053 99.3929 51.2954 99.3929 48.5808V28.249H75.7559V53.5053C75.7559 66.7767 86.3359 77.5305 99.3929 77.5305H124.241V53.5053H104.238ZM50.9077 104.018V129.274H74.5447V108.942C74.5447 106.228 76.7188 104.018 79.3896 104.018H99.3929V79.9927H74.5447C61.4877 79.9927 50.9077 90.7465 50.9077 104.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M220.63 132.21C199.227 132.21 183.238 126.167 172.662 114.081C162.212 101.868 156.987 85.8792 156.987 66.1129C156.987 53.5229 159.191 42.2548 163.597 32.3087C168.13 22.3626 175.117 14.4939 184.56 8.70248C194.128 2.91108 206.151 0.0153809 220.63 0.0153809C235.108 0.0153809 247.069 2.91108 256.511 8.70248C266.08 14.4939 273.067 22.3626 277.474 32.3087C282.006 42.2548 284.272 53.5229 284.272 66.1129C284.272 78.8288 282.006 90.1598 277.474 100.106C273.067 110.052 266.08 117.921 256.511 123.712C247.069 129.378 235.108 132.21 220.63 132.21ZM177.383 66.1129C177.383 82.9835 180.783 95.5735 187.581 103.883C194.506 112.066 205.522 116.158 220.63 116.158C235.738 116.158 246.691 112.066 253.49 103.883C260.414 95.5735 263.877 82.9835 263.877 66.1129C263.877 49.2423 260.414 36.7152 253.49 28.5317C246.691 20.2223 235.738 16.0676 220.63 16.0676C205.522 16.0676 194.506 20.2223 187.581 28.5317C180.783 36.7152 177.383 49.2423 177.383 66.1129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M303.544 3.41468H322.995V113.325H386.638V129H303.544V3.41468Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M542.373 129H522.921V18.5227L484.396 129H458.712L420.187 18.5227V129H400.735V3.41468H434.539L471.743 110.115L508.946 3.41468H542.373V129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M586.353 113.325H662.27V129H566.901V3.41468H661.704V19.0892H586.353V57.0481H656.038V72.3449H586.353V113.325Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M692.457 86.8864C693.086 106.904 705.173 116.914 728.716 116.914C740.551 116.914 748.734 115.088 753.267 111.437C757.799 107.786 760.065 102.435 760.065 95.3846C760.065 89.5932 758.303 85.0608 754.777 81.7874C751.378 78.3881 746.09 76.1849 738.914 75.1777L709.831 71.023C688.176 68.0014 677.349 56.7333 677.349 37.2188C677.349 26.1396 681.504 17.2007 689.813 10.4021C698.122 3.47763 710.335 0.0153809 726.45 0.0153809C743.195 0.0153809 755.785 3.72943 764.22 11.1575C772.781 18.4597 777.502 28.154 778.384 40.2404H759.499C758.491 32.3087 755.281 26.1396 749.867 21.7331C744.454 17.3266 736.585 15.1234 726.261 15.1234C716.441 15.1234 709.076 17.0748 704.166 20.9777C699.381 24.7547 696.989 29.9796 696.989 36.6523C696.989 41.4365 698.374 45.4023 701.144 48.5498C703.914 51.5714 708.131 53.5229 713.797 54.4042L744.579 58.9366C756.036 60.5733 764.724 64.1614 770.641 69.701C776.684 75.1147 779.706 82.8576 779.706 92.9296C779.706 118.991 762.709 132.022 728.716 132.022C709.579 132.022 695.604 127.804 686.791 119.369C677.978 110.807 673.572 99.98 673.572 86.8864H692.457Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function OLMo(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 659 133\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>OLMo</title>\n            <path\n                d=\"M49.6965 52.2742H24.8482V28.249H44.8516C47.5223 28.249 49.6965 26.0392 49.6965 23.3246V2.99271H73.3335V28.249C73.3335 41.5204 62.7534 52.2742 49.6965 52.2742ZM24.8482 54.7365H0V78.7617H20.0033C22.6741 78.7617 24.8482 80.9715 24.8482 83.6861V104.018H48.4852V78.7617C48.4852 65.4902 37.9052 54.7365 24.8482 54.7365ZM104.238 53.5053C101.567 53.5053 99.3929 51.2955 99.3929 48.5809V28.249H75.7559V53.5053C75.7559 66.7767 86.3359 77.5305 99.3929 77.5305H124.241V53.5053H104.238ZM50.9077 104.018V129.274H74.5447V108.942C74.5447 106.228 76.7188 104.018 79.3896 104.018H99.3929V79.9928H74.5447C61.4877 79.9928 50.9077 90.7465 50.9077 104.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M220.63 132.21C199.227 132.21 183.238 126.167 172.662 114.081C162.212 101.869 156.987 85.8792 156.987 66.1129C156.987 53.5229 159.191 42.2549 163.597 32.3088C168.13 22.3627 175.117 14.4939 184.56 8.70254C194.128 2.91114 206.151 0.0154419 220.63 0.0154419C235.108 0.0154419 247.069 2.91114 256.511 8.70254C266.08 14.4939 273.067 22.3627 277.474 32.3088C282.006 42.2549 284.272 53.5229 284.272 66.1129C284.272 78.8288 282.006 90.1599 277.474 100.106C273.067 110.052 266.08 117.921 256.511 123.712C247.069 129.378 235.108 132.21 220.63 132.21ZM177.383 66.1129C177.383 82.9835 180.783 95.5735 187.581 103.883C194.506 112.066 205.522 116.158 220.63 116.158C235.738 116.158 246.691 112.066 253.49 103.883C260.414 95.5735 263.877 82.9835 263.877 66.1129C263.877 49.2423 260.414 36.7153 253.49 28.5318C246.691 20.2224 235.738 16.0677 220.63 16.0677C205.522 16.0677 194.506 20.2224 187.581 28.5318C180.783 36.7153 177.383 49.2423 177.383 66.1129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M303.544 3.41474H322.995V113.325H386.638V129H303.544V3.41474Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M542.373 129H522.921V18.5227L484.396 129H458.712L420.187 18.5227V129H400.735V3.41474H434.539L471.743 110.115L508.946 3.41474H542.373V129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M609.77 132.022C599.195 132.022 590.256 129.818 582.953 125.412C575.651 121.005 570.175 115.025 566.523 107.471C562.872 99.7912 561.047 91.1671 561.047 81.5986C561.047 72.1562 562.872 63.6579 566.523 56.1039C570.175 48.5499 575.651 42.5696 582.953 38.1631C590.256 33.7566 599.195 31.5534 609.77 31.5534C620.346 31.5534 629.285 33.7566 636.587 38.1631C643.889 42.5696 649.366 48.6128 653.017 56.2927C656.668 63.8467 658.493 72.282 658.493 81.5986C658.493 91.0412 656.668 99.6023 653.017 107.282C649.366 114.836 643.889 120.879 636.587 125.412C629.285 129.818 620.346 132.022 609.77 132.022ZM580.121 81.7875C580.121 94.2516 582.45 103.253 587.108 108.793C591.892 114.207 599.446 116.914 609.77 116.914C620.094 116.914 627.585 114.207 632.243 108.793C637.027 103.253 639.42 94.2516 639.42 81.7875C639.42 69.3234 637.027 60.3845 632.243 54.9708C627.585 49.4312 620.094 46.6614 609.77 46.6614C599.446 46.6614 591.892 49.4312 587.108 54.9708C582.45 60.3845 580.121 69.3234 580.121 81.7875Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function OLMoE(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 773 133\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>OLMoE</title>\n            <path\n                d=\"M49.6965 52.2742H24.8482V28.249H44.8516C47.5223 28.249 49.6965 26.0392 49.6965 23.3246V2.99271H73.3335V28.249C73.3335 41.5204 62.7534 52.2742 49.6965 52.2742ZM24.8482 54.7365H0V78.7617H20.0033C22.6741 78.7617 24.8482 80.9715 24.8482 83.6861V104.018H48.4852V78.7617C48.4852 65.4902 37.9052 54.7365 24.8482 54.7365ZM104.238 53.5053C101.567 53.5053 99.3929 51.2955 99.3929 48.5809V28.249H75.7559V53.5053C75.7559 66.7767 86.3359 77.5305 99.3929 77.5305H124.241V53.5053H104.238ZM50.9077 104.018V129.274H74.5447V108.942C74.5447 106.228 76.7188 104.018 79.3896 104.018H99.3929V79.9928H74.5447C61.4877 79.9928 50.9077 90.7465 50.9077 104.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M220.63 132.21C199.227 132.21 183.238 126.167 172.662 114.081C162.212 101.869 156.987 85.8792 156.987 66.1129C156.987 53.5229 159.191 42.2549 163.597 32.3088C168.13 22.3627 175.117 14.4939 184.56 8.70254C194.128 2.91114 206.151 0.0154419 220.63 0.0154419C235.108 0.0154419 247.069 2.91114 256.511 8.70254C266.08 14.4939 273.067 22.3627 277.474 32.3088C282.006 42.2549 284.272 53.5229 284.272 66.1129C284.272 78.8288 282.006 90.1599 277.474 100.106C273.067 110.052 266.08 117.921 256.511 123.712C247.069 129.378 235.108 132.21 220.63 132.21ZM177.383 66.1129C177.383 82.9835 180.783 95.5735 187.581 103.883C194.506 112.066 205.522 116.158 220.63 116.158C235.738 116.158 246.691 112.066 253.49 103.883C260.414 95.5735 263.877 82.9835 263.877 66.1129C263.877 49.2423 260.414 36.7153 253.49 28.5318C246.691 20.2224 235.738 16.0677 220.63 16.0677C205.522 16.0677 194.506 20.2224 187.581 28.5318C180.783 36.7153 177.383 49.2423 177.383 66.1129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M303.544 3.41474H322.995V113.325H386.638V129H303.544V3.41474Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M542.373 129H522.921V18.5227L484.396 129H458.712L420.187 18.5227V129H400.735V3.41474H434.539L471.743 110.115L508.946 3.41474H542.373V129Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M609.77 132.022C599.195 132.022 590.256 129.818 582.953 125.412C575.651 121.005 570.175 115.025 566.523 107.471C562.872 99.7912 561.047 91.1671 561.047 81.5986C561.047 72.1562 562.872 63.6579 566.523 56.1039C570.175 48.5499 575.651 42.5696 582.953 38.1631C590.256 33.7566 599.195 31.5534 609.77 31.5534C620.346 31.5534 629.285 33.7566 636.587 38.1631C643.889 42.5696 649.366 48.6128 653.017 56.2927C656.668 63.8467 658.493 72.282 658.493 81.5986C658.493 91.0412 656.668 99.6023 653.017 107.282C649.366 114.836 643.889 120.879 636.587 125.412C629.285 129.818 620.346 132.022 609.77 132.022ZM580.121 81.7875C580.121 94.2516 582.45 103.253 587.108 108.793C591.892 114.207 599.446 116.914 609.77 116.914C620.094 116.914 627.585 114.207 632.243 108.793C637.027 103.253 639.42 94.2516 639.42 81.7875C639.42 69.3234 637.027 60.3845 632.243 54.9708C627.585 49.4312 620.094 46.6614 609.77 46.6614C599.446 46.6614 591.892 49.4312 587.108 54.9708C582.45 60.3845 580.121 69.3234 580.121 81.7875Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M696.638 113.325H772.556V129H677.187V3.41474H771.989V19.0893H696.638V57.0481H766.324V72.345H696.638V113.325Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Paloma(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 789 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Paloma</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0392 49.6965 27.3246V6.99271H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7365H0V82.7617H20.0033C22.6741 82.7617 24.8482 84.9715 24.8482 87.6861V108.018H48.4852V82.7617C48.4852 69.4902 37.9052 58.7365 24.8482 58.7365ZM104.238 57.5053C101.567 57.5053 99.3929 55.2955 99.3929 52.5809V32.249H75.7559V57.5053C75.7559 70.7768 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9928H74.5447C61.4877 83.9928 50.9077 94.7466 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M221.574 7.41475C234.668 7.41475 244.425 11.0029 250.846 18.1792C257.393 25.3555 260.666 34.4203 260.666 45.3736C260.666 56.4528 257.456 65.5806 251.035 72.7569C244.614 79.9332 234.794 83.5213 221.574 83.5213H181.916V133H162.275V7.41475H221.574ZM216.853 67.8467C232.465 67.8467 240.27 60.3557 240.27 45.3736C240.27 30.5174 232.465 23.0893 216.853 23.0893H181.916V67.8467H216.853Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M305.275 135.455C295.58 135.455 287.9 133 282.235 128.09C276.695 123.18 273.925 116.381 273.925 107.694C273.925 99.8883 276.129 93.6563 280.535 88.998C285.068 84.2138 292.433 80.9403 302.631 79.1777L326.237 75.2119C330.895 74.4565 334.232 73.2605 336.246 71.6237C338.386 69.987 339.456 67.532 339.456 64.2586C339.456 59.6003 337.883 56.0751 334.735 53.683C331.714 51.165 326.363 49.906 318.683 49.906C311.003 49.906 305.212 51.4168 301.309 54.4384C297.532 57.46 295.391 61.9924 294.888 68.0356H276.003C276.129 57.8377 279.843 49.8431 287.145 44.0517C294.447 38.2603 304.708 35.3645 317.927 35.3645C330.643 35.3645 340.275 38.0084 346.822 43.2962C353.494 48.584 356.831 55.6974 356.831 64.6363V111.471C356.831 118.396 357.145 125.572 357.775 133H340.589C339.834 125.572 339.456 118.459 339.456 111.66C337.316 118.459 333.413 124.124 327.748 128.656C322.082 133.189 314.591 135.455 305.275 135.455ZM292.81 106.939C292.81 111.345 294.258 114.807 297.154 117.325C300.176 119.718 304.204 120.914 309.24 120.914C318.809 120.914 326.237 117.766 331.525 111.471C336.812 105.05 339.456 96.9297 339.456 87.1095V81.444C337.19 83.0807 334.735 84.4026 332.091 85.4098C329.447 86.2911 326.3 87.1724 322.649 88.0537L309.618 91.0753C303.701 92.4602 299.42 94.4117 296.776 96.9296C294.132 99.3217 292.81 102.658 292.81 106.939Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M380.471 0.804993H399.356V133H380.471V0.804993Z\" fill=\"currentColor\" />\n            <path\n                d=\"M467.764 136.022C457.188 136.022 448.249 133.818 440.947 129.412C433.645 125.005 428.168 119.025 424.517 111.471C420.866 103.791 419.04 95.1671 419.04 85.5986C419.04 76.1562 420.866 67.6579 424.517 60.1039C428.168 52.5499 433.645 46.5696 440.947 42.1631C448.249 37.7566 457.188 35.5534 467.764 35.5534C478.339 35.5534 487.278 37.7566 494.58 42.1631C501.883 46.5696 507.359 52.6129 511.01 60.2928C514.661 67.8467 516.487 76.282 516.487 85.5986C516.487 95.0412 514.661 103.602 511.01 111.282C507.359 118.836 501.883 124.879 494.58 129.412C487.278 133.818 478.339 136.022 467.764 136.022ZM438.114 85.7875C438.114 98.2516 440.443 107.253 445.102 112.793C449.886 118.207 457.44 120.914 467.764 120.914C478.088 120.914 485.579 118.207 490.237 112.793C495.021 107.253 497.413 98.2516 497.413 85.7875C497.413 73.3234 495.021 64.3845 490.237 58.9708C485.579 53.4312 478.088 50.6614 467.764 50.6614C457.44 50.6614 449.886 53.4312 445.102 58.9708C440.443 64.3845 438.114 73.3234 438.114 85.7875Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M666.998 75.7785C666.998 67.0913 665.298 60.8593 661.899 57.0823C658.499 53.1794 653.526 51.2279 646.979 51.2279C638.041 51.2279 631.305 54.5643 626.773 61.237C622.366 67.9097 620.163 78.5482 620.163 93.1526V133H601.655V75.7785C601.655 67.0913 599.956 60.8593 596.557 57.0823C593.157 53.1794 588.184 51.2279 581.637 51.2279C572.824 51.2279 566.152 54.5643 561.619 61.237C557.087 67.9097 554.821 78.5482 554.821 93.1526V133H535.936V38.575H554.821V59.1596C561.116 43.4221 572.195 35.5534 588.058 35.5534C596.745 35.5534 603.607 37.6307 608.643 41.7854C613.679 45.8142 617.078 51.8574 618.841 59.9151C625.136 43.674 636.656 35.5534 653.4 35.5534C675.055 35.5534 685.883 48.3952 685.883 74.0788V133H666.998V75.7785Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M735.904 135.455C726.21 135.455 718.53 133 712.865 128.09C707.325 123.18 704.555 116.381 704.555 107.694C704.555 99.8883 706.758 93.6563 711.165 88.998C715.697 84.2138 723.062 80.9403 733.26 79.1777L756.867 75.2119C761.525 74.4565 764.861 73.2605 766.876 71.6237C769.016 69.987 770.086 67.532 770.086 64.2586C770.086 59.6003 768.512 56.0751 765.365 53.683C762.343 51.165 756.992 49.906 749.313 49.906C741.633 49.906 735.841 51.4168 731.938 54.4384C728.161 57.46 726.021 61.9924 725.517 68.0356H706.632C706.758 57.8377 710.472 49.8431 717.775 44.0517C725.077 38.2603 735.338 35.3645 748.557 35.3645C761.273 35.3645 770.904 38.0084 777.451 43.2962C784.124 48.584 787.46 55.6974 787.46 64.6363V111.471C787.46 118.396 787.775 125.572 788.404 133H771.219C770.464 125.572 770.086 118.459 770.086 111.66C767.946 118.459 764.043 124.124 758.377 128.656C752.712 133.189 745.221 135.455 735.904 135.455ZM723.44 106.939C723.44 111.345 724.888 114.807 727.784 117.325C730.805 119.718 734.834 120.914 739.87 120.914C749.438 120.914 756.867 117.766 762.154 111.471C767.442 105.05 770.086 96.9297 770.086 87.1095V81.444C767.82 83.0807 765.365 84.4026 762.721 85.4098C760.077 86.2911 756.93 87.1724 753.278 88.0537L740.248 91.0753C734.33 92.4602 730.05 94.4117 727.406 96.9296C724.762 99.3217 723.44 102.658 723.44 106.939Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function PixMo(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 690 130\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>PixMo</title>\n            <path\n                d=\"M49.6965 49.2815H24.8482V25.2563H44.8516C47.5223 25.2563 49.6965 23.0465 49.6965 20.3319V0H73.3335V25.2563C73.3335 38.5277 62.7534 49.2815 49.6965 49.2815ZM24.8482 51.7437H0V75.7689H20.0033C22.6741 75.7689 24.8482 77.9788 24.8482 80.6934V101.025H48.4852V75.7689C48.4852 62.4975 37.9052 51.7437 24.8482 51.7437ZM104.238 50.5126C101.567 50.5126 99.3929 48.3028 99.3929 45.5882V25.2563H75.7559V50.5126C75.7559 63.784 86.3359 74.5378 99.3929 74.5378H124.241V50.5126H104.238ZM50.9077 101.025V126.282H74.5447V105.95C74.5447 103.235 76.7188 101.025 79.3896 101.025H99.3929V77.0001H74.5447C61.4877 77.0001 50.9077 87.7538 50.9077 101.025Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M221.574 0.422036C234.668 0.422036 244.425 4.01018 250.846 11.1865C257.393 18.3628 260.666 27.4276 260.666 38.3809C260.666 49.4601 257.456 58.5878 251.035 65.7641C244.614 72.9404 234.794 76.5286 221.574 76.5286H181.916V126.007H162.275V0.422036H221.574ZM216.853 60.854C232.465 60.854 240.27 53.363 240.27 38.3809C240.27 23.5247 232.465 16.0966 216.853 16.0966H181.916V60.854H216.853Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M304.141 126.007H285.256V52.3558C285.256 50.9709 284.942 50.0266 284.312 49.523C283.809 48.8935 282.864 48.5788 281.479 48.5788H269.015V31.5823H283.368C289.537 31.5823 294.51 33.4708 298.287 37.2478C302.064 40.8989 304.016 45.746 304.141 51.7892V126.007ZM278.08 0.422036H301.875V17.4185H278.08V0.422036Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M356.031 78.7948L319.772 31.5823H342.245L367.551 66.8972L392.857 31.5823H414.008L378.315 78.0394L415.896 126.007H393.423L366.984 89.9369L340.356 126.007H319.205L356.031 78.7948Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M573.54 126.007H554.089V15.53L515.563 126.007H489.88L451.354 15.53V126.007H431.903V0.422036H465.707L502.91 107.122L540.114 0.422036H573.54V126.007Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M640.938 129.029C630.362 129.029 621.423 126.826 614.121 122.419C606.819 118.013 601.342 112.032 597.691 104.478C594.04 96.7985 592.214 88.1743 592.214 78.6059C592.214 69.1634 594.04 60.6652 597.691 53.1112C601.342 45.5572 606.819 39.5769 614.121 35.1704C621.423 30.7639 630.362 28.5607 640.938 28.5607C651.513 28.5607 660.452 30.7639 667.754 35.1704C675.057 39.5769 680.533 45.6201 684.184 53.3C687.836 60.854 689.661 69.2893 689.661 78.6059C689.661 88.0484 687.836 96.6096 684.184 104.29C680.533 111.844 675.057 117.887 667.754 122.419C660.452 126.826 651.513 129.029 640.938 129.029ZM611.288 78.7948C611.288 91.2589 613.617 100.261 618.276 105.8C623.06 111.214 630.614 113.921 640.938 113.921C651.262 113.921 658.753 111.214 663.411 105.8C668.195 100.261 670.587 91.2589 670.587 78.7948C670.587 66.3307 668.195 57.3918 663.411 51.9781C658.753 46.4385 651.262 43.6687 640.938 43.6687C630.614 43.6687 623.06 46.4385 618.276 51.9781C613.617 57.3918 611.288 66.3307 611.288 78.7948Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Playground(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1130 173\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Playground</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0391 49.6965 27.3245V6.99265H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7364H0V82.7616H20.0033C22.6741 82.7616 24.8482 84.9714 24.8482 87.6861V108.018H48.4852V82.7616C48.4852 69.4902 37.9052 58.7364 24.8482 58.7364ZM104.238 57.5053C101.567 57.5053 99.3929 55.2954 99.3929 52.5808V32.249H75.7559V57.5053C75.7559 70.7767 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9927H74.5447C61.4877 83.9927 50.9077 94.7465 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M221.574 7.41469C234.668 7.41469 244.425 11.0028 250.846 18.1791C257.393 25.3554 260.666 34.4202 260.666 45.3735C260.666 56.4527 257.456 65.5805 251.035 72.7568C244.614 79.9331 234.794 83.5212 221.574 83.5212H181.916V133H162.275V7.41469H221.574ZM216.853 67.8467C232.465 67.8467 240.27 60.3556 240.27 45.3735C240.27 30.5173 232.465 23.0892 216.853 23.0892H181.916V67.8467H216.853Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M279.591 0.804932H298.476V133H279.591V0.804932Z\" fill=\"currentColor\" />\n            <path\n                d=\"M350.643 135.455C340.948 135.455 333.269 133 327.603 128.09C322.063 123.18 319.294 116.381 319.294 107.694C319.294 99.8882 321.497 93.6562 325.903 88.9979C330.436 84.2137 337.801 80.9403 347.999 79.1777L371.605 75.2118C376.263 74.4564 379.6 73.2604 381.614 71.6237C383.754 69.987 384.825 67.5319 384.825 64.2585C384.825 59.6002 383.251 56.075 380.103 53.6829C377.082 51.1649 371.731 49.9059 364.051 49.9059C356.371 49.9059 350.58 51.4167 346.677 54.4383C342.9 57.4599 340.76 61.9923 340.256 68.0355H321.371C321.497 57.8376 325.211 49.843 332.513 44.0516C339.815 38.2602 350.076 35.3645 363.296 35.3645C376.012 35.3645 385.643 38.0084 392.19 43.2962C398.863 48.584 402.199 55.6973 402.199 64.6362V111.471C402.199 118.396 402.514 125.572 403.143 133H385.958C385.202 125.572 384.825 118.458 384.825 111.66C382.684 118.458 378.781 124.124 373.116 128.656C367.45 133.189 359.959 135.455 350.643 135.455ZM338.179 106.939C338.179 111.345 339.627 114.807 342.522 117.325C345.544 119.717 349.573 120.914 354.609 120.914C364.177 120.914 371.605 117.766 376.893 111.471C382.181 105.05 384.825 96.9296 384.825 87.1094V81.4439C382.558 83.0806 380.103 84.4025 377.46 85.4097C374.816 86.291 371.668 87.1723 368.017 88.0536L354.986 91.0752C349.069 92.4601 344.788 94.4116 342.145 96.9296C339.501 99.3217 338.179 102.658 338.179 106.939Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M414.645 155.662H442.595L451.471 133H444.672L408.98 38.5749H428.431L453.926 105.994L457.892 117.325L461.48 105.994L487.353 38.5749H505.671L466.201 141.309C463.18 149.115 460.473 154.969 458.081 158.872C455.689 162.775 452.415 165.734 448.261 167.748C444.106 169.763 438.314 170.77 430.886 170.77H414.645V155.662Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M559.251 172.847C544.899 172.847 533.694 169.889 525.636 163.971C517.578 158.054 513.109 149.43 512.228 138.099H531.113C532.372 151.57 541.814 158.306 559.44 158.306C569.89 158.306 577.381 156.291 581.913 152.263C586.572 148.36 588.901 141.624 588.901 132.056V113.926C582.732 125.005 571.401 130.545 554.908 130.545C540.177 130.545 529.035 126.327 521.481 117.892C514.053 109.331 510.339 97.8109 510.339 83.3324C510.339 68.8539 514.053 57.397 521.481 48.9617C529.035 40.4005 540.177 36.1199 554.908 36.1199C571.023 36.1199 582.354 41.9742 588.901 53.6829V38.5749H607.786V132.622C607.786 145.968 603.946 155.977 596.266 162.649C588.712 169.448 576.374 172.847 559.251 172.847ZM529.413 83.3324C529.413 95.167 531.742 103.602 536.4 108.638C541.185 113.548 548.865 116.003 559.44 116.003C569.512 116.003 576.94 113.422 581.724 108.261C586.509 103.099 588.901 94.7893 588.901 83.3324C588.901 71.8755 586.509 63.5661 581.724 58.4042C576.94 53.2423 569.512 50.6613 559.44 50.6613C548.865 50.6613 541.185 53.1793 536.4 58.2153C531.742 63.1254 529.413 71.4978 529.413 83.3324Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M633.865 38.5749H652.561V61.4258C659.108 45.1847 670.25 37.0641 685.987 37.0641H688.82V55.3826H684.099C672.138 55.3826 663.892 58.8448 659.359 65.7693C654.953 72.5679 652.75 82.9547 652.75 96.9296V133H633.865V38.5749Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M746.797 136.022C736.221 136.022 727.283 133.818 719.98 129.412C712.678 125.005 707.201 119.025 703.55 111.471C699.899 103.791 698.074 95.167 698.074 85.5986C698.074 76.1561 699.899 67.6578 703.55 60.1038C707.201 52.5498 712.678 46.5696 719.98 42.1631C727.283 37.7566 736.221 35.5533 746.797 35.5533C757.373 35.5533 766.312 37.7566 773.614 42.1631C780.916 46.5696 786.393 52.6128 790.044 60.2927C793.695 67.8467 795.52 76.282 795.52 85.5986C795.52 95.0411 793.695 103.602 790.044 111.282C786.393 118.836 780.916 124.879 773.614 129.412C766.312 133.818 757.373 136.022 746.797 136.022ZM717.148 85.7874C717.148 98.2515 719.477 107.253 724.135 112.793C728.919 118.207 736.473 120.914 746.797 120.914C757.121 120.914 764.612 118.207 769.27 112.793C774.054 107.253 776.446 98.2515 776.446 85.7874C776.446 73.3233 774.054 64.3844 769.27 58.9707C764.612 53.4311 757.121 50.6613 746.797 50.6613C736.473 50.6613 728.919 53.4311 724.135 58.9707C719.477 64.3844 717.148 73.3233 717.148 85.7874Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M848.206 136.022C835.994 136.022 827.055 132.811 821.39 126.39C815.85 119.843 813.08 110.212 813.08 97.4961V38.5749H831.965V95.7965C831.965 104.987 833.854 111.408 837.631 115.059C841.534 118.584 847.01 120.347 854.061 120.347C862.622 120.347 869.358 116.822 874.268 109.771C879.178 102.595 881.633 92.1454 881.633 78.4223V38.5749H900.518V133H881.633V112.415C875.338 128.153 864.196 136.022 848.206 136.022Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M926.545 38.5749H945.43V59.7261C951.977 43.6109 963.371 35.5533 979.612 35.5533C991.824 35.5533 1000.57 38.7638 1005.86 45.1847C1011.28 51.6056 1013.98 61.2369 1013.98 74.0787V133H995.098V75.7784C995.098 66.5877 993.272 60.2297 989.621 56.7045C985.97 53.0534 980.808 51.2279 974.135 51.2279C964.567 51.2279 957.391 54.5642 952.607 61.2369C947.822 67.9096 945.43 78.5482 945.43 93.1526V133H926.545V38.5749Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1075.89 35.5533C1092.51 35.5533 1104.16 41.9742 1110.83 54.816V0.804932H1129.71V133H1110.83V116.759C1104.16 129.601 1092.51 136.022 1075.89 136.022C1061.41 136.022 1050.46 131.363 1043.03 122.047C1035.6 112.604 1031.89 100.518 1031.89 85.7874C1031.89 71.0571 1035.6 59.0337 1043.03 49.7171C1050.46 40.2746 1061.41 35.5533 1075.89 35.5533ZM1050.96 85.7874C1050.96 97.7479 1053.17 106.624 1057.57 112.415C1062.11 118.081 1069.53 120.914 1079.86 120.914C1100.51 120.914 1110.83 109.205 1110.83 85.7874C1110.83 62.37 1100.51 50.6613 1079.86 50.6613C1069.53 50.6613 1062.11 53.557 1057.57 59.3484C1053.17 65.0139 1050.96 73.8269 1050.96 85.7874Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function SafetyTool(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1114 171\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>SafetyTool</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0391 49.6965 27.3245V6.99265H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7364H0V82.7616H20.0033C22.6741 82.7616 24.8482 84.9714 24.8482 87.6861V108.018H48.4852V82.7616C48.4852 69.4902 37.9052 58.7364 24.8482 58.7364ZM104.238 57.5053C101.567 57.5053 99.3929 55.2954 99.3929 52.5808V32.249H75.7559V57.5053C75.7559 70.7767 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9927H74.5447C61.4877 83.9927 50.9077 94.7465 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M176.439 90.8864C176.691 97.3073 178.076 102.784 180.594 107.316C183.238 111.723 187.203 115.122 192.491 117.514C197.779 119.78 204.515 120.914 212.698 120.914C220.882 120.914 227.24 120.032 231.772 118.27C236.304 116.507 239.452 114.115 241.215 111.093C243.103 107.946 244.047 104.043 244.047 99.3846C244.047 93.5932 242.285 89.0608 238.76 85.7874C235.36 82.3881 230.072 80.1849 222.896 79.1777L193.813 75.023C183.112 73.5122 174.991 69.987 169.452 64.4474C164.038 58.7819 161.331 51.039 161.331 41.2188C161.331 34.0425 163.094 27.6846 166.619 22.145C170.27 16.4795 175.747 12.073 183.049 8.92549C190.477 5.65209 199.605 4.01539 210.432 4.01539C221.763 4.01539 231.206 5.77799 238.76 9.30319C246.314 12.7025 251.979 17.4237 255.756 23.4669C259.533 29.5101 261.736 36.4346 262.366 44.2404H243.481C242.851 39.0785 241.215 34.672 238.571 31.0209C236.053 27.2439 232.402 24.3482 227.617 22.3338C222.959 20.1935 217.168 19.1234 210.243 19.1234C200.423 19.1234 193.058 21.0748 188.148 24.9777C183.364 28.7547 180.971 33.9796 180.971 40.6523C180.971 45.4365 182.356 49.4023 185.126 52.5498C187.896 55.5714 192.114 57.5229 197.779 58.4042L228.562 62.9366C240.019 64.5733 248.706 68.1614 254.623 73.701C260.666 79.1147 263.688 86.8576 263.688 96.9296C263.688 105.365 261.862 112.478 258.211 118.27C254.686 124.061 249.146 128.468 241.592 131.489C234.038 134.511 224.407 136.022 212.698 136.022C199.605 136.022 188.966 134.007 180.783 129.978C172.599 125.824 166.682 120.41 163.031 113.737C159.38 106.939 157.554 99.3217 157.554 90.8864H176.439Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M310.07 135.455C303.649 135.455 298.046 134.385 293.262 132.245C288.604 129.978 285.015 126.768 282.497 122.613C279.979 118.458 278.72 113.485 278.72 107.694C278.72 102.532 279.665 98.0627 281.553 94.2857C283.442 90.3828 286.463 87.1723 290.618 84.6543C294.899 82.1363 300.501 80.3108 307.426 79.1777L331.032 75.2118C335.69 74.4564 339.027 73.2604 341.041 71.6237C343.181 69.987 344.251 67.5319 344.251 64.2585C344.251 61.2369 343.622 58.7189 342.363 56.7045C341.104 54.5642 338.901 52.9275 335.753 51.7944C332.732 50.5354 328.64 49.9059 323.478 49.9059C315.798 49.9059 310.007 51.4167 306.104 54.4383C302.327 57.4599 300.186 61.9923 299.683 68.0355H280.798C280.924 61.3628 282.56 55.5714 285.708 50.6613C288.981 45.7512 293.766 41.9742 300.061 39.3303C306.356 36.6864 313.91 35.3645 322.723 35.3645C331.158 35.3645 338.271 36.6235 344.063 39.1415C349.98 41.5336 354.386 44.9329 357.282 49.3394C360.178 53.62 361.626 58.7189 361.626 64.6362V111.471C361.626 114.87 361.689 118.333 361.814 121.858C361.94 125.257 362.192 128.971 362.57 133H345.385C345.007 129.475 344.692 125.95 344.44 122.424C344.314 118.899 344.251 115.311 344.251 111.66C342.867 115.94 340.726 119.906 337.831 123.557C334.935 127.083 331.158 129.978 326.5 132.245C321.841 134.385 316.365 135.455 310.07 135.455ZM314.035 120.914C320.456 120.914 325.933 119.466 330.465 116.57C334.998 113.548 338.397 109.52 340.663 104.484C343.055 99.3217 344.251 93.5303 344.251 87.1094V81.4439C342.237 82.9547 340.034 84.2137 337.642 85.2209C335.25 86.1022 332.543 86.8576 329.521 87.4871L327.444 88.0536L314.413 91.0752C308.496 92.4601 304.215 94.4116 301.571 96.9296C298.927 99.3217 297.605 102.658 297.605 106.939C297.605 111.345 299.053 114.807 301.949 117.325C304.971 119.717 308.999 120.914 314.035 120.914Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M391.876 53.1164H375.823V43.2962L391.876 37.8195V24.0335C391.876 16.2277 394.142 10.4363 398.674 6.65929C403.332 2.75638 411.201 0.804932 422.28 0.804932H442.865V14.9687H409.25V38.5749H437.2V53.1164H410.761V133H391.876V53.1164Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M493.377 136.022C482.549 136.022 473.547 133.818 466.371 129.412C459.321 125.005 454.096 119.025 450.696 111.471C447.297 103.917 445.597 95.2929 445.597 85.5986C445.597 76.1561 447.36 67.6578 450.885 60.1038C454.41 52.5498 459.761 46.5696 466.938 42.1631C474.114 37.7566 482.927 35.5533 493.377 35.5533C503.071 35.5533 511.317 37.6936 518.116 41.9742C525.04 46.1289 530.202 51.8574 533.602 59.1596C537.127 66.4618 538.889 74.7082 538.889 83.8989V86.7317C538.889 87.613 538.763 89.0608 538.512 91.0752H460.517V77.2892H528.691L520.571 85.7874C521.075 77.6039 520.382 70.8053 518.494 65.3916C516.731 59.9779 513.709 56.0121 509.429 53.4941C505.274 50.8502 499.986 49.5282 493.565 49.5282C487.144 49.5282 481.731 50.6613 477.324 52.9275C473.044 55.1937 469.707 59.0337 467.315 64.4474C465.049 69.7352 463.916 76.8485 463.916 85.7874C463.916 94.8522 465.175 102.091 467.693 107.505C470.211 112.793 473.673 116.57 478.08 118.836C482.486 120.976 487.774 122.047 493.943 122.047C499.483 122.047 504.078 121.291 507.729 119.78C511.506 118.27 514.465 116.255 516.605 113.737C518.871 111.093 520.445 108.009 521.326 104.484H538.701C538.071 109.52 536.183 114.43 533.035 119.214C530.013 123.998 525.229 128.027 518.682 131.3C512.136 134.448 503.7 136.022 493.377 136.022Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M591.884 133C584.33 133 578.476 132.056 574.321 130.167C570.292 128.153 567.459 125.194 565.823 121.291C564.186 117.262 563.368 111.912 563.368 105.239V53.1164H545.427V43.2962L565.067 36.4976L572.81 17.2349H582.253V38.5749H612.469V53.1164H582.253V117.892H610.58V133H591.884Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M625.811 155.662H653.76L665.28 126.39L667.735 121.291L672.645 105.994L698.518 38.5749H716.836L677.367 141.309C674.345 149.115 671.638 154.969 669.246 158.872C666.854 162.775 663.581 165.734 659.426 167.748C655.271 169.763 649.48 170.77 642.052 170.77H625.811V155.662ZM620.145 38.5749H639.597L665.091 105.994L674.345 133H655.838L620.145 38.5749Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M810.382 14.9687H829.833V133H810.382V14.9687ZM766.758 7.41469H873.269V23.0892H766.758V7.41469Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M915.176 136.022C904.6 136.022 895.661 133.818 888.359 129.412C881.057 125.005 875.58 119.025 871.929 111.471C868.278 103.791 866.453 95.167 866.453 85.5986C866.453 76.1561 868.278 67.6578 871.929 60.1038C875.58 52.5498 881.057 46.5696 888.359 42.1631C895.661 37.7566 904.6 35.5533 915.176 35.5533C925.752 35.5533 934.69 37.7566 941.993 42.1631C949.295 46.5696 954.771 52.6128 958.423 60.2927C962.074 67.8467 963.899 76.282 963.899 85.5986C963.899 95.0411 962.074 103.602 958.423 111.282C954.771 118.836 949.295 124.879 941.993 129.412C934.69 133.818 925.752 136.022 915.176 136.022ZM885.526 85.7874C885.526 94.0968 886.534 100.832 888.548 105.994C890.688 111.156 893.899 114.933 898.179 117.325C902.586 119.717 908.251 120.914 915.176 120.914C922.1 120.914 927.703 119.717 931.984 117.325C936.39 114.933 939.601 111.156 941.615 105.994C943.755 100.832 944.825 94.0968 944.825 85.7874C944.825 77.478 943.755 70.7424 941.615 65.5805C939.601 60.4186 936.39 56.6416 931.984 54.2495C927.703 51.8574 922.1 50.6613 915.176 50.6613C908.251 50.6613 902.586 51.8574 898.179 54.2495C893.899 56.6416 890.688 60.4186 888.548 65.5805C886.534 70.7424 885.526 77.478 885.526 85.7874Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1026.38 136.022C1015.81 136.022 1006.87 133.818 999.567 129.412C992.265 125.005 986.788 119.025 983.137 111.471C979.486 103.791 977.66 95.167 977.66 85.5986C977.66 76.1561 979.486 67.6578 983.137 60.1038C986.788 52.5498 992.265 46.5696 999.567 42.1631C1006.87 37.7566 1015.81 35.5533 1026.38 35.5533C1036.96 35.5533 1045.9 37.7566 1053.2 42.1631C1060.5 46.5696 1065.98 52.6128 1069.63 60.2927C1073.28 67.8467 1075.11 76.282 1075.11 85.5986C1075.11 95.0411 1073.28 103.602 1069.63 111.282C1065.98 118.836 1060.5 124.879 1053.2 129.412C1045.9 133.818 1036.96 136.022 1026.38 136.022ZM996.734 85.7874C996.734 94.0968 997.741 100.832 999.756 105.994C1001.9 111.156 1005.11 114.933 1009.39 117.325C1013.79 119.717 1019.46 120.914 1026.38 120.914C1033.31 120.914 1038.91 119.717 1043.19 117.325C1047.6 114.933 1050.81 111.156 1052.82 105.994C1054.96 100.832 1056.03 94.0968 1056.03 85.7874C1056.03 77.478 1054.96 70.7424 1052.82 65.5805C1050.81 60.4186 1047.6 56.6416 1043.19 54.2495C1038.91 51.8574 1033.31 50.6613 1026.38 50.6613C1019.46 50.6613 1013.79 51.8574 1009.39 54.2495C1005.11 56.6416 1001.9 60.4186 999.756 65.5805C997.741 70.7424 996.734 77.478 996.734 85.7874Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M1094.74 0.804932H1113.63V133H1094.74V0.804932Z\" fill=\"currentColor\" />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Skiff(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 559 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Skiff</title>\n            <path\n                d=\"M49.6965 56.2744H24.8482V32.2492H44.8516C47.5223 32.2492 49.6965 30.0394 49.6965 27.3248V6.9929H73.3335V32.2492C73.3335 45.5206 62.7534 56.2744 49.6965 56.2744ZM24.8482 58.7366H0V82.7618H20.0033C22.6741 82.7618 24.8482 84.9717 24.8482 87.6863V108.018H48.4852V82.7618C48.4852 69.4904 37.9052 58.7366 24.8482 58.7366ZM104.238 57.5055C101.567 57.5055 99.3929 55.2957 99.3929 52.5811V32.2492H75.7559V57.5055C75.7559 70.7769 86.3359 81.5307 99.3929 81.5307H124.241V57.5055H104.238ZM50.9077 108.018V133.274H74.5447V112.943C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.993H74.5447C61.4877 83.993 50.9077 94.7467 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M176.439 90.8866C177.006 109.96 187.959 120.914 212.698 120.914C238.004 120.914 244.047 112.227 244.047 99.3849C244.047 87.6762 237.06 81.2553 222.896 79.1779L193.813 75.0232C172.473 72.0016 161.331 60.8595 161.331 41.2191C161.331 20.2567 176.817 4.01563 210.432 4.01563C245.747 4.01563 260.666 21.7675 262.366 44.2407H243.481C241.592 29.1327 231.583 19.1236 210.243 19.1236C189.847 19.1236 180.971 27.9996 180.971 40.6525C180.971 49.9062 186.07 56.7048 197.779 58.4044L228.562 62.9368C250.468 66.1473 263.688 76.1563 263.688 96.9298C263.688 121.669 248.58 136.022 212.698 136.022C171.529 136.022 157.554 114.493 157.554 90.8866H176.439Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M354.26 133L321.023 89.7535L303.271 106.561V133H284.386V0.805176H303.271V85.5988C306.481 81.633 309.881 77.856 312.902 75.0232L351.239 38.5752H374.279V39.1417L333.109 78.2337L377.867 133H354.26Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M417.562 58.7821V133H398.677V59.3487C398.677 56.5159 397.733 55.5717 394.9 55.5717H382.436V38.5752H396.789C409.064 38.5752 417.373 46.6957 417.562 58.7821ZM391.501 24.4114V7.41493H415.296V24.4114H391.501Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M448.678 133V53.1166H432.626V43.2964L448.678 37.8198V24.0337C448.678 8.92573 456.232 0.805176 479.083 0.805176H495.891V14.9689H466.052V38.5752H507.788V24.0337C507.788 8.92573 515.342 0.805176 538.193 0.805176H558.778V14.9689H525.162V38.5752H553.112V53.1166H526.673V133H507.788V53.1166H467.563V133H448.678Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Tulu(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 507 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Tulu</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0391 49.6965 27.3245V6.99265H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7364H0V82.7616H20.0033C22.6741 82.7616 24.8482 84.9714 24.8482 87.6861V108.018H48.4852V82.7616C48.4852 69.4902 37.9052 58.7364 24.8482 58.7364ZM104.238 57.5053C101.567 57.5053 99.3929 55.2954 99.3929 52.5808V32.249H75.7559V57.5053C75.7559 70.7767 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9927H74.5447C61.4877 83.9927 50.9077 94.7465 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M195.513 14.9687H214.964V133H195.513V14.9687ZM151.889 7.41469H258.4V23.0892H151.889V7.41469Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M297.148 136.022C288.839 136.022 282.103 134.574 276.941 131.678C271.779 128.656 268.002 124.313 265.61 118.647C263.218 112.982 262.022 105.931 262.022 97.4961V38.5749H280.907V95.7965C280.907 102.091 281.788 107.065 283.551 110.716C285.439 114.367 288.02 116.885 291.294 118.27C294.567 119.655 298.47 120.347 303.002 120.347C308.668 120.347 313.578 118.836 317.733 115.815C321.887 112.667 325.035 107.946 327.175 101.651C329.441 95.3558 330.575 87.613 330.575 78.4223H336.051C336.051 88.7461 334.855 98.2515 332.463 106.939C330.197 115.5 326.168 122.487 320.377 127.901C314.585 133.315 306.842 136.022 297.148 136.022ZM330.575 38.5749H349.46V133H330.575V38.5749ZM313.956 7.41469H335.862V24.4112H313.956V7.41469ZM274.864 7.41469H296.77V24.4112H274.864V7.41469Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M375.676 0.804932H394.561V133H375.676V0.804932Z\" fill=\"currentColor\" />\n            <path\n                d=\"M454.093 136.022C445.783 136.022 439.048 134.574 433.886 131.678C428.724 128.656 424.947 124.313 422.555 118.647C420.163 112.982 418.967 105.931 418.967 97.4961V38.5749H437.852V95.7965C437.852 102.091 438.733 107.065 440.496 110.716C442.384 114.367 444.965 116.885 448.238 118.27C451.512 119.655 455.415 120.347 459.947 120.347C465.613 120.347 470.523 118.836 474.677 115.815C478.832 112.667 481.98 107.946 484.12 101.651C486.386 95.3558 487.519 87.613 487.519 78.4223H492.996C492.996 88.7461 491.8 98.2515 489.408 106.939C487.142 115.5 483.113 122.487 477.321 127.901C471.53 133.315 463.787 136.022 454.093 136.022ZM487.519 38.5749H506.404V133H487.519V38.5749Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Tulu3(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 632 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Tulu3</title>\n            <path\n                d=\"M49.6965 56.2742H24.8482V32.249H44.8516C47.5223 32.249 49.6965 30.0391 49.6965 27.3245V6.99265H73.3335V32.249C73.3335 45.5204 62.7534 56.2742 49.6965 56.2742ZM24.8482 58.7364H0V82.7616H20.0033C22.6741 82.7616 24.8482 84.9714 24.8482 87.6861V108.018H48.4852V82.7616C48.4852 69.4902 37.9052 58.7364 24.8482 58.7364ZM104.238 57.5053C101.567 57.5053 99.3929 55.2954 99.3929 52.5808V32.249H75.7559V57.5053C75.7559 70.7767 86.3359 81.5305 99.3929 81.5305H124.241V57.5053H104.238ZM50.9077 108.018V133.274H74.5447V112.942C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.9927H74.5447C61.4877 83.9927 50.9077 94.7465 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M195.513 23.0892H151.889V7.41469H258.4V23.0892H214.964V133H195.513V23.0892Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M297.148 136.022C284.936 136.022 275.997 132.811 270.331 126.39C264.792 119.843 262.022 110.212 262.022 97.4961V38.5749H280.907V95.7965C280.907 104.987 282.795 111.408 286.572 115.059C290.475 118.584 295.952 120.347 303.002 120.347C311.564 120.347 318.299 116.822 323.209 109.771C328.119 102.595 330.575 92.1454 330.575 78.4223V38.5749H349.46V133H330.575V112.415C324.28 128.153 313.137 136.022 297.148 136.022ZM313.956 7.41469H335.862V24.4112H313.956V7.41469ZM274.864 7.41469H296.77V24.4112H274.864V7.41469Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M375.676 0.804932H394.561V133H375.676V0.804932Z\" fill=\"currentColor\" />\n            <path\n                d=\"M454.093 136.022C441.88 136.022 432.942 132.811 427.276 126.39C421.736 119.843 418.967 110.212 418.967 97.4961V38.5749H437.852V95.7965C437.852 104.987 439.74 111.408 443.517 115.059C447.42 118.584 452.897 120.347 459.947 120.347C468.508 120.347 475.244 116.822 480.154 109.771C485.064 102.595 487.519 92.1454 487.519 78.4223V38.5749H506.404V133H487.519V112.415C481.224 128.153 470.082 136.022 454.093 136.022Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M548.673 92.3972C548.924 101.084 551.883 107.883 557.549 112.793C563.34 117.703 570.894 120.158 580.211 120.158C590.031 120.158 597.522 117.892 602.684 113.36C607.972 108.701 610.615 101.651 610.615 92.2083C610.615 84.9061 608.475 79.1147 604.195 74.8341C599.914 70.4276 593.745 68.2244 585.687 68.2244C581.029 68.2244 576.874 68.9168 573.223 70.3017C569.698 71.5607 566.11 73.5122 562.459 76.1561L553.205 63.8808L600.606 23.0892H532.432V7.41469H623.646V23.0892L583.043 59.5373C586.569 58.5301 590.66 58.0265 595.319 58.0265C601.11 58.0265 606.713 59.2855 612.126 61.8035C617.666 64.1956 622.198 68.0355 625.724 73.3233C629.249 78.4852 631.011 85.032 631.011 92.9637C631.011 100.392 629.312 107.379 625.912 113.926C622.639 120.347 617.162 125.698 609.482 129.978C601.802 134.133 591.793 136.21 579.455 136.21C563.088 136.21 550.498 132.245 541.685 124.313C532.998 116.381 528.529 105.743 528.277 92.3972H548.673Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Tulu370B(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1034 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Tulu370B</title>\n            <path\n                d=\"M49.6965 56.2744H24.8482V32.2492H44.8516C47.5223 32.2492 49.6965 30.0394 49.6965 27.3248V6.9929H73.3335V32.2492C73.3335 45.5206 62.7534 56.2744 49.6965 56.2744ZM24.8482 58.7366H0V82.7618H20.0033C22.6741 82.7618 24.8482 84.9717 24.8482 87.6863V108.018H48.4852V82.7618C48.4852 69.4904 37.9052 58.7366 24.8482 58.7366ZM104.238 57.5055C101.567 57.5055 99.3929 55.2957 99.3929 52.5811V32.2492H75.7559V57.5055C75.7559 70.7769 86.3359 81.5307 99.3929 81.5307H124.241V57.5055H104.238ZM50.9077 108.018V133.274H74.5447V112.943C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.993H74.5447C61.4877 83.993 50.9077 94.7467 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M195.513 23.0895H151.889V7.41493H258.4V23.0895H214.964V133H195.513V23.0895Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M297.148 136.022C284.936 136.022 275.997 132.811 270.331 126.39C264.792 119.844 262.022 110.212 262.022 97.4964V38.5752H280.907V95.7967C280.907 104.987 282.795 111.408 286.572 115.059C290.475 118.585 295.952 120.347 303.002 120.347C311.564 120.347 318.299 116.822 323.209 109.772C328.119 102.595 330.575 92.1456 330.575 78.4225V38.5752H349.46V133H330.575V112.416C324.28 128.153 313.137 136.022 297.148 136.022ZM313.956 7.41493H335.862V24.4114H313.956V7.41493ZM274.864 7.41493H296.77V24.4114H274.864V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M375.676 0.805176H394.561V133H375.676V0.805176Z\" fill=\"currentColor\" />\n            <path\n                d=\"M454.093 136.022C441.88 136.022 432.942 132.811 427.276 126.39C421.736 119.844 418.967 110.212 418.967 97.4964V38.5752H437.852V95.7967C437.852 104.987 439.74 111.408 443.517 115.059C447.42 118.585 452.897 120.347 459.947 120.347C468.508 120.347 475.244 116.822 480.154 109.772C485.064 102.595 487.519 92.1456 487.519 78.4225V38.5752H506.404V133H487.519V112.416C481.224 128.153 470.082 136.022 454.093 136.022Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M548.673 92.3974C548.924 101.085 551.883 107.883 557.549 112.793C563.34 117.703 570.894 120.158 580.211 120.158C590.031 120.158 597.522 117.892 602.684 113.36C607.972 108.701 610.615 101.651 610.615 92.2086C610.615 84.9064 608.475 79.115 604.195 74.8344C599.914 70.4279 593.745 68.2246 585.687 68.2246C581.029 68.2246 576.874 68.9171 573.223 70.302C569.698 71.561 566.11 73.5124 562.459 76.1563L553.205 63.8811L600.606 23.0895H532.432V7.41493H623.646V23.0895L583.043 59.5375C586.569 58.5303 590.66 58.0267 595.319 58.0267C601.11 58.0267 606.713 59.2857 612.126 61.8037C617.666 64.1958 622.198 68.0358 625.724 73.3236C629.249 78.4855 631.011 85.0323 631.011 92.964C631.011 100.392 629.312 107.38 625.912 113.926C622.639 120.347 617.162 125.698 609.482 129.979C601.802 134.133 591.793 136.211 579.455 136.211C563.088 136.211 550.498 132.245 541.685 124.313C532.998 116.381 528.529 105.743 528.277 92.3974H548.673Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M692.901 7.41493H788.837V20.0679C778.387 30.2658 769.574 40.4007 762.398 50.4727C755.347 60.4188 749.619 72.1905 745.212 85.7877C740.806 99.259 738.351 114.996 737.847 133H718.396C719.277 91.8309 735.833 55.194 768.063 23.0895H692.901V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M853.682 136.211C834.167 136.211 819.626 130.167 810.057 118.081C800.489 105.869 795.705 89.8794 795.705 70.1131C795.705 50.4727 800.489 34.5464 810.057 22.3341C819.626 10.1218 834.167 4.01563 853.682 4.01563C866.901 4.01563 877.792 6.91133 886.353 12.7027C895.04 18.4941 901.398 26.3629 905.427 36.309C909.581 46.2551 911.659 57.5231 911.659 70.1131C911.659 89.8794 906.874 105.869 897.306 118.081C887.738 130.167 873.196 136.211 853.682 136.211ZM816.101 70.1131C816.101 86.9837 819.059 99.5737 824.976 107.883C830.894 116.067 840.462 120.158 853.682 120.158C866.901 120.158 876.47 116.067 882.387 107.883C888.304 99.5737 891.263 86.9837 891.263 70.1131C891.263 53.2425 888.304 40.7155 882.387 32.532C876.47 24.2226 866.901 20.0679 853.682 20.0679C840.462 20.0679 830.894 24.2226 824.976 32.532C819.059 40.7155 816.101 53.2425 816.101 70.1131Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M931.323 7.41493H995.343C1007.81 7.41493 1017 10.2477 1022.91 15.9132C1028.83 21.5787 1031.79 29.0068 1031.79 38.1975C1031.79 46.7587 1029.4 53.6202 1024.61 58.7821C1019.83 63.8181 1013.98 66.9027 1007.05 68.0358C1014.86 69.1689 1021.22 72.3793 1026.13 77.6671C1031.04 82.829 1033.49 89.9424 1033.49 99.0072C1033.49 109.457 1030.09 117.766 1023.29 123.935C1016.62 129.979 1006.86 133 994.021 133H931.323V7.41493ZM991.755 117.326C999.057 117.326 1004.41 115.437 1007.81 111.66C1011.33 107.757 1013.09 102.784 1013.09 96.741C1013.09 82.3884 1004.85 75.2121 988.355 75.2121H950.774V117.326H991.755ZM988.355 60.8595C996.287 60.8595 1002.08 59.2857 1005.73 56.1382C1009.51 52.9907 1011.4 48.1436 1011.4 41.5968C1011.4 35.1759 1009.88 30.5176 1006.86 27.6219C1003.84 24.6003 998.49 23.0895 990.81 23.0895H950.774V60.8595H988.355Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Tulu3405B(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 1173 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Tulu3405B</title>\n            <path\n                d=\"M49.6965 56.2744H24.8482V32.2492H44.8516C47.5223 32.2492 49.6965 30.0394 49.6965 27.3248V6.9929H73.3335V32.2492C73.3335 45.5206 62.7534 56.2744 49.6965 56.2744ZM24.8482 58.7366H0V82.7618H20.0033C22.6741 82.7618 24.8482 84.9717 24.8482 87.6863V108.018H48.4852V82.7618C48.4852 69.4904 37.9052 58.7366 24.8482 58.7366ZM104.238 57.5055C101.567 57.5055 99.3929 55.2957 99.3929 52.5811V32.2492H75.7559V57.5055C75.7559 70.7769 86.3359 81.5307 99.3929 81.5307H124.241V57.5055H104.238ZM50.9077 108.018V133.274H74.5447V112.943C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.993H74.5447C61.4877 83.993 50.9077 94.7467 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M195.513 14.9689H214.964V133H195.513V14.9689ZM151.889 7.41493H258.4V23.0895H151.889V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M297.148 136.022C288.839 136.022 282.103 134.574 276.941 131.678C271.779 128.657 268.002 124.313 265.61 118.648C263.218 112.982 262.022 105.932 262.022 97.4964V38.5752H280.907V95.7967C280.907 102.092 281.788 107.065 283.551 110.716C285.439 114.367 288.02 116.885 291.294 118.27C294.567 119.655 298.47 120.347 303.002 120.347C308.668 120.347 313.578 118.836 317.733 115.815C321.887 112.667 325.035 107.946 327.175 101.651C329.441 95.3561 330.575 87.6132 330.575 78.4225H336.051C336.051 88.7463 334.855 98.2518 332.463 106.939C330.197 115.5 326.168 122.488 320.377 127.901C314.585 133.315 306.842 136.022 297.148 136.022ZM330.575 38.5752H349.46V133H330.575V38.5752ZM313.956 7.41493H335.862V24.4114H313.956V7.41493ZM274.864 7.41493H296.77V24.4114H274.864V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path d=\"M375.676 0.805176H394.561V133H375.676V0.805176Z\" fill=\"currentColor\" />\n            <path\n                d=\"M454.093 136.022C445.783 136.022 439.048 134.574 433.886 131.678C428.724 128.657 424.947 124.313 422.555 118.648C420.163 112.982 418.967 105.932 418.967 97.4964V38.5752H437.852V95.7967C437.852 102.092 438.733 107.065 440.496 110.716C442.384 114.367 444.965 116.885 448.238 118.27C451.512 119.655 455.415 120.347 459.947 120.347C465.613 120.347 470.523 118.836 474.677 115.815C478.832 112.667 481.98 107.946 484.12 101.651C486.386 95.3561 487.519 87.6132 487.519 78.4225H492.996C492.996 88.7463 491.8 98.2518 489.408 106.939C487.142 115.5 483.113 122.488 477.321 127.901C471.53 133.315 463.787 136.022 454.093 136.022ZM487.519 38.5752H506.404V133H487.519V38.5752Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M548.673 92.3974C548.799 98.1888 550.183 103.162 552.827 107.317C555.597 111.471 559.311 114.682 563.97 116.948C568.628 119.088 574.042 120.158 580.211 120.158C590.031 120.158 597.522 117.892 602.684 113.36C607.972 108.701 610.615 101.651 610.615 92.2086C610.615 84.9064 608.475 79.115 604.195 74.8344C599.914 70.4279 593.745 68.2246 585.687 68.2246C581.029 68.2246 576.874 68.9171 573.223 70.302C569.698 71.561 566.11 73.5124 562.459 76.1563L553.205 63.8811L600.606 23.0895H532.432V7.41493H623.646V23.0895L583.043 59.5375C586.569 58.5303 590.66 58.0267 595.319 58.0267C601.11 58.0267 606.713 59.2857 612.126 61.8037C617.666 64.1958 622.198 68.0358 625.724 73.3236C629.249 78.4855 631.011 85.0323 631.011 92.964C631.011 100.392 629.312 107.38 625.912 113.926C622.639 120.347 617.162 125.698 609.482 129.979C601.802 134.133 591.793 136.211 579.455 136.211C568.502 136.211 559.185 134.385 551.505 130.734C543.951 127.083 538.223 121.984 534.32 115.437C530.543 108.764 528.529 101.085 528.277 92.3974H548.673Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M760.887 102.784H693.09V87.1096L750.123 7.41493H769.574L712.541 87.1096H760.887V7.41493H780.339V87.1096H801.301V102.784H780.339V133H760.887V102.784Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M870.833 136.211C857.614 136.211 846.66 133.378 837.973 127.712C829.286 121.921 822.928 114.115 818.899 104.295C814.871 94.3489 812.856 82.9549 812.856 70.1131C812.856 57.3972 814.871 46.1292 818.899 36.309C823.054 26.3629 829.412 18.4941 837.973 12.7027C846.66 6.91133 857.614 4.01563 870.833 4.01563C884.053 4.01563 894.943 6.91133 903.504 12.7027C912.191 18.4941 918.549 26.3629 922.578 36.309C926.733 46.2551 928.81 57.5231 928.81 70.1131C928.81 82.829 926.733 94.16 922.578 104.106C918.549 114.052 912.191 121.921 903.504 127.712C894.943 133.378 884.053 136.211 870.833 136.211ZM833.252 70.1131C833.252 81.3182 834.511 90.6348 837.029 98.0629C839.547 105.365 843.576 110.905 849.115 114.682C854.655 118.333 861.894 120.158 870.833 120.158C879.772 120.158 887.011 118.333 892.551 114.682C898.09 110.905 902.119 105.365 904.637 98.0629C907.155 90.6348 908.414 81.3182 908.414 70.1131C908.414 58.908 907.155 49.6544 904.637 42.3522C902.119 34.9241 898.09 29.3845 892.551 25.7334C887.011 21.9564 879.772 20.0679 870.833 20.0679C861.894 20.0679 854.655 21.9564 849.115 25.7334C843.576 29.3845 839.547 34.9241 837.029 42.3522C834.511 49.6544 833.252 58.908 833.252 70.1131Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1044.77 7.41493V23.0895H964.693V7.41493H1044.77ZM966.581 97.3075C966.959 101.714 968.218 105.617 970.359 109.016C972.625 112.416 976.024 115.122 980.556 117.137C985.089 119.151 990.817 120.158 997.742 120.158C1004.79 120.158 1010.65 119.088 1015.3 116.948C1020.09 114.808 1023.61 111.66 1025.88 107.505C1028.27 103.351 1029.47 98.2518 1029.47 92.2086C1029.47 85.7877 1028.34 80.374 1026.07 75.9675C1023.8 71.561 1020.53 68.2876 1016.25 66.1473C1011.97 63.8811 1006.87 62.748 1000.95 62.748C994.028 62.748 987.922 64.1329 982.634 66.9027C977.472 69.5466 973.065 73.2606 969.414 78.0448H951.285L955.628 7.41493H973.38L969.792 61.8037C973.569 57.7749 978.29 54.6274 983.956 52.3612C989.621 50.095 996.672 48.9619 1005.11 48.9619C1013.92 48.9619 1021.66 50.5986 1028.34 53.872C1035.13 57.0195 1040.42 61.8037 1044.2 68.2246C1047.98 74.6455 1049.86 82.5143 1049.86 91.8309C1049.86 105.176 1045.58 115.941 1037.02 124.124C1028.46 132.182 1015.37 136.211 997.742 136.211C986.663 136.211 977.346 134.574 969.792 131.301C962.238 128.027 956.572 123.495 952.795 117.703C949.018 111.786 946.941 104.987 946.563 97.3075H966.581Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M1087.18 117.326H1131.18C1136.09 117.326 1140.12 116.444 1143.27 114.682C1146.54 112.793 1148.87 110.338 1150.25 107.317C1151.76 104.169 1152.52 100.644 1152.52 96.741C1152.52 89.6906 1150.5 84.3398 1146.48 80.6887C1142.57 77.0376 1136.34 75.2121 1127.78 75.2121H1087.18V60.8595H1127.78C1133.07 60.8595 1137.41 60.167 1140.81 58.7821C1144.21 57.2713 1146.73 55.131 1148.36 52.3612C1150 49.4655 1150.82 45.8774 1150.82 41.5968C1150.82 37.3162 1150.19 33.8539 1148.93 31.21C1147.67 28.5661 1145.53 26.5517 1142.51 25.1668C1139.49 23.7819 1135.4 23.0895 1130.23 23.0895H1087.18V7.41493H1134.77C1143.2 7.41493 1150.13 8.79983 1155.54 11.5696C1160.95 14.2135 1164.92 17.8646 1167.44 22.5229C1169.96 27.0553 1171.22 32.2802 1171.22 38.1975C1171.22 46.7587 1168.82 53.6202 1164.04 58.7821C1159.25 63.8181 1153.4 66.9027 1146.48 68.0358C1154.28 69.1689 1160.64 72.3793 1165.55 77.6671C1170.46 82.829 1172.91 89.9424 1172.91 99.0072C1172.91 109.457 1169.52 117.766 1162.72 123.935C1156.04 129.979 1146.29 133 1133.45 133H1087.18V117.326ZM1070.75 7.41493H1090.2V133H1070.75V7.41493Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","'use client';\n\nimport { type SVGProps } from 'react';\n\nexport function Varnish(props: SVGProps<SVGSVGElement>) {\n    return (\n        <svg\n            viewBox=\"0 0 797 137\"\n            fill=\"currentColor\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            height={24}\n            role=\"img\"\n            {...props}>\n            <title>Varnish</title>\n            <path\n                d=\"M49.6965 56.2744H24.8482V32.2492H44.8516C47.5223 32.2492 49.6965 30.0394 49.6965 27.3248V6.9929H73.3335V32.2492C73.3335 45.5206 62.7534 56.2744 49.6965 56.2744ZM24.8482 58.7366H0V82.7618H20.0033C22.6741 82.7618 24.8482 84.9717 24.8482 87.6863V108.018H48.4852V82.7618C48.4852 69.4904 37.9052 58.7366 24.8482 58.7366ZM104.238 57.5055C101.567 57.5055 99.3929 55.2957 99.3929 52.5811V32.2492H75.7559V57.5055C75.7559 70.7769 86.3359 81.5307 99.3929 81.5307H124.241V57.5055H104.238ZM50.9077 108.018V133.274H74.5447V112.943C74.5447 110.228 76.7188 108.018 79.3896 108.018H99.3929V83.993H74.5447C61.4877 83.993 50.9077 94.7467 50.9077 108.018Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M152.833 7.41493H173.229L204.955 96.5521C207.977 104.736 210.306 112.038 211.943 118.459C214.335 110.149 216.664 102.847 218.93 96.5521L250.846 7.41493H270.675L225.918 133H197.59L152.833 7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M303.061 135.455C293.367 135.455 285.687 133 280.022 128.09C274.482 123.18 271.712 116.381 271.712 107.694C271.712 99.8885 273.916 93.6564 278.322 88.9981C282.855 84.2139 290.22 80.9405 300.418 79.1779L324.024 75.2121C328.682 74.4567 332.018 73.2606 334.033 71.6239C336.173 69.9872 337.243 67.5322 337.243 64.2588C337.243 59.6005 335.67 56.0753 332.522 53.6832C329.5 51.1652 324.15 49.9062 316.47 49.9062C308.79 49.9062 302.999 51.417 299.096 54.4386C295.319 57.4602 293.178 61.9926 292.675 68.0358H273.79C273.916 57.8379 277.63 49.8432 284.932 44.0518C292.234 38.2604 302.495 35.3647 315.714 35.3647C328.43 35.3647 338.062 38.0086 344.608 43.2964C351.281 48.5842 354.618 55.6976 354.618 64.6365V111.471C354.618 118.396 354.932 125.572 355.562 133H338.376C337.621 125.572 337.243 118.459 337.243 111.66C335.103 118.459 331.2 124.124 325.535 128.657C319.869 133.189 312.378 135.455 303.061 135.455ZM307.027 120.914C316.596 120.914 324.024 117.766 329.312 111.471C334.599 105.05 337.243 96.9298 337.243 87.1096V81.4441C334.977 83.0808 332.522 84.4028 329.878 85.41C327.234 86.2913 324.087 87.1726 320.436 88.0539L307.405 91.0755C301.488 92.4604 297.207 94.4118 294.563 96.9298C291.919 99.3219 290.597 102.658 290.597 106.939C290.597 111.345 292.045 114.808 294.941 117.326C297.963 119.718 301.991 120.914 307.027 120.914Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M378.069 38.5752H396.765V61.426C403.312 45.1849 414.454 37.0644 430.191 37.0644H433.024V55.3828H428.303C416.342 55.3828 408.096 58.8451 403.564 65.7696C399.157 72.5682 396.954 82.9549 396.954 96.9298V133H378.069V38.5752Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M450.732 38.5752H469.617V59.7264C476.164 43.6112 487.558 35.5536 503.799 35.5536C516.011 35.5536 524.761 38.764 530.049 45.1849C535.463 51.6058 538.169 61.2372 538.169 74.079V133H519.284V75.7786C519.284 66.5879 517.459 60.23 513.808 56.7048C510.157 53.0537 504.995 51.2281 498.322 51.2281C488.754 51.2281 481.577 54.5645 476.793 61.2372C472.009 67.9099 469.617 78.5484 469.617 93.1528V133H450.732V38.5752Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M587.048 133H568.163V59.3487C568.163 57.9638 567.848 57.0195 567.218 56.5159C566.715 55.8864 565.77 55.5717 564.386 55.5717H551.922V38.5752H566.274C572.443 38.5752 577.416 40.4637 581.193 44.2407C584.97 47.8918 586.922 52.7389 587.048 58.7821V133ZM560.986 7.41493H584.781V24.4114H560.986V7.41493Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M622.318 101.462C622.696 107.631 625.088 112.604 629.495 116.381C633.901 120.158 640.448 122.047 649.135 122.047C657.067 122.047 662.543 120.851 665.565 118.459C668.587 115.941 670.097 112.29 670.097 107.505C670.097 103.603 668.901 100.581 666.509 98.4406C664.243 96.1744 660.655 94.6636 655.745 93.9082L632.327 90.3201C624.144 89.0611 617.849 86.2283 613.442 81.8218C609.162 77.4153 607.021 71.6239 607.021 64.4476C607.021 55.3828 610.484 48.2695 617.408 43.1076C624.333 37.9457 633.964 35.3647 646.302 35.3647C658.263 35.3647 667.894 38.1345 675.196 43.6741C682.498 49.0878 686.464 56.3271 687.094 65.3919H668.209C667.705 60.7336 665.565 56.8936 661.788 53.872C658.011 50.8504 652.66 49.3396 645.736 49.3396C638.811 49.3396 633.649 50.5986 630.25 53.1166C626.977 55.5087 625.34 58.7192 625.34 62.748C625.34 65.8955 626.284 68.4764 628.173 70.4908C630.187 72.5052 633.586 73.8901 638.371 74.6455L658.766 77.6671C669.846 79.3038 677.588 82.5772 681.995 87.4873C686.401 92.2715 688.605 98.6295 688.605 106.561C688.605 116.381 685.331 123.747 678.784 128.657C672.238 133.567 662.166 136.022 648.568 136.022C633.712 136.022 622.696 132.874 615.52 126.579C608.343 120.158 604.755 111.786 604.755 101.462H622.318Z\"\n                fill=\"currentColor\"\n            />\n            <path\n                d=\"M708.93 0.805176H727.815V59.7264C734.361 43.6112 745.755 35.5536 761.997 35.5536C774.209 35.5536 782.959 38.764 788.247 45.1849C793.66 51.6058 796.367 61.2372 796.367 74.079V133H777.482V75.7786C777.482 66.5879 775.657 60.23 772.006 56.7048C768.354 53.0537 763.193 51.2281 756.52 51.2281C746.951 51.2281 739.775 54.5645 734.991 61.2372C730.207 67.9099 727.815 78.5484 727.815 93.1528V133H708.93V0.805176Z\"\n                fill=\"currentColor\"\n            />\n        </svg>\n    );\n}\n","import { AI2Logo } from './AI2Logo';\nimport { AI2Mark } from './AI2Mark';\nimport { ACE } from './ACE';\nimport { Ai2OLMoE } from './Ai2OLMoE';\nimport { Ai2OpenScholar8B } from './Ai2OpenScholar8B';\nimport { Ai2Playground } from './Ai2Playground';\nimport { DataDecide } from './DataDecide';\nimport { Dolma } from './Dolma';\nimport { EarthSystems } from './EarthSystems';\nimport { Molmo } from './Molmo';\nimport { OLMES } from './OLMES';\nimport { OLMo } from './OLMo';\nimport { OLMoE } from './OLMoE';\nimport { Paloma } from './Paloma';\nimport { PixMo } from './PixMo';\nimport { Playground } from './Playground';\nimport { SafetyTool } from './SafetyTool';\nimport { Skiff } from './Skiff';\nimport { Tulu } from './Tulu';\nimport { Tulu3 } from './Tulu3';\nimport { Tulu370B } from './Tulu370B';\nimport { Tulu3405B } from './Tulu3405B';\nimport { Varnish } from './Varnish';\n\nexport const logos = {\n    AI2Logo,\n    AI2Mark,\n    ACE,\n    Ai2OLMoE,\n    Ai2OpenScholar8B,\n    Ai2Playground,\n    DataDecide,\n    Dolma,\n    EarthSystems,\n    Molmo,\n    OLMES,\n    OLMo,\n    OLMoE,\n    Paloma,\n    PixMo,\n    Playground,\n    SafetyTool,\n    Skiff,\n    Tulu,\n    Tulu3,\n    Tulu370B,\n    Tulu3405B,\n    Varnish,\n};\n\nexport default logos;\n","'use client';\n\nimport type { ComponentProps, PropsWithChildren, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport { Divider, Typography, styled } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\nimport ReactMarkdown from 'react-markdown';\nimport type { Options, Components } from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\n\nimport { CodeBlock } from './CodeBlocks';\n\nexport interface MarkdownProps extends Omit<Options, 'components'> {\n    className?: string;\n    markdownContainerClass?: string;\n    components?: Components;\n}\n\nconst MarkdownRoot = styled('div', {\n    name: 'MuiMarkdown',\n    slot: 'root',\n})(({ theme }) => ({\n    color: theme.palette.text.primary,\n}));\n\n/** @deprecated Use scoped styles on the `varnish-markdown` container instead */\nexport const TableWrapper = styled('div')`\n    overflow-x: auto;\n    margin: ${({ theme }) => theme.spacing(3)} 0;\n\n    table {\n        width: 100%;\n        font-family: ${({ theme }) => theme.typography.fontFamily};\n        border: 1px solid ${({ theme }) => theme.palette.grey.A200};\n\n        th,\n        td {\n            padding: ${({ theme }) => theme.spacing(1.5)};\n            border-color: ${({ theme }) => theme.palette.grey.A200};\n            border-width: 1px 0;\n        }\n\n        th {\n            padding-top: ${({ theme }) => theme.spacing(1.5)};\n            border-width: 0 0 2px 0;\n            white-space: pre;\n        }\n\n        tbody tr {\n            transition: all 0.3s;\n            &:hover {\n                background: rgba(60, 90, 100, 0.04);\n            }\n        }\n    }\n`;\n\nconst Img = styled('img')`\n    max-width: 100%;\n    &[src*='#thumbnail'] {\n        width: ${({ theme }) => theme.spacing(8)};\n    }\n`;\n\nconst Ol = styled('ol')`\n    margin-bottom: ${({ theme }) => theme.spacing(2)};\n`;\n\nconst Ul = styled('ul')`\n    margin-bottom: ${({ theme }) => theme.spacing(2)};\n    list-style-type: revert;\n`;\n\nconst Li = styled('li')`\n    margin-bottom: 0;\n`;\n\nconst defaultRemarkPlugins = [remarkGfm];\n\nconst defaultComponents: Components = {\n    h1: (props: PropsWithChildren) => (\n        <Typography gutterBottom variant=\"h1\">\n            {props.children}\n        </Typography>\n    ),\n    h2: (props: PropsWithChildren) => (\n        <Typography gutterBottom variant=\"h2\">\n            {props.children}\n        </Typography>\n    ),\n    h3: (props: PropsWithChildren) => (\n        <Typography gutterBottom variant=\"h3\">\n            {props.children}\n        </Typography>\n    ),\n    h4: (props: PropsWithChildren) => (\n        <Typography gutterBottom variant=\"h4\">\n            {props.children}\n        </Typography>\n    ),\n    h5: (props: PropsWithChildren) => (\n        <Typography gutterBottom variant=\"h5\">\n            {props.children}\n        </Typography>\n    ),\n    h6: (props: PropsWithChildren) => (\n        <Typography gutterBottom variant=\"h6\">\n            {props.children}\n        </Typography>\n    ),\n    p: (props: PropsWithChildren) => <Typography variant=\"body1\">{props.children}</Typography>,\n    b: (props: PropsWithChildren) => (\n        <strong style={{ fontWeight: 'bold' }}>{props.children}</strong>\n    ),\n    em: (props: PropsWithChildren) => <em style={{ fontStyle: 'italic' }}>{props.children}</em>,\n    hr: () => <Divider />,\n    del: (props: PropsWithChildren) => (\n        <del style={{ textDecoration: 'line-through' }}>{props.children}</del>\n    ),\n    li: (props: ComponentProps<typeof Li>) => <Li {...props} />,\n    ul: (props: ComponentProps<typeof Ul>) => <Ul {...props} />,\n    ol: (props: ComponentProps<typeof Ol>) => <Ol {...props} />,\n    img: (props: ComponentProps<typeof Img>) => <Img {...props} />,\n    // CodeBlock renders its own wrapper, so pre is neutralized to avoid double-wrapping\n    pre: (props: ComponentProps<'span'>) => <span {...props} />,\n    code: ({ children, className }: { children?: ReactNode; className?: string }) => {\n        const match = /language-(\\w+)/.exec(className || '');\n        const isInline = !match;\n        if (isInline) {\n            return <CodeBlock inline>{children}</CodeBlock>;\n        }\n        return <CodeBlock language={match[1]}>{children}</CodeBlock>;\n    },\n    table: (props: ComponentProps<'table'>) => (\n        // eslint-disable-next-line @typescript-eslint/no-deprecated\n        <TableWrapper>\n            <table {...props} />\n        </TableWrapper>\n    ),\n};\n\nconst Markdown = forwardRef<HTMLDivElement, MarkdownProps>(function Markdown(inProps, ref) {\n    const props = useThemeProps({ props: inProps, name: 'MuiMarkdown' });\n    const {\n        markdownContainerClass = 'varnish-markdown',\n        className,\n        children,\n        components = defaultComponents,\n        remarkPlugins = defaultRemarkPlugins,\n        ...other\n    } = props;\n\n    const containerClassName = [markdownContainerClass, className].filter(Boolean).join(' ');\n\n    return (\n        <MarkdownRoot ref={ref} className={containerClassName}>\n            <ReactMarkdown components={components} remarkPlugins={remarkPlugins} {...other}>\n                {children}\n            </ReactMarkdown>\n        </MarkdownRoot>\n    );\n});\n\nexport { defaultComponents, defaultRemarkPlugins, Markdown, Markdown as default };\n","'use client';\n\nimport { createContext, useCallback, useContext, useMemo, useState, type ReactNode } from 'react';\n\nexport type AnchorOrigin =\n    | 'topLeft'\n    | 'topCenter'\n    | 'topRight'\n    | 'bottomLeft'\n    | 'bottomCenter'\n    | 'bottomRight';\n\nexport interface SnackbarNotification {\n    id: string;\n    message: string;\n    variant?: 'default' | 'success' | 'error' | 'warning' | 'info';\n    autoHideDuration?: number;\n    action?: ReactNode;\n}\n\nexport interface SnackbarNotificationContextValue {\n    notifications: Record<AnchorOrigin, SnackbarNotification[]>;\n    addNotification: (anchor: AnchorOrigin, notification: Omit<SnackbarNotification, 'id'>) => void;\n    removeNotification: (anchor: AnchorOrigin, id: string) => void;\n    clearAll: (anchor: AnchorOrigin) => void;\n}\n\nfunction createEmptyNotifications(): Record<AnchorOrigin, SnackbarNotification[]> {\n    return {\n        topLeft: [],\n        topCenter: [],\n        topRight: [],\n        bottomLeft: [],\n        bottomCenter: [],\n        bottomRight: [],\n    };\n}\n\nconst SnackbarNotificationContext = createContext<SnackbarNotificationContextValue | null>(null);\n\ninterface SnackbarNotificationProviderProps {\n    maxStack?: number;\n    children: ReactNode;\n}\n\nexport function SnackbarNotificationProvider({\n    maxStack = 4,\n    children,\n}: SnackbarNotificationProviderProps) {\n    const [notifications, setNotifications] =\n        useState<Record<AnchorOrigin, SnackbarNotification[]>>(createEmptyNotifications);\n\n    const removeNotification = useCallback((anchor: AnchorOrigin, id: string) => {\n        setNotifications((prev) => ({\n            ...prev,\n            [anchor]: prev[anchor].filter((n) => n.id !== id),\n        }));\n    }, []);\n\n    const addNotification = useCallback(\n        (anchor: AnchorOrigin, notification: Omit<SnackbarNotification, 'id'>) => {\n            const id = crypto.randomUUID();\n            const entry: SnackbarNotification = { ...notification, id };\n\n            setNotifications((prev) => {\n                let list = [...prev[anchor], entry];\n                if (list.length > maxStack) {\n                    list = list.slice(list.length - maxStack);\n                }\n                return { ...prev, [anchor]: list };\n            });\n\n            if (notification.autoHideDuration) {\n                setTimeout(() => {\n                    removeNotification(anchor, id);\n                }, notification.autoHideDuration);\n            }\n        },\n        [maxStack, removeNotification]\n    );\n\n    const clearAll = useCallback((anchor: AnchorOrigin) => {\n        setNotifications((prev) => ({ ...prev, [anchor]: [] }));\n    }, []);\n\n    const value = useMemo<SnackbarNotificationContextValue>(\n        () => ({ notifications, addNotification, removeNotification, clearAll }),\n        [notifications, addNotification, removeNotification, clearAll]\n    );\n\n    return (\n        <SnackbarNotificationContext.Provider value={value}>\n            {children}\n        </SnackbarNotificationContext.Provider>\n    );\n}\n\nexport function useSnackbarNotification(): SnackbarNotificationContextValue {\n    const ctx = useContext(SnackbarNotificationContext);\n    if (!ctx) {\n        throw new Error(\n            'useSnackbarNotification must be used within a SnackbarNotificationProvider'\n        );\n    }\n    return ctx;\n}\n","'use client';\n\nimport { forwardRef, type HTMLAttributes } from 'react';\nimport { Alert, IconButton, Portal } from '@mui/material';\nimport { styled, useThemeProps, type CSSObject } from '@mui/material/styles';\n\nimport { Close } from './icons';\n\nimport { type AnchorOrigin, useSnackbarNotification } from './SnackbarContext';\n\nexport interface SnackbarListProps extends HTMLAttributes<HTMLDivElement> {\n    anchorOrigin: AnchorOrigin;\n    ariaLabel?: string;\n}\n\ninterface SnackbarListOwnerState {\n    anchorOrigin: AnchorOrigin;\n}\n\nconst positionStyles: Record<AnchorOrigin, CSSObject> = {\n    topLeft: { top: 16, left: 16 },\n    topCenter: { top: 16, left: '50%', transform: 'translateX(-50%)' },\n    topRight: { top: 16, right: 16 },\n    bottomLeft: { bottom: 16, left: 16 },\n    bottomCenter: { bottom: 16, left: '50%', transform: 'translateX(-50%)' },\n    bottomRight: { bottom: 16, right: 16 },\n};\n\nconst severityMap = {\n    default: undefined,\n    success: 'success' as const,\n    error: 'error' as const,\n    warning: 'warning' as const,\n    info: 'info' as const,\n};\n\nconst SnackbarListRoot = styled('div', {\n    name: 'MuiSnackbarList',\n    slot: 'Root',\n})<{ ownerState: SnackbarListOwnerState }>(({ theme, ownerState }) => ({\n    position: 'fixed',\n    display: 'flex',\n    flexDirection: 'column-reverse',\n    gap: theme.spacing(1),\n    zIndex: theme.zIndex.snackbar,\n    ...positionStyles[ownerState.anchorOrigin],\n}));\n\nexport const SnackbarList = forwardRef<HTMLDivElement, SnackbarListProps>(\n    function SnackbarList(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiSnackbarList' });\n        const { anchorOrigin, ariaLabel, className, ...other } = props;\n        const { notifications, removeNotification } = useSnackbarNotification();\n        const items = notifications[anchorOrigin];\n\n        if (items.length === 0) {\n            return null;\n        }\n\n        const ownerState: SnackbarListOwnerState = { anchorOrigin };\n\n        return (\n            <Portal>\n                <SnackbarListRoot\n                    ref={ref}\n                    ownerState={ownerState}\n                    role=\"region\"\n                    aria-label={ariaLabel ?? 'Notifications'}\n                    className={className}\n                    {...other}>\n                    {items.map((notification) => {\n                        const severity = severityMap[notification.variant ?? 'default'];\n                        return (\n                            <Alert\n                                key={notification.id}\n                                severity={severity}\n                                variant=\"filled\"\n                                action={\n                                    <>\n                                        {notification.action}\n                                        <IconButton\n                                            size=\"small\"\n                                            aria-label=\"close\"\n                                            color=\"inherit\"\n                                            sx={{ fontSize: '1.125rem' }}\n                                            onClick={() => {\n                                                removeNotification(anchorOrigin, notification.id);\n                                            }}>\n                                            <Close fontSize=\"inherit\" />\n                                        </IconButton>\n                                    </>\n                                }>\n                                {notification.message}\n                            </Alert>\n                        );\n                    })}\n                </SnackbarListRoot>\n            </Portal>\n        );\n    }\n);\n","export { Add } from './Add';\nexport { Check } from './Check';\nexport { Close } from './Close';\nexport { Menu } from './Menu';\nexport { Remove } from './Remove';\nexport { Spark } from './Spark';\nexport { Upload } from './Upload';\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Add = createSvgIcon(\n    <svg viewBox=\"0 -960 960 960\">\n        <path d=\"M440-440H200v-80h240v-240h80v240h240v80H520v240h-80v-240Z\" />\n    </svg>,\n    'Add'\n);\n\nexport { Add };\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Check = createSvgIcon(\n    <svg viewBox=\"0 -960 960 960\">\n        <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\n    </svg>,\n    'Check'\n);\n\nexport { Check };\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Close = createSvgIcon(\n    <svg viewBox=\"0 -960 960 960\">\n        <path d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\n    </svg>,\n    'Close'\n);\n\nexport { Close };\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Menu = createSvgIcon(\n    <svg viewBox=\"0 -960 960 960\">\n        <path d=\"M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z\" />\n    </svg>,\n    'Menu'\n);\n\nexport { Menu };\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Remove = createSvgIcon(\n    <svg viewBox=\"0 -960 960 960\">\n        <path d=\"M200-440v-80h560v80H200Z\" />\n    </svg>,\n    'Remove'\n);\n\nexport { Remove };\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Spark = createSvgIcon(\n    <svg viewBox=\"0 0 960 960\">\n        <path d=\"M423.845,418.516h-112v-106.516h90.184c12.009,0,21.816-9.807,21.816-21.816v-90.184h106.516v112c0,59.042-47.834,106.516-106.516,106.516ZM311.805,429.484h-112v106.516h90.184c12.009,0,21.816,9.807,21.816,21.816v90.184h106.516v-112c0-59.042-47.834-106.516-106.516-106.516ZM670.021,424c-12.009,0-21.816-9.807-21.816-21.816v-90.184h-106.516v112c0,59.042,47.834,106.516,106.516,106.516h112v-106.516h-90.184ZM429.289,648v112h106.516v-90.184c0-12.009,9.807-21.816,21.816-21.816h90.184v-106.516h-112c-59.042,0-106.516,47.834-106.516,106.516Z\" />\n    </svg>,\n    'Spark'\n);\n\nexport { Spark };\n","import { createSvgIcon } from '@mui/material/utils';\n\nconst Upload = createSvgIcon(\n    <svg viewBox=\"0 -960 960 960\">\n        <path d=\"M440-320v-326L336-542l-56-58 200-200 200 200-56 58-104-104v326h-80ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z\" />\n    </svg>,\n    'Upload'\n);\n\nexport { Upload };\n","import { forwardRef } from 'react';\nimport { IconButton, styled } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\nimport { Twitter } from '@mui/icons-material';\n\nexport interface ShareOnTwitterButtonProps {\n    url?: string;\n    text?: string;\n}\n\nconst ShareOnTwitterButtonRoot = styled(IconButton, {\n    name: 'MuiShareOnTwitterButton',\n    slot: 'root',\n})({});\n\nexport const ShareOnTwitterButton = forwardRef<HTMLButtonElement, ShareOnTwitterButtonProps>(\n    function ShareOnTwitterButton(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiShareOnTwitterButton' });\n        const { url, text } = props;\n        const myUrlWithParams = new URL('https://twitter.com/intent/tweet');\n        if (url) {\n            myUrlWithParams.searchParams.append('url', url);\n        }\n        if (text) {\n            myUrlWithParams.searchParams.append('text', text);\n        }\n\n        return (\n            <ShareOnTwitterButtonRoot\n                ref={ref}\n                aria-label=\"Twitter Icon\"\n                color=\"primary\"\n                size=\"small\">\n                <a href={myUrlWithParams.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                    <Twitter />\n                </a>\n            </ShareOnTwitterButtonRoot>\n        );\n    }\n);\n\nexport default ShareOnTwitterButton;\n","import { forwardRef } from 'react';\nimport { IconButton, styled } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\nimport { Facebook } from '@mui/icons-material';\n\nexport interface ShareOnFacebookButtonProps {\n    url?: string;\n}\n\nconst ShareOnFacebookButtonRoot = styled(IconButton, {\n    name: 'MuiShareOnFacebookButton',\n    slot: 'root',\n})({});\n\nexport const ShareOnFacebookButton = forwardRef<HTMLButtonElement, ShareOnFacebookButtonProps>(\n    function ShareOnFacebookButton(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiShareOnFacebookButton' });\n        const { url } = props;\n        const myUrlWithParams = new URL('https://www.facebook.com/sharer/sharer.php');\n        if (url) {\n            myUrlWithParams.searchParams.append('u', url);\n        }\n\n        return (\n            <ShareOnFacebookButtonRoot\n                ref={ref}\n                aria-label=\"Facebook Icon\"\n                color=\"primary\"\n                size=\"small\">\n                <a href={myUrlWithParams.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                    <Facebook />\n                </a>\n            </ShareOnFacebookButtonRoot>\n        );\n    }\n);\n\nexport default ShareOnFacebookButton;\n","import { forwardRef } from 'react';\nimport { IconButton, styled } from '@mui/material';\nimport { useThemeProps } from '@mui/material/styles';\nimport { LinkedIn } from '@mui/icons-material';\n\nexport interface ShareOnLinkedInButtonProps {\n    url?: string;\n    title?: string;\n    summary?: string;\n}\n\nconst ShareOnLinkedInButtonRoot = styled(IconButton, {\n    name: 'MuiShareOnLinkedInButton',\n    slot: 'root',\n})({});\n\nexport const ShareOnLinkedInButton = forwardRef<HTMLButtonElement, ShareOnLinkedInButtonProps>(\n    function ShareOnLinkedInButton(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiShareOnLinkedInButton' });\n        const { url, title, summary } = props;\n        const myUrlWithParams = new URL('http://www.linkedin.com/shareArticle?mini=true');\n        if (url) {\n            myUrlWithParams.searchParams.append('url', url);\n        }\n        if (title) {\n            myUrlWithParams.searchParams.append('title', title);\n        }\n        if (summary) {\n            myUrlWithParams.searchParams.append('summary', summary);\n        }\n\n        return (\n            <ShareOnLinkedInButtonRoot\n                ref={ref}\n                aria-label=\"LinkedIn Icon\"\n                color=\"primary\"\n                size=\"small\">\n                <a href={myUrlWithParams.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                    <LinkedIn />\n                </a>\n            </ShareOnLinkedInButtonRoot>\n        );\n    }\n);\n\nexport default ShareOnLinkedInButton;\n","'use client';\n\nimport { forwardRef, useState } from 'react';\nimport { Link, Typography, styled } from '@mui/material';\nimport type { TypographyProps } from '@mui/material/Typography';\nimport { useThemeProps } from '@mui/material/styles';\n\nconst ELLIPSIS = '…';\n\nexport interface TextTruncatorProps extends TypographyProps {\n    children: string;\n    charLimit?: number;\n    showMore?: string;\n    showLess?: string;\n    expandedByDefault?: boolean;\n}\n\nconst TextTruncatorRoot = styled(Typography, {\n    name: 'MuiTextTruncator',\n    slot: 'root',\n})({});\n\nexport const TextTruncator = forwardRef<HTMLElement, TextTruncatorProps>(\n    function TextTruncator(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiTextTruncator' });\n        const {\n            children: text,\n            charLimit = 200,\n            showMore = 'Expand',\n            showLess = 'Collapse',\n            expandedByDefault,\n            ...typographyProps\n        } = props;\n        const [showFullText, setShowFullText] = useState(expandedByDefault);\n\n        if (charLimit >= text.length) {\n            return (\n                <TextTruncatorRoot ref={ref} {...typographyProps}>\n                    {text}\n                </TextTruncatorRoot>\n            );\n        }\n\n        const substringEnd = showFullText\n            ? text.length\n            : text.substring(0, charLimit - ELLIPSIS.length).search(/ [^ ]*$/);\n        return (\n            <TextTruncatorRoot ref={ref} {...typographyProps}>\n                {text.substring(0, substringEnd)}\n                {!showFullText ? ELLIPSIS : null}\n                &nbsp;\n                <Link\n                    component=\"button\"\n                    variant={typographyProps.variant}\n                    onClick={() => {\n                        setShowFullText(!showFullText);\n                    }}\n                    sx={{ verticalAlign: 'top' }}>\n                    {showFullText ? showLess : showMore}\n                </Link>\n            </TextTruncatorRoot>\n        );\n    }\n);\n","'use client'; // for server side rendering\n\nimport { type ReactNode } from 'react';\nimport CssBaseline from '@mui/material/CssBaseline';\nimport { type ThemeOptions, ThemeProvider } from '@mui/material/styles';\n\nimport { getTheme } from '../theme/theme';\nimport { ErrorBoundary } from './ErrorBoundary';\n\nexport interface VarnishAppProps {\n    theme?: ThemeOptions;\n    defaultMode?: 'light' | 'dark' | 'system';\n    children: ReactNode | ReactNode[];\n}\n\n/**\n * A top level container for your application that handles errors cleanly,\n * makes the required theme available to child components, and sets up\n * the application layout.\n *\n * If the theme property is provided, it's deeply merged with the default Varnish\n * theme. Which means you can only provide the properties you'd like to override,\n * and those not provided will use the defaults.\n */\nexport function VarnishApp({ theme, defaultMode, children }: VarnishAppProps) {\n    const mergedTheme = getTheme(theme);\n    return (\n        <ThemeProvider theme={mergedTheme} defaultMode={defaultMode || 'light'}>\n            <CssBaseline />\n            <ErrorBoundary>{children}</ErrorBoundary>\n        </ThemeProvider>\n    );\n}\n\nexport default VarnishApp;\n","import { deepmerge } from '@mui/utils';\n\nimport { createTheme, type Theme, type ThemeOptions } from '@mui/material/styles';\n\nimport { color, darkCategoricalColor, lightCategoricalColor } from './colors';\nimport { components } from './components';\nimport { buildPalette } from './palette';\nimport { typography } from './typography';\nimport { shape } from './shape';\n\n// This import ensures the MUI module augmentation is included in the bundle\nimport './muiThemeOverride.d';\n\nexport const varnishBaseOptions: ThemeOptions = {\n    components,\n    typography,\n    color,\n    darkCategoricalColor,\n    lightCategoricalColor,\n    cssVariables: {\n        cssVarPrefix: 'ai2',\n        colorSchemeSelector: 'data-color-scheme',\n    },\n    colorSchemes: {\n        light: { palette: buildPalette('light') },\n        dark: { palette: buildPalette('dark') },\n    },\n    spacing: (factor: number) => `${0.5 * factor}rem`,\n    shape,\n};\n\nexport const varnishTheme: Theme = createTheme(varnishBaseOptions);\n\nexport const getTheme = (overrides: ThemeOptions = {}): Theme => {\n    return createTheme(deepmerge(varnishBaseOptions, overrides));\n};\n\nexport default { getTheme };\n","const hexCharacters = 'a-f\\\\d';\nconst match3or4Hex = `#?[${hexCharacters}]{3}[${hexCharacters}]?`;\nconst match6or8Hex = `#?[${hexCharacters}]{6}([${hexCharacters}]{2})?`;\nconst nonHexChars = new RegExp(`[^#${hexCharacters}]`, 'gi');\nconst validHexSize = new RegExp(`^${match3or4Hex}$|^${match6or8Hex}$`, 'i');\n\nexport default function hexRgb(hex, options = {}) {\n\tif (typeof hex !== 'string' || nonHexChars.test(hex) || !validHexSize.test(hex)) {\n\t\tthrow new TypeError('Expected a valid hex string');\n\t}\n\n\thex = hex.replace(/^#/, '');\n\tlet alphaFromHex = 1;\n\n\tif (hex.length === 8) {\n\t\talphaFromHex = Number.parseInt(hex.slice(6, 8), 16) / 255;\n\t\thex = hex.slice(0, 6);\n\t}\n\n\tif (hex.length === 4) {\n\t\talphaFromHex = Number.parseInt(hex.slice(3, 4).repeat(2), 16) / 255;\n\t\thex = hex.slice(0, 3);\n\t}\n\n\tif (hex.length === 3) {\n\t\thex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n\t}\n\n\tconst number = Number.parseInt(hex, 16);\n\tconst red = number >> 16;\n\tconst green = (number >> 8) & 255;\n\tconst blue = number & 255;\n\tconst alpha = typeof options.alpha === 'number' ? options.alpha : alphaFromHex;\n\n\tif (options.format === 'array') {\n\t\treturn [red, green, blue, alpha];\n\t}\n\n\tif (options.format === 'css') {\n\t\tconst alphaString = alpha === 1 ? '' : ` / ${Number((alpha * 100).toFixed(2))}%`;\n\t\treturn `rgb(${red} ${green} ${blue}${alphaString})`;\n\t}\n\n\treturn {red, green, blue, alpha};\n}\n","import hexRgb from 'hex-rgb';\nimport type { ColorKeys } from '@allenai/varnish-theme/mui';\nimport varnishTheme from '@allenai/varnish-theme/mui';\n\nimport { getContrastText } from './theme-utils';\n\ntype VarnishThemeColor = (typeof varnishTheme)['color'][ColorKeys];\n\nexport class RGBA {\n    constructor(\n        public r: number,\n        public g: number,\n        public b: number,\n        public a: number\n    ) {}\n\n    toString() {\n        return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})`;\n    }\n}\n\n// convert a hex color string to a RGBA\nexport function hexToRgb(hex: string): RGBA {\n    const rgba = hexRgb(hex);\n    return new RGBA(rgba.red, rgba.green, rgba.blue, rgba.alpha);\n}\n\nexport class Color {\n    public readonly displayName: string;\n    public readonly hex: string;\n    public readonly rgba: RGBA;\n\n    public readonly useContrastText: boolean;\n    public readonly contrastTextColor: string;\n\n    constructor(displayName: string, hex: string, rgba?: RGBA, useContrastText?: boolean) {\n        this.displayName = displayName;\n        this.hex = hex.toUpperCase();\n        this.rgba = rgba || hexToRgb(hex);\n        this.useContrastText = useContrastText ?? false;\n        this.contrastTextColor = getContrastText(this.hex);\n    }\n\n    toString() {\n        return this.hex;\n    }\n}\n\n// get color from style token\nconst getColor = (color: VarnishThemeColor) => {\n    const c = color.attributes;\n    const rgba = new RGBA(c.rgb.r, c.rgb.g, c.rgb.b, c.rgb.a);\n    const useContrastText = 'useContrastText' in c ? c.useContrastText : false;\n\n    // Include alpha in hex when it's not fully opaque\n    const alphaHex =\n        c.rgb.a < 1\n            ? Math.round(c.rgb.a * 255)\n                  .toString(16)\n                  .padStart(2, '0')\n            : '';\n    const hex = `#${c.hex.toUpperCase()}${alphaHex.toUpperCase()}`;\n\n    const colorName = color.name.replace('color-', '');\n    // Make color names formatted like B10 or R2 uppercase\n    const displayName = colorName.match(/^\\D\\d+$/) ? colorName.toUpperCase() : colorName;\n    return new Color(displayName, hex, rgba, useContrastText);\n};\n\n// colors grabbed from varnish-theme\nexport const color = Object.entries(varnishTheme.color).reduce(\n    (acc, [k, v]) => {\n        acc[k as ColorKeys] = getColor(v);\n        return acc;\n    },\n    {} as Record<ColorKeys, Color>\n);\n\n// TODO: these should pull from VarnishTheme. This is not currently done because the VarnishTheme\n// does not expose hex nor a color id like 'R10'. And converting from string rgb is not ideal.\n// This will likely be reworked in the future due to new branding. (very likely, we wont expose\n// charting colors from the mui theme at all)\nexport const lightCategoricalColor = {\n    Red: new Color('Red', color.R10.hex, color.R10.rgba, color.R10.useContrastText),\n    Orange: new Color('Orange', color.O9.hex, color.O9.rgba, color.O9.useContrastText),\n    Aqua: new Color('Aqua', color.A10.hex, color.A10.rgba, color.A10.useContrastText),\n    Teal: new Color('Teal', color.T8.hex, color.T8.rgba, color.T8.useContrastText),\n    Blue: new Color('Blue', color.B6.hex, color.B6.rgba, color.B6.useContrastText),\n    Magenta: new Color('Magenta', color.M10.hex, color.M10.rgba, color.M10.useContrastText),\n    Purple: new Color('Purple', color.P8.hex, color.P8.rgba, color.P8.useContrastText),\n    Green: new Color('Green', color.G10.hex, color.G10.rgba, color.G10.useContrastText),\n} as const satisfies Record<string, Color>;\n\nexport const darkCategoricalColor = {\n    Red: new Color('Red', color.R4.hex, color.R4.rgba, color.R4.useContrastText),\n    Orange: new Color('Orange', color.O4.hex, color.O4.rgba, color.O4.useContrastText),\n    Aqua: new Color('Aqua', color.A3.hex, color.A3.rgba, color.A3.useContrastText),\n    Teal: new Color('Teal', color.T3.hex, color.T3.rgba, color.T3.useContrastText),\n    Blue: new Color('Blue', color.B3.hex, color.B3.rgba, color.B3.useContrastText),\n    Magenta: new Color('Magenta', color.M4.hex, color.M4.rgba, color.M4.useContrastText),\n    Purple: new Color('Purple', color.P4.hex, color.P4.rgba, color.P4.useContrastText),\n    Green: new Color('Green', color.G4.hex, color.G4.rgba, color.G4.useContrastText),\n} as const satisfies Record<string, Color>;\n\n// use to convert a set of color ids top their hex values\n// e.g. SequenceColors = ColorsIdsToHexVals(['N1', 'N3', 'N5', 'N7', 'N9']);\nexport const colorsIdsToHexVals = (colorIds: Array<keyof typeof color>) =>\n    colorIds.map((k) => color[k].hex);\nexport const colorMapToHexVals = (\n    colorMap: typeof darkCategoricalColor | typeof lightCategoricalColor | typeof color\n) => Object.values(colorMap).map((v) => v.hex);\n","/**\n * Button component overrides: buttons, icon buttons, FABs, toggle buttons.\n * @see https://mui.com/material-ui/components/buttons/\n * @see https://mui.com/material-ui/components/button-group/\n * @see https://mui.com/material-ui/components/toggle-button/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const buttonComponents: Components<Omit<Theme, 'components'>> = {\n    MuiButton: {\n        defaultProps: {\n            disableElevation: true,\n        },\n        styleOverrides: {\n            root: {\n                textTransform: 'none',\n                lineHeight: '1',\n            },\n            sizeSmall: {\n                padding: '10px 14px',\n                fontSize: '0.75rem',\n            },\n            sizeMedium: {\n                padding: '11px 16px',\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n            sizeLarge: {\n                padding: '16px 18px',\n                fontSize: varnishTokens.font.size.md.value,\n            },\n        },\n        variants: [\n            {\n                props: { variant: 'outlined' },\n                style: {\n                    border: '1px solid',\n                },\n            },\n            // Padding compensates for 1px border: visual size = padding + border\n            {\n                props: { variant: 'outlined', size: 'small' },\n                style: {\n                    padding: '9px 13px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'medium' },\n                style: {\n                    padding: '10px 15px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'large' },\n                style: {\n                    padding: '15px 17px',\n                },\n            },\n            {\n                props: { variant: 'contained', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.tertiary.main,\n                        color: palette.tertiary.contrastText,\n                        '&:hover': { backgroundColor: palette.tertiary.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        borderColor: palette.tertiary.main,\n                        '&:hover': {\n                            borderColor: palette.tertiary.hovered?.stroke,\n                        },\n                    };\n                },\n            },\n            {\n                props: { variant: 'text' },\n                style: ({ theme }) => ({\n                    '&:hover': {\n                        backgroundColor: (theme.vars ?? theme).palette.button.text.hovered.fill,\n                    },\n                }),\n            },\n            {\n                props: { variant: 'text', color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n            {\n                props: { variant: 'contained', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.default.main,\n                        color: palette.default.contrastText,\n                        '&:hover': { backgroundColor: palette.default.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.default.main,\n                        borderColor: palette.default.main,\n                        '&:hover': {\n                            borderColor: palette.default.hovered?.stroke,\n                        },\n                    };\n                },\n            },\n            {\n                props: { variant: 'text', color: 'default' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.default.main }),\n            },\n            {\n                props: { shape: 'rounded' },\n                style: { borderRadius: varnishTokens.radii.full.value },\n            },\n        ],\n    },\n    MuiIconButton: {\n        styleOverrides: {\n            root: ({ ownerState, theme }) => {\n                const variant = ownerState.variant;\n                const colorKey = ownerState.color || 'default';\n                const themeWithVars = theme.vars ?? theme;\n                const p = themeWithVars.palette[colorKey as keyof typeof themeWithVars.palette] as\n                    | { main?: string; contrastText?: string; hovered?: { fill?: string } }\n                    | undefined;\n\n                return {\n                    ...(['tertiary', 'default'].includes(colorKey) &&\n                        (!variant || variant === 'text') && { color: p?.main }),\n                    ...(variant === 'contained' &&\n                        p?.main && {\n                            backgroundColor: p.main,\n                            color: p.contrastText,\n                            '&:hover': { backgroundColor: p.hovered?.fill ?? p.main },\n                        }),\n                    ...(variant === 'outlined' &&\n                        p?.main && {\n                            borderColor: p.main,\n                            color: p.main,\n                        }),\n                };\n            },\n            // padding is 1px smaller to compensate for border\n            sizeSmall: {\n                padding: '6px',\n                fontSize: '1.25rem',\n            },\n            sizeMedium: {\n                padding: '6px',\n                fontSize: varnishTokens.sizes.icon.sm.value,\n            },\n            sizeLarge: {\n                padding: '8px',\n                fontSize: varnishTokens.sizes.icon.lg.value,\n            },\n        },\n        variants: [\n            {\n                props: { variant: 'outlined', size: 'small' },\n                style: {\n                    padding: '5px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'medium' },\n                style: {\n                    padding: '5px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'large' },\n                style: {\n                    padding: '8px',\n                },\n            },\n            {\n                props: { shape: 'rounded' },\n                style: { borderRadius: varnishTokens.radii.full.value },\n            },\n        ],\n    },\n};\n","/**\n * Data display component overrides: avatars, badges, chips, ratings, tables.\n * @see https://mui.com/material-ui/components/avatars/\n * @see https://mui.com/material-ui/components/badges/\n * @see https://mui.com/material-ui/components/chips/\n * @see https://mui.com/material-ui/components/rating/\n * @see https://mui.com/material-ui/components/tables/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const dataDisplayComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAvatar: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    width: '2rem',\n                    height: '2rem',\n                    fontSize: varnishTokens.font.size.md.value,\n                    cursor: 'pointer',\n                    backgroundColor: palette.default.main,\n                    color: palette.default.contrastText,\n                };\n            },\n            rounded: {\n                borderRadius: varnishTokens.radii.sm.value,\n            },\n        },\n        variants: [\n            {\n                props: { size: 'small' },\n                // we don't have a font size this small in the theme, consider adding xs? .75rem\n                style: { width: '1.5rem', height: '1.5rem', fontSize: '0.75rem' },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    width: '2.25rem',\n                    height: '2.25rem',\n                    fontSize: varnishTokens.font.size.lg.value,\n                },\n            },\n            {\n                props: { shape: 'square' },\n                style: { borderRadius: varnishTokens.radii.sm.value },\n            },\n            {\n                props: { shape: 'circle' },\n                style: ({ theme }) => ({\n                    borderRadius: theme.shape.borderRadiusFull,\n                }),\n            },\n            {\n                props: { color: 'primary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.primary.main,\n                        color: palette.primary.contrastText,\n                    };\n                },\n            },\n            {\n                props: { color: 'secondary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.secondary.main,\n                        color: palette.secondary.contrastText,\n                    };\n                },\n            },\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.tertiary.main,\n                        color: palette.tertiary.contrastText,\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.default.main,\n                        color: palette.default.contrastText,\n                    };\n                },\n            },\n        ],\n    },\n    MuiBadge: {\n        styleOverrides: {\n            root: { textTransform: 'none' },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({\n                    span: { color: (theme.vars ?? theme).palette.tertiary.main },\n                }),\n            },\n        ],\n    },\n    MuiChip: {\n        styleOverrides: {\n            root: {\n                borderRadius: varnishTokens.radii.full.value,\n                // Transparent border on all chips so filled and outlined share identical dimensions\n                border: '1px solid transparent',\n                '&.Mui-disabled': {\n                    cursor: 'not-allowed',\n                    pointerEvents: 'auto',\n                },\n            },\n            labelSmall: { padding: '0 13px' },\n            labelMedium: { padding: '0 15px' },\n            deleteIcon: { fontSize: varnishTokens.sizes.icon.sm.value },\n            sizeSmall: {\n                height: '2rem',\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n            sizeMedium: {\n                height: '2.25rem',\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n        },\n        variants: [\n            {\n                props: { variant: 'filled', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.tertiary.main,\n                        color: palette.tertiary.contrastText,\n                        '&:hover': { backgroundColor: palette.tertiary.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        borderColor: palette.tertiary.main,\n                        '&:hover': { borderColor: palette.tertiary.hovered?.stroke },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.default.main,\n                        color: palette.default.contrastText,\n                        '&:hover': { backgroundColor: palette.default.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.default.main,\n                        borderColor: palette.default.main,\n                        '&:hover': { borderColor: palette.default.hovered?.stroke },\n                    };\n                },\n            },\n            {\n                props: { size: 'xsmall' },\n                style: {\n                    height: '1.5rem',\n                    fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                    '& .MuiChip-label': { padding: '0 7px' },\n                    '& .MuiChip-deleteIcon': { fontSize: varnishTokens.sizes.icon.xs.value },\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    height: '3rem',\n                    fontSize: varnishTokens.font.size.md.value,\n                    '& .MuiChip-label': { padding: '0 21px' },\n                    '& .MuiChip-deleteIcon': { fontSize: varnishTokens.sizes.icon.lg.value },\n                },\n            },\n            {\n                props: { shape: 'box' },\n                style: { borderRadius: varnishTokens.radii.sm.value },\n            },\n        ],\n    },\n    MuiRating: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                color: (theme.vars ?? theme).palette.primary.main,\n            }),\n        },\n    },\n    MuiTableCell: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiTableContainer: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                borderRadius: varnishTokens.radii.sm.value,\n                backgroundColor: (theme.vars ?? theme).palette.background.default,\n            }),\n        },\n    },\n};\n","/**\n * Feedback component overrides: alerts, dialogs, snackbars, tooltips.\n * @see https://mui.com/material-ui/components/alert/\n * @see https://mui.com/material-ui/components/dialog/\n * @see https://mui.com/material-ui/components/snackbar/\n * @see https://mui.com/material-ui/components/tooltip/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const feedbackComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAlert: {\n        styleOverrides: {\n            root: {\n                borderRadius: varnishTokens.radii.sm.value,\n                padding: '8px',\n                fontSize: varnishTokens.font.size.sm.value,\n                gap: '4px',\n            },\n            icon: {\n                fontSize: '22px',\n                padding: 0,\n                marginRight: 0,\n            },\n            message: { padding: 0 },\n        },\n        // MUI's filled Alert ignores palette.*.contrastText and re-computes via\n        // getContrastText(). Override here to match varnish-theme element contrast tokens.\n        variants: [\n            {\n                props: { variant: 'filled', severity: 'info' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.info.contrastText,\n                        '& .MuiAlert-icon': { color: palette.info.contrastText },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', severity: 'success' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.success.contrastText,\n                        '& .MuiAlert-icon': { color: palette.success.contrastText },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', severity: 'warning' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.warning.contrastText,\n                        '& .MuiAlert-icon': { color: palette.warning.contrastText },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', severity: 'error' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.error.contrastText,\n                        '& .MuiAlert-icon': { color: palette.error.contrastText },\n                    };\n                },\n            },\n        ],\n    },\n    MuiDialogActions: {\n        styleOverrides: {\n            root: {\n                padding: `0 ${varnishTokens.spacing[2].value} ${varnishTokens.spacing[2].value}`,\n            },\n        },\n    },\n    MuiDialogContent: {\n        styleOverrides: {\n            root: {\n                padding: `0 ${varnishTokens.spacing[2].value} ${varnishTokens.spacing[2].value}`,\n            },\n        },\n    },\n    MuiDialogTitle: {\n        styleOverrides: {\n            root: {\n                padding: varnishTokens.spacing[2].value,\n            },\n        },\n    },\n    MuiSnackbarContent: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.background.reversed,\n                    color: palette.text.reversed,\n                };\n            },\n            message: {\n                overflow: 'hidden',\n                whiteSpace: 'nowrap',\n                textOverflow: 'ellipsis',\n            },\n            action: {\n                marginLeft: 'auto',\n                gap: varnishTokens.spacing[1].value,\n            },\n        },\n        variants: [\n            {\n                props: { shape: 'rounded' },\n                style: { borderRadius: varnishTokens.radii.full.value },\n            },\n        ],\n    },\n    MuiTooltip: {\n        defaultProps: {\n            shape: 'box',\n        },\n        styleOverrides: {\n            tooltip: ({ theme, ownerState }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.background.reversed,\n                    color: palette.text.reversed,\n                    padding: '6px 12px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                    borderRadius: varnishTokens.radii.sm.value,\n                    ...(ownerState.shape === 'rounded' && {\n                        borderRadius: varnishTokens.radii.full.value,\n                        padding: '6px 18px',\n                    }),\n                };\n            },\n            arrow: ({ theme }) => ({\n                color: (theme.vars ?? theme).palette.background.reversed,\n            }),\n        },\n    },\n};\n","/**\n * Input component overrides: text fields, selects, checkboxes, radios, sliders, switches.\n * @see https://mui.com/material-ui/components/text-fields/\n * @see https://mui.com/material-ui/components/selects/\n * @see https://mui.com/material-ui/components/checkboxes/\n * @see https://mui.com/material-ui/components/radio-buttons/\n * @see https://mui.com/material-ui/components/slider/\n * @see https://mui.com/material-ui/components/switches/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const inputComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAutocomplete: {\n        styleOverrides: {\n            paper: ({ theme }) => ({\n                borderRadius: varnishTokens.radii.sm.value,\n                backgroundColor: (theme.vars ?? theme).palette.elements.overlay.background,\n            }),\n            option: { fontSize: varnishTokens.font.size.sm.value },\n            clearIndicator: { borderRadius: varnishTokens.radii.sm.value },\n            popupIndicator: { borderRadius: varnishTokens.radii.sm.value },\n        },\n    },\n    MuiCheckbox: {\n        styleOverrides: {\n            root: ({ ownerState, theme }) => {\n                const { palette } = theme.vars ?? theme;\n                const colorKey = ownerState.color || 'primary';\n                const p = palette[colorKey as keyof typeof palette] as\n                    | { contrastText?: string }\n                    | undefined;\n                return {\n                    padding: 0,\n                    borderRadius: varnishTokens.radii.xs.value,\n                    '& .MuiSvgIcon-root': { borderRadius: varnishTokens.radii.xs.value },\n                    // Set background on checked SVG so the checkmark cutout shows the contrast color.\n                    // The MUI checkbox SVG path is inset ~12.5% from the viewBox edges (path starts\n                    // at 3/24), so we clip the background to the checkbox shape area to avoid a\n                    // visible border around the checkbox.\n                    '&.Mui-checked .MuiSvgIcon-root': p?.contrastText\n                        ? { backgroundColor: p.contrastText, clipPath: 'inset(12.5% round 8.33%)' }\n                        : {},\n                };\n            },\n            sizeSmall: {\n                '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.md.value },\n            },\n            sizeMedium: {\n                '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.xl.value },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        '&.Mui-checked': { color: palette.tertiary.main },\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.form.checkbox.stroke,\n                        '&.Mui-checked': { color: palette.form.checkbox.checked.fill },\n                        '&.Mui-checked .MuiSvgIcon-root': {\n                            backgroundColor: palette.form.checkbox.checked.contrast,\n                            clipPath: 'inset(12.5% round 8.33%)',\n                        },\n                        '&.Mui-disabled': { color: palette.form.checkbox.disabled.stroke },\n                        '&.Mui-disabled.Mui-checked': {\n                            color: palette.form.checkbox.disabled.fill,\n                        },\n                        '&.Mui-error': { color: palette.form.checkbox.error.stroke },\n                    };\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiSvgIcon-root': {\n                        fontSize: '1.75rem', // we don't have a font size this size in the theme, consider adding?\n                    },\n                },\n            },\n        ],\n    },\n    MuiFilledInput: {\n        defaultProps: {\n            disableUnderline: true,\n        },\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    borderRadius: varnishTokens.radii.sm.value,\n                    border: '1px solid transparent',\n                    backgroundColor: palette.form.input.fill,\n                    '&:hover': {\n                        backgroundColor: palette.form.input.hovered.fill,\n                        borderColor: palette.form.input.hovered.stroke,\n                    },\n                    '&.Mui-focused': { backgroundColor: palette.form.input.fill },\n                    '&.Mui-error': { borderColor: palette.form.input.error.stroke },\n                    '&.Mui-disabled': {\n                        backgroundColor: palette.form.input.disabled.fill,\n                        borderColor: palette.form.input.disabled.stroke,\n                        cursor: 'not-allowed',\n                    },\n                    // Multiline (TextArea) padding on root\n                    // Padding compensates for 1px border: visual size = padding + border\n                    '&.MuiInputBase-multiline': { padding: '7px 11px' },\n                    '&.MuiInputBase-multiline.MuiInputBase-sizeSmall': { padding: '11px' },\n                };\n            },\n            // Padding compensates for 1px border: visual size = padding + border\n            input: { padding: '7px 11px' },\n            sizeSmall: { '& .MuiInputBase-input': { padding: '11px' } },\n            multiline: {\n                '& .MuiInputBase-input': {\n                    padding: 0,\n                    resize: 'none',\n                    scrollbarWidth: 'none',\n                    '&::-webkit-scrollbar': { display: 'none' },\n                    '&:hover, &:focus': {\n                        scrollbarWidth: 'thin',\n                        '&::-webkit-scrollbar': { display: 'block' },\n                    },\n                },\n            },\n        },\n    },\n    MuiFormControlLabel: {\n        styleOverrides: {\n            root: {\n                gap: varnishTokens.spacing[1].value,\n                marginLeft: 0,\n                marginRight: 0,\n            },\n        },\n    },\n    MuiFormHelperText: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    fontSize: varnishTokens.font.size.sm.value,\n                    marginTop: '4px',\n                    '&.Mui-error': { color: palette.form.input.error.contrast },\n                    '&.Mui-disabled': { color: palette.form.input.disabled.contrast },\n                };\n            },\n            sizeSmall: {\n                fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n            },\n            // @ts-expect-error — augmentation not visible to tsup DTS build\n            sizeLarge: { fontSize: varnishTokens.font.size.md.value },\n        },\n    },\n    MuiInput: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                '&:hover:not(.Mui-disabled):before': {\n                    borderBottomColor: (theme.vars ?? theme).palette.form.input.hovered.stroke,\n                },\n            }),\n            input: { padding: '7px 0' },\n            sizeSmall: { '& .MuiInputBase-input': { padding: '5px 0' } },\n        },\n    },\n    MuiInputBase: {\n        styleOverrides: {\n            root: {\n                lineHeight: varnishTokens.lineHeight[3].value,\n            },\n            sizeSmall: {\n                fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                lineHeight: varnishTokens.lineHeight[2].value,\n            },\n        },\n    },\n    MuiInputLabel: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    position: 'relative',\n                    transform: 'none',\n                    marginBottom: '4px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                    color: palette.text.secondary,\n                    '&.Mui-focused': { color: palette.text.secondary },\n                    '&.Mui-error': { color: palette.form.input.error.contrast },\n                    '&.Mui-disabled': { color: palette.form.input.disabled.contrast },\n                };\n            },\n            sizeSmall: {\n                fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n            },\n            // @ts-expect-error — augmentation not visible to tsup DTS build\n            sizeLarge: { fontSize: varnishTokens.font.size.md.value },\n        },\n    },\n    MuiOutlinedInput: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    borderRadius: varnishTokens.radii.sm.value,\n                    '& .MuiOutlinedInput-notchedOutline': {\n                        borderWidth: '1px',\n                        borderColor: palette.form.input.stroke,\n                    },\n                    '&:hover .MuiOutlinedInput-notchedOutline': {\n                        borderColor: palette.form.input.hovered.stroke,\n                    },\n                    // Multiline (TextArea) padding on root\n                    // Padding compensates for 1px border: visual size = padding + border\n                    '&.MuiInputBase-multiline': { padding: '7px 11px' },\n                    '&.MuiInputBase-multiline.MuiInputBase-sizeSmall': { padding: '11px' },\n                    '&.Mui-error .MuiOutlinedInput-notchedOutline': {\n                        borderColor: palette.form.input.error.stroke,\n                    },\n                    '&.Mui-disabled .MuiOutlinedInput-notchedOutline': {\n                        borderColor: palette.form.input.disabled.stroke,\n                    },\n                    '&.Mui-disabled': { cursor: 'not-allowed' },\n                };\n            },\n            notchedOutline: {\n                // Hide the legend/notch since label is now above\n                '& legend': { display: 'none' },\n            },\n            // Padding compensates for 1px border: visual size = padding + border\n            input: { padding: '7px 11px' },\n            sizeSmall: { '& .MuiInputBase-input': { padding: '11px' } },\n            multiline: {\n                '& .MuiInputBase-input': {\n                    padding: 0,\n                    resize: 'none',\n                    // Hide scrollbar until hover/focus\n                    scrollbarWidth: 'none',\n                    '&::-webkit-scrollbar': { display: 'none' },\n                    '&:hover, &:focus': {\n                        scrollbarWidth: 'thin',\n                        '&::-webkit-scrollbar': { display: 'block' },\n                    },\n                },\n            },\n        },\n    },\n    MuiRadio: {\n        defaultProps: {\n            color: 'default',\n        },\n        styleOverrides: {\n            root: {\n                padding: 0,\n                // Default (medium) icon size — MUI doesn't add a sizeMedium class\n                // for the default size, so we set it here and let sizeSmall override.\n                '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.sm.value },\n            },\n            sizeSmall: {\n                '& .MuiSvgIcon-root': {\n                    fontSize: '0.75rem', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        '&.Mui-checked': { color: palette.tertiary.main },\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.form.radio.stroke,\n                        '&.Mui-checked': { color: palette.form.radio.checked.fill },\n                        '&.Mui-disabled': { color: palette.form.radio.disabled.stroke },\n                        '&.Mui-error': { color: palette.form.radio.error.stroke },\n                    };\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.xl.value },\n                },\n            },\n        ],\n    },\n    MuiSelect: {\n        styleOverrides: {\n            root: {\n                fontWeight: varnishTokens.font.weight.medium.value,\n                borderRadius: varnishTokens.radii.sm.value,\n                // Medium (default) select padding\n                '& .MuiSelect-select': {\n                    padding: '8px 24px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                },\n                // Small select padding\n                '&.MuiInputBase-sizeSmall .MuiSelect-select': {\n                    padding: '8px 20px',\n                    fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                },\n                // Large select padding\n                '&.MuiInputBase-sizeLarge .MuiSelect-select': {\n                    padding: '16px 24px',\n                    fontSize: varnishTokens.font.size.md.value,\n                },\n            },\n        },\n        variants: [\n            {\n                props: { shape: 'rounded' },\n                style: {\n                    borderRadius: varnishTokens.radii.full.value,\n                    '& .MuiOutlinedInput-notchedOutline': {\n                        borderRadius: varnishTokens.radii.full.value,\n                    },\n                },\n            },\n        ],\n    },\n    MuiSlider: {\n        styleOverrides: {\n            thumb: {\n                width: 14,\n                height: 14,\n            },\n            track: {\n                height: 4,\n                borderRadius: varnishTokens.radii.full.value,\n                border: 'none',\n            },\n            rail: ({ theme }) => ({\n                height: 4,\n                borderRadius: varnishTokens.radii.full.value,\n                backgroundColor: (theme.vars ?? theme).palette.form.slider.stroke,\n            }),\n            // Vertical: swap thickness to width, restore height\n            root: {\n                '&.MuiSlider-vertical .MuiSlider-track': { height: 'auto', width: 4 },\n                '&.MuiSlider-vertical .MuiSlider-rail': { height: '100%', width: 4 },\n            },\n            sizeSmall: {\n                '& .MuiSlider-thumb': { width: 12, height: 12 },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.default.main }),\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiSlider-thumb': { width: 20, height: 20 },\n                    '& .MuiSlider-track': { height: 6 },\n                    '& .MuiSlider-rail': { height: 6 },\n                    // Vertical large: use width for thickness\n                    '&.MuiSlider-vertical .MuiSlider-track': { height: 'auto', width: 6 },\n                    '&.MuiSlider-vertical .MuiSlider-rail': { height: '100%', width: 6 },\n                },\n            },\n        ],\n    },\n    MuiSwitch: {\n        defaultProps: {\n            disableRipple: true,\n            color: 'default',\n        },\n        styleOverrides: {\n            root: ({ ownerState, theme }) => {\n                const { palette } = theme.vars ?? theme;\n                const colorKey = ownerState.color || 'primary';\n                const p = palette[colorKey as keyof typeof palette] as\n                    | { contrastText?: string }\n                    | undefined;\n                return {\n                    padding: 0,\n                    // Override checked thumb color to use contrastText\n                    '& .MuiSwitch-switchBase.Mui-checked': p?.contrastText\n                        ? { color: p.contrastText, '&:hover': { backgroundColor: 'transparent' } }\n                        : {},\n                    // Checked track: full opacity, no border\n                    '& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track': {\n                        opacity: 1,\n                        borderColor: 'transparent',\n                    },\n                    // Disabled state\n                    '& .MuiSwitch-switchBase.Mui-disabled': {\n                        color: palette.form.switch.disabled.stroke,\n                        '& + .MuiSwitch-track': {\n                            backgroundColor: palette.form.switch.disabled.fill,\n                            borderColor: palette.form.switch.disabled.stroke,\n                            opacity: 1,\n                        },\n                    },\n                    '& .MuiSwitch-switchBase.Mui-disabled.Mui-checked': {\n                        color: palette.form.switch.disabled.contrast,\n                        '& + .MuiSwitch-track': { borderColor: 'transparent' },\n                    },\n                    // Error state\n                    '& .MuiSwitch-switchBase.Mui-error': {\n                        color: palette.form.switch.error.stroke,\n                        '& + .MuiSwitch-track': {\n                            backgroundColor: palette.form.switch.error.fill,\n                            borderColor: palette.form.switch.error.stroke,\n                        },\n                    },\n                    '& .MuiSwitch-switchBase.Mui-error.Mui-checked': {\n                        color: palette.form.switch.error.contrast,\n                    },\n                };\n            },\n            switchBase: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    padding: '2px',\n                    color: palette.form.switch.stroke,\n                    '&:hover': { backgroundColor: 'transparent' },\n                };\n            },\n            thumb: { boxShadow: 'none' },\n            track: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    borderRadius: varnishTokens.radii.full.value,\n                    border: '1px solid',\n                    borderColor: palette.form.switch.stroke,\n                    backgroundColor: palette.form.switch.fill,\n                    opacity: 1,\n                };\n            },\n            sizeSmall: {\n                width: '1.375rem',\n                height: '0.75rem',\n                '& .MuiSwitch-switchBase': {\n                    padding: '2px',\n                    '&.Mui-checked': { transform: 'translateX(10px)' },\n                },\n                '& .MuiSwitch-thumb': { width: '0.5rem', height: '0.5rem' },\n            },\n            sizeMedium: {\n                width: '1.625rem',\n                height: '0.875rem',\n                '& .MuiSwitch-switchBase': {\n                    padding: '2px',\n                    '&.Mui-checked': { transform: 'translateX(12px)' },\n                },\n                '& .MuiSwitch-thumb': { width: '0.625rem', height: '0.625rem' },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        '& .MuiSwitch-switchBase.Mui-checked': {\n                            color: palette.tertiary.contrastText,\n                            '& + .MuiSwitch-track': { backgroundColor: palette.tertiary.main },\n                        },\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        '& .MuiSwitch-switchBase.Mui-checked': {\n                            color: palette.form.switch.checked.contrast,\n                            '& + .MuiSwitch-track': {\n                                backgroundColor: palette.form.switch.checked.fill,\n                            },\n                        },\n                    };\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    width: '2.3125rem',\n                    height: '1.25rem',\n                    '& .MuiSwitch-switchBase': {\n                        padding: '3px',\n                        '&.Mui-checked': { transform: 'translateX(17px)' },\n                    },\n                    '& .MuiSwitch-thumb': { width: '0.875rem', height: '0.875rem' },\n                },\n            },\n        ],\n    },\n    MuiTextField: {\n        defaultProps: {\n            slotProps: { inputLabel: { shrink: true } },\n        },\n        variants: [\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiInputBase-root': {\n                        fontSize: varnishTokens.font.size.lg.value,\n                        lineHeight: varnishTokens.lineHeight[2].value,\n                    },\n                    '& .MuiInputBase-input': { padding: '15px' },\n                    // Multiline large: padding on root only\n                    '& .MuiInputBase-root.MuiInputBase-multiline': { padding: '15px' },\n                    '& .MuiInputBase-inputMultiline': { padding: 0 },\n                    '& .MuiInputLabel-root': { fontSize: varnishTokens.font.size.md.value },\n                },\n            },\n            {\n                props: { shape: 'rounded' },\n                style: {\n                    '& .MuiInputBase-root': {\n                        // No matching radii token for 28px — flag for design review\n                        borderRadius: '28px',\n                    },\n                    '& .MuiOutlinedInput-notchedOutline': { borderWidth: '2px' },\n                    '& .MuiInputBase-input': { paddingInline: '24px' },\n                    // Multiline rounded: padding on root only\n                    '& .MuiInputBase-root.MuiInputBase-multiline': { paddingInline: '24px' },\n                    '& .MuiInputBase-inputMultiline': { paddingInline: 0 },\n                },\n            },\n        ],\n    },\n};\n","/**\n * Navigation component overrides: tabs, breadcrumbs, links, menus, lists, steppers.\n * @see https://mui.com/material-ui/components/tabs/\n * @see https://mui.com/material-ui/components/breadcrumbs/\n * @see https://mui.com/material-ui/components/links/\n * @see https://mui.com/material-ui/components/menus/\n * @see https://mui.com/material-ui/components/lists/\n * @see https://mui.com/material-ui/components/steppers/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const navigationComponents: Components<Omit<Theme, 'components'>> = {\n    MuiBreadcrumbs: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiLink: {\n        defaultProps: {\n            underline: 'none',\n        },\n        styleOverrides: {\n            root: { fontWeight: varnishTokens.font.weight.medium.value },\n        },\n        variants: [\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.links.default,\n                        '&:hover': { color: palette.links.hovered.default },\n                    };\n                },\n            },\n            {\n                props: { color: 'reversed' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.links.reversed,\n                        '&:hover': { color: palette.links.hovered.reversed },\n                    };\n                },\n            },\n            {\n                props: { color: 'text' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.default.main }),\n            },\n            {\n                props: { color: 'primary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.primary.main }),\n            },\n            {\n                props: { color: 'secondary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.secondary.main }),\n            },\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n            {\n                props: { size: 'small' },\n                style: { fontSize: varnishTokens.font.size.sm.value },\n            },\n            {\n                props: { size: 'medium' },\n                style: { fontSize: varnishTokens.font.size.md.value },\n            },\n            {\n                props: { size: 'large' },\n                style: { fontSize: varnishTokens.font.size.lg.value },\n            },\n        ],\n    },\n    MuiListItemButton: {\n        styleOverrides: {\n            root: {\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n        },\n    },\n    MuiListSubheader: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiMenu: {\n        styleOverrides: {\n            paper: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.elements.overlay.background,\n                    border: '1px solid',\n                    borderColor: palette.divider,\n                    padding: theme.spacing(0.5),\n                };\n            },\n            list: { padding: 0 },\n        },\n    },\n    MuiMenuList: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                padding: theme.spacing(0.5),\n            }),\n        },\n    },\n    MuiMenuItem: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    '&:hover': { backgroundColor: palette.action.hover },\n                    '&.Mui-selected': {\n                        backgroundColor: palette.action.selected,\n                        '&:hover': { backgroundColor: palette.action.selected },\n                    },\n                    '&.Mui-disabled': { color: palette.text.disabled },\n                };\n            },\n        },\n    },\n    MuiStepLabel: {\n        styleOverrides: {\n            label: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiTab: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    textTransform: 'none',\n                    padding: '8px 16px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                    minHeight: 'unset',\n                    color: palette.text.primary,\n                    '&:hover:not(.Mui-disabled)': { color: palette.primary.main },\n                    '&.Mui-selected:not(.Mui-disabled)': { color: palette.primary.main },\n                    '&.Mui-disabled': { color: palette.text.disabled },\n                };\n            },\n        },\n    },\n    MuiTabs: {\n        styleOverrides: {\n            flexContainer: { gap: varnishTokens.spacing[1].value },\n        },\n    },\n};\n","/**\n * Surface component overrides: paper, accordion, app bar, containers, progress indicators.\n * @see https://mui.com/material-ui/components/paper/\n * @see https://mui.com/material-ui/components/accordion/\n * @see https://mui.com/material-ui/components/app-bar/\n * @see https://mui.com/material-ui/components/progress/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const surfaceComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAccordion: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                backgroundColor: (theme.vars ?? theme).palette.elements.overlay.contentContrastHigh,\n            }),\n        },\n    },\n    MuiAccordionSummary: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiAppBar: {\n        defaultProps: {\n            color: 'default',\n        },\n        styleOverrides: {\n            colorDefault: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.background.reversed,\n                    color: palette.text.reversed,\n                };\n            },\n        },\n    },\n    MuiHeader: {\n        defaultProps: {\n            position: 'sticky',\n            shape: 'box',\n        },\n    },\n    MuiCircularProgress: {\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n        ],\n    },\n    MuiContainer: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                backgroundColor: (theme.vars ?? theme).palette.background.default,\n            }),\n        },\n        defaultProps: {\n            disableGutters: true,\n        },\n    },\n    MuiLinearProgress: {\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n        ],\n    },\n    MuiPaper: {\n        defaultProps: {\n            elevation: 0,\n        },\n    },\n};\n","/**\n * Merges all component category overrides into a single components object for createTheme().\n * @see https://mui.com/material-ui/customization/theme-components/\n */\nimport type { Components, Theme } from '@mui/material';\n\nimport { buttonComponents } from './buttons';\nimport { dataDisplayComponents } from './data-display';\nimport { feedbackComponents } from './feedback';\nimport { inputComponents } from './inputs';\nimport { navigationComponents } from './navigation';\nimport { surfaceComponents } from './surfaces';\n\nexport const components: Components<Omit<Theme, 'components'>> = {\n    ...inputComponents,\n    ...buttonComponents,\n    ...navigationComponents,\n    ...feedbackComponents,\n    ...dataDisplayComponents,\n    ...surfaceComponents,\n};\n","/**\n * Palette builder: maps varnish-theme design tokens to MUI palette options for light/dark modes.\n * @see https://mui.com/material-ui/customization/palette/\n */\nimport varnishTokens, { type PaletteModes } from '@allenai/varnish-theme/mui';\nimport { createTheme } from '@mui/material';\n\nexport const buildPalette = (mode: PaletteModes) => {\n    // augmentColor generates light/dark variants for custom palette entries (tertiary, default)\n    const { augmentColor } = createTheme().palette;\n    const palette = varnishTokens.palette[mode];\n    return {\n        mode,\n        primary: {\n            main: palette.accent.primary.value,\n            contrastText: palette.elements.primary.contrast.value,\n            hovered: {\n                fill: palette.elements.primary.hovered.fill.value,\n                stroke: palette.elements.primary.hovered.stroke.value,\n            },\n            stroke: palette.elements.primary.stroke.value,\n            contrastReversed: palette.elements.primary['contrast-reversed'].value,\n            text: palette.elements.primary.text.value,\n        },\n        secondary: {\n            main: palette.accent.secondary.value,\n            contrastText: palette.elements.secondary.contrast.value,\n            hovered: {\n                fill: palette.elements.secondary.hovered.fill.value,\n                stroke: palette.elements.secondary.hovered.stroke.value,\n            },\n            stroke: palette.elements.secondary.stroke.value,\n            contrastReversed: palette.elements.secondary['contrast-reversed'].value,\n        },\n        tertiary: {\n            ...augmentColor({\n                color: {\n                    main: palette.accent.tertiary.value,\n                    contrastText: palette.elements.tertiary.contrast.value,\n                },\n            }),\n            hovered: {\n                fill: palette.elements.tertiary.hovered.fill.value,\n                stroke: palette.elements.tertiary.hovered.stroke.value,\n            },\n            stroke: palette.elements.tertiary.stroke.value,\n            contrastReversed: palette.elements.tertiary['contrast-reversed'].value,\n        },\n        default: {\n            ...augmentColor({\n                color: {\n                    main: palette.elements.default.fill.value,\n                    contrastText: palette.elements.default.contrast.value,\n                },\n            }),\n            hovered: {\n                fill: palette.elements.default.hovered.fill.value,\n                stroke: palette.elements.default.hovered.stroke.value,\n            },\n            stroke: palette.elements.default.stroke.value,\n            contrastReversed: palette.elements.default['contrast-reversed'].value,\n        },\n        error: {\n            main: palette.alert.error.value,\n            contrastText: palette.elements.error.contrast.value,\n            hovered: {\n                fill: palette.elements.error.hovered.fill.value,\n                stroke: palette.elements.error.hovered.stroke.value,\n            },\n            stroke: palette.elements.error.stroke.value,\n            contrastReversed: palette.elements.error['contrast-reversed'].value,\n        },\n        warning: {\n            main: palette.alert.warning.value,\n            contrastText: palette.elements.warning.contrast.value,\n            hovered: {\n                fill: palette.elements.warning.hovered.fill.value,\n                stroke: palette.elements.warning.hovered.stroke.value,\n            },\n            stroke: palette.elements.warning.stroke.value,\n            contrastReversed: palette.elements.warning['contrast-reversed'].value,\n        },\n        info: {\n            main: palette.alert.information.value,\n            contrastText: palette.elements.information.contrast.value,\n            hovered: {\n                fill: palette.elements.information.hovered.fill.value,\n                stroke: palette.elements.information.hovered.stroke.value,\n            },\n            stroke: palette.elements.information.stroke.value,\n            contrastReversed: palette.elements.information['contrast-reversed'].value,\n        },\n        success: {\n            main: palette.alert.confirmation.value,\n            contrastText: palette.elements.confirmation.contrast.value,\n            hovered: {\n                fill: palette.elements.confirmation.hovered.fill.value,\n                stroke: palette.elements.confirmation.hovered.stroke.value,\n            },\n            stroke: palette.elements.confirmation.stroke.value,\n            contrastReversed: palette.elements.confirmation['contrast-reversed'].value,\n        },\n        grey: {\n            50: varnishTokens.color['gray-10'].value,\n            100: varnishTokens.color['gray-10'].value,\n            200: varnishTokens.color['gray-30'].value,\n            300: varnishTokens.color['gray-30'].value,\n            400: varnishTokens.color['gray-50'].value,\n            500: varnishTokens.color['gray-50'].value,\n            600: varnishTokens.color['gray-50'].value,\n            700: varnishTokens.color['gray-80'].value,\n            800: varnishTokens.color['gray-80'].value,\n            900: varnishTokens.color['gray-80'].value,\n            A100: varnishTokens.color['gray-10'].value,\n            A200: varnishTokens.color['gray-30'].value,\n            A400: varnishTokens.color['gray-50'].value,\n            A700: varnishTokens.color['gray-80'].value,\n        },\n        text: {\n            primary: palette.text.primary.default.value,\n            reversed: palette.text.primary.reversed.value,\n            placeholder: palette.text.placeholder.value,\n            placeholder55: palette.text['placeholder-55'].value,\n            disabled: palette.text.disabled.value,\n            error: palette.text.error.value,\n        },\n        divider: palette.stroke['opacity-20'].default.value,\n        background: {\n            default: palette.background.default.value,\n            paper: palette.background.default.value,\n            reversed: palette.background.reversed.value,\n            opacity4: {\n                default: palette.background['opacity-4'].default.value,\n                reversed: palette.background['opacity-4'].reversed.value,\n            },\n            opacity10: {\n                default: palette.background['opacity-10'].default.value,\n                reversed: palette.background['opacity-10'].reversed.value,\n            },\n            opacity20: {\n                default: palette.background['opacity-20'].default.value,\n                reversed: palette.background['opacity-20'].reversed.value,\n            },\n            opacity30: {\n                default: palette.background['opacity-30'].default.value,\n                reversed: palette.background['opacity-30'].reversed.value,\n            },\n            opacity40: {\n                default: palette.background['opacity-40'].default.value,\n                reversed: palette.background['opacity-40'].reversed.value,\n            },\n            opacity50: {\n                default: palette.background['opacity-50'].default.value,\n                reversed: palette.background['opacity-50'].reversed.value,\n            },\n            opacity60: {\n                default: palette.background['opacity-60'].default.value,\n                reversed: palette.background['opacity-60'].reversed.value,\n            },\n            opacity70: {\n                default: palette.background['opacity-70'].default.value,\n                reversed: palette.background['opacity-70'].reversed.value,\n            },\n            opacity80: {\n                default: palette.background['opacity-80'].default.value,\n                reversed: palette.background['opacity-80'].reversed.value,\n            },\n            opacity90: {\n                default: palette.background['opacity-90'].default.value,\n                reversed: palette.background['opacity-90'].reversed.value,\n            },\n        },\n        common: {\n            white: varnishTokens.color.white.value,\n            black: varnishTokens.color.black.value,\n        },\n        stroke: {\n            opacity4: {\n                default: palette.stroke['opacity-4'].default.value,\n                reversed: palette.stroke['opacity-4'].reversed.value,\n            },\n            opacity10: {\n                default: palette.stroke['opacity-10'].default.value,\n                reversed: palette.stroke['opacity-10'].reversed.value,\n            },\n            opacity20: {\n                default: palette.stroke['opacity-20'].default.value,\n                reversed: palette.stroke['opacity-20'].reversed.value,\n            },\n            opacity30: {\n                default: palette.stroke['opacity-30'].default.value,\n                reversed: palette.stroke['opacity-30'].reversed.value,\n            },\n            opacity40: {\n                default: palette.stroke['opacity-40'].default.value,\n                reversed: palette.stroke['opacity-40'].reversed.value,\n            },\n            opacity50: {\n                default: palette.stroke['opacity-50'].default.value,\n                reversed: palette.stroke['opacity-50'].reversed.value,\n            },\n            opacity60: {\n                default: palette.stroke['opacity-60'].default.value,\n                reversed: palette.stroke['opacity-60'].reversed.value,\n            },\n            opacity70: {\n                default: palette.stroke['opacity-70'].default.value,\n                reversed: palette.stroke['opacity-70'].reversed.value,\n            },\n            opacity80: {\n                default: palette.stroke['opacity-80'].default.value,\n                reversed: palette.stroke['opacity-80'].reversed.value,\n            },\n            opacity90: {\n                default: palette.stroke['opacity-90'].default.value,\n                reversed: palette.stroke['opacity-90'].reversed.value,\n            },\n            opacity100: {\n                default: palette.stroke['opacity-100'].default.value,\n                reversed: palette.stroke['opacity-100'].reversed.value,\n            },\n            disabled: {\n                default: palette.stroke.disabled.default.value,\n            },\n        },\n        icon: {\n            default: palette.icon.default.value,\n            reversed: palette.icon.reversed.value,\n            disabled: palette.icon.disabled.value,\n            error: palette.icon.error.value,\n            opacity50: palette.icon['opacity-50'].value,\n            on: palette.icon.on.value,\n            opacity30: palette.icon['opacity-30'].value,\n            // opacity-55 only exists in light mode tokens; cast needed because TS can't narrow the union type.\n            // TODO: add opacity-55 to dark mode in varnish-theme so this conditional spread can be removed.\n            ...('opacity-55' in palette.icon && {\n                opacity55: (palette.icon as Record<string, { value: string }>)['opacity-55'].value,\n            }),\n        },\n        links: {\n            default: palette.links.default.value,\n            reversed: palette.links.reversed.value,\n            hovered: {\n                default: palette.links.hovered.default.value,\n                reversed: palette.links.hovered.reversed.value,\n            },\n        },\n        elements: {\n            disabled: {\n                fill: palette.elements.disabled.fill.value,\n                hovered: {\n                    fill: palette.elements.disabled.hovered.fill.value,\n                    stroke: palette.elements.disabled.hovered.stroke.value,\n                },\n                contrast: palette.elements.disabled.contrast.value,\n                stroke: palette.elements.disabled.stroke.value,\n                contrastReversed: palette.elements.disabled['contrast-reversed'].value,\n            },\n            default: {\n                fill: palette.elements.default.fill.value,\n                hovered: {\n                    fill: palette.elements.default.hovered.fill.value,\n                    stroke: palette.elements.default.hovered.stroke.value,\n                },\n                contrast: palette.elements.default.contrast.value,\n                stroke: palette.elements.default.stroke.value,\n                contrastReversed: palette.elements.default['contrast-reversed'].value,\n            },\n            faded: {\n                fill: palette.elements.faded.fill.value,\n                hovered: {\n                    fill: palette.elements.faded.hovered.fill.value,\n                    stroke: palette.elements.faded.hovered.stroke.value,\n                },\n                contrast: palette.elements.faded.contrast.value,\n                stroke: palette.elements.faded.stroke.value,\n                contrastReversed: palette.elements.faded['contrast-reversed'].value,\n            },\n            reversed: {\n                fill: palette.elements.reversed.fill.value,\n                hovered: {\n                    fill: palette.elements.reversed.hovered.fill.value,\n                    stroke: palette.elements.reversed.hovered.stroke.value,\n                },\n                contrast: palette.elements.reversed.contrast.value,\n                stroke: palette.elements.reversed.stroke.value,\n                contrastReversed: palette.elements.reversed['contrast-reversed'].value,\n            },\n            overlay: {\n                background: palette.elements.overlay.background.value,\n                header: palette.elements.overlay.header.value,\n                footer: palette.elements.overlay.footer.value,\n                contentContrastMed: palette.elements.overlay['content-contrast-med'].value,\n                contentContrastHigh: palette.elements.overlay['content-contrast-high'].value,\n                contentContrastLow: palette.elements.overlay['content-contrast-low'].value,\n                contentContrastHighGradient:\n                    palette.elements.overlay['content-contrast-high-gradient'].value,\n            },\n        },\n        form: {\n            checkbox: {\n                stroke: palette.elements.overrides.form.checkbox.stroke.value,\n                fill: palette.elements.overrides.form.checkbox.fill.value,\n                hovered: {\n                    fill: palette.elements.overrides.form.checkbox.hovered.fill.value,\n                    stroke: palette.elements.overrides.form.checkbox.hovered.stroke.value,\n                },\n                error: {\n                    fill: palette.elements.overrides.form.checkbox.error.fill.value,\n                    stroke: palette.elements.overrides.form.checkbox.error.stroke.value,\n                    contrast: palette.elements.overrides.form.checkbox.error.contrast.value,\n                },\n                checked: {\n                    fill: palette.elements.overrides.form.checkbox.checked.fill.value,\n                    contrast: palette.elements.overrides.form.checkbox.checked.contrast.value,\n                },\n                disabled: {\n                    fill: palette.elements.overrides.form.checkbox.disabled.fill.value,\n                    stroke: palette.elements.overrides.form.checkbox.disabled.stroke.value,\n                    contrast: palette.elements.overrides.form.checkbox.disabled.contrast.value,\n                },\n            },\n            input: {\n                stroke: palette.elements.overrides.form.input.stroke.value,\n                fill: palette.elements.overrides.form.input.fill.value,\n                contrast: palette.elements.overrides.form.input.contrast.value,\n                hovered: {\n                    fill: palette.elements.overrides.form.input.hovered.fill.value,\n                    stroke: palette.elements.overrides.form.input.hovered.stroke.value,\n                },\n                error: {\n                    fill: palette.elements.overrides.form.input.error.fill.value,\n                    stroke: palette.elements.overrides.form.input.error.stroke.value,\n                    contrast: palette.elements.overrides.form.input.error.contrast.value,\n                },\n                disabled: {\n                    fill: palette.elements.overrides.form.input.disabled.fill.value,\n                    stroke: palette.elements.overrides.form.input.disabled.stroke.value,\n                    contrast: palette.elements.overrides.form.input.disabled.contrast.value,\n                },\n            },\n            radio: {\n                stroke: palette.elements.overrides.form.radio.stroke.value,\n                fill: palette.elements.overrides.form.radio.fill.value,\n                hovered: {\n                    fill: palette.elements.overrides.form.radio.hovered.fill.value,\n                    stroke: palette.elements.overrides.form.radio.hovered.stroke.value,\n                },\n                error: {\n                    fill: palette.elements.overrides.form.radio.error.fill.value,\n                    stroke: palette.elements.overrides.form.radio.error.stroke.value,\n                    contrast: palette.elements.overrides.form.radio.error.contrast.value,\n                },\n                checked: {\n                    fill: palette.elements.overrides.form.radio.checked.fill.value,\n                    contrast: palette.elements.overrides.form.radio.checked.contrast.value,\n                },\n                disabled: {\n                    fill: palette.elements.overrides.form.radio.disabled.fill.value,\n                    stroke: palette.elements.overrides.form.radio.disabled.stroke.value,\n                    contrast: palette.elements.overrides.form.radio.disabled.contrast.value,\n                },\n            },\n            switch: {\n                stroke: palette.elements.overrides.form.switch.stroke.value,\n                fill: palette.elements.overrides.form.switch.fill.value,\n                hovered: {\n                    fill: palette.elements.overrides.form.switch.hovered.fill.value,\n                    stroke: palette.elements.overrides.form.switch.hovered.stroke.value,\n                },\n                error: {\n                    fill: palette.elements.overrides.form.switch.error.fill.value,\n                    stroke: palette.elements.overrides.form.switch.error.stroke.value,\n                    contrast: palette.elements.overrides.form.switch.error.contrast.value,\n                },\n                checked: {\n                    fill: palette.elements.overrides.form.switch.checked.fill.value,\n                    contrast: palette.elements.overrides.form.switch.checked.contrast.value,\n                },\n                disabled: {\n                    fill: palette.elements.overrides.form.switch.disabled.fill.value,\n                    stroke: palette.elements.overrides.form.switch.disabled.stroke.value,\n                    contrast: palette.elements.overrides.form.switch.disabled.contrast.value,\n                },\n            },\n            slider: {\n                stroke: palette.elements.overrides.form.slider.stroke.value,\n                fill: palette.elements.overrides.form.slider.fill.value,\n                hover: {\n                    fill: palette.elements.overrides.form.slider.hover.fill.value,\n                    stroke: palette.elements.overrides.form.slider.hover.stroke.value,\n                },\n            },\n        },\n        button: {\n            text: {\n                hovered: {\n                    fill: palette.elements.overrides.button.text.hovered.fill.value,\n                },\n            },\n        },\n    };\n};\n","/**\n * Typography configuration: maps varnish-theme font tokens to MUI typography options.\n * @see https://mui.com/material-ui/customization/typography/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { TypographyVariantsOptions } from '@mui/material/styles';\n\nexport const typography = {\n    fontFamily: varnishTokens.font.family.body.value,\n    fontWeightLight: varnishTokens.font.weight.light.value,\n    fontWeightRegular: varnishTokens.font.weight.regular.value,\n    fontWeightMedium: varnishTokens.font.weight.medium.value,\n    fontWeightSemiBold: varnishTokens.font.weight.semiBold.value,\n    fontWeightBold: varnishTokens.font.weight.bold.value,\n    h1: varnishTokens.typography.h1.value,\n    h2: varnishTokens.typography.h2.value,\n    h3: varnishTokens.typography.h3.value,\n    h4: varnishTokens.typography.h4.value,\n    h5: varnishTokens.typography.h5.value,\n    h6: varnishTokens.typography.h6.value,\n    subtitle1: varnishTokens.typography.subtitle1.value,\n    subtitle2: varnishTokens.typography.subtitle2.value,\n    body1: varnishTokens.typography.body1.value,\n    body2: varnishTokens.typography.body2.value,\n    caption: varnishTokens.typography.caption.value,\n    overline: varnishTokens.typography.overline.value,\n    monospace: varnishTokens.typography.monospace.value,\n    button: {\n        textTransform: 'none',\n    },\n} satisfies TypographyVariantsOptions;\n","import { type ShapeOptions } from '@mui/material/styles';\n\nimport varnishTokens from '@allenai/varnish-theme';\n\nimport './muiThemeOverride.d';\n\nexport const shape: ShapeOptions = {\n    // default: 4px\n    borderRadius: 4,\n    // additional Sizes\n    borderRadiusXs: varnishTokens.radii.xs.value,\n    borderRadiusSm: varnishTokens.radii.sm.value,\n    borderRadiusMd: varnishTokens.radii.md.value,\n    borderRadiusLg: varnishTokens.radii.lg.value,\n    borderRadiusXl: varnishTokens.radii.xl.value,\n    // Fully rounded\n    borderRadiusFull: varnishTokens.radii.full.value,\n};\n","'use client';\n\nimport {\n    createContext,\n    forwardRef,\n    useCallback,\n    useContext,\n    useMemo,\n    useState,\n    type ReactNode,\n} from 'react';\nimport { styled, useThemeProps } from '@mui/material/styles';\n\n// ---------------------------------------------------------------------------\n// Context – exported for use by ColumnResizer\n// ---------------------------------------------------------------------------\n\ninterface ResizableTableContextValue {\n    getColumnWidth: (columnId: string) => number | undefined;\n    onResize: (columnId: string, delta: number) => void;\n}\n\nconst ResizableTableContext = createContext<ResizableTableContextValue | null>(null);\n\n/**\n * Hook for ColumnResizer (or other children) to access the resize context.\n * Returns `null` when used outside a ResizableTableContainer so the resizer\n * can still work in a standalone / uncontrolled fashion.\n */\nconst useResizableTable = () => useContext(ResizableTableContext);\n\n// ---------------------------------------------------------------------------\n// Styled wrapper\n// ---------------------------------------------------------------------------\n\nconst ResizableTableContainerRoot = styled('div', {\n    name: 'MuiResizableTableContainer',\n    slot: 'root',\n})({\n    overflowX: 'auto',\n    position: 'relative',\n    '& table': {\n        tableLayout: 'fixed',\n    },\n    '& th': {\n        position: 'relative',\n    },\n});\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst MIN_COLUMN_WIDTH = 50;\n\ninterface ResizableTableContainerProps {\n    children: ReactNode;\n    className?: string;\n    /** Initial column widths keyed by column id. */\n    defaultColumnWidths?: Record<string, number>;\n    /** Callback fired after a column is resized. */\n    onColumnResize?: (columnId: string, width: number) => void;\n}\n\nconst ResizableTableContainer = forwardRef<HTMLDivElement, ResizableTableContainerProps>(\n    function ResizableTableContainer(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiResizableTableContainer' });\n        const { children, className, defaultColumnWidths, onColumnResize, ...other } = props;\n\n        const [columnWidths, setColumnWidths] = useState(defaultColumnWidths ?? {});\n\n        const getColumnWidth = useCallback(\n            (columnId: string) => columnWidths[columnId],\n            [columnWidths]\n        );\n\n        const onResize = useCallback(\n            (columnId: string, delta: number) => {\n                setColumnWidths((prev) => {\n                    const current = prev[columnId] ?? MIN_COLUMN_WIDTH;\n                    const next = Math.max(MIN_COLUMN_WIDTH, current + delta);\n                    if (next === current) return prev;\n                    onColumnResize?.(columnId, next);\n                    return { ...prev, [columnId]: next };\n                });\n            },\n            [onColumnResize]\n        );\n\n        const ctx = useMemo<ResizableTableContextValue>(\n            () => ({ getColumnWidth, onResize }),\n            [getColumnWidth, onResize]\n        );\n\n        return (\n            <ResizableTableContext.Provider value={ctx}>\n                <ResizableTableContainerRoot ref={ref} className={className} {...other}>\n                    {children}\n                </ResizableTableContainerRoot>\n            </ResizableTableContext.Provider>\n        );\n    }\n);\n\nexport { ResizableTableContainer, useResizableTable };\nexport type { ResizableTableContainerProps };\n","'use client';\n\nimport { forwardRef, useCallback, useRef, type PointerEvent } from 'react';\nimport { styled, useThemeProps } from '@mui/material/styles';\n\ninterface ColumnResizerProps {\n    /** Called continuously during drag with the horizontal pixel delta since the last event. */\n    onResize?: (delta: number) => void;\n    className?: string;\n}\n\nconst ColumnResizerRoot = styled('div', {\n    name: 'MuiColumnResizer',\n    slot: 'root',\n})(({ theme }) => ({\n    width: 4,\n    height: '100%',\n    position: 'absolute',\n    right: 0,\n    top: 0,\n    cursor: 'col-resize',\n    backgroundColor: 'transparent',\n    touchAction: 'none',\n    zIndex: 1,\n    '&:hover, &:active': {\n        backgroundColor: theme.palette.primary.main,\n    },\n}));\n\nconst ColumnResizer = forwardRef<HTMLDivElement, ColumnResizerProps>(\n    function ColumnResizer(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiColumnResizer' });\n        const { onResize, className, ...other } = props;\n\n        const lastXRef = useRef(0);\n\n        const handlePointerDown = useCallback((e: PointerEvent<HTMLDivElement>) => {\n            e.preventDefault();\n            const target = e.currentTarget;\n            target.setPointerCapture(e.pointerId);\n            lastXRef.current = e.clientX;\n        }, []);\n\n        const handlePointerMove = useCallback(\n            (e: PointerEvent<HTMLDivElement>) => {\n                if (!e.currentTarget.hasPointerCapture(e.pointerId)) {\n                    return;\n                }\n                const delta = e.clientX - lastXRef.current;\n                lastXRef.current = e.clientX;\n                onResize?.(delta);\n            },\n            [onResize]\n        );\n\n        const handlePointerUp = useCallback((e: PointerEvent<HTMLDivElement>) => {\n            e.currentTarget.releasePointerCapture(e.pointerId);\n        }, []);\n\n        return (\n            <ColumnResizerRoot\n                ref={ref}\n                className={className}\n                onPointerDown={handlePointerDown}\n                onPointerMove={handlePointerMove}\n                onPointerUp={handlePointerUp}\n                {...other}\n            />\n        );\n    }\n);\n\nexport { ColumnResizer };\nexport type { ColumnResizerProps };\n","'use client';\n\nimport { forwardRef, useCallback, useState, type DragEvent, type ReactNode } from 'react';\nimport Typography from '@mui/material/Typography';\nimport { styled, useThemeProps } from '@mui/material/styles';\n\nimport varnishTokens from '@allenai/varnish-theme/mui';\n\nimport { FileInputButton } from './FileInputButton';\n\ninterface FileInputProps {\n    onSelect?: (files: FileList | null) => void;\n    acceptedFileTypes?: string[];\n    allowsMultiple?: boolean;\n    icon?: ReactNode;\n    defaultText?: string | ReactNode;\n    variant?: 'contained' | 'outlined';\n    size?: 'small' | 'medium' | 'large' | 'full';\n    errorMessage?: string;\n    className?: string;\n    disabled?: boolean;\n    children?: ReactNode;\n}\n\ninterface FileInputOwnerState {\n    variant: 'contained' | 'outlined';\n    size: 'small' | 'medium' | 'large' | 'full';\n    isDragOver: boolean;\n    hasError: boolean;\n}\n\nconst sizeStyles = {\n    small: { padding: varnishTokens.spacing[2].value },\n    medium: { padding: varnishTokens.spacing[3].value },\n    large: { padding: varnishTokens.spacing[5].value },\n    full: { padding: varnishTokens.spacing[3].value, width: '100%' },\n} as const;\n\nconst FileInputRoot = styled('div', {\n    name: 'MuiFileInput',\n    slot: 'root',\n})<{ ownerState: FileInputOwnerState }>(({ theme, ownerState }) => ({\n    display: 'flex',\n    flexDirection: 'column',\n    alignItems: 'center',\n    justifyContent: 'center',\n    gap: theme.spacing(1),\n    borderRadius: theme.shape.borderRadius,\n    transition: 'border-color 0.2s, background-color 0.2s',\n    ...sizeStyles[ownerState.size],\n\n    ...(ownerState.variant === 'contained' && {\n        backgroundColor: theme.palette.form.input.fill,\n        border: `2px solid ${theme.palette.form.input.stroke}`,\n    }),\n\n    ...(ownerState.variant === 'outlined' && {\n        backgroundColor: 'transparent',\n        border: `2px dashed ${theme.palette.form.input.stroke}`,\n    }),\n\n    ...(ownerState.isDragOver && {\n        borderColor: theme.palette.primary.main,\n        backgroundColor:\n            ownerState.variant === 'contained'\n                ? theme.palette.action.hover\n                : theme.palette.primary.main + '0A',\n    }),\n\n    ...(ownerState.hasError && {\n        borderColor: theme.palette.error.main,\n    }),\n}));\n\nfunction filterFiles(files: FileList, acceptedFileTypes?: string[]): FileList {\n    if (!acceptedFileTypes || acceptedFileTypes.length === 0) {\n        return files;\n    }\n    const dt = new DataTransfer();\n    for (let i = 0; i < files.length; i++) {\n        const file = files[i];\n        if (acceptedFileTypes.includes(file.type)) {\n            dt.items.add(file);\n        }\n    }\n    return dt.files;\n}\n\nconst FileInput = forwardRef<HTMLDivElement, FileInputProps>(function FileInput(inProps, ref) {\n    const props = useThemeProps({ props: inProps, name: 'MuiFileInput' });\n    const {\n        onSelect,\n        acceptedFileTypes,\n        allowsMultiple = false,\n        icon,\n        defaultText = 'Drag & Drop or browse',\n        variant = 'outlined',\n        size = 'medium',\n        errorMessage,\n        className,\n        disabled,\n        children,\n    } = props;\n\n    const [isDragOver, setIsDragOver] = useState(false);\n    const [fileNames, setFileNames] = useState('');\n\n    const ownerState: FileInputOwnerState = {\n        variant,\n        size,\n        isDragOver,\n        hasError: !!errorMessage,\n    };\n\n    const handleFiles = useCallback(\n        (raw: FileList) => {\n            let filtered = filterFiles(raw, acceptedFileTypes);\n\n            if (!allowsMultiple && filtered.length > 1) {\n                const dt = new DataTransfer();\n                dt.items.add(filtered[0]);\n                filtered = dt.files;\n            }\n\n            const names: string[] = [];\n            for (let i = 0; i < filtered.length; i++) {\n                names.push(filtered[i].name);\n            }\n            setFileNames(names.join(', '));\n            onSelect?.(filtered);\n        },\n        [acceptedFileTypes, allowsMultiple, onSelect]\n    );\n\n    const handleDragOver = useCallback(\n        (e: DragEvent<HTMLDivElement>) => {\n            e.preventDefault();\n            if (!disabled) {\n                setIsDragOver(true);\n            }\n        },\n        [disabled]\n    );\n\n    const handleDragLeave = useCallback(() => {\n        setIsDragOver(false);\n    }, []);\n\n    const handleDrop = useCallback(\n        (e: DragEvent<HTMLDivElement>) => {\n            e.preventDefault();\n            setIsDragOver(false);\n            if (disabled) {\n                return;\n            }\n            if (e.dataTransfer.files.length > 0) {\n                handleFiles(e.dataTransfer.files);\n            }\n        },\n        [disabled, handleFiles]\n    );\n\n    return (\n        <FileInputRoot\n            ref={ref}\n            ownerState={ownerState}\n            className={className}\n            onDragOver={handleDragOver}\n            onDragLeave={handleDragLeave}\n            onDrop={handleDrop}>\n            {children || (\n                <>\n                    <FileInputButton\n                        variant={variant === 'outlined' ? 'outlined' : 'contained'}\n                        size={size === 'full' ? 'medium' : size}\n                        onSelect={(files) => {\n                            if (files) {\n                                handleFiles(files);\n                            }\n                        }}\n                        acceptedFileTypes={acceptedFileTypes}\n                        allowsMultiple={allowsMultiple}\n                        icon={icon}\n                        buttonText={fileNames || defaultText}\n                        disabled={disabled}\n                    />\n                    {fileNames ? (\n                        <Typography variant=\"body2\" color=\"text.secondary\">\n                            {fileNames}\n                        </Typography>\n                    ) : null}\n                </>\n            )}\n            {errorMessage ? (\n                <Typography variant=\"body2\" color=\"error\">\n                    {errorMessage}\n                </Typography>\n            ) : null}\n        </FileInputRoot>\n    );\n});\n\nexport { FileInput };\nexport type { FileInputProps };\n","'use client';\n\nimport { forwardRef, useCallback, useRef, type ChangeEvent, type ReactNode } from 'react';\nimport Button from '@mui/material/Button';\nimport { styled, useThemeProps } from '@mui/material/styles';\n\nimport { Upload } from './icons';\n\ninterface FileInputButtonProps {\n    onSelect?: (files: FileList | null) => void;\n    acceptedFileTypes?: string[];\n    allowsMultiple?: boolean;\n    icon?: ReactNode | false;\n    buttonText?: string | ReactNode;\n    variant?: 'contained' | 'outlined';\n    size?: 'small' | 'medium' | 'large';\n    className?: string;\n    disabled?: boolean;\n}\n\nconst FileInputButtonRoot = styled('span', {\n    name: 'MuiFileInputButton',\n    slot: 'root',\n})({\n    display: 'inline-flex',\n});\n\nconst FileInputButtonHiddenInput = styled('input', {\n    name: 'MuiFileInputButton',\n    slot: 'hiddenInput',\n})({\n    display: 'none',\n});\n\nconst FileInputButton = forwardRef<HTMLSpanElement, FileInputButtonProps>(\n    function FileInputButton(inProps, ref) {\n        const props = useThemeProps({ props: inProps, name: 'MuiFileInputButton' });\n        const {\n            onSelect,\n            acceptedFileTypes,\n            allowsMultiple = false,\n            icon,\n            buttonText = 'Browse files',\n            variant = 'contained',\n            size = 'medium',\n            className,\n            disabled,\n        } = props;\n\n        const inputRef = useRef<HTMLInputElement>(null);\n\n        const handleClick = useCallback(() => {\n            inputRef.current?.click();\n        }, []);\n\n        const handleChange = useCallback(\n            (e: ChangeEvent<HTMLInputElement>) => {\n                onSelect?.(e.target.files);\n                // Reset so the same file can be selected again\n                if (inputRef.current) {\n                    inputRef.current.value = '';\n                }\n            },\n            [onSelect]\n        );\n\n        const accept = acceptedFileTypes?.join(',');\n\n        return (\n            <FileInputButtonRoot ref={ref} className={className}>\n                <FileInputButtonHiddenInput\n                    ref={inputRef}\n                    type=\"file\"\n                    accept={accept}\n                    multiple={allowsMultiple}\n                    onChange={handleChange}\n                />\n                <Button\n                    variant={variant}\n                    size={size}\n                    disabled={disabled}\n                    onClick={handleClick}\n                    startIcon={icon !== false ? (icon ?? <Upload />) : undefined}>\n                    {buttonText}\n                </Button>\n            </FileInputButtonRoot>\n        );\n    }\n);\n\nexport { FileInputButton };\nexport type { FileInputButtonProps };\n"],"mappings":"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","names":["CodeBlock","varnishPrismDark","varnishPrismLight","SyntaxHighlighter","import_react","import_styles","color","varnishTokens","import_jsx_runtime","Content","import_react","import_material","import_styles","import_jsx_runtime","CopyToClipboardButton","import_react","import_material","import_jsx_runtime","import_material","import_react","import_jsx_runtime","color","import_material","import_styles","import_mui","import_react","import_jsx_runtime","varnishTokens","Header","shape","import_react","import_styles","import_jsx_runtime","Keyboard","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","import_material","import_styles","import_jsx_runtime","remarkGfm","Markdown","components","ReactMarkdown","import_react","import_jsx_runtime","import_react","import_material","import_styles","import_jsx_runtime","import_utils","import_jsx_runtime","import_utils","import_jsx_runtime","import_utils","import_jsx_runtime","import_utils","import_jsx_runtime","import_utils","import_jsx_runtime","import_utils","import_jsx_runtime","import_jsx_runtime","SnackbarList","import_react","import_material","import_styles","import_jsx_runtime","ShareOnTwitterButton","import_react","import_material","import_styles","import_icons_material","import_jsx_runtime","ShareOnFacebookButton","import_react","import_material","import_styles","import_icons_material","import_jsx_runtime","ShareOnLinkedInButton","import_react","import_material","import_styles","import_jsx_runtime","TextTruncator","import_styles","import_utils","import_styles","import_mui","color","varnishTheme","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","import_material","varnishTokens","import_mui","varnishTokens","varnishTokens","varnishTheme","import_jsx_runtime","CssBaseline","import_react","import_styles","import_jsx_runtime","ResizableTableContainer","import_react","import_styles","import_jsx_runtime","ColumnResizer","import_react","import_styles","import_mui","import_react","import_styles","import_jsx_runtime","FileInputButton","Button","import_jsx_runtime","varnishTokens","FileInput","Typography"]}