@ornikar/kitt-universal 7.3.0 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/definitions/Picker/Picker.d.ts +17 -0
  2. package/dist/definitions/Picker/Picker.d.ts.map +1 -0
  3. package/dist/definitions/Picker/Picker.web.d.ts +3 -0
  4. package/dist/definitions/Picker/Picker.web.d.ts.map +1 -0
  5. package/dist/definitions/Picker/PickerItem.d.ts +9 -0
  6. package/dist/definitions/Picker/PickerItem.d.ts.map +1 -0
  7. package/dist/definitions/TimePicker/useTimePicker.d.ts +2 -2
  8. package/dist/definitions/TimePicker/useTimePicker.d.ts.map +1 -1
  9. package/dist/definitions/index.d.ts +2 -0
  10. package/dist/definitions/index.d.ts.map +1 -1
  11. package/dist/definitions/themes/default.d.ts +1 -0
  12. package/dist/definitions/themes/default.d.ts.map +1 -1
  13. package/dist/definitions/themes/late-ocean/picker.d.ts +21 -0
  14. package/dist/definitions/themes/late-ocean/picker.d.ts.map +1 -0
  15. package/dist/definitions/typography/Typography.d.ts +3 -2
  16. package/dist/definitions/typography/Typography.d.ts.map +1 -1
  17. package/dist/index-browser-all.es.android.js +169 -36
  18. package/dist/index-browser-all.es.android.js.map +1 -1
  19. package/dist/index-browser-all.es.ios.js +169 -36
  20. package/dist/index-browser-all.es.ios.js.map +1 -1
  21. package/dist/index-browser-all.es.js +169 -36
  22. package/dist/index-browser-all.es.js.map +1 -1
  23. package/dist/index-browser-all.es.web.js +73 -35
  24. package/dist/index-browser-all.es.web.js.map +1 -1
  25. package/dist/index-node-14.17.cjs.js +181 -67
  26. package/dist/index-node-14.17.cjs.js.map +1 -1
  27. package/dist/index-node-14.17.cjs.web.js +52 -24
  28. package/dist/index-node-14.17.cjs.web.js.map +1 -1
  29. package/dist/linaria-themes-browser-all.es.android.js +26 -0
  30. package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
  31. package/dist/linaria-themes-browser-all.es.ios.js +26 -0
  32. package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
  33. package/dist/linaria-themes-browser-all.es.js +26 -0
  34. package/dist/linaria-themes-browser-all.es.js.map +1 -1
  35. package/dist/linaria-themes-browser-all.es.web.js +27 -0
  36. package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
  37. package/dist/linaria-themes-node-14.17.cjs.js +25 -0
  38. package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
  39. package/dist/linaria-themes-node-14.17.cjs.web.js +25 -0
  40. package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
  41. package/dist/tsbuildinfo +1 -1
  42. package/package.json +8 -3
  43. package/translations/fr-FR.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser-all.es.android.js","sources":["../src/Icon/Icon.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Avatar/Avatar.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/AnimatedButtonPressable.tsx","../src/Button/BaseStyledButtonPressable.tsx","../src/typography/TypographyIcon.tsx","../src/Button/isSubtle.ts","../src/Button/ButtonContent.tsx","../src/Button/StyledDisabled.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Emoji/Emoji.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/feedback.ts","../src/themes/late-ocean/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullScreenModal.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/forms/Checkbox/Checkbox.tsx","../src/forms/utils.ts","../src/forms/styledTextInputMixin.ts","../src/forms/DatePicker/DatePickerInputPart.tsx","../src/forms/DatePicker/DatePickerInputs.tsx","../src/forms/DatePicker/DatePickerAndroid.tsx","../src/Overlay/Overlay.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButton.tsx","../src/IconButton/PressableAnimatedContainer.tsx","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/Radio.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullScreenModal/Body.tsx","../src/FullScreenModal/Header.tsx","../src/FullScreenModal/FullScreenModal.tsx","../src/Icon/SpinningIcon.tsx","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/TooltipView.tsx","../src/Tooltip/tooltipUtils.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLink.tsx","../src/utils/hexToRgba.ts","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/withTheme.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: number;\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\ninterface IconContainerProps {\n $align?: ViewStyle['alignSelf'];\n $size: number;\n $color: string;\n}\n\nexport const defaultIconSize = 20;\n\nexport const IconContainer = styled.View<IconContainerProps>`\n color: ${({ $color }) => $color};\n width: ${({ $size }) => $size}px;\n height: ${({ $size }) => $size}px;\n align-self: ${({ $align = 'auto' }) => $align};\n`;\n\nexport function Icon({ icon, size = defaultIconSize, align, color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <IconContainer $align={align} $size={size} $color={color}>\n {clonedIcon}\n </IconContainer>\n );\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = typeof KittBreakpoints[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = typeof KittBreakpointsMax[keyof typeof KittBreakpointsMax];\n","import type { FC, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled, { css } from 'styled-components/native';\nimport type { Except, SetOptional } from 'type-fest';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { KittTheme } from '../useKittTheme';\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\nexport type TypographyColor =\n | 'black'\n | 'black-anthracite'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport const getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nconst isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n typographyIsHeaderInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (typographyIsHeaderInContext != null) return typographyIsHeaderInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n\nexport function getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface StyledTypographyProps {\n accessibilityRole: TextProps['accessibilityRole'] | 'paragraph';\n $isHeader: boolean;\n $typeForCurrentWindowSize?: TypographyType;\n $variant: TypographyVariant;\n $color?: TypographyColor;\n}\n\nconst StyledTypography = styled.Text<StyledTypographyProps>`\n /* font */\n ${({ theme, $isHeader, $typeForCurrentWindowSize, $variant }) => {\n const { headers, bodies } = theme.kitt.typography.types;\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n\n return `\n /* type */\n ${\n !$typeForCurrentWindowSize\n ? ''\n : `\n font-family: ${$isHeader ? headers.fontFamily[$variant] : bodies.fontFamily[$variant]};\n font-size: ${\n $isHeader\n ? headers.configs[$typeForCurrentWindowSize as TypographyHeaderType][typeConfigKey].fontSize\n : bodies.configs[$typeForCurrentWindowSize as TypographyBodyType][typeConfigKey].fontSize\n }px;\n line-height: ${\n $isHeader\n ? headers.configs[$typeForCurrentWindowSize as TypographyHeaderType][typeConfigKey].lineHeight\n : bodies.configs[$typeForCurrentWindowSize as TypographyBodyType][typeConfigKey].lineHeight\n }px;\n `\n }\n\n /* variant */\n font-weight: ${$isHeader ? headers.fontWeight : bodies.fontWeight[$variant]};\n font-style: ${$isHeader ? headers.fontStyle : bodies.fontStyle[$variant]};\n `;\n }}\n\n /* color */\n ${({ theme, $color }) => {\n if (!$color) return '';\n\n return css`\n color: ${theme.kitt.typography.colors[$color]};\n text-decoration-color: ${theme.kitt.typography.colors[$color]};\n `;\n }}\n`;\n\nexport interface TypographyBreakpointTypesProps {\n /** base type. Inherited from parent Typography if not specified */\n base?: TypographyType;\n /** small type. use base if undefined */\n small?: TypographyType;\n /** medium type. use small or base if undefined */\n medium?: TypographyType;\n /** large type. use medium or small or base if undefined */\n large?: TypographyType;\n}\n\nexport interface TypographyProps extends TypographyBreakpointTypesProps, Except<TextProps, 'accessibilityRole'> {\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: TypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function useTypographyTypeForCurrentWindowSize(\n base: TypographyType | undefined,\n small: TypographyType | undefined,\n medium: TypographyType | undefined,\n large: TypographyType | undefined,\n): TypographyType | undefined {\n const { width } = useWindowDimensions();\n if (large && width >= KittBreakpoints.LARGE) return large;\n if (medium && width >= KittBreakpoints.MEDIUM) return medium;\n if (small && width >= KittBreakpoints.SMALL) return small;\n return base;\n}\n\ntype GetTypographyInheritedOrDefaultValuesBasedOnExistingAncestorsProps = Pick<TypographyProps, 'base' | 'color'>;\n\nexport function getTypographyInheritedOrDefaultValuesBasedOnExistingAncestors(\n hasTypographyAncestor: boolean,\n { base, color }: GetTypographyInheritedOrDefaultValuesBasedOnExistingAncestorsProps,\n): GetTypographyInheritedOrDefaultValuesBasedOnExistingAncestorsProps {\n // return the props set or undefined. In case of undefined, the value will be inherited from its parents.\n if (hasTypographyAncestor) return { base, color };\n\n return {\n base: base ?? 'body',\n color: color ?? 'black',\n };\n}\n\nexport function Typography({\n accessibilityRole,\n base,\n small,\n medium,\n large,\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const { base: baseOrDefaultToBody, color: colorOrDefaultToBlack } =\n getTypographyInheritedOrDefaultValuesBasedOnExistingAncestors(hasTypographyAncestor, {\n base,\n color,\n });\n const typeForCurrentWindowSize = useTypographyTypeForCurrentWindowSize(baseOrDefaultToBody, small, medium, large);\n const isHeader = isTypographyHeader(typeForCurrentWindowSize, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>\n <StyledTypography\n $color={colorOrDefaultToBlack}\n $isHeader={isHeader}\n $typeForCurrentWindowSize={typeForCurrentWindowSize}\n $variant={nonNullableVariant}\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n {...otherProps}\n />\n </IsHeaderTypographyContext.Provider>\n ) : (\n <StyledTypography\n $color={colorOrDefaultToBlack}\n $isHeader={isHeader}\n $variant={nonNullableVariant}\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n {...otherProps}\n />\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Image } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { Typography } from '../typography/Typography';\n\nconst getInitials = (firstname: string, lastname: string): string => `${firstname[0]}${lastname[0]}`.toUpperCase();\n\nexport type AvatarSizeVariant = 'large';\n\nexport interface StyledAvatarViewProps {\n $size: number;\n $isRound?: boolean;\n $isLight?: boolean;\n $sizeVariant?: AvatarSizeVariant;\n}\n\nconst StyledAvatarView = styled.View<StyledAvatarViewProps>`\n border-radius: ${({ theme, $isRound, $size, $sizeVariant }) => {\n if ($isRound) return `${$size / 2}px`;\n\n return `${$sizeVariant === 'large' ? theme.kitt.avatar.large.borderRadius : theme.kitt.avatar.borderRadius}px`;\n }};\n background-color: ${({ theme, $isLight }) =>\n $isLight ? theme.kitt.avatar.light.backgroundColor : theme.kitt.avatar.default.backgroundColor};\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n`;\n\ninterface AvatarContentProps extends Exclude<AvatarProps, 'light | round'> {\n size: NonNullable<number>;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} style={{ width: size, height: size }} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={size / 2} />;\n}\nexport interface AvatarProps {\n size?: number;\n src?: string | null;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size = 40, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n return (\n <StyledAvatarView $size={size} $isRound={round} $isLight={light} $sizeVariant={sizeVariant}>\n <AvatarContent size={size} isLight={light} sizeVariant={sizeVariant} {...props} />\n </StyledAvatarView>\n );\n}\n","import type { DefaultTheme } from 'styled-components/native';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: DefaultTheme,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport Animated, { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface StyledPressableProps extends PressableProps {\n $isStretch?: boolean;\n $type: ButtonType;\n}\n\nconst StyledPressable = styled.Pressable<StyledPressableProps>`\n ${({ $isStretch }) => {\n if ($isStretch) return undefined;\n\n return 'align-self: flex-start;';\n }}\n`;\n\nconst StyledAnimatedView = styled(Animated.View)`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n\nexport interface AnimatedButtonPressableProps extends PressableProps {\n accessibilityRole: NonNullable<PressableProps['accessibilityRole']>;\n $type: ButtonType;\n $variant: ButtonVariant;\n $isStretch?: boolean;\n}\n\nexport const AnimatedButtonPressable = forwardRef<View, AnimatedButtonPressableProps>(\n (\n {\n children,\n disabled,\n accessibilityRole,\n $type,\n $variant,\n $isStretch,\n href,\n hrefAttrs,\n testID,\n onPress,\n }: AnimatedButtonPressableProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, $type, $variant);\n const { scale } = theme.kitt.button;\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressInOut = (pressIn: boolean): void => {\n color.value = withSpring(pressIn ? 1 : 0);\n pressed.value = pressIn ? 1 : 0;\n };\n\n return (\n <StyledPressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n $isStretch={$isStretch}\n $type={$type}\n onPress={onPress}\n onPressIn={() => {\n handlePressInOut(true);\n }}\n onPressOut={() => {\n handlePressInOut(false);\n }}\n >\n <StyledAnimatedView style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n {children}\n </StyledAnimatedView>\n </StyledPressable>\n );\n },\n);\n","import type { ViewProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface BaseStyledButtonPressableProps extends ViewProps {\n $type: ButtonType;\n $variant: ButtonVariant;\n $isLarge?: boolean;\n $isXLarge?: boolean;\n $isStretch?: boolean;\n $isDisabled?: boolean;\n}\n\nexport const BaseStyledButtonPressable = styled.View<BaseStyledButtonPressableProps>`\n position: relative;\n min-width: ${({ theme }) => theme.kitt.button.minWidth}px;\n max-width: ${({ theme, $isStretch }) => ($isStretch ? '100%' : `${theme.kitt.button.maxWidth}px`)};\n width: ${({ $isStretch }) => ($isStretch ? '100%' : 'auto')};\n min-height: ${({ theme }) => theme.kitt.button.minHeight}px;\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n /* Emulate inline-* css display by making the button taking only its necessary space */\n align-self: flex-start;\n\n background-color: ${({ theme, $isDisabled, $type, $variant }) => {\n if ($isDisabled) return theme.kitt.button.disabled.default.backgroundColor;\n\n if (Platform.OS !== 'web') return 'transparent';\n\n return getVariantValuesIfExist(theme, $type, $variant).backgroundColor;\n }};\n\n padding: ${({ theme, $isLarge, $isXLarge, $isDisabled }) => {\n const { large, default: defaultPadding, disabled: disabledPadding, xLarge } = theme.kitt.button.contentPadding;\n\n if ($isXLarge) return xLarge;\n if ($isLarge) return large;\n if ($isDisabled) return disabledPadding;\n\n return defaultPadding;\n }};\n`;\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({ color, ...props }: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const theme = useTheme();\n return <Icon {...props} color={color === 'inherit' ? 'inherit' : theme.kitt.typography.colors[color]} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { ButtonType, SubtleButtonType } from './Button';\n\nexport function isSubtle(type: ButtonType): type is SubtleButtonType {\n return type.startsWith('subtle');\n}\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { TypographyColor, TypographyTextProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { isSubtle } from './isSubtle';\n\nconst getTextColorByType = (type: ButtonType, variant: ButtonVariant): TypographyColor => {\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'subtle':\n return 'primary';\n case 'subtle-dark':\n return 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n\ninterface StyledButtonTextProps extends TypographyTextProps {\n $type: ButtonType;\n $isDisabled?: boolean;\n}\n\nconst StyledButtonText = styled(Typography.Text)<StyledButtonTextProps>`\n /* On native code, this is the only way to ensure that the text is centered */\n text-align: center;\n\n ${() => {\n // Make the multilines case work properly on native\n // Breaks the web implem\n if (Platform.OS === 'web') return undefined;\n\n return `\n flex-shrink: 1;\n `;\n }}\n\n ${({ $type, $isDisabled }) => {\n /* For subltes button, color changes when hovered.\n * We don't want to use a mouse event handler with a react state to handle it\n * For this precise case, we've decided to work outside the typography logic\n */\n if (Platform.OS !== 'web' || $isDisabled || !isSubtle($type)) return undefined;\n return 'color: inherit';\n }}\n`;\n\ninterface StyledIconContainerProps {\n $iconPosition?: ButtonProps['iconPosition'];\n}\n\nconst StyledIconContainer = styled.View<StyledIconContainerProps>`\n ${({ theme, $iconPosition }) => {\n const value = theme.kitt.spacing * 2;\n\n if ($iconPosition === 'left') {\n return `margin: 0 ${value}px 0 0;`;\n }\n\n return `margin: 0 0 0 ${value}px;`;\n }}\n`;\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <StyledIconContainer $iconPosition={iconPosition}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </StyledIconContainer>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n $isStretch: ButtonProps['stretch'];\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nconst StyledChildrenWithIcon = styled.View`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n`;\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n isDisabled,\n color,\n children,\n}: ButtonContentChildrenProps): ReactElement | null {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n const isWebSubtle = isSubtle(type) && Platform.OS === 'web' && !isDisabled;\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={isWebSubtle ? 'inherit' : color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color: isWebSubtle ? 'inherit' : (color as TypographyIconProps['color']),\n };\n\n return (\n <StyledChildrenWithIcon>\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button-left-icon\" icon={icon} />\n ) : null}\n\n <StyledButtonText\n base=\"body\"\n variant=\"bold\"\n $type={type}\n $isDisabled={isDisabled}\n // set to color: inherit via styled components\n color={isWebSubtle ? undefined : color}\n >\n {children}\n </StyledButtonText>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </StyledChildrenWithIcon>\n );\n}\n\ninterface ButtonContentContainerProps {\n $isSubtle?: boolean;\n $isStretch?: boolean;\n $isIconOnly?: boolean;\n}\n\nconst ButtonContentContainer = styled.View<ButtonContentContainerProps>`\n line-height: 16px;\n\n ${({ $isStretch, $isIconOnly }) => {\n // Make the multilines case work properly on web\n // Breaks the native implem\n if (Platform.OS !== 'web') return undefined;\n\n return `\n flex: ${$isStretch || $isIconOnly ? 1 : 0} 1 auto;\n `;\n }}\n\n ${({ $isSubtle }) => {\n if (Platform.OS !== 'web' || !$isSubtle) return undefined;\n // Needed for subtle type\n return 'color: inherit';\n }};\n`;\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n $isStretch,\n icon,\n children,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant);\n\n return (\n <ButtonContentContainer $isSubtle={isSubtle(type)} $isStretch={$isStretch} $isIconOnly={Boolean(!children && icon)}>\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </ButtonContentContainer>\n );\n}\n","import styled from 'styled-components/native';\n\nexport const StyledDisabled = styled.View`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${({ theme }) => {\n const { borderWidth, disabled } = theme.kitt.button;\n return `${borderWidth.disabled}px solid ${disabled.default.borderColor}`;\n }};\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport { Platform } from 'react-native';\nimport { AnimatedButtonPressable } from './AnimatedButtonPressable';\nimport { BaseStyledButtonPressable } from './BaseStyledButtonPressable';\nimport { ButtonContent } from './ButtonContent';\nimport { StyledDisabled } from './StyledDisabled';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white';\n\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default'];\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: boolean;\n large?: boolean;\n xLarge?: boolean;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n className?: string;\n style?: PressableProps['style'];\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<View, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n return (\n <AnimatedButtonPressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n disabled={disabled}\n $isStretch={stretch}\n $type={type}\n $variant={variant}\n onPress={onPress}\n >\n <BaseStyledButtonPressable\n $type={type}\n $variant={variant}\n $isStretch={stretch}\n $isLarge={large}\n $isXLarge={xLarge}\n $isDisabled={disabled}\n >\n <ButtonContent\n type={type}\n variant={variant}\n $isStretch={stretch}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n {Platform.OS !== 'web' && disabled ? <StyledDisabled /> : null}\n </BaseStyledButtonPressable>\n </AnimatedButtonPressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\ntype CardType = 'primary' | 'secondary' | 'subtle';\n\nexport interface CardProps {\n children: NonNullable<ReactNode>;\n type: CardType;\n}\ninterface ContainerProps {\n type: CardType;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type }) => theme.kitt.card[type].backgroundColor};\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n border-width: ${({ theme }) => theme.kitt.card.borderWidth}px;\n border-color: ${({ theme, type }) => theme.kitt.card[type].borderColor};\n`;\n\nexport function Card({ children, type }: CardProps): ReactElement {\n return <Container type={type}>{children}</Container>;\n}\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { parse } from 'twemoji-parser';\n\ninterface StyledEmojiProps {\n size: number;\n}\n\nconst StyledEmoji = styled.Image<StyledEmojiProps>`\n width: ${({ size }) => size}px;\n height: ${({ size }) => size}px;\n`;\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number;\n}\n\nexport function Emoji({ emoji, size, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return <StyledEmoji size={size} accessibilityLabel={emojiData.text} source={{ uri: emojiData.url }} style={style} />;\n}\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#2C293D',\n black555: '#737373',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n fullscreenLoader: 'rgba(0, 0, 0, 0.25)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n white: BaseButtonTheme;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n white: {\n default: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n checkedBorderColor: colors.primary,\n checkedBackgroundColor: colors.primary,\n markColor: colors.uiBackgroundLight,\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import { Platform } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nexport const createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier),\n },\n});\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n },\n types: {\n headers: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n bold: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',\n bold: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold',\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n disabledColor: lateOceanColorPalette.black200,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: keyof typeof typography.colors;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: 'black',\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: 'black',\n },\n focus: {\n borderColor: colors.primary,\n color: 'black',\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: 'black-light',\n },\n invalid: {\n borderColor: colors.separator,\n color: 'black',\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: 'border-color',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n labelContainerPaddingBottom: 5,\n iconMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n backgroundColor: colors.uiBackgroundLight,\n borderWidth: 2,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","import { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const fullScreenModal = {\n header: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1);',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n padding: string;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","export const shadows = {\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n padding: string;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: lateOceanColorPalette.warmEmbrace,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: colors.black,\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 4,\n floatingPadding: 8,\n};\n","import { avatar } from './late-ocean/avatar';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { colors } from './late-ocean/colors';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullScreenModal } from './late-ocean/fullScreenModal';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing: 4,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n card,\n feedbackMessage,\n forms,\n fullScreenModal,\n iconButton,\n listItem,\n pageLoader,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n};\n\nexport type Theme = typeof theme;\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /** Prefer using if or map variants, at it should be more web friendly */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | FlattenSimpleInterpolation | null>(\n options: MatchWindowSizeOptions,\n valueIfTrue: T,\n valueIfFalse?: T,\n ) => T | undefined;\n\n /**\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport function createWindowSizeHelper(dimensions: WindowDimensions): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(dimensions, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(dimensions, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) => matchWindowSize(dimensions, { minWidth: Number(minWidth) }));\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n responsive: WindowSizeHelper;\n}\n\nexport function useKittTheme(): KittTheme {\n const dimensions = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(dimensions) };\n }, [dimensions]);\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { Icon } from '../../Icon/Icon';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface CheckboxContainerProps {\n $isChecked: boolean;\n $hasLabel: boolean;\n}\n\nconst CheckboxAndLabelPressableWrapper = styled.Pressable`\n display: flex;\n flex-direction: row;\n`;\n\nconst CheckboxContainer = styled.View<CheckboxContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n height: ${({ theme }) => theme.kitt.forms.checkbox.height}px;\n width: ${({ theme }) => theme.kitt.forms.checkbox.width}px;\n position: relative;\n border-radius: ${({ theme }) => theme.kitt.forms.checkbox.borderRadius}px;\n\n ${({ $isChecked, theme }) => {\n const { checkedBackgroundColor, checkedBorderColor, borderColor, borderWidth, backgroundColor } =\n theme.kitt.forms.checkbox;\n if ($isChecked) {\n return css`\n background-color: ${checkedBackgroundColor};\n border: ${`${borderWidth}px solid ${checkedBorderColor}`};\n `;\n }\n return css`\n background-color: ${backgroundColor};\n border: ${`${borderWidth}px solid ${borderColor}`};\n `;\n }}\n\n margin-right: ${({ theme, $hasLabel }) => {\n if (!$hasLabel) return '0px';\n return `${theme.kitt.spacing * 2.5}px;`;\n }};\n`;\n\nexport interface CheckboxProps {\n onChange: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n checked: boolean;\n hitSlop?: number;\n id?: PressableProps['testID'];\n children?: ReactNode;\n}\n\nexport function Checkbox({\n onChange,\n onBlur,\n onFocus,\n checked,\n hitSlop = 40,\n id,\n children,\n}: CheckboxProps): ReactElement {\n const theme = useKittTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <CheckboxAndLabelPressableWrapper\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked }}\n hitSlop={hitSlop}\n onPress={handlePress}\n >\n <CheckboxContainer $isChecked={checked} $hasLabel={!!children} testID={id}>\n {checked ? (\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n ) : null}\n </CheckboxContainer>\n\n {children}\n </CheckboxAndLabelPressableWrapper>\n );\n}\n","export type InputFormState = undefined | 'valid' | 'invalid' | 'pending';\n\nexport type InputUIState = NonNullable<InputFormState> | 'default' | 'disabled' | 'hover' | 'focus';\n\ninterface GetInputStateConfig {\n isFocused: boolean;\n isDisabled: boolean;\n formState: InputFormState;\n}\n\nexport function getInputUIState({ isFocused, isDisabled, formState }: GetInputStateConfig): InputUIState {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'focus';\n\n if (formState === 'invalid') return 'invalid';\n\n return 'default';\n}\n","import { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[$state].color]};\n font-family: ${({ theme }) => theme.kitt.typography.types.bodies.fontFamily.regular};\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\n\ntype PartName = 'year' | 'month' | 'day';\n\nconst StyledTypographyText = styled(Typography.Text)`\n text-align: center;\n`;\n\ninterface ViewInputProps extends TextInputMixinProps {\n $partName?: PartName;\n}\n\nconst ViewInput = styled.View<ViewInputProps>`\n ${styledTextInputMixin}\n padding: ${({ theme }) =>\n `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`};\n\n min-height: ${({ theme }) => theme.kitt.forms.input.minHeight}px;\n min-width: ${({ theme, $partName }) => {\n if (!$partName) {\n return undefined;\n }\n\n return `${theme.kitt.forms.datePicker[$partName].minWidth}px`;\n }};\n`;\n\ninterface DatePickerInputPartProps extends TextInputMixinProps {\n disabled?: boolean;\n partName?: 'year' | 'month' | 'day';\n placeholder?: string;\n value?: ReactNode;\n}\n\nexport function DatePickerInputPart({\n $state,\n placeholder,\n value,\n partName,\n disabled,\n}: DatePickerInputPartProps): ReactElement {\n const hasContent = placeholder || value;\n\n return (\n <ViewInput $state={$state} $partName={partName}>\n {hasContent ? (\n <StyledTypographyText color={!value || disabled ? 'black-light' : undefined}>\n {value || placeholder}\n </StyledTypographyText>\n ) : null}\n </ViewInput>\n );\n}\n","import type { ReactElement } from 'react';\nimport styled, { css } from 'styled-components/native';\nimport { getInputUIState } from '../utils';\nimport { DatePickerInputPart } from './DatePickerInputPart';\nimport type { DatePickerInputsProps } from './types';\n\nfunction prefixWithZero(value: number): string {\n return `${value}`.padStart(2, '0');\n}\n\ninterface PartContainerProps {\n $isLast?: boolean;\n $isStretch?: boolean;\n}\n\nconst PartContainer = styled.View<PartContainerProps>`\n margin-right: ${({ theme, $isLast }) => (!$isLast ? `${theme.kitt.spacing * 2}px` : 0)};\n ${({ $isStretch }) =>\n $isStretch\n ? css`\n flex: 0.33;\n flex-grow: 1;\n `\n : undefined};\n`;\n\ninterface DatePickerPressableProps {\n $isStretch?: boolean;\n}\n\nconst DatePickerPressable = styled.Pressable<DatePickerPressableProps>`\n display: flex;\n flex-direction: row;\n ${({ $isStretch }) => {\n if ($isStretch) {\n return css`\n width: 100%;\n `;\n }\n\n return css`\n align-self: baseline;\n `;\n }};\n`;\n\nexport interface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport function DatePickerInputs({\n state,\n internalForceState,\n isFocused,\n disabled,\n stretch,\n id,\n testID,\n handleModalOpen,\n currentValue,\n placeholder,\n}: DatePickerInputsProps): ReactElement {\n const currentState =\n internalForceState || getInputUIState({ isFocused, isDisabled: Boolean(disabled), formState: state });\n\n const sharedPartProps = {\n disabled,\n $state: currentState,\n };\n\n return (\n <DatePickerPressable\n $isStretch={stretch}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={handleModalOpen}\n >\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"day\"\n value={currentValue ? prefixWithZero(currentValue.getDate()) : undefined}\n placeholder={placeholder?.day}\n />\n </PartContainer>\n\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"month\"\n value={currentValue ? prefixWithZero(currentValue.getMonth() + 1) : undefined}\n placeholder={placeholder?.month}\n />\n </PartContainer>\n\n <PartContainer $isLast $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"year\"\n value={currentValue ? currentValue.getFullYear() : undefined}\n placeholder={placeholder?.year}\n />\n </PartContainer>\n </DatePickerPressable>\n );\n}\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport type { DatePickerProps } from './types';\n\ninterface DatePickerAndroidProps\n extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel' | 'value'> {\n isFocused: boolean;\n setIsFocused: (isFocused: boolean) => void;\n currentValue: Date | undefined;\n setCurrentValue: (value: Date | undefined) => void;\n}\n\nexport function DatePickerAndroid({\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n setIsFocused,\n currentValue,\n setCurrentValue,\n onChange,\n isFocused,\n ...props\n}: DatePickerAndroidProps): ReactElement {\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n return (\n <DatePickerInputs handleModalOpen={handleModalOpen} currentValue={currentValue} isFocused={isFocused} {...props} />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport { theme as kittTheme } from '../themes/default';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { IconButtonContentProps } from './IconButton';\n\ninterface PressableIconButtonWebWrapperProps {\n theme: DefaultTheme;\n $isWhite?: boolean;\n $isDisabled?: boolean;\n}\n\nconst PressableIconButtonWebWrapper = withTheme(styledLinaria.div<PressableIconButtonWebWrapperProps>`\n & > *:hover,\n .kitt-hover & > * {\n @media (hover: none) and (pointer: coarse) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.hover)});\n }\n\n @media (${kittTheme.breakpoints.min.mediumBreakpoint}) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.medium.hover)});\n }\n }\n\n & > *:active,\n .kitt-active & > * {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.active)});\n }\n\n &,\n & > [data-focusvisible-polyfill] {\n outline: none;\n }\n\n & > *:hover,\n .kitt-hover & > *,\n & > *:focus,\n .kitt-focus & > *,\n & > [data-focusvisible-polyfill],\n & > *:active,\n .kitt-active & > * {\n background-color: ${({ theme, $isWhite, $isDisabled }) => {\n if ($isDisabled) return theme.kitt.iconButton.disabled.backgroundColor;\n\n const { white, default: defaultIconButton } = theme.kitt.iconButton;\n\n if ($isWhite) return white.pressedBackgroundColor;\n return defaultIconButton.pressedBackgroundColor;\n }};\n }\n`);\n\nconst StyledPressableIconButton = styled.Pressable`\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n align-items: center;\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n ${({ theme, disabled }) => {\n const { iconButton } = theme.kitt;\n\n if (Platform.OS !== 'web') {\n return undefined;\n }\n\n const { transition } = iconButton;\n\n if (disabled) {\n return `\n background-color: ${iconButton.disabled.backgroundColor};\n `;\n }\n\n return `\n transition: ${transition.property} ${transition.duration} ${transition.timingFunction};\n `;\n }};\n`;\n\nexport interface PressableIconButtonProps extends PressableProps {\n color: IconButtonContentProps['color'];\n}\n\nexport function PressableIconButton({ color, disabled, ...props }: PressableIconButtonProps): ReactElement {\n return (\n <StyleWebWrapper as={PressableIconButtonWebWrapper} $isWhite={color === 'white'} $isDisabled={Boolean(disabled)}>\n <StyledPressableIconButton {...props} disabled={disabled} />\n </StyleWebWrapper>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { IconButtonContentProps } from './IconButton';\nimport type { PressableIconButtonProps } from './PressableIconButton';\nimport { PressableIconButton } from './PressableIconButton';\n\nexport interface PressableAnimatedContainerProps {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n color: IconButtonContentProps['color'];\n testID?: IconButtonContentProps['testID'];\n accessibilityLabel?: IconButtonContentProps['accessibilityLabel'];\n accessibilityRole?: IconButtonContentProps['accessibilityRole'];\n onPress: NonNullable<PressableIconButtonProps['onPress']>;\n}\n\ninterface AnimatedIconButtonBackgroundProps {\n color: IconButtonContentProps['color'];\n disabled?: boolean;\n}\n\nconst AnimatedIconButtonBackground = styled(Animated.View)<AnimatedIconButtonBackgroundProps>`\n background-color: ${({ theme, color, disabled }) => {\n const { iconButton } = theme.kitt;\n if (disabled) return iconButton.disabled.backgroundColor;\n\n if (color === 'white') return iconButton.white.pressedBackgroundColor;\n\n return iconButton.default.pressedBackgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nconst AnimatedViewContainer = styled(Animated.View)`\n position: relative;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n`;\n\nexport function PressableAnimatedContainer({\n disabled,\n color = 'black',\n testID,\n accessibilityRole = 'button',\n accessibilityLabel,\n children,\n onPress,\n}: PressableAnimatedContainerProps): ReactElement {\n const theme = useTheme();\n const pressed = useSharedValue(false);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n return (\n <PressableIconButton\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n color={color}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n onPress={onPress}\n onPressIn={() => {\n pressed.value = true;\n }}\n onPressOut={() => {\n pressed.value = false;\n }}\n >\n <AnimatedViewContainer style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n <AnimatedIconButtonBackground\n disabled={disabled}\n color={color}\n style={disabled ? [{ opacity: 1 }] : [opacityStyles]}\n />\n {children}\n </AnimatedViewContainer>\n </PressableIconButton>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { AccessibilityRole } from 'react-native';\nimport styled from 'styled-components/native';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { PressableAnimatedContainer } from './PressableAnimatedContainer';\n\ninterface IconButtonContentBorderProps {\n disabled?: boolean;\n}\n\nconst IconButtonContentBorder = styled.View<IconButtonContentBorderProps>`\n border: ${({ theme }) => `${theme.kitt.iconButton.borderWidth}px solid`};\n border-color: ${({ theme, disabled }) =>\n disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor};\n width: ${({ theme }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth}px;\n height: ${({ theme }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth}px;\n align-items: center;\n justify-content: center;\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n`;\nexport interface IconButtonContentProps {\n icon: NonNullable<ReactElement>;\n color?: 'black' | 'white';\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: string;\n accessibilityRole?: AccessibilityRole;\n}\n\nfunction IconButtonContent({ disabled, color, icon }: IconButtonContentProps): ReactElement {\n return (\n <IconButtonContentBorder disabled={disabled}>\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </IconButtonContentBorder>\n );\n}\n\nexport interface IconButtonProps extends IconButtonContentProps {\n onPress: () => void;\n}\n\nexport function IconButton({\n icon,\n color,\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole,\n onPress,\n}: IconButtonProps): ReactElement {\n return (\n <PressableAnimatedContainer\n color={color}\n disabled={disabled}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n onPress={onPress}\n >\n <IconButtonContent disabled={disabled} color={color} icon={icon} />\n </PressableAnimatedContainer>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../Button/Button';\nimport { Modal } from '../../Modal/Modal';\nimport { Typography } from '../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { Platform } from 'react-native';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\nimport type { DatePickerProps } from './types';\n\nexport function DatePicker({\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n onChange,\n onFocus,\n onBlur,\n pickerDefaultDate,\n ...props\n}: DatePickerProps): ReactElement {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n currentValue={currentValue}\n setCurrentValue={setCurrentValue}\n isFocused={isFocused}\n setIsFocused={setIsFocused}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n return (\n <>\n <DatePickerInputs\n handleModalOpen={handleModalOpen}\n currentValue={currentValue}\n isFocused={isFocused}\n {...props}\n />\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform, TextInput } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { getInputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Exclude<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n disabled?: boolean;\n minHeight?: number;\n state?: InputFormState;\n right?: ReactNode;\n /** @internal */\n internalForceState?: InputUIState;\n}\n\ninterface StyledTextInputProps extends TextInputMixinProps {\n $minHeight?: number;\n}\n\nconst StyledTextInput = styled(TextInput)<StyledTextInputProps>`\n ${styledTextInputMixin}\n\n padding: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS !== 'web') return `0 ${theme.kitt.forms.input.padding.horizontal}px`;\n\n return `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`;\n }};\n\n line-height: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS !== 'web') return 0;\n\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].lineHeight}px`;\n }};\n\n width: 100%;\n min-height: ${({ theme, $minHeight = theme.kitt.forms.input.minHeight }) => $minHeight}px;\n`;\n\nconst RightInputContainer = styled.View`\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n justify-content: center;\n padding: 10px;\n`;\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n minHeight,\n state: formState,\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoCompleteType = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n onFocus,\n onBlur,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const [isFocused, setIsFocused] = useState<boolean>(false);\n\n const state = internalForceState || getInputUIState({ isFocused, isDisabled: disabled, formState });\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <StyledTextInput\n ref={ref}\n multiline={multiline}\n nativeID={id}\n editable={!disabled}\n keyboardType={keyboardType}\n autoCompleteType={autoCompleteType}\n autoCorrect={autoCorrect}\n $minHeight={minHeight}\n textContentType={textContentType}\n placeholderTextColor={theme.kitt.forms.input.color.placeholder}\n selectionColor={theme.kitt.forms.input.color.selection}\n {...props}\n $state={state}\n onFocus={(e) => {\n setIsFocused(true);\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n setIsFocused(false);\n if (onBlur) onBlur(e);\n }}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? <RightInputContainer>{right}</RightInputContainer> : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoCompleteType' | 'keyboardType' | 'textContentType' | 'autoCapitalize'> {}\n\nexport function InputEmail(props: InputEmailProps): ReactElement {\n return (\n <InputText\n autoCompleteType=\"email\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport type { InputFormState } from '../utils';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../../KittBreakpoints';\n\nconst FieldContainer = styled.View`\n padding: 5px 0 10px;\n`;\n\nconst FeedbackContainer = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches({ minWidth: KittBreakpoints.SMALL }, 'padding-top: 10px', 'padding-top: 5px')};\n`;\n\nconst FieldLabelContainer = styled.View`\n flex-direction: row;\n align-items: center;\n padding-bottom: ${({ theme }) => theme.kitt.forms.inputField.labelContainerPaddingBottom}px;\n`;\n\nconst LabelContainer = styled.View`\n margin-right: ${({ theme }) => theme.kitt.forms.inputField.iconMarginLeft}px;\n`;\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactElement {\n return (\n <FieldContainer>\n {label ? (\n <FieldLabelContainer>\n <LabelContainer>{label}</LabelContainer>\n {labelFeedback}\n </FieldLabelContainer>\n ) : null}\n {input}\n {feedback ? <FeedbackContainer>{feedback}</FeedbackContainer> : null}\n </FieldContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputFormState } from 'forms/utils';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactElement {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactElement {\n return <Pressable {...props} />;\n}\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport function InputPassword({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps): ReactElement {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n {...props}\n textContentType=\"password\"\n autoCompleteType=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable accessibilityRole=\"button\" onPress={() => setIsVisible((prev) => !prev)}>\n <InputIcon icon={isVisible ? <EyeOffIcon /> : <EyeIcon />} />\n </InputPressable>\n )\n }\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPhoneProps\n extends Except<InputTextProps, 'autoCompleteType' | 'keyboardType' | 'textContentType'> {}\n\nexport function InputPhone(props: InputPhoneProps): ReactElement {\n return <InputText {...props} autoCompleteType=\"tel\" keyboardType=\"number-pad\" textContentType=\"telephoneNumber\" />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { useKittTheme } from '../../useKittTheme';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\ninterface InputTagContainerProps {\n type?: InputTagType;\n}\n\nconst InputTagContainer = styled(View)<InputTagContainerProps>`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n align-self: flex-start;\n overflow: hidden;\n padding-horizontal: ${({ theme }) => theme.kitt.spacing * 2}px;\n\n background-color: ${({ theme, type }) => {\n if (type === 'success') {\n return theme.kitt.forms.inputTag.success.backgroundColor;\n }\n if (type === 'danger') {\n return theme.kitt.forms.inputTag.danger.backgroundColor;\n }\n\n return theme.kitt.forms.inputTag.default.backgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.forms.inputTag.borderRadius}px;\n`;\n\nconst IconContainer = styled(View)`\n margin-right: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useKittTheme();\n\n return (\n <InputTagContainer type={type}>\n {icon && (\n <IconContainer>\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </IconContainer>\n )}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </InputTagContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface RadioProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange: (newValue: string) => void;\n}\n\ninterface OuterRadioProps {\n disabled: boolean;\n}\n\nconst OuterRadio = styled.View<OuterRadioProps>`\n background-color: ${({ theme, disabled }) =>\n theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n border-width: ${({ theme }) => theme.kitt.forms.radio.unchecked.borderWidth}px;\n border-color: ${({ theme, disabled }) => theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].borderColor};\n`;\nconst SelectedOuterRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n justify-content: center;\n align-items: center;\n`;\nconst SelectedInnerRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.innerBackgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n height: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize / 2}px;\n`;\nconst Container = styled.Pressable`\n flex-direction: row;\n align-items: center;\n`;\n\nconst Text = styled(Typography.Text)`\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nexport function Radio({ id, checked, onChange, value, disabled = false, children }: RadioProps): ReactElement {\n const handlePress: PressableProps['onPress'] = () => {\n onChange(value);\n };\n\n return (\n <Container\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n onPress={handlePress}\n >\n {checked && !disabled ? (\n <SelectedOuterRadio>\n <SelectedInnerRadio />\n </SelectedOuterRadio>\n ) : (\n <OuterRadio disabled={disabled} />\n )}\n\n <Text base=\"body\" color={disabled ? 'black-light' : 'black'}>\n {children}\n </Text>\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport function TextArea({ ...props }: TextAreaProps): ReactElement {\n const theme = useTheme();\n\n return <InputText multiline textAlignVertical=\"top\" minHeight={theme.kitt.forms.textArea.minHeight} {...props} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\nconst Body = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding-right: ${theme.kitt.spacing * 12}px;\n padding-left: ${theme.kitt.spacing * 12}px;`,\n `padding-right: ${theme.kitt.spacing * 6}px;\n padding-left: ${theme.kitt.spacing * 6}px;`,\n )}\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n`;\n\ninterface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function FullScreenModalBody({ children }: BodyProps): ReactElement {\n return <Body>{children}</Body>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\ninterface SideContainerProps {\n side?: 'left' | 'right';\n}\n\nconst SideContainer = styled.View<SideContainerProps>`\n ${({ theme, side = 'left' }) => {\n const padding = theme.kitt.spacing * 2;\n\n if (side === 'left') {\n return `padding-right: ${padding}px;`;\n }\n\n return `padding-left: ${padding}px;`;\n }}\n`;\n\nfunction getHeaderHorizontalMediumPadding(spacing: number): number {\n return spacing * 6;\n}\n\ninterface HeaderProps {\n insetTop?: number;\n}\n\nconst Header = styled.View<HeaderProps>`\n ${({ theme, insetTop = 0 }) => {\n const paddingTop = insetTop + theme.kitt.fullScreenModal.header.paddingVertical;\n const { paddingVertical, paddingHorizontal } = theme.kitt.fullScreenModal.header;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding: ${paddingTop}px ${getHeaderHorizontalMediumPadding(theme.kitt.spacing)}px ${paddingVertical}px;`,\n `padding: ${paddingTop}px ${paddingHorizontal}px ${paddingVertical}px;`,\n );\n }};\n border-bottom-color: ${({ theme }) => theme.kitt.fullScreenModal.header.borderColor};\n border-bottom-width: 1px;\n flex-direction: row;\n align-items: center;\n`;\n\ninterface HeaderContentProps {\n windowWidth: number;\n leftWidth: number;\n rightWidth: number;\n}\n\nconst HeaderContent = styled.View<HeaderContentProps>`\n ${({ theme, leftWidth, rightWidth, windowWidth }) => {\n /*\n * Since we don't have controll over the rendered left and right elements,\n * we must apply some logic to give the title all the available space\n */\n const sideElementMaxWidth = Math.max(leftWidth, rightWidth);\n\n const parentHorizontalPadding = theme.kitt.fullScreenModal.header.paddingHorizontal * 2;\n const parentHorizontalPaddingMedium = getHeaderHorizontalMediumPadding(theme.kitt.spacing) * 2;\n\n const computeWidth = (breakpointPadding: number): number =>\n windowWidth - breakpointPadding - sideElementMaxWidth * 2;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `width: ${computeWidth(parentHorizontalPaddingMedium)}px;`,\n `width: ${computeWidth(parentHorizontalPadding)}px;`,\n );\n }};\n ${({ leftWidth, rightWidth }) => {\n // Depending of the wider element, we must add a margin to fill the diff in space between elements\n const deltaMargin = Math.abs(leftWidth - rightWidth);\n\n if (leftWidth > rightWidth) {\n return `margin-right: ${deltaMargin}px;`;\n }\n\n return `margin-left: ${deltaMargin}px;`;\n }};\n justify-content: center;\n align-items: center;\n`;\n\nexport interface FullScreenModalHeaderProps {\n children: NonNullable<ReactNode>;\n right?: ReactNode;\n left?: ReactNode;\n}\n\nexport function FullScreenModalHeader({ children, right, left }: FullScreenModalHeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n const dimensions = useWindowDimensions();\n const [leftWidth, setLeftWidth] = useState(0);\n const [rightWidth, setRightWidth] = useState(0);\n\n const handleLayoutChange = (event: LayoutChangeEvent, side: 'left' | 'right'): void => {\n // Prevents react to nullify event on rerenders\n event.persist();\n\n if (side === 'left') {\n setLeftWidth(event.nativeEvent.layout.width);\n return;\n }\n\n setRightWidth(event.nativeEvent.layout.width);\n };\n\n return (\n <Header insetTop={Platform.OS === 'ios' ? undefined : top}>\n {left ? <SideContainer onLayout={(e) => handleLayoutChange(e, 'left')}>{left}</SideContainer> : null}\n\n <HeaderContent windowWidth={dimensions.width} leftWidth={leftWidth} rightWidth={rightWidth}>\n {children}\n </HeaderContent>\n\n {right ? (\n <SideContainer side=\"right\" onLayout={(e) => handleLayoutChange(e, 'right')}>\n {right}\n </SideContainer>\n ) : null}\n </Header>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { FullScreenModalBody } from './Body';\nimport { FullScreenModalHeader } from './Header';\n\nconst Container = styled.View`\n flex: 1;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackground};\n`;\n\nexport interface FullScreenModalProps {\n children: ReactNode;\n}\n\nexport function FullScreenModal({ children }: FullScreenModalProps): ReactElement {\n return <Container>{children}</Container>;\n}\n\nFullScreenModal.Header = FullScreenModalHeader;\nFullScreenModal.Body = FullScreenModalBody;\n","import type { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}px`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}px`;\n }\n\n if (borders === 'both') {\n return css`\n border-top-width: ${borderWidth}px;\n border-bottom-width: ${borderWidth}px;\n `;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\ninterface StyledMessageContainerProps {\n $type: MessageType;\n $hasNoRadius?: boolean;\n $insets?: EdgeInsets;\n}\n\nconst StyledMessageContainer = styled.View<StyledMessageContainerProps>`\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n min-height: 60px;\n padding-top: ${({ $insets }) => $insets?.top ?? 0}px;\n border-radius: ${({ theme, $hasNoRadius }) => ($hasNoRadius ? 0 : theme.kitt.spacing * 5)}px;\n background-color: ${({ theme, $type }) => theme.kitt.feedbackMessage[$type].backgroundColor};\n`;\n\nconst StyledDismissWrapper = styled.View`\n align-items: center;\n align-items: flex-start;\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 2.5}px ${spacing * 2}px 0 ${spacing * 5}px`;\n }};\n`;\n\nconst StyledIconContainer = styled.View`\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing}px ${spacing * 5}px 0 0`;\n }};\n`;\n\ninterface StyledTextContentProps {\n $isCenteredText?: boolean;\n}\n\nconst StyledTextContent = styled(Typography.Text)<StyledTextContentProps>`\n flex: 1;\n text-align: ${({ $isCenteredText }) => ($isCenteredText ? 'center' : 'left')};\n`;\n\nconst StyledMessageContent = styled.View`\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-self: center;\n align-items: flex-start;\n flex-shrink: 1;\n padding: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 4}px ${spacing * 5}px`;\n }};\n`;\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <StyledMessageContainer $type={type} $hasNoRadius={hasNoRadius} $insets={insets}>\n <StyledMessageContent>\n {centeredText ? null : (\n <StyledIconContainer>\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </StyledIconContainer>\n )}\n <StyledTextContent $isCenteredText={centeredText} base=\"body\" color={color}>\n {children}\n </StyledTextContent>\n </StyledMessageContent>\n\n {onDismiss ? (\n <StyledDismissWrapper>\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </StyledDismissWrapper>\n ) : null}\n </StyledMessageContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { SkeletonContent } from './SkeletonContent';\n\nconst SkeletonContainer = styled(View)`\n overflow: hidden;\n`;\nexport interface SkeletonProps {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading, style }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <SkeletonContainer style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </SkeletonContainer>\n );\n}\n\nconst Bar = styled(Skeleton)`\n width: 100%;\n height: ${({ theme }) => theme.kitt.spacing * 2}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst Circle = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 6}px;\n`;\n\nconst Square = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 1.5}px;\n`;\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 16;\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: DefaultTheme,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (color: StoryBlockProps['background'] = 'transparent'): TypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<TypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: TypographyColor | undefined): TypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nconst StyledStoryBlockView = styled.View<StoryBlockProps>`\n padding: 16px ${storyPadding}px 0;\n margin: 0 -${storyPadding}px;\n background: ${({ theme, background }) => getBackgroundColorFromBlockColor(theme, background)};\n`;\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n return (\n <StyledStoryBlockView background={background}>\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </StyledStoryBlockView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nconst StoryTitleContainer = styled.View`\n margin-bottom: 30px;\n`;\n\nconst StorySubTitleContainer = styled.View`\n margin-bottom: 10px;\n`;\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </StoryTitleContainer>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </StoryTitleContainer>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nconst StoryContainer = styled.ScrollView`\n padding: ${storyPadding}px;\n`;\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <StoryContainer contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </StoryContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\n\ninterface StyledSectionProps extends ViewProps {}\n\nconst StyledSection = styled.View<StyledSectionProps>`\n margin-bottom: 32px;\n`;\n\nexport interface StorySectionProps extends ViewProps {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <StyledSection {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </StyledSection>\n );\n}\n\nconst StyledSubSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledSubSection {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </StyledSubSection>\n );\n}\n\nconst StyledBlockSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledBlockSection {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </StyledBlockSection>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nconst StyledDemoSection = styled.View`\n margin-bottom: 64px;\n`;\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <StyledDemoSection>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </StyledDemoSection>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '..';\nimport { StoryTitle } from './StoryTitle';\n\nconst SmallScreenRow = styled.View`\n flex-direction: column;\n margin: 0;\n`;\n\nconst SmallScreenCol = styled.View`\n padding: 8px 0 16px;\n`;\n\nconst FlexRow = styled.View`\n flex-direction: row;\n margin: 0 -4px 16px;\n`;\n\nconst FlexCol = styled.View`\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 8px;\n`;\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO use useBreakpoint instead\n const { width } = useWindowDimensions();\n const breakpointValue = breakpoint === 'small' ? 480 : 768;\n\n if (width < breakpointValue) {\n return (\n <SmallScreenRow>\n {Children.map(children, (child) => (\n <SmallScreenCol>{child}</SmallScreenCol>\n ))}\n </SmallScreenRow>\n );\n }\n\n return (\n <FlexRow>\n {Children.map(children, (child) => (\n <FlexCol>{child}</FlexCol>\n ))}\n </FlexRow>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth}px;\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius}px;\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(false);\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { TooltipPosition } from './Tooltip';\n\nconst StyledTooltipView = styled.View`\n align-items: center;\n`;\n\nconst StyledTooltipContent = styled.View`\n background-color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n border-radius: ${({ theme }) => theme.kitt.tooltip.borderRadius}px;\n opacity: ${({ theme }) => theme.kitt.tooltip.opacity};\n padding: ${({ theme }) => `${theme.kitt.tooltip.verticalPadding}px ${theme.kitt.tooltip.horizontalPadding}px`};\n`;\n\ninterface StyledArrowProps {\n $position: TooltipPosition;\n}\n\nfunction ArrowView(props: ViewProps): ReactElement {\n const theme = useTheme();\n return (\n <View {...props}>\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} />\n </View>\n );\n}\n\nconst StyledArrow = styled(ArrowView)<StyledArrowProps>`\n color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n transform: ${({ $position }) => `rotate(${$position === 'bottom' ? 180 : 0}deg)`};\n`;\n\nexport interface TooltipViewProps {\n children: NonNullable<ReactNode>;\n position: TooltipPosition;\n}\n\nexport function TooltipView({ children, position }: TooltipViewProps): ReactElement {\n return (\n <StyledTooltipView>\n {position === 'bottom' ? <StyledArrow $position={position} /> : null}\n <StyledTooltipContent>\n <Typography.Text base=\"body\" color=\"white\">\n {children}\n </Typography.Text>\n </StyledTooltipContent>\n {position === 'top' ? <StyledArrow $position={position} /> : null}\n </StyledTooltipView>\n );\n}\n","import type { TooltipProps } from '..';\nimport type { TooltipPosition } from './Tooltip';\n\nexport const tooltipDefaultPosition: TooltipPosition = 'top';\nexport const tooltipDefaultFloatingStrategy: TooltipProps['floatingStrategy'] = {\n web: 'absolute',\n};\n","import { flip, offset, shift, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport { TooltipView } from './TooltipView';\nimport { tooltipDefaultPosition } from './tooltipUtils';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\n// Since the tooltip use absolute positionning, we need a parent to provide the relative root\nconst TooltipContainer = styled.View`\n position: relative;\n align-self: baseline;\n`;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n // eslint-disable-next-line react/no-unused-prop-types\n fullWidth?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n // eslint-disable-next-line react/no-unused-prop-types\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onUpdate?: (tooltipConfig: any) => void;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = tooltipDefaultPosition,\n content,\n floatingPadding,\n onUpdate,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const padding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const pressed = useSharedValue(defaultVisible);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n };\n });\n\n const handlePress = (): void => {\n pressed.value = !pressed.value;\n };\n\n const { x, y, reference, floating, update, refs, middlewareData } = useFloating({\n placement: position,\n middleware: [offset(padding), shift(), flip({ padding })],\n });\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x,\n y,\n reference,\n floating,\n strategy: 'absolute',\n update,\n refs,\n middlewareData,\n });\n }, [x, y, reference, floating, update, refs, middlewareData, onUpdate]);\n\n return (\n <TooltipContainer>\n <View ref={reference}>\n <Pressable accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n style={{\n ...StyleSheet.absoluteFillObject,\n top: y && position === 'bottom' ? y : undefined,\n bottom: y && position === 'top' ? y : undefined,\n left: x ?? 0,\n }}\n >\n <Animated.View style={[opacityStyles]}>\n <TooltipView position={position}>{content}</TooltipView>\n </Animated.View>\n </View>\n </TooltipContainer>\n );\n}\n\nTooltip.View = TooltipView;\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Emoji } from '../Emoji/Emoji';\nimport type { TypographyBreakpointTypesProps } from './Typography';\nimport {\n getTypographyTypeConfig,\n getTypographyTypeConfigKey,\n useTypographyTypeForCurrentWindowSize,\n} from './Typography';\n\nconst StyledTypographyEmoji = styled(Emoji)`\n align-self: center;\n\n ${({ size }) => {\n if (Platform.OS !== 'web') return undefined;\n\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n return `\n margin: 0 ${size / 20}px 0 ${size / 10}px;\n transform: translateY(${(size / 10) * 2}px);\n `;\n }}\n`;\n\nexport interface TypographyEmojiProps extends TypographyBreakpointTypesProps {\n emoji: string;\n}\n\nexport function TypographyEmoji({ emoji, base, small, medium, large }: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const typeForCurrentWindowSize = useTypographyTypeForCurrentWindowSize(base, small, medium, large);\n const typeConfig = getTypographyTypeConfig(typeForCurrentWindowSize || 'body', theme);\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n const { fontSize } = typeConfig[typeConfigKey];\n\n return <StyledTypographyEmoji size={fontSize} emoji={emoji} />;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n theme: DefaultTheme;\n $hasNoUnderline?: boolean;\n}\n\nconst TypographyLinkWebWrapper = withTheme(styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`);\n\ninterface StyledLinkProps {\n $disabled?: boolean;\n $hasNoUnderline?: boolean;\n}\n\nconst StyledLink = styled.Text<StyledLinkProps & TextProps>`\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')};\n\n ${({ $disabled }) => {\n if (Platform.OS !== 'web') return undefined;\n\n return `\n text-decoration-color: inherit;\n transition: color 0.2s ease-in-out;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n `;\n }};\n\n ${({ $disabled, theme }) => {\n if (!$disabled) return undefined;\n return `color: ${theme.kitt.typography.link.disabledColor};`;\n }};\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <Typography {...otherProps} accessibilityRole=\"none\">\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <StyledLink\n $disabled={disabled}\n $hasNoUnderline={noUnderline}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n onPress={disabled ? undefined : onPress}\n >\n {children}\n </StyledLink>\n </StyleWebWrapper>\n </Typography>\n );\n}\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ children }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>;\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return <KittThemeProvider>{storyFn(context) as ReactNode}</KittThemeProvider>;\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n"],"names":["defaultIconSize","IconContainer","styled","View","$color","$size","$align","Icon","icon","size","align","color","clonedIcon","cloneElement","_jsx","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","IsHeaderTypographyContext","createContext","undefined","TypographyColorContext","useTypographyColor","useContext","getTypographyTypeConfigKey","theme","isMediumOrAbove","responsive","matchWindowSize","minWidth","isTypeHeader","type","startsWith","isTypographyHeader","typographyIsHeaderInContext","Error","getTypographyTypeConfig","kitt","typography","types","headers","configs","bodies","StyledTypography","Text","$isHeader","$typeForCurrentWindowSize","$variant","typeConfigKey","fontFamily","fontSize","lineHeight","fontWeight","fontStyle","css","colors","useTypographyTypeForCurrentWindowSize","base","small","medium","large","useWindowDimensions","width","getTypographyInheritedOrDefaultValuesBasedOnExistingAncestors","hasTypographyAncestor","Typography","accessibilityRole","variant","otherProps","isHeaderTypographyInContext","baseOrDefaultToBody","colorOrDefaultToBlack","typeForCurrentWindowSize","isHeader","nonNullableVariant","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","getInitials","firstname","lastname","toUpperCase","StyledAvatarView","$isRound","$sizeVariant","avatar","borderRadius","$isLight","light","backgroundColor","AvatarContent","src","alt","isLight","sizeVariant","uri","height","Avatar","round","hasVariant","button","getVariantValuesIfExist","StyledPressable","Pressable","$isStretch","StyledAnimatedView","Animated","AnimatedButtonPressable","forwardRef","ref","children","disabled","$type","href","hrefAttrs","testID","onPress","useTheme","pressed","useSharedValue","pressedBackgroundColor","scale","scaleStyles","useAnimatedStyle","interpolateColor","value","transform","withSpring","active","handlePressInOut","pressIn","BaseStyledButtonPressable","maxWidth","minHeight","$isDisabled","$isLarge","$isXLarge","contentPadding","defaultPadding","disabledPadding","xLarge","TypographyIconSpecifiedColor","TypographyIconInheritColor","TypographyIcon","isSubtle","getTextColorByType","StyledButtonText","StyledIconContainer","$iconPosition","spacing","ButtonIcon","iconPosition","StyledChildrenWithIcon","ButtonContentChildren","isDisabled","isWebSubtle","buttonIconSharedProps","_jsxs","ButtonContentContainer","$isIconOnly","$isSubtle","ButtonContent","Boolean","StyledDisabled","borderWidth","borderColor","allowedGhostTypes","Button","stretch","__DEV__","includes","Container","card","Card","StyledEmoji","Image","Emoji","emoji","style","useMemo","parse","assetType","emojiData","text","url","defaultOpenLinkBehavior","web","ExternalLink","Component","as","openLinkBehavior","rest","handleOnPress","e","defaultPrevented","WebBrowser","err","console","error","Linking","openURL","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","transparent","moonPurple","moonPurpleLight1","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","fullscreenLoader","focus","transition","duration","timingFunction","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","secondary","feedbackMessage","checkbox","iconSize","checkedBorderColor","checkedBackgroundColor","markColor","datePicker","day","month","year","calcLineHeight","lineHeightMultiplier","Math","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","mediumAndWide","kittColors","regular","bold","header1","header2","header3","header4","header5","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","padding","horizontal","vertical","property","states","inputField","labelContainerPaddingBottom","iconMarginLeft","inputTag","labelColor","radio","unchecked","checked","innerSize","innerBackgroundColor","textArea","forms","fullScreenModal","header","paddingVertical","paddingHorizontal","iconButton","listItem","innerMargin","pageLoader","strokeWidth","fill","animation","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","shadows","skeleton","flareColor","animationDuration","tag","outline","tooltip","opacity","horizontalPadding","verticalPadding","floatingPadding","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","createWindowSizeHelper","dimensions","ifWindowSizeMatches","valueIfTrue","valueIfFalse","mapWindowWidth","widthList","slice","forEach","index","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","CheckboxAndLabelPressableWrapper","CheckboxContainer","$isChecked","$hasLabel","Checkbox","onChange","onBlur","onFocus","hitSlop","id","handlePress","getInputUIState","isFocused","formState","styledTextInputMixin","$state","StyledTypographyText","ViewInput","$partName","DatePickerInputPart","partName","prefixWithZero","padStart","PartContainer","$isLast","DatePickerPressable","DatePickerInputs","state","internalForceState","handleModalOpen","currentValue","currentState","sharedPartProps","getDate","getMonth","getFullYear","DatePickerAndroid","pickerDefaultDate","pickerUITestID","setIsFocused","setCurrentValue","handleClose","DateTimePickerAndroid","open","Date","now","timestamp","nativeEvent","date","onTouchCancel","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","BodyView","ModalBody","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapper","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","IconButtonContentBorder","IconButtonContent","IconButton","OnCloseContext","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","left","right","onClose","ModalView","ContentView","Modal","visible","onEntered","onExited","NativeModal","Header","Body","Footer","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","_event","ModalTitle","ModalPlatformDateTimePicker","title","isVisible","validateButtonLabel","useState","handleChange","newDate","prev","handleSubmit","DatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","InputTextContainer","StyledTextInput","TextInput","multiline","$minHeight","RightInputContainer","InputText","autoCorrect","textContentType","autoCompleteType","keyboardType","onSubmitEditing","InputEmail","getColorFromState","InputFeedback","FieldContainer","FeedbackContainer","FieldLabelContainer","LabelContainer","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","InputPhone","getTypographyColor","InputTagContainer","InputTag","typographyColor","Label","htmlFor","OuterRadio","SelectedOuterRadio","SelectedInnerRadio","Radio","TextArea","FullScreenModalBody","SideContainer","side","getHeaderHorizontalMediumPadding","insetTop","paddingTop","HeaderContent","leftWidth","rightWidth","windowWidth","sideElementMaxWidth","parentHorizontalPadding","parentHorizontalPaddingMedium","computeWidth","breakpointPadding","deltaMargin","abs","FullScreenModalHeader","useSafeAreaInsets","top","setLeftWidth","setRightWidth","handleLayoutChange","event","persist","layout","FullScreenModal","SpinningIcon","process","env","NODE_ENV","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","ListItemContent","SideContainerView","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Wrapper","Fragment","wrapperProps","containerProps","Content","SideContent","LoaderIcon","IconContent","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","StyledDismissWrapper","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","Message","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","progress","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","x1","y1","x2","y2","withDelay","withTiming","bezier","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","AnimatedLinearGradient","LinearGradient","SkeletonContent","isLoading","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","SkeletonContainer","Skeleton","setWidth","Bar","Square","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","direction","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StyledStoryBlockView","background","StoryBlock","StoryTitleContainer","StorySubTitleContainer","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","StoryContainer","ScrollView","Story","contentContainerStyle","StyledSection","StorySection","internalIsDemoSection","StyledSubSection","SubSection","StyledBlockSection","BlockSection","StyledDemoSection","DemoSection","Demo","DeprecatedSection","platform","StoryDecorator","storyFn","context","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","Children","map","child","StoryGridCol","titleColor","isNative","StoryGrid","Row","Col","getLabelColor","Tag","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","defaultValue","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","StyledTooltipView","StyledTooltipContent","ArrowView","StyledArrow","$position","TooltipView","position","tooltipDefaultPosition","TooltipContainer","Tooltip","defaultVisible","onUpdate","useFloating","placement","middleware","offset","shift","flip","reference","floating","update","refs","middlewareData","strategy","bottom","StyledTypographyEmoji","TypographyEmoji","typeConfig","TypographyLinkWebWrapper","StyledLink","$hasNoUnderline","$disabled","TypographyLink","noUnderline","hex2rgba","hex","alpha","r","parseInt","g","b","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","withTheme","WrappedComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index-browser-all.es.android.js","sources":["../src/Icon/Icon.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Avatar/Avatar.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/AnimatedButtonPressable.tsx","../src/Button/BaseStyledButtonPressable.tsx","../src/typography/TypographyIcon.tsx","../src/Button/isSubtle.ts","../src/Button/ButtonContent.tsx","../src/Button/StyledDisabled.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Emoji/Emoji.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/avatar.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/feedback.ts","../src/themes/late-ocean/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullScreenModal.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/default.ts","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/forms/Checkbox/Checkbox.tsx","../src/forms/utils.ts","../src/forms/styledTextInputMixin.ts","../src/forms/DatePicker/DatePickerInputPart.tsx","../src/forms/DatePicker/DatePickerInputs.tsx","../src/forms/DatePicker/DatePickerAndroid.tsx","../src/Overlay/Overlay.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButton.tsx","../src/IconButton/PressableAnimatedContainer.tsx","../src/IconButton/IconButton.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/forms/DatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/Radio.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullScreenModal/Body.tsx","../src/FullScreenModal/Header.tsx","../src/FullScreenModal/FullScreenModal.tsx","../src/Icon/SpinningIcon.tsx","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/Picker.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/useTimePicker.ts","../src/TimePicker/TimePicker.tsx","../src/Tooltip/TooltipView.tsx","../src/Tooltip/tooltipUtils.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLink.tsx","../src/utils/hexToRgba.ts","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/withTheme.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: number;\n color: string;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\ninterface IconContainerProps {\n $align?: ViewStyle['alignSelf'];\n $size: number;\n $color: string;\n}\n\nexport const defaultIconSize = 20;\n\nexport const IconContainer = styled.View<IconContainerProps>`\n color: ${({ $color }) => $color};\n width: ${({ $size }) => $size}px;\n height: ${({ $size }) => $size}px;\n align-self: ${({ $align = 'auto' }) => $align};\n`;\n\nexport function Icon({ icon, size = defaultIconSize, align, color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <IconContainer $align={align} $size={size} $color={color}>\n {clonedIcon}\n </IconContainer>\n );\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = typeof KittBreakpoints[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = typeof KittBreakpointsMax[keyof typeof KittBreakpointsMax];\n","import type { FC, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled, { css } from 'styled-components/native';\nimport type { Except, SetOptional } from 'type-fest';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { KittTheme } from '../useKittTheme';\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\nexport type TypographyColor =\n | 'black'\n | 'black-anthracite'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport const getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nconst isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n typographyIsHeaderInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (typographyIsHeaderInContext != null) return typographyIsHeaderInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n\nexport function getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface StyledTypographyProps {\n $textAlign?: TextStyle['textAlign'];\n accessibilityRole: TextProps['accessibilityRole'] | 'paragraph';\n $isHeader: boolean;\n $typeForCurrentWindowSize?: TypographyType;\n $variant: TypographyVariant;\n $color?: TypographyColor;\n}\n\nconst StyledTypography = styled.Text<StyledTypographyProps>`\n ${({ $textAlign }) => {\n if (!$textAlign) return undefined;\n\n return css`\n text-align: ${$textAlign};\n `;\n }};\n\n /* font */\n ${({ theme, $isHeader, $typeForCurrentWindowSize, $variant }) => {\n const { headers, bodies } = theme.kitt.typography.types;\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n\n return css`\n /* type */\n ${!$typeForCurrentWindowSize\n ? ''\n : css`\n font-family: ${$isHeader ? headers.fontFamily[$variant] : bodies.fontFamily[$variant]};\n font-size: ${$isHeader\n ? headers.configs[$typeForCurrentWindowSize as TypographyHeaderType][typeConfigKey].fontSize\n : bodies.configs[$typeForCurrentWindowSize as TypographyBodyType][typeConfigKey].fontSize}px;\n line-height: ${$isHeader\n ? headers.configs[$typeForCurrentWindowSize as TypographyHeaderType][typeConfigKey].lineHeight\n : bodies.configs[$typeForCurrentWindowSize as TypographyBodyType][typeConfigKey].lineHeight}px;\n `}\n\n /* variant */\n font-weight: ${$isHeader ? headers.fontWeight : bodies.fontWeight[$variant]};\n font-style: ${$isHeader ? headers.fontStyle : bodies.fontStyle[$variant]};\n `;\n }}\n\n /* color */\n ${({ theme, $color }) => {\n if (!$color) return '';\n\n return css`\n color: ${theme.kitt.typography.colors[$color]};\n text-decoration-color: ${theme.kitt.typography.colors[$color]};\n `;\n }}\n`;\n\nexport interface TypographyBreakpointTypesProps {\n /** base type. Inherited from parent Typography if not specified */\n base?: TypographyType;\n /** small type. use base if undefined */\n small?: TypographyType;\n /** medium type. use small or base if undefined */\n medium?: TypographyType;\n /** large type. use medium or small or base if undefined */\n large?: TypographyType;\n}\n\nexport interface TypographyProps extends TypographyBreakpointTypesProps, Except<TextProps, 'accessibilityRole'> {\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: TypographyColor;\n children: ReactNode;\n textAlign?: TextStyle['textAlign'];\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function useTypographyTypeForCurrentWindowSize(\n base: TypographyType | undefined,\n small: TypographyType | undefined,\n medium: TypographyType | undefined,\n large: TypographyType | undefined,\n): TypographyType | undefined {\n const { width } = useWindowDimensions();\n if (large && width >= KittBreakpoints.LARGE) return large;\n if (medium && width >= KittBreakpoints.MEDIUM) return medium;\n if (small && width >= KittBreakpoints.SMALL) return small;\n return base;\n}\n\ntype GetTypographyInheritedOrDefaultValuesBasedOnExistingAncestorsProps = Pick<TypographyProps, 'base' | 'color'>;\n\nexport function getTypographyInheritedOrDefaultValuesBasedOnExistingAncestors(\n hasTypographyAncestor: boolean,\n { base, color }: GetTypographyInheritedOrDefaultValuesBasedOnExistingAncestorsProps,\n): GetTypographyInheritedOrDefaultValuesBasedOnExistingAncestorsProps {\n // return the props set or undefined. In case of undefined, the value will be inherited from its parents.\n if (hasTypographyAncestor) return { base, color };\n\n return {\n base: base ?? 'body',\n color: color ?? 'black',\n };\n}\n\nexport function Typography({\n accessibilityRole,\n base,\n small,\n medium,\n large,\n variant,\n color,\n textAlign,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n const hasTypographyAncestor = isHeaderTypographyInContext !== undefined;\n const { base: baseOrDefaultToBody, color: colorOrDefaultToBlack } =\n getTypographyInheritedOrDefaultValuesBasedOnExistingAncestors(hasTypographyAncestor, {\n base,\n color,\n });\n const typeForCurrentWindowSize = useTypographyTypeForCurrentWindowSize(baseOrDefaultToBody, small, medium, large);\n const isHeader = isTypographyHeader(typeForCurrentWindowSize, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n\n const sharedProps = {\n $color: colorOrDefaultToBlack,\n $isHeader: isHeader,\n $variant: nonNullableVariant,\n accessibilityRole: (accessibilityRole as TextProps['accessibilityRole']) || undefined,\n $textAlign: textAlign,\n ...otherProps,\n };\n\n const content = baseOrDefaultToBody ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>\n <StyledTypography {...sharedProps} $typeForCurrentWindowSize={typeForCurrentWindowSize} {...otherProps} />\n </IsHeaderTypographyContext.Provider>\n ) : (\n <StyledTypography {...sharedProps} />\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Image } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { Typography } from '../typography/Typography';\n\nconst getInitials = (firstname: string, lastname: string): string => `${firstname[0]}${lastname[0]}`.toUpperCase();\n\nexport type AvatarSizeVariant = 'large';\n\nexport interface StyledAvatarViewProps {\n $size: number;\n $isRound?: boolean;\n $isLight?: boolean;\n $sizeVariant?: AvatarSizeVariant;\n}\n\nconst StyledAvatarView = styled.View<StyledAvatarViewProps>`\n border-radius: ${({ theme, $isRound, $size, $sizeVariant }) => {\n if ($isRound) return `${$size / 2}px`;\n\n return `${$sizeVariant === 'large' ? theme.kitt.avatar.large.borderRadius : theme.kitt.avatar.borderRadius}px`;\n }};\n background-color: ${({ theme, $isLight }) =>\n $isLight ? theme.kitt.avatar.light.backgroundColor : theme.kitt.avatar.default.backgroundColor};\n height: ${({ $size }) => $size}px;\n width: ${({ $size }) => $size}px;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n`;\n\ninterface AvatarContentProps extends Exclude<AvatarProps, 'light | round'> {\n size: NonNullable<number>;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({\n size,\n src,\n firstname,\n lastname,\n alt,\n isLight,\n sizeVariant,\n}: AvatarContentProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} style={{ width: size, height: size }} accessibilityLabel={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={size / 2} />;\n}\nexport interface AvatarProps {\n size?: number;\n src?: string | null;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size = 40, round, light, sizeVariant, ...props }: AvatarProps): ReactElement {\n return (\n <StyledAvatarView $size={size} $isRound={round} $isLight={light} $sizeVariant={sizeVariant}>\n <AvatarContent size={size} isLight={light} sizeVariant={sizeVariant} {...props} />\n </StyledAvatarView>\n );\n}\n","import type { DefaultTheme } from 'styled-components/native';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: DefaultTheme,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport Animated, { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface StyledPressableProps extends PressableProps {\n $isStretch?: boolean;\n $type: ButtonType;\n}\n\nconst StyledPressable = styled.Pressable<StyledPressableProps>`\n ${({ $isStretch }) => {\n if ($isStretch) return undefined;\n\n return 'align-self: flex-start;';\n }}\n`;\n\nconst StyledAnimatedView = styled(Animated.View)`\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n\nexport interface AnimatedButtonPressableProps extends PressableProps {\n accessibilityRole: NonNullable<PressableProps['accessibilityRole']>;\n $type: ButtonType;\n $variant: ButtonVariant;\n $isStretch?: boolean;\n}\n\nexport const AnimatedButtonPressable = forwardRef<View, AnimatedButtonPressableProps>(\n (\n {\n children,\n disabled,\n accessibilityRole,\n $type,\n $variant,\n $isStretch,\n href,\n hrefAttrs,\n testID,\n onPress,\n }: AnimatedButtonPressableProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, $type, $variant);\n const { scale } = theme.kitt.button;\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressInOut = (pressIn: boolean): void => {\n color.value = withSpring(pressIn ? 1 : 0);\n pressed.value = pressIn ? 1 : 0;\n };\n\n return (\n <StyledPressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n $isStretch={$isStretch}\n $type={$type}\n onPress={onPress}\n onPressIn={() => {\n handlePressInOut(true);\n }}\n onPressOut={() => {\n handlePressInOut(false);\n }}\n >\n <StyledAnimatedView style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n {children}\n </StyledAnimatedView>\n </StyledPressable>\n );\n },\n);\n","import type { ViewProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { ButtonType, ButtonVariant } from './Button';\nimport { getVariantValuesIfExist } from './getVariantValuesIfExist';\n\nexport interface BaseStyledButtonPressableProps extends ViewProps {\n $type: ButtonType;\n $variant: ButtonVariant;\n $isLarge?: boolean;\n $isXLarge?: boolean;\n $isStretch?: boolean;\n $isDisabled?: boolean;\n}\n\nexport const BaseStyledButtonPressable = styled.View<BaseStyledButtonPressableProps>`\n position: relative;\n min-width: ${({ theme }) => theme.kitt.button.minWidth}px;\n max-width: ${({ theme, $isStretch }) => ($isStretch ? '100%' : `${theme.kitt.button.maxWidth}px`)};\n width: ${({ $isStretch }) => ($isStretch ? '100%' : 'auto')};\n min-height: ${({ theme }) => theme.kitt.button.minHeight}px;\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n /* Emulate inline-* css display by making the button taking only its necessary space */\n align-self: flex-start;\n\n background-color: ${({ theme, $isDisabled, $type, $variant }) => {\n if ($isDisabled) return theme.kitt.button.disabled.default.backgroundColor;\n\n if (Platform.OS !== 'web') return 'transparent';\n\n return getVariantValuesIfExist(theme, $type, $variant).backgroundColor;\n }};\n\n padding: ${({ theme, $isLarge, $isXLarge, $isDisabled }) => {\n const { large, default: defaultPadding, disabled: disabledPadding, xLarge } = theme.kitt.button.contentPadding;\n\n if ($isXLarge) return xLarge;\n if ($isLarge) return large;\n if ($isDisabled) return disabledPadding;\n\n return defaultPadding;\n }};\n`;\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({ color, ...props }: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const theme = useTheme();\n return <Icon {...props} color={color === 'inherit' ? 'inherit' : theme.kitt.typography.colors[color]} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { ButtonType, SubtleButtonType } from './Button';\n\nexport function isSubtle(type: ButtonType): type is SubtleButtonType {\n return type.startsWith('subtle');\n}\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { TypographyColor, TypographyTextProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { isSubtle } from './isSubtle';\n\nconst getTextColorByType = (type: ButtonType, variant: ButtonVariant): TypographyColor => {\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'white':\n return 'white';\n case 'subtle':\n return 'primary';\n case 'subtle-dark':\n return 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n\ninterface StyledButtonTextProps extends TypographyTextProps {\n $type: ButtonType;\n $isDisabled?: boolean;\n}\n\nconst StyledButtonText = styled(Typography.Text)<StyledButtonTextProps>`\n /* On native code, this is the only way to ensure that the text is centered */\n text-align: center;\n\n ${() => {\n // Make the multilines case work properly on native\n // Breaks the web implem\n if (Platform.OS === 'web') return undefined;\n\n return `\n flex-shrink: 1;\n `;\n }}\n\n ${({ $type, $isDisabled }) => {\n /* For subltes button, color changes when hovered.\n * We don't want to use a mouse event handler with a react state to handle it\n * For this precise case, we've decided to work outside the typography logic\n */\n if (Platform.OS !== 'web' || $isDisabled || !isSubtle($type)) return undefined;\n return 'color: inherit';\n }}\n`;\n\ninterface StyledIconContainerProps {\n $iconPosition?: ButtonProps['iconPosition'];\n}\n\nconst StyledIconContainer = styled.View<StyledIconContainerProps>`\n ${({ theme, $iconPosition }) => {\n const value = theme.kitt.spacing * 2;\n\n if ($iconPosition === 'left') {\n return `margin: 0 ${value}px 0 0;`;\n }\n\n return `margin: 0 0 0 ${value}px;`;\n }}\n`;\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <StyledIconContainer $iconPosition={iconPosition}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </StyledIconContainer>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n $isStretch: ButtonProps['stretch'];\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nconst StyledChildrenWithIcon = styled.View`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n`;\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n isDisabled,\n color,\n children,\n}: ButtonContentChildrenProps): ReactElement | null {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n const isWebSubtle = isSubtle(type) && Platform.OS === 'web' && !isDisabled;\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={isWebSubtle ? 'inherit' : color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color: isWebSubtle ? 'inherit' : (color as TypographyIconProps['color']),\n };\n\n return (\n <StyledChildrenWithIcon>\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button-left-icon\" icon={icon} />\n ) : null}\n\n <StyledButtonText\n base=\"body\"\n variant=\"bold\"\n $type={type}\n $isDisabled={isDisabled}\n // set to color: inherit via styled components\n color={isWebSubtle ? undefined : color}\n >\n {children}\n </StyledButtonText>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </StyledChildrenWithIcon>\n );\n}\n\ninterface ButtonContentContainerProps {\n $isSubtle?: boolean;\n $isStretch?: boolean;\n $isIconOnly?: boolean;\n}\n\nconst ButtonContentContainer = styled.View<ButtonContentContainerProps>`\n line-height: 16px;\n\n ${({ $isStretch, $isIconOnly }) => {\n // Make the multilines case work properly on web\n // Breaks the native implem\n if (Platform.OS !== 'web') return undefined;\n\n return `\n flex: ${$isStretch || $isIconOnly ? 1 : 0} 1 auto;\n `;\n }}\n\n ${({ $isSubtle }) => {\n if (Platform.OS !== 'web' || !$isSubtle) return undefined;\n // Needed for subtle type\n return 'color: inherit';\n }};\n`;\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n $isStretch,\n icon,\n children,\n ...props\n}: ButtonContentProps): ReactElement {\n const color = isDisabled ? 'black-light' : getTextColorByType(type, variant);\n\n return (\n <ButtonContentContainer $isSubtle={isSubtle(type)} $isStretch={$isStretch} $isIconOnly={Boolean(!children && icon)}>\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </ButtonContentContainer>\n );\n}\n","import styled from 'styled-components/native';\n\nexport const StyledDisabled = styled.View`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${({ theme }) => {\n const { borderWidth, disabled } = theme.kitt.button;\n return `${borderWidth.disabled}px solid ${disabled.default.borderColor}`;\n }};\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius}px;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, View } from 'react-native';\nimport { Platform } from 'react-native';\nimport { AnimatedButtonPressable } from './AnimatedButtonPressable';\nimport { BaseStyledButtonPressable } from './BaseStyledButtonPressable';\nimport { ButtonContent } from './ButtonContent';\nimport { StyledDisabled } from './StyledDisabled';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'white';\n\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default'];\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: boolean;\n large?: boolean;\n xLarge?: boolean;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n className?: string;\n style?: PressableProps['style'];\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<View, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n onPress,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n return (\n <AnimatedButtonPressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n disabled={disabled}\n $isStretch={stretch}\n $type={type}\n $variant={variant}\n onPress={onPress}\n >\n <BaseStyledButtonPressable\n $type={type}\n $variant={variant}\n $isStretch={stretch}\n $isLarge={large}\n $isXLarge={xLarge}\n $isDisabled={disabled}\n >\n <ButtonContent\n type={type}\n variant={variant}\n $isStretch={stretch}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n >\n {children}\n </ButtonContent>\n {Platform.OS !== 'web' && disabled ? <StyledDisabled /> : null}\n </BaseStyledButtonPressable>\n </AnimatedButtonPressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\ntype CardType = 'primary' | 'secondary' | 'subtle';\n\nexport interface CardProps {\n children: NonNullable<ReactNode>;\n type: CardType;\n}\ninterface ContainerProps {\n type: CardType;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type }) => theme.kitt.card[type].backgroundColor};\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n border-width: ${({ theme }) => theme.kitt.card.borderWidth}px;\n border-color: ${({ theme, type }) => theme.kitt.card[type].borderColor};\n`;\n\nexport function Card({ children, type }: CardProps): ReactElement {\n return <Container type={type}>{children}</Container>;\n}\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { parse } from 'twemoji-parser';\n\ninterface StyledEmojiProps {\n size: number;\n}\n\nconst StyledEmoji = styled.Image<StyledEmojiProps>`\n width: ${({ size }) => size}px;\n height: ${({ size }) => size}px;\n`;\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number;\n}\n\nexport function Emoji({ emoji, size, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return <StyledEmoji size={size} accessibilityLabel={emojiData.text} source={{ uri: emojiData.url }} style={style} />;\n}\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport type { ComponentProps, ReactElement, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e?.defaultPrevented) return;\n }\n\n if (!href) return;\n\n switch (openLinkBehavior.native) {\n case 'openInModal':\n case undefined:\n WebBrowser.openBrowserAsync(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n case 'openBrowserApp':\n Linking.openURL(href).catch((err) => {\n console.error(`An error occurred while opening ${href}`, err);\n });\n break;\n default:\n if (__DEV__) {\n throw new Error(`Invalid ExternalLink native behavior: ${openLinkBehavior.native as string}`);\n }\n }\n };\n\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black800: '#2C293D',\n black555: '#737373',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n info: lateOceanColorPalette.aero,\n warning: lateOceanColorPalette.goldCrayola,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black1000,\n blackAnthracite: lateOceanColorPalette.black800,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette.black50,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n fullscreenLoader: 'rgba(0, 0, 0, 0.25)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n white: BaseButtonTheme;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n white: {\n default: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n checkedBorderColor: colors.primary,\n checkedBackgroundColor: colors.primary,\n markColor: colors.uiBackgroundLight,\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import { Platform } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nexport const createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier),\n },\n});\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n },\n types: {\n headers: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n bold: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',\n bold: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold',\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n disabledColor: lateOceanColorPalette.black200,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: keyof typeof typography.colors;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n pending: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n color: 'black',\n },\n valid: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n color: 'black',\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: 'black',\n },\n focus: {\n borderColor: colors.primary,\n color: 'black',\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n color: 'black-light',\n },\n invalid: {\n borderColor: colors.separator,\n color: 'black',\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: colors.primary,\n placeholder: typography.colors['black-light'],\n },\n borderWidth: 2,\n borderRadius: 10,\n icon: {\n size: 20,\n },\n padding: {\n horizontal: 16,\n vertical: 5,\n },\n transition: {\n property: 'border-color',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n labelContainerPaddingBottom: 5,\n iconMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n backgroundColor: colors.uiBackgroundLight,\n borderWidth: 2,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","import { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { textArea } from './textArea';\n\nexport const forms = {\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const fullScreenModal = {\n header: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1);',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: button.white.default.hoverBackgroundColor,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n padding: string;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoader: PageLoaderTheme = {\n size: 60,\n strokeWidth: 3,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: 500,\n circleBackgroundFillDuration: 1000,\n filledCircleFillDuration: 1800,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: 2160,\n fillEasingFunction: [0.39, 0.575, 0.565, 1],\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n padding: string;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n android: {\n padding: '12px 24px',\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n};\n","export const shadows = {\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n}\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: lateOceanColorPalette.black100,\n flareColor: lateOceanColorPalette.black200,\n animationDuration: 1000,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n padding: string;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: lateOceanColorPalette.warmEmbrace,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: colors.black,\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 4,\n floatingPadding: 8,\n};\n","import { avatar } from './late-ocean/avatar';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { colors } from './late-ocean/colors';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullScreenModal } from './late-ocean/fullScreenModal';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing: 4,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n card,\n feedbackMessage,\n forms,\n fullScreenModal,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n};\n\nexport type Theme = typeof theme;\n","import { useWindowDimensions } from 'react-native';\nimport type { WindowDimensions } from './createWindowSizeHelper';\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","// eslint-disable-next-line no-restricted-imports\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /** Prefer using if or map variants, at it should be more web friendly */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | FlattenSimpleInterpolation | null>(\n options: MatchWindowSizeOptions,\n valueIfTrue: T,\n valueIfFalse?: T,\n ) => T | undefined;\n\n /**\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport function createWindowSizeHelper(dimensions: WindowDimensions): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(dimensions, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(dimensions, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) => matchWindowSize(dimensions, { minWidth: Number(minWidth) }));\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n responsive: WindowSizeHelper;\n}\n\nexport function useKittTheme(): KittTheme {\n const dimensions = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(dimensions) };\n }, [dimensions]);\n}\n","import { CheckboxMark } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { Icon } from '../../Icon/Icon';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface CheckboxContainerProps {\n $isChecked: boolean;\n $hasLabel: boolean;\n}\n\nconst CheckboxAndLabelPressableWrapper = styled.Pressable`\n display: flex;\n flex-direction: row;\n`;\n\nconst CheckboxContainer = styled.View<CheckboxContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n height: ${({ theme }) => theme.kitt.forms.checkbox.height}px;\n width: ${({ theme }) => theme.kitt.forms.checkbox.width}px;\n position: relative;\n border-radius: ${({ theme }) => theme.kitt.forms.checkbox.borderRadius}px;\n\n ${({ $isChecked, theme }) => {\n const { checkedBackgroundColor, checkedBorderColor, borderColor, borderWidth, backgroundColor } =\n theme.kitt.forms.checkbox;\n if ($isChecked) {\n return css`\n background-color: ${checkedBackgroundColor};\n border: ${`${borderWidth}px solid ${checkedBorderColor}`};\n `;\n }\n return css`\n background-color: ${backgroundColor};\n border: ${`${borderWidth}px solid ${borderColor}`};\n `;\n }}\n\n margin-right: ${({ theme, $hasLabel }) => {\n if (!$hasLabel) return '0px';\n return `${theme.kitt.spacing * 2.5}px;`;\n }};\n`;\n\nexport interface CheckboxProps {\n onChange: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n checked: boolean;\n hitSlop?: number;\n id?: PressableProps['testID'];\n children?: ReactNode;\n}\n\nexport function Checkbox({\n onChange,\n onBlur,\n onFocus,\n checked,\n hitSlop = 40,\n id,\n children,\n}: CheckboxProps): ReactElement {\n const theme = useKittTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <CheckboxAndLabelPressableWrapper\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked }}\n hitSlop={hitSlop}\n onPress={handlePress}\n >\n <CheckboxContainer $isChecked={checked} $hasLabel={!!children} testID={id}>\n {checked ? (\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMark />}\n />\n ) : null}\n </CheckboxContainer>\n\n {children}\n </CheckboxAndLabelPressableWrapper>\n );\n}\n","export type InputFormState = undefined | 'valid' | 'invalid' | 'pending';\n\nexport type InputUIState = NonNullable<InputFormState> | 'default' | 'disabled' | 'hover' | 'focus';\n\ninterface GetInputStateConfig {\n isFocused: boolean;\n isDisabled: boolean;\n formState: InputFormState;\n}\n\nexport function getInputUIState({ isFocused, isDisabled, formState }: GetInputStateConfig): InputUIState {\n if (isDisabled) return 'disabled';\n\n if (isFocused) return 'focus';\n\n if (formState === 'invalid') return 'invalid';\n\n return 'default';\n}\n","import { css } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../typography/Typography';\nimport type { InputUIState } from './utils';\n\nexport interface TextInputMixinProps {\n $state: InputUIState;\n}\n\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n background-color: ${({ theme, $state }) =>\n $state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth}px;\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius}px;\n border-color: ${({ theme, $state }) => theme.kitt.forms.input.states[$state].borderColor};\n\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize}px`;\n }};\n\n color: ${({ theme, $state }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[$state].color]};\n font-family: ${({ theme }) => theme.kitt.typography.types.bodies.fontFamily.regular};\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\n\ntype PartName = 'year' | 'month' | 'day';\n\nconst StyledTypographyText = styled(Typography.Text)`\n text-align: center;\n`;\n\ninterface ViewInputProps extends TextInputMixinProps {\n $partName?: PartName;\n}\n\nconst ViewInput = styled.View<ViewInputProps>`\n ${styledTextInputMixin}\n padding: ${({ theme }) =>\n `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`};\n\n min-height: ${({ theme }) => theme.kitt.forms.input.minHeight}px;\n min-width: ${({ theme, $partName }) => {\n if (!$partName) {\n return undefined;\n }\n\n return `${theme.kitt.forms.datePicker[$partName].minWidth}px`;\n }};\n`;\n\ninterface DatePickerInputPartProps extends TextInputMixinProps {\n disabled?: boolean;\n partName?: 'year' | 'month' | 'day';\n placeholder?: string;\n value?: ReactNode;\n}\n\nexport function DatePickerInputPart({\n $state,\n placeholder,\n value,\n partName,\n disabled,\n}: DatePickerInputPartProps): ReactElement {\n const hasContent = placeholder || value;\n\n return (\n <ViewInput $state={$state} $partName={partName}>\n {hasContent ? (\n <StyledTypographyText color={!value || disabled ? 'black-light' : undefined}>\n {value || placeholder}\n </StyledTypographyText>\n ) : null}\n </ViewInput>\n );\n}\n","import type { ReactElement } from 'react';\nimport styled, { css } from 'styled-components/native';\nimport { getInputUIState } from '../utils';\nimport { DatePickerInputPart } from './DatePickerInputPart';\nimport type { DatePickerInputsProps } from './types';\n\nfunction prefixWithZero(value: number): string {\n return `${value}`.padStart(2, '0');\n}\n\ninterface PartContainerProps {\n $isLast?: boolean;\n $isStretch?: boolean;\n}\n\nconst PartContainer = styled.View<PartContainerProps>`\n margin-right: ${({ theme, $isLast }) => (!$isLast ? `${theme.kitt.spacing * 2}px` : 0)};\n ${({ $isStretch }) =>\n $isStretch\n ? css`\n flex: 0.33;\n flex-grow: 1;\n `\n : undefined};\n`;\n\ninterface DatePickerPressableProps {\n $isStretch?: boolean;\n}\n\nconst DatePickerPressable = styled.Pressable<DatePickerPressableProps>`\n display: flex;\n flex-direction: row;\n ${({ $isStretch }) => {\n if ($isStretch) {\n return css`\n width: 100%;\n `;\n }\n\n return css`\n align-self: baseline;\n `;\n }};\n`;\n\nexport interface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport function DatePickerInputs({\n state,\n internalForceState,\n isFocused,\n disabled,\n stretch,\n id,\n testID,\n handleModalOpen,\n currentValue,\n placeholder,\n}: DatePickerInputsProps): ReactElement {\n const currentState =\n internalForceState || getInputUIState({ isFocused, isDisabled: Boolean(disabled), formState: state });\n\n const sharedPartProps = {\n disabled,\n $state: currentState,\n };\n\n return (\n <DatePickerPressable\n $isStretch={stretch}\n nativeID={id}\n disabled={disabled}\n testID={testID}\n onPress={handleModalOpen}\n >\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"day\"\n value={currentValue ? prefixWithZero(currentValue.getDate()) : undefined}\n placeholder={placeholder?.day}\n />\n </PartContainer>\n\n <PartContainer $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"month\"\n value={currentValue ? prefixWithZero(currentValue.getMonth() + 1) : undefined}\n placeholder={placeholder?.month}\n />\n </PartContainer>\n\n <PartContainer $isLast $isStretch={stretch}>\n <DatePickerInputPart\n {...sharedPartProps}\n partName=\"year\"\n value={currentValue ? currentValue.getFullYear() : undefined}\n placeholder={placeholder?.year}\n />\n </PartContainer>\n </DatePickerPressable>\n );\n}\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport type { DatePickerProps } from './types';\n\ninterface DatePickerAndroidProps\n extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel' | 'value'> {\n isFocused: boolean;\n setIsFocused: (isFocused: boolean) => void;\n currentValue: Date | undefined;\n setCurrentValue: (value: Date | undefined) => void;\n}\n\nexport function DatePickerAndroid({\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n setIsFocused,\n currentValue,\n setCurrentValue,\n onChange,\n isFocused,\n ...props\n}: DatePickerAndroidProps): ReactElement {\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n return (\n <DatePickerInputs handleModalOpen={handleModalOpen} currentValue={currentValue} isFocused={isFocused} {...props} />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return <OverlayPressable accessibilityRole=\"none\" onPress={onPress} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport { theme as kittTheme } from '../themes/default';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { IconButtonContentProps } from './IconButton';\n\ninterface PressableIconButtonWebWrapperProps {\n theme: DefaultTheme;\n $isWhite?: boolean;\n $isDisabled?: boolean;\n}\n\nconst PressableIconButtonWebWrapper = withTheme(styledLinaria.div<PressableIconButtonWebWrapperProps>`\n & > *:hover,\n .kitt-hover & > * {\n @media (hover: none) and (pointer: coarse) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.hover)});\n }\n\n @media (${kittTheme.breakpoints.min.mediumBreakpoint}) {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.medium.hover)});\n }\n }\n\n & > *:active,\n .kitt-active & > * {\n transform: scale(${({ theme, $isDisabled }) => ($isDisabled ? 1 : theme.kitt.iconButton.scale.base.active)});\n }\n\n &,\n & > [data-focusvisible-polyfill] {\n outline: none;\n }\n\n & > *:hover,\n .kitt-hover & > *,\n & > *:focus,\n .kitt-focus & > *,\n & > [data-focusvisible-polyfill],\n & > *:active,\n .kitt-active & > * {\n background-color: ${({ theme, $isWhite, $isDisabled }) => {\n if ($isDisabled) return theme.kitt.iconButton.disabled.backgroundColor;\n\n const { white, default: defaultIconButton } = theme.kitt.iconButton;\n\n if ($isWhite) return white.pressedBackgroundColor;\n return defaultIconButton.pressedBackgroundColor;\n }};\n }\n`);\n\nconst StyledPressableIconButton = styled.Pressable`\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n align-items: center;\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n ${({ theme, disabled }) => {\n const { iconButton } = theme.kitt;\n\n if (Platform.OS !== 'web') {\n return undefined;\n }\n\n const { transition } = iconButton;\n\n if (disabled) {\n return `\n background-color: ${iconButton.disabled.backgroundColor};\n `;\n }\n\n return `\n transition: ${transition.property} ${transition.duration} ${transition.timingFunction};\n `;\n }};\n`;\n\nexport interface PressableIconButtonProps extends PressableProps {\n color: IconButtonContentProps['color'];\n}\n\nexport function PressableIconButton({ color, disabled, ...props }: PressableIconButtonProps): ReactElement {\n return (\n <StyleWebWrapper as={PressableIconButtonWebWrapper} $isWhite={color === 'white'} $isDisabled={Boolean(disabled)}>\n <StyledPressableIconButton {...props} disabled={disabled} />\n </StyleWebWrapper>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { IconButtonContentProps } from './IconButton';\nimport type { PressableIconButtonProps } from './PressableIconButton';\nimport { PressableIconButton } from './PressableIconButton';\n\nexport interface PressableAnimatedContainerProps {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n color: IconButtonContentProps['color'];\n testID?: IconButtonContentProps['testID'];\n accessibilityLabel?: IconButtonContentProps['accessibilityLabel'];\n accessibilityRole?: IconButtonContentProps['accessibilityRole'];\n onPress: NonNullable<PressableIconButtonProps['onPress']>;\n}\n\ninterface AnimatedIconButtonBackgroundProps {\n color: IconButtonContentProps['color'];\n disabled?: boolean;\n}\n\nconst AnimatedIconButtonBackground = styled(Animated.View)<AnimatedIconButtonBackgroundProps>`\n background-color: ${({ theme, color, disabled }) => {\n const { iconButton } = theme.kitt;\n if (disabled) return iconButton.disabled.backgroundColor;\n\n if (color === 'white') return iconButton.white.pressedBackgroundColor;\n\n return iconButton.default.pressedBackgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nconst AnimatedViewContainer = styled(Animated.View)`\n position: relative;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n`;\n\nexport function PressableAnimatedContainer({\n disabled,\n color = 'black',\n testID,\n accessibilityRole = 'button',\n accessibilityLabel,\n children,\n onPress,\n}: PressableAnimatedContainerProps): ReactElement {\n const theme = useTheme();\n const pressed = useSharedValue(false);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n return (\n <PressableIconButton\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n color={color}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n onPress={onPress}\n onPressIn={() => {\n pressed.value = true;\n }}\n onPressOut={() => {\n pressed.value = false;\n }}\n >\n <AnimatedViewContainer style={disabled ? [{ transform: [{ scale: 1 }] }] : [scaleStyles]}>\n <AnimatedIconButtonBackground\n disabled={disabled}\n color={color}\n style={disabled ? [{ opacity: 1 }] : [opacityStyles]}\n />\n {children}\n </AnimatedViewContainer>\n </PressableIconButton>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { AccessibilityRole } from 'react-native';\nimport styled from 'styled-components/native';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { PressableAnimatedContainer } from './PressableAnimatedContainer';\n\ninterface IconButtonContentBorderProps {\n disabled?: boolean;\n}\n\nconst IconButtonContentBorder = styled.View<IconButtonContentBorderProps>`\n border: ${({ theme }) => `${theme.kitt.iconButton.borderWidth}px solid`};\n border-color: ${({ theme, disabled }) =>\n disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor};\n width: ${({ theme }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth}px;\n height: ${({ theme }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth}px;\n align-items: center;\n justify-content: center;\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n`;\nexport interface IconButtonContentProps {\n icon: NonNullable<ReactElement>;\n color?: 'black' | 'white';\n disabled?: boolean;\n testID?: string;\n accessibilityLabel?: string;\n accessibilityRole?: AccessibilityRole;\n}\n\nfunction IconButtonContent({ disabled, color, icon }: IconButtonContentProps): ReactElement {\n return (\n <IconButtonContentBorder disabled={disabled}>\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </IconButtonContentBorder>\n );\n}\n\nexport interface IconButtonProps extends IconButtonContentProps {\n onPress: () => void;\n}\n\nexport function IconButton({\n icon,\n color,\n disabled,\n testID,\n accessibilityLabel,\n accessibilityRole,\n onPress,\n}: IconButtonProps): ReactElement {\n return (\n <PressableAnimatedContainer\n color={color}\n disabled={disabled}\n testID={testID}\n accessibilityLabel={accessibilityLabel}\n accessibilityRole={accessibilityRole}\n onPress={onPress}\n >\n <IconButtonContent disabled={disabled} color={color} icon={icon} />\n </PressableAnimatedContainer>\n );\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { IconButton } from '../IconButton/IconButton';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <IconButton icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius}px;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from 'styled-components/native';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactElement {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../Button/Button';\nimport { Modal } from '../../Modal/Modal';\nimport { Typography } from '../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <Modal visible={Boolean(isVisible)} onClose={handleClose}>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <Modal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </Modal.Body>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { Platform } from 'react-native';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DatePickerInputs } from './DatePickerInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\nimport type { DatePickerProps } from './types';\n\nexport function DatePicker({\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n onChange,\n onFocus,\n onBlur,\n pickerDefaultDate,\n ...props\n}: DatePickerProps): ReactElement {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n currentValue={currentValue}\n setCurrentValue={setCurrentValue}\n isFocused={isFocused}\n setIsFocused={setIsFocused}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n return (\n <>\n <DatePickerInputs\n handleModalOpen={handleModalOpen}\n currentValue={currentValue}\n isFocused={isFocused}\n {...props}\n />\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n}\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n $isDisabled?: boolean;\n}\n\nexport const InputTextContainer = styled.View<InputTextContainerProps>`\n position: relative;\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform, TextInput } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../../typography/Typography';\nimport type { TextInputMixinProps } from '../styledTextInputMixin';\nimport { styledTextInputMixin } from '../styledTextInputMixin';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { getInputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Exclude<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n disabled?: boolean;\n minHeight?: number;\n state?: InputFormState;\n right?: ReactNode;\n /** @internal */\n internalForceState?: InputUIState;\n}\n\ninterface StyledTextInputProps extends TextInputMixinProps {\n $minHeight?: number;\n}\n\nconst StyledTextInput = styled(TextInput)<StyledTextInputProps>`\n ${styledTextInputMixin}\n\n padding: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS !== 'web') return `0 ${theme.kitt.forms.input.padding.horizontal}px`;\n\n return `${theme.kitt.forms.input.padding.vertical}px ${theme.kitt.forms.input.padding.horizontal}px`;\n }};\n\n line-height: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS !== 'web') return 0;\n\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return `${theme.kitt.typography.types.bodies.configs.body[typeConfigKey].lineHeight}px`;\n }};\n\n width: 100%;\n min-height: ${({ theme, $minHeight = theme.kitt.forms.input.minHeight }) => $minHeight}px;\n`;\n\nconst RightInputContainer = styled.View`\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n justify-content: center;\n padding: 10px;\n`;\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n minHeight,\n state: formState,\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoCompleteType = 'off',\n keyboardType = 'default',\n multiline,\n onSubmitEditing,\n onFocus,\n onBlur,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const [isFocused, setIsFocused] = useState<boolean>(false);\n\n const state = internalForceState || getInputUIState({ isFocused, isDisabled: disabled, formState });\n\n return (\n <InputTextContainer $isDisabled={disabled}>\n <StyledTextInput\n ref={ref}\n multiline={multiline}\n nativeID={id}\n editable={!disabled}\n keyboardType={keyboardType}\n autoCompleteType={autoCompleteType}\n autoCorrect={autoCorrect}\n $minHeight={minHeight}\n textContentType={textContentType}\n placeholderTextColor={theme.kitt.forms.input.color.placeholder}\n selectionColor={theme.kitt.forms.input.color.selection}\n {...props}\n $state={state}\n onFocus={(e) => {\n setIsFocused(true);\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n setIsFocused(false);\n if (onBlur) onBlur(e);\n }}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? <RightInputContainer>{right}</RightInputContainer> : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoCompleteType' | 'keyboardType' | 'textContentType' | 'autoCapitalize'> {}\n\nexport function InputEmail(props: InputEmailProps): ReactElement {\n return (\n <InputText\n autoCompleteType=\"email\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport type { InputFormState } from '../utils';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../../KittBreakpoints';\n\nconst FieldContainer = styled.View`\n padding: 5px 0 10px;\n`;\n\nconst FeedbackContainer = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches({ minWidth: KittBreakpoints.SMALL }, 'padding-top: 10px', 'padding-top: 5px')};\n`;\n\nconst FieldLabelContainer = styled.View`\n flex-direction: row;\n align-items: center;\n padding-bottom: ${({ theme }) => theme.kitt.forms.inputField.labelContainerPaddingBottom}px;\n`;\n\nconst LabelContainer = styled.View`\n margin-right: ${({ theme }) => theme.kitt.forms.inputField.iconMarginLeft}px;\n`;\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactElement {\n return (\n <FieldContainer>\n {label ? (\n <FieldLabelContainer>\n <LabelContainer>{label}</LabelContainer>\n {labelFeedback}\n </FieldLabelContainer>\n ) : null}\n {input}\n {feedback ? <FeedbackContainer>{feedback}</FeedbackContainer> : null}\n </FieldContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputFormState } from 'forms/utils';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactElement {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactElement {\n return <Pressable {...props} />;\n}\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport function InputPassword({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps): ReactElement {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n {...props}\n textContentType=\"password\"\n autoCompleteType=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable hitSlop={20} accessibilityRole=\"button\" onPress={() => setIsVisible((prev) => !prev)}>\n <InputIcon icon={isVisible ? <EyeOffIcon /> : <EyeIcon />} />\n </InputPressable>\n )\n }\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPhoneProps\n extends Except<InputTextProps, 'autoCompleteType' | 'keyboardType' | 'textContentType'> {}\n\nexport function InputPhone(props: InputPhoneProps): ReactElement {\n return <InputText {...props} autoCompleteType=\"tel\" keyboardType=\"number-pad\" textContentType=\"telephoneNumber\" />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { useKittTheme } from '../../useKittTheme';\n\ntype InputTagType = 'success' | 'danger';\n\nconst getTypographyColor = (type: InputTagType | undefined): TypographyColor => (type ? 'white' : 'black');\n\ninterface InputTagContainerProps {\n type?: InputTagType;\n}\n\nconst InputTagContainer = styled(View)<InputTagContainerProps>`\n align-items: center;\n justify-content: center;\n flex-direction: row;\n align-self: flex-start;\n overflow: hidden;\n padding-horizontal: ${({ theme }) => theme.kitt.spacing * 2}px;\n\n background-color: ${({ theme, type }) => {\n if (type === 'success') {\n return theme.kitt.forms.inputTag.success.backgroundColor;\n }\n if (type === 'danger') {\n return theme.kitt.forms.inputTag.danger.backgroundColor;\n }\n\n return theme.kitt.forms.inputTag.default.backgroundColor;\n }};\n border-radius: ${({ theme }) => theme.kitt.forms.inputTag.borderRadius}px;\n`;\n\nconst IconContainer = styled(View)`\n margin-right: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactElement {\n const typographyColor = getTypographyColor(type);\n const theme = useKittTheme();\n\n return (\n <InputTagContainer type={type}>\n {icon && (\n <IconContainer>\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color={typographyColor} />\n </IconContainer>\n )}\n <Typography.Text base=\"body-small\" color={typographyColor}>\n {children}\n </Typography.Text>\n </InputTagContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface RadioProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange: (newValue: string) => void;\n}\n\ninterface OuterRadioProps {\n disabled: boolean;\n}\n\nconst OuterRadio = styled.View<OuterRadioProps>`\n background-color: ${({ theme, disabled }) =>\n theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n border-width: ${({ theme }) => theme.kitt.forms.radio.unchecked.borderWidth}px;\n border-color: ${({ theme, disabled }) => theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].borderColor};\n`;\nconst SelectedOuterRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n justify-content: center;\n align-items: center;\n`;\nconst SelectedInnerRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.innerBackgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n height: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize / 2}px;\n`;\nconst Container = styled.Pressable`\n flex-direction: row;\n align-items: center;\n`;\n\nconst Text = styled(Typography.Text)`\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nexport function Radio({ id, checked, onChange, value, disabled = false, children }: RadioProps): ReactElement {\n const handlePress: PressableProps['onPress'] = () => {\n onChange(value);\n };\n\n return (\n <Container\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n onPress={handlePress}\n >\n {checked && !disabled ? (\n <SelectedOuterRadio>\n <SelectedInnerRadio />\n </SelectedOuterRadio>\n ) : (\n <OuterRadio disabled={disabled} />\n )}\n\n <Text base=\"body\" color={disabled ? 'black-light' : 'black'}>\n {children}\n </Text>\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport function TextArea({ ...props }: TextAreaProps): ReactElement {\n const theme = useTheme();\n\n return <InputText multiline textAlignVertical=\"top\" minHeight={theme.kitt.forms.textArea.minHeight} {...props} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\nconst Body = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding-right: ${theme.kitt.spacing * 12}px;\n padding-left: ${theme.kitt.spacing * 12}px;`,\n `padding-right: ${theme.kitt.spacing * 6}px;\n padding-left: ${theme.kitt.spacing * 6}px;`,\n )}\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n`;\n\ninterface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function FullScreenModalBody({ children }: BodyProps): ReactElement {\n return <Body>{children}</Body>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\ninterface SideContainerProps {\n side?: 'left' | 'right';\n}\n\nconst SideContainer = styled.View<SideContainerProps>`\n ${({ theme, side = 'left' }) => {\n const padding = theme.kitt.spacing * 2;\n\n if (side === 'left') {\n return `padding-right: ${padding}px;`;\n }\n\n return `padding-left: ${padding}px;`;\n }}\n`;\n\nfunction getHeaderHorizontalMediumPadding(spacing: number): number {\n return spacing * 6;\n}\n\ninterface HeaderProps {\n insetTop?: number;\n}\n\nconst Header = styled.View<HeaderProps>`\n ${({ theme, insetTop = 0 }) => {\n const paddingTop = insetTop + theme.kitt.fullScreenModal.header.paddingVertical;\n const { paddingVertical, paddingHorizontal } = theme.kitt.fullScreenModal.header;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding: ${paddingTop}px ${getHeaderHorizontalMediumPadding(theme.kitt.spacing)}px ${paddingVertical}px;`,\n `padding: ${paddingTop}px ${paddingHorizontal}px ${paddingVertical}px;`,\n );\n }};\n border-bottom-color: ${({ theme }) => theme.kitt.fullScreenModal.header.borderColor};\n border-bottom-width: 1px;\n flex-direction: row;\n align-items: center;\n`;\n\ninterface HeaderContentProps {\n windowWidth: number;\n leftWidth: number;\n rightWidth: number;\n}\n\nconst HeaderContent = styled.View<HeaderContentProps>`\n ${({ theme, leftWidth, rightWidth, windowWidth }) => {\n /*\n * Since we don't have controll over the rendered left and right elements,\n * we must apply some logic to give the title all the available space\n */\n const sideElementMaxWidth = Math.max(leftWidth, rightWidth);\n\n const parentHorizontalPadding = theme.kitt.fullScreenModal.header.paddingHorizontal * 2;\n const parentHorizontalPaddingMedium = getHeaderHorizontalMediumPadding(theme.kitt.spacing) * 2;\n\n const computeWidth = (breakpointPadding: number): number =>\n windowWidth - breakpointPadding - sideElementMaxWidth * 2;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `width: ${computeWidth(parentHorizontalPaddingMedium)}px;`,\n `width: ${computeWidth(parentHorizontalPadding)}px;`,\n );\n }};\n ${({ leftWidth, rightWidth }) => {\n // Depending of the wider element, we must add a margin to fill the diff in space between elements\n const deltaMargin = Math.abs(leftWidth - rightWidth);\n\n if (leftWidth > rightWidth) {\n return `margin-right: ${deltaMargin}px;`;\n }\n\n return `margin-left: ${deltaMargin}px;`;\n }};\n justify-content: center;\n align-items: center;\n`;\n\nexport interface FullScreenModalHeaderProps {\n children: NonNullable<ReactNode>;\n right?: ReactNode;\n left?: ReactNode;\n}\n\nexport function FullScreenModalHeader({ children, right, left }: FullScreenModalHeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n const dimensions = useWindowDimensions();\n const [leftWidth, setLeftWidth] = useState(0);\n const [rightWidth, setRightWidth] = useState(0);\n\n const handleLayoutChange = (event: LayoutChangeEvent, side: 'left' | 'right'): void => {\n // Prevents react to nullify event on rerenders\n event.persist();\n\n if (side === 'left') {\n setLeftWidth(event.nativeEvent.layout.width);\n return;\n }\n\n setRightWidth(event.nativeEvent.layout.width);\n };\n\n return (\n <Header insetTop={Platform.OS === 'ios' ? undefined : top}>\n {left ? <SideContainer onLayout={(e) => handleLayoutChange(e, 'left')}>{left}</SideContainer> : null}\n\n <HeaderContent windowWidth={dimensions.width} leftWidth={leftWidth} rightWidth={rightWidth}>\n {children}\n </HeaderContent>\n\n {right ? (\n <SideContainer side=\"right\" onLayout={(e) => handleLayoutChange(e, 'right')}>\n {right}\n </SideContainer>\n ) : null}\n </Header>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { FullScreenModalBody } from './Body';\nimport { FullScreenModalHeader } from './Header';\n\nconst Container = styled.View`\n flex: 1;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackground};\n`;\n\nexport interface FullScreenModalProps {\n children: ReactNode;\n}\n\nexport function FullScreenModal({ children }: FullScreenModalProps): ReactElement {\n return <Container>{children}</Container>;\n}\n\nFullScreenModal.Header = FullScreenModalHeader;\nFullScreenModal.Body = FullScreenModalBody;\n","import type { ReactElement } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactElement {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? `${theme.kitt.listItem.innerMargin}px` : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled, { css } from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}px`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}px`;\n }\n\n if (borders === 'both') {\n return css`\n border-top-width: ${borderWidth}px;\n border-bottom-width: ${borderWidth}px;\n `;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactElement {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\ninterface StyledMessageContainerProps {\n $type: MessageType;\n $hasNoRadius?: boolean;\n $insets?: EdgeInsets;\n}\n\nconst StyledMessageContainer = styled.View<StyledMessageContainerProps>`\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n min-height: 60px;\n padding-top: ${({ $insets }) => $insets?.top ?? 0}px;\n border-radius: ${({ theme, $hasNoRadius }) => ($hasNoRadius ? 0 : theme.kitt.spacing * 5)}px;\n background-color: ${({ theme, $type }) => theme.kitt.feedbackMessage[$type].backgroundColor};\n`;\n\nconst StyledDismissWrapper = styled.View`\n align-items: center;\n align-items: flex-start;\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 2.5}px ${spacing * 2}px 0 ${spacing * 5}px`;\n }};\n`;\n\nconst StyledIconContainer = styled.View`\n margin: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing}px ${spacing * 5}px 0 0`;\n }};\n`;\n\ninterface StyledTextContentProps {\n $isCenteredText?: boolean;\n}\n\nconst StyledTextContent = styled(Typography.Text)<StyledTextContentProps>`\n flex: 1;\n text-align: ${({ $isCenteredText }) => ($isCenteredText ? 'center' : 'left')};\n`;\n\nconst StyledMessageContent = styled.View`\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-self: center;\n align-items: flex-start;\n flex-shrink: 1;\n padding: ${({ theme }) => {\n const { spacing } = theme.kitt;\n return `${spacing * 4}px ${spacing * 5}px`;\n }};\n`;\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <StyledMessageContainer $type={type} $hasNoRadius={hasNoRadius} $insets={insets}>\n <StyledMessageContent>\n {centeredText ? null : (\n <StyledIconContainer>\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </StyledIconContainer>\n )}\n <StyledTextContent $isCenteredText={centeredText} base=\"body\" color={color}>\n {children}\n </StyledTextContent>\n </StyledMessageContent>\n\n {onDismiss ? (\n <StyledDismissWrapper>\n <IconButton color={getIconButtonColor(type)} icon={<XIcon />} onPress={onDismiss} />\n </StyledDismissWrapper>\n ) : null}\n </StyledMessageContainer>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactElement {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {\n /**\n * @deprecated use onDismiss instead\n */\n onDelete?: BaseMessageProps['onDismiss'];\n}\n\nexport function Notification({\n type,\n children,\n centeredText,\n insets,\n onDelete,\n onDismiss,\n}: NotificationProps): ReactElement {\n if (__DEV__) {\n if (onDelete) {\n throw new Error('onDelete is deprecated us onDismiss instead');\n }\n }\n\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactElement } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactElement {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from 'styled-components/native';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from 'styled-components/native';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactElement {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\ninterface PageLoaderContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nconst PageLoaderContainer = styled.View<PageLoaderContainerProps>`\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n position: relative;\n width: ${({ theme }) => theme.kitt.pageLoader.size}px;\n height: ${({ theme }) => theme.kitt.pageLoader.size}px;\n`;\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactElement {\n return (\n <PageLoaderContainer>\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </PageLoaderContainer>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps<T> extends Pick<NativePickerItemProps<T>, 'label'> {\n isSelected?: boolean;\n value: T;\n onPress?: (value: T) => void;\n}\n\nconst ContainerPressable = styled.Pressable<{ $isSelected?: boolean }>`\n padding: ${({ theme }) => theme.kitt.picker.android.padding};\n background-color: ${({ theme, $isSelected }) =>\n $isSelected\n ? theme.kitt.picker.android.selected.backgroundColor\n : theme.kitt.picker.android.default.backgroundColor};\n`;\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem<T>({ label, value, isSelected, onPress }: PickerItemProps<T>): ReactElement {\n return (\n <ContainerPressable\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n $isSelected={isSelected}\n onPress={onPress ? () => onPress(value) : undefined}\n >\n <Typography.Text base=\"body\" color={isSelected ? 'white' : undefined}>\n {label}\n </Typography.Text>\n </ContainerPressable>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView, View } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { theme } from '../themes/default';\nimport { Typography } from '../typography/Typography';\nimport type { PickerItemProps } from './PickerItem';\nimport { PickerItem } from './PickerItem';\n\nexport interface PickerProps<T> {\n children: ReactNode;\n isVisible: boolean;\n title: ReactNode;\n initialValue: T;\n validateButtonLabel?: ReactNode;\n testID?: string;\n onValueSelected: (value: T) => void;\n onClose: () => void;\n}\n\nexport function Picker<T>({\n children,\n isVisible,\n title,\n initialValue,\n validateButtonLabel,\n testID,\n onValueSelected,\n onClose,\n}: PickerProps<T>): ReactElement {\n const [value, setValue] = useState<T>(initialValue);\n\n const handleValueSelected = (): void => {\n onValueSelected(value);\n\n onClose();\n };\n\n return (\n <Modal visible={isVisible} onClose={onClose}>\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </Modal.Header>\n\n <View>\n {Platform.OS === 'ios' ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={value}\n itemStyle={theme.picker.ios.default}\n onValueChange={(itemValue) => setValue(itemValue)}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === value ? theme.picker.ios.selected.color : undefined,\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<PickerItemProps<T>>;\n\n return cloneElement(item, {\n onPress: (newValue: T) => setValue(newValue),\n isSelected: item.props.value === value,\n });\n })}\n </ScrollView>\n )}\n </View>\n\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleValueSelected}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </Modal.Footer>\n </Modal>\n );\n}\n\nPicker.Item = PickerItem;\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst Container = styled.View`\n background-color: ${({ theme }) => theme.kitt.skeleton.backgroundColor};\n border-color: ${({ theme }) => theme.kitt.skeleton.flareColor};\n height: 100%;\n width: 100%;\n`;\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactElement {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <Container>\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport styled from 'styled-components/native';\nimport { SkeletonContent } from './SkeletonContent';\n\nconst SkeletonContainer = styled(View)`\n overflow: hidden;\n`;\nexport interface SkeletonProps {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading, style }: SkeletonProps): ReactElement {\n const [width, setWidth] = useState(0);\n\n return (\n <SkeletonContainer style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </SkeletonContainer>\n );\n}\n\nconst Bar = styled(Skeleton)`\n width: 100%;\n height: ${({ theme }) => theme.kitt.spacing * 2}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst Circle = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 6}px;\n`;\n\nconst Square = styled(Skeleton)`\n width: ${({ theme }) => theme.kitt.spacing * 12}px;\n height: ${({ theme }) => theme.kitt.spacing * 12}px;\n border-radius: ${({ theme }) => theme.kitt.spacing * 1.5}px;\n`;\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 16;\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: DefaultTheme,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (color: StoryBlockProps['background'] = 'transparent'): TypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<TypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: TypographyColor | undefined): TypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nconst StyledStoryBlockView = styled.View<StoryBlockProps>`\n padding: 16px ${storyPadding}px 0;\n margin: 0 -${storyPadding}px;\n background: ${({ theme, background }) => getBackgroundColorFromBlockColor(theme, background)};\n`;\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n return (\n <StyledStoryBlockView background={background}>\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </StyledStoryBlockView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nconst StoryTitleContainer = styled.View`\n margin-bottom: 30px;\n`;\n\nconst StorySubTitleContainer = styled.View`\n margin-bottom: 10px;\n`;\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </StoryTitleContainer>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </StoryTitleContainer>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nconst StoryContainer = styled.ScrollView`\n padding: ${storyPadding}px;\n`;\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <StoryContainer contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </StoryContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\n\ninterface StyledSectionProps extends ViewProps {}\n\nconst StyledSection = styled.View<StyledSectionProps>`\n margin-bottom: 32px;\n`;\n\nexport interface StorySectionProps extends ViewProps {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <StyledSection {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </StyledSection>\n );\n}\n\nconst StyledSubSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledSubSection {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </StyledSubSection>\n );\n}\n\nconst StyledBlockSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledBlockSection {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </StyledBlockSection>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nconst StyledDemoSection = styled.View`\n margin-bottom: 64px;\n`;\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <StyledDemoSection>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </StyledDemoSection>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement, ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({\n children,\n title,\n state = 'none',\n platform = 'all',\n}: StoryContainerProps): ReactElement | null {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '..';\nimport { StoryTitle } from './StoryTitle';\n\nconst SmallScreenRow = styled.View`\n flex-direction: column;\n margin: 0;\n`;\n\nconst SmallScreenCol = styled.View`\n padding: 8px 0 16px;\n`;\n\nconst FlexRow = styled.View`\n flex-direction: row;\n margin: 0 -4px 16px;\n`;\n\nconst FlexCol = styled.View`\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 8px;\n`;\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO use useBreakpoint instead\n const { width } = useWindowDimensions();\n const breakpointValue = breakpoint === 'small' ? 480 : 768;\n\n if (width < breakpointValue) {\n return (\n <SmallScreenRow>\n {Children.map(children, (child) => (\n <SmallScreenCol>{child}</SmallScreenCol>\n ))}\n </SmallScreenRow>\n );\n }\n\n return (\n <FlexRow>\n {Children.map(children, (child) => (\n <FlexCol>{child}</FlexCol>\n ))}\n </FlexRow>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth}px;\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius}px;\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","import type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, Text } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { Modal } from '../Modal/Modal';\nimport { Typography } from '../typography/Typography';\n\ninterface TitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction Title({ children }: TitleProps): ReactElement {\n return (\n <Modal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </Modal.Header>\n );\n}\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n value: Date;\n validateButtonLabel?: string;\n onClose: () => void;\n onChange: (newDate: Date) => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n validateButtonLabel,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactElement {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n return (\n <Modal visible={Boolean(visible)} onClose={handleClose}>\n {visible ? (\n <>\n {title ? <Title>{title}</Title> : null}\n\n <Modal.Body>\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(_event: DateTimePickerEvent, date?: Date) =>\n setCurrentValue((prev) => {\n return date || prev;\n })\n }\n />\n </Modal.Body>\n <Modal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </Modal.Footer>\n </>\n ) : null}\n </Modal>\n );\n}\n","import type { InputUIState } from '@ornikar/kitt-universal';\nimport { useMemo, useState } from 'react';\n\nexport const timePickerPlaceholder = '--:--';\n\nexport const formatNumberToTimeString = (time: number): string => `${String(time).padStart(2, '0')}`;\n\nexport const formatDateToTimeString = (date: Date): string =>\n `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n\nexport const useTimePicker = (\n value: Date | null,\n onChange: (time?: Date | null) => void,\n onBlur: () => void,\n disabled: boolean,\n defaultValue?: Date | null,\n): {\n displayedValue: string;\n dateTimePickerValue: Date;\n timePickerState: InputUIState;\n isTimePickerModalVisible: boolean;\n handleInputPress: () => void;\n handleModalClose: () => void;\n handleTimeChange: (date?: Date) => void;\n} => {\n const [isTimePickerModalVisible, setIsTimePickerModalVisible] = useState<boolean>(false);\n\n const todayAtNoon = useMemo(() => {\n const now = new Date(2000, 0, 1, 12);\n return new Date(now.getFullYear(), now.getMonth(), now.getDay(), 12);\n }, []);\n\n const defaultDate = defaultValue || todayAtNoon;\n const handleInputPress = (): void => {\n if (disabled) {\n return;\n }\n setIsTimePickerModalVisible(true);\n };\n\n const handleTimeChange = (date?: Date | null): void => {\n setIsTimePickerModalVisible(false);\n\n onChange(date || defaultDate);\n onBlur();\n };\n\n const dateTimePickerValue = value || defaultDate;\n const displayedValue = value === null ? timePickerPlaceholder : formatDateToTimeString(dateTimePickerValue);\n const timePickerState = isTimePickerModalVisible ? 'focus' : 'default';\n\n return {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n isTimePickerModalVisible,\n handleInputPress,\n handleTimeChange,\n handleModalClose: () => setIsTimePickerModalVisible(false),\n };\n};\n","import type { TextInputMixinProps } from '@ornikar/kitt-universal';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { styledTextInputMixin } from '../forms/styledTextInputMixin';\nimport { Typography } from '../typography/Typography';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { timePickerPlaceholder, useTimePicker } from './useTimePicker';\n\ninterface ContainerProps extends TextInputMixinProps {}\n\nconst Container = styled.Pressable<ContainerProps>`\n ${styledTextInputMixin}\n width: 100px;\n height: 40px;\n justify-content: center;\n align-items: center;\n`;\n\nexport type TimePickerValue = Date | null | undefined;\n\nexport interface TimePickerProps {\n title?: ReactNode;\n state?: TextInputMixinProps['$state'];\n disabled?: boolean;\n forceDefaultValue?: TimePickerValue;\n value?: Date | '' | null;\n validateButtonLabel?: string;\n onChange: (time: TimePickerValue) => void;\n onBlur: () => void;\n}\n\nexport function TimePicker({\n title,\n state = 'default',\n disabled = false,\n forceDefaultValue,\n value,\n validateButtonLabel,\n onChange,\n onBlur,\n}: TimePickerProps): ReactElement {\n const {\n dateTimePickerValue,\n displayedValue,\n timePickerState,\n handleInputPress,\n handleModalClose,\n handleTimeChange,\n isTimePickerModalVisible,\n } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue);\n\n return (\n <Container\n $state={timePickerState === 'default' ? state : timePickerState}\n accessibilityRole=\"button\"\n onPress={handleInputPress}\n >\n <Typography.Text base=\"body\" color={displayedValue === timePickerPlaceholder ? 'black-light' : 'black'}>\n {displayedValue}\n </Typography.Text>\n\n {Platform.OS === 'android' && isTimePickerModalVisible ? (\n <DateTimePicker\n is24Hour\n testID=\"date-picker-native-element\"\n value={dateTimePickerValue}\n mode=\"time\"\n display=\"default\"\n onChange={(_event: DateTimePickerEvent, date?: Date) => handleTimeChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n title={title}\n visible={isTimePickerModalVisible}\n value={dateTimePickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleTimeChange}\n onClose={handleModalClose}\n />\n ) : null}\n </Container>\n );\n}\n","import { TooltipArrowIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { TooltipPosition } from './Tooltip';\n\nconst StyledTooltipView = styled.View`\n align-items: center;\n`;\n\nconst StyledTooltipContent = styled.View`\n background-color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n border-radius: ${({ theme }) => theme.kitt.tooltip.borderRadius}px;\n opacity: ${({ theme }) => theme.kitt.tooltip.opacity};\n padding: ${({ theme }) => `${theme.kitt.tooltip.verticalPadding}px ${theme.kitt.tooltip.horizontalPadding}px`};\n`;\n\ninterface StyledArrowProps {\n $position: TooltipPosition;\n}\n\nfunction ArrowView(props: ViewProps): ReactElement {\n const theme = useTheme();\n return (\n <View {...props}>\n <TooltipArrowIcon color={theme.kitt.tooltip.backgroundColor} />\n </View>\n );\n}\n\nconst StyledArrow = styled(ArrowView)<StyledArrowProps>`\n color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n transform: ${({ $position }) => `rotate(${$position === 'bottom' ? 180 : 0}deg)`};\n`;\n\nexport interface TooltipViewProps {\n children: NonNullable<ReactNode>;\n position: TooltipPosition;\n}\n\nexport function TooltipView({ children, position }: TooltipViewProps): ReactElement {\n return (\n <StyledTooltipView>\n {position === 'bottom' ? <StyledArrow $position={position} /> : null}\n <StyledTooltipContent>\n <Typography.Text base=\"body\" color=\"white\">\n {children}\n </Typography.Text>\n </StyledTooltipContent>\n {position === 'top' ? <StyledArrow $position={position} /> : null}\n </StyledTooltipView>\n );\n}\n","import type { TooltipProps } from '..';\nimport type { TooltipPosition } from './Tooltip';\n\nexport const tooltipDefaultPosition: TooltipPosition = 'top';\nexport const tooltipDefaultFloatingStrategy: TooltipProps['floatingStrategy'] = {\n web: 'absolute',\n};\n","import { flip, offset, shift, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport styled, { useTheme } from 'styled-components/native';\nimport { TooltipView } from './TooltipView';\nimport { tooltipDefaultPosition } from './tooltipUtils';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\n// Since the tooltip use absolute positionning, we need a parent to provide the relative root\nconst TooltipContainer = styled.View`\n position: relative;\n align-self: baseline;\n`;\n\nexport interface TooltipProps {\n children: NonNullable<ReactNode>;\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n // eslint-disable-next-line react/no-unused-prop-types\n fullWidth?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n // eslint-disable-next-line react/no-unused-prop-types\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onUpdate?: (tooltipConfig: any) => void;\n}\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n defaultVisible,\n position = tooltipDefaultPosition,\n content,\n floatingPadding,\n onUpdate,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const padding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const pressed = useSharedValue(defaultVisible);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n };\n });\n\n const handlePress = (): void => {\n pressed.value = !pressed.value;\n };\n\n const { x, y, reference, floating, update, refs, middlewareData } = useFloating({\n placement: position,\n middleware: [offset(padding), shift(), flip({ padding })],\n });\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x,\n y,\n reference,\n floating,\n strategy: 'absolute',\n update,\n refs,\n middlewareData,\n });\n }, [x, y, reference, floating, update, refs, middlewareData, onUpdate]);\n\n return (\n <TooltipContainer>\n <View ref={reference}>\n <Pressable accessibilityRole=\"button\" onPress={handlePress}>\n {children}\n </Pressable>\n </View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n style={{\n ...StyleSheet.absoluteFillObject,\n top: y && position === 'bottom' ? y : undefined,\n bottom: y && position === 'top' ? y : undefined,\n left: x ?? 0,\n }}\n >\n <Animated.View style={[opacityStyles]}>\n <TooltipView position={position}>{content}</TooltipView>\n </Animated.View>\n </View>\n </TooltipContainer>\n );\n}\n\nTooltip.View = TooltipView;\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Emoji } from '../Emoji/Emoji';\nimport type { TypographyBreakpointTypesProps } from './Typography';\nimport {\n getTypographyTypeConfig,\n getTypographyTypeConfigKey,\n useTypographyTypeForCurrentWindowSize,\n} from './Typography';\n\nconst StyledTypographyEmoji = styled(Emoji)`\n align-self: center;\n\n ${({ size }) => {\n if (Platform.OS !== 'web') return undefined;\n\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n return `\n margin: 0 ${size / 20}px 0 ${size / 10}px;\n transform: translateY(${(size / 10) * 2}px);\n `;\n }}\n`;\n\nexport interface TypographyEmojiProps extends TypographyBreakpointTypesProps {\n emoji: string;\n}\n\nexport function TypographyEmoji({ emoji, base, small, medium, large }: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const typeForCurrentWindowSize = useTypographyTypeForCurrentWindowSize(base, small, medium, large);\n const typeConfig = getTypographyTypeConfig(typeForCurrentWindowSize || 'body', theme);\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n const { fontSize } = typeConfig[typeConfigKey];\n\n return <StyledTypographyEmoji size={fontSize} emoji={emoji} />;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\ninterface TypographyLinkWebWrapperProps {\n theme: DefaultTheme;\n $hasNoUnderline?: boolean;\n}\n\nconst TypographyLinkWebWrapper = withTheme(styledLinaria.span<TypographyLinkWebWrapperProps>`\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'underline' : 'none')}\n }\n`);\n\ninterface StyledLinkProps {\n $disabled?: boolean;\n $hasNoUnderline?: boolean;\n}\n\nconst StyledLink = styled.Text<StyledLinkProps & TextProps>`\n text-decoration: ${({ $hasNoUnderline }) => ($hasNoUnderline ? 'none' : 'underline')};\n\n ${({ $disabled }) => {\n if (Platform.OS !== 'web') return undefined;\n\n return `\n text-decoration-color: inherit;\n transition: color 0.2s ease-in-out;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n `;\n }};\n\n ${({ $disabled, theme }) => {\n if (!$disabled) return undefined;\n return `color: ${theme.kitt.typography.link.disabledColor};`;\n }};\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <Typography {...otherProps} accessibilityRole=\"none\">\n <StyleWebWrapper as={TypographyLinkWebWrapper} $hasNoUnderline={noUnderline}>\n <StyledLink\n $disabled={disabled}\n $hasNoUnderline={noUnderline}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n onPress={disabled ? undefined : onPress}\n >\n {children}\n </StyledLink>\n </StyleWebWrapper>\n </Typography>\n );\n}\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ children }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>;\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return <KittThemeProvider>{storyFn(context) as ReactNode}</KittThemeProvider>;\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n","import type { ComponentType, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }, T>(\n WrappedComponent: ComponentType<Props>,\n): ForwardRefExoticComponent<PropsWithoutRef<Except<Props, 'theme'>> & RefAttributes<T>> {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, Except<Props, 'theme'>>(function ThemedComponent(props, ref) {\n const theme = useTheme();\n\n return <WrappedComponent ref={ref} theme={theme} {...(props as any)} />;\n });\n}\n"],"names":["defaultIconSize","IconContainer","styled","View","$color","$size","$align","Icon","icon","size","align","color","clonedIcon","cloneElement","_jsx","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","IsHeaderTypographyContext","createContext","undefined","TypographyColorContext","useTypographyColor","useContext","getTypographyTypeConfigKey","theme","isMediumOrAbove","responsive","matchWindowSize","minWidth","isTypeHeader","type","startsWith","isTypographyHeader","typographyIsHeaderInContext","Error","getTypographyTypeConfig","kitt","typography","types","headers","configs","bodies","StyledTypography","Text","$textAlign","css","$isHeader","$typeForCurrentWindowSize","$variant","typeConfigKey","fontFamily","fontSize","lineHeight","fontWeight","fontStyle","colors","useTypographyTypeForCurrentWindowSize","base","small","medium","large","useWindowDimensions","width","getTypographyInheritedOrDefaultValuesBasedOnExistingAncestors","hasTypographyAncestor","Typography","accessibilityRole","variant","textAlign","otherProps","isHeaderTypographyInContext","baseOrDefaultToBody","colorOrDefaultToBlack","typeForCurrentWindowSize","isHeader","nonNullableVariant","sharedProps","content","TypographyText","props","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","getInitials","firstname","lastname","toUpperCase","StyledAvatarView","$isRound","$sizeVariant","avatar","borderRadius","$isLight","light","backgroundColor","AvatarContent","src","alt","isLight","sizeVariant","uri","height","Avatar","round","hasVariant","button","getVariantValuesIfExist","StyledPressable","Pressable","$isStretch","StyledAnimatedView","Animated","AnimatedButtonPressable","forwardRef","ref","children","disabled","$type","href","hrefAttrs","testID","onPress","useTheme","pressed","useSharedValue","pressedBackgroundColor","scale","scaleStyles","useAnimatedStyle","interpolateColor","value","transform","withSpring","active","handlePressInOut","pressIn","BaseStyledButtonPressable","maxWidth","minHeight","$isDisabled","$isLarge","$isXLarge","contentPadding","defaultPadding","disabledPadding","xLarge","TypographyIconSpecifiedColor","TypographyIconInheritColor","TypographyIcon","isSubtle","getTextColorByType","StyledButtonText","StyledIconContainer","$iconPosition","spacing","ButtonIcon","iconPosition","StyledChildrenWithIcon","ButtonContentChildren","isDisabled","isWebSubtle","buttonIconSharedProps","_jsxs","ButtonContentContainer","$isIconOnly","$isSubtle","ButtonContent","Boolean","StyledDisabled","borderWidth","borderColor","allowedGhostTypes","Button","stretch","__DEV__","includes","Container","card","Card","StyledEmoji","Image","Emoji","emoji","style","useMemo","parse","assetType","emojiData","text","url","defaultOpenLinkBehavior","web","ExternalLink","Component","as","openLinkBehavior","rest","handleOnPress","e","defaultPrevented","WebBrowser","err","console","error","Linking","openURL","lateOceanColorPalette","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black800","black555","black200","black100","black50","black25","white","viride","englishVermillon","goldCrayola","aero","transparent","moonPurple","moonPurpleLight1","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","black","blackAnthracite","uiBackground","uiBackgroundLight","overlay","dark","fullscreenLoader","focus","transition","duration","timingFunction","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","secondary","feedbackMessage","checkbox","iconSize","checkedBorderColor","checkedBackgroundColor","markColor","datePicker","day","month","year","calcLineHeight","lineHeightMultiplier","Math","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","mediumAndWide","kittColors","regular","bold","header1","header2","header3","header4","header5","body","link","disabledColor","inputStatesStyle","pending","valid","invalid","input","selection","placeholder","padding","horizontal","vertical","property","states","inputField","labelContainerPaddingBottom","iconMarginLeft","inputTag","labelColor","radio","unchecked","checked","innerSize","innerBackgroundColor","textArea","forms","fullScreenModal","header","paddingVertical","paddingHorizontal","iconButton","listItem","innerMargin","pageLoader","strokeWidth","fill","animation","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","fillEasingFunction","picker","ios","selected","android","shadows","skeleton","flareColor","animationDuration","tag","outline","tooltip","opacity","horizontalPadding","verticalPadding","floatingPadding","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","palettes","maxHeight","hasWidthMatched","hasHeightMatched","useMatchWindowSize","options","createWindowSizeHelper","dimensions","ifWindowSizeMatches","valueIfTrue","valueIfFalse","mapWindowWidth","widthList","slice","forEach","index","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","CheckboxAndLabelPressableWrapper","CheckboxContainer","$isChecked","$hasLabel","Checkbox","onChange","onBlur","onFocus","hitSlop","id","handlePress","getInputUIState","isFocused","formState","styledTextInputMixin","$state","StyledTypographyText","ViewInput","$partName","DatePickerInputPart","partName","prefixWithZero","padStart","PartContainer","$isLast","DatePickerPressable","DatePickerInputs","state","internalForceState","handleModalOpen","currentValue","currentState","sharedPartProps","getDate","getMonth","getFullYear","DatePickerAndroid","pickerDefaultDate","pickerUITestID","setIsFocused","setCurrentValue","handleClose","DateTimePickerAndroid","open","Date","now","timestamp","nativeEvent","date","onTouchCancel","OverlayPressable","StyleSheet","absoluteFillObject","Overlay","BodyView","ModalBody","FooterView","ModalFooter","StyleWebWrapper","PressableIconButtonWebWrapper","StyledPressableIconButton","PressableIconButton","AnimatedIconButtonBackground","AnimatedViewContainer","PressableAnimatedContainer","accessibilityLabel","opacityStyles","IconButtonContentBorder","IconButtonContent","IconButton","OnCloseContext","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","left","right","onClose","ModalView","ContentView","Modal","visible","onEntered","onExited","NativeModal","Header","Body","Footer","getDatePickerDisplayMode","PlatformDateTimePicker","defaultDate","maximumDate","minimuDate","displayMode","iosProps","textColor","_event","ModalTitle","ModalPlatformDateTimePicker","title","isVisible","validateButtonLabel","useState","handleChange","newDate","prev","handleSubmit","DatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","handleModalClose","InputTextContainer","StyledTextInput","TextInput","multiline","$minHeight","RightInputContainer","InputText","autoCorrect","textContentType","autoCompleteType","keyboardType","onSubmitEditing","InputEmail","getColorFromState","InputFeedback","FieldContainer","FeedbackContainer","FieldLabelContainer","LabelContainer","InputField","label","labelFeedback","feedback","getIconColor","InputIcon","InputPressable","InputPassword","isPasswordDefaultVisible","setIsVisible","InputPhone","getTypographyColor","InputTagContainer","InputTag","typographyColor","Label","htmlFor","OuterRadio","SelectedOuterRadio","SelectedInnerRadio","Radio","TextArea","FullScreenModalBody","SideContainer","side","getHeaderHorizontalMediumPadding","insetTop","paddingTop","HeaderContent","leftWidth","rightWidth","windowWidth","sideElementMaxWidth","parentHorizontalPadding","parentHorizontalPaddingMedium","computeWidth","breakpointPadding","deltaMargin","abs","FullScreenModalHeader","useSafeAreaInsets","top","setLeftWidth","setRightWidth","handleLayoutChange","event","persist","layout","FullScreenModal","SpinningIcon","process","env","NODE_ENV","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","loop","timing","toValue","easing","Easing","linear","useNativeDriver","start","stop","rotate","ListItemContent","SideContainerView","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Wrapper","Fragment","wrapperProps","containerProps","Content","SideContent","LoaderIcon","IconContent","getColorByType","getIconButtonColor","messageType","StyledMessageContainer","$insets","$hasNoRadius","StyledDismissWrapper","StyledTextContent","$isCenteredText","StyledMessageContent","BaseMessage","hasNoRadius","centeredText","insets","onDismiss","Message","Notification","onDelete","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","progress","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","AnimatedBackgroundCircle","x1","y1","x2","y2","withDelay","withTiming","bezier","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoaderContainer","PageLoader","ContainerPressable","$isSelected","PickerItem","isSelected","Picker","initialValue","onValueSelected","setValue","NativePicker","itemValue","React","Children","map","child","item","newValue","handleValueSelected","Item","AnimatedLinearGradient","LinearGradient","SkeletonContent","isLoading","sharedX","inOut","ease","linearGradientStyle","translateX","x","y","SkeletonContainer","Skeleton","setWidth","Bar","Square","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","direction","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StyledStoryBlockView","background","StoryBlock","StoryTitleContainer","StorySubTitleContainer","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","StoryContainer","ScrollView","Story","contentContainerStyle","StyledSection","StorySection","internalIsDemoSection","StyledSubSection","SubSection","StyledBlockSection","BlockSection","StyledDemoSection","DemoSection","Demo","DeprecatedSection","platform","StoryDecorator","storyFn","context","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","StoryGridCol","titleColor","isNative","StoryGrid","Row","Col","getLabelColor","Tag","Title","ModalDateTimePicker","timePickerPlaceholder","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","useTimePicker","defaultValue","isTimePickerModalVisible","setIsTimePickerModalVisible","todayAtNoon","getDay","dateTimePickerValue","displayedValue","timePickerState","handleInputPress","handleTimeChange","TimePicker","forceDefaultValue","StyledTooltipView","StyledTooltipContent","ArrowView","StyledArrow","$position","TooltipView","position","tooltipDefaultPosition","TooltipContainer","Tooltip","defaultVisible","onUpdate","useFloating","placement","middleware","offset","shift","flip","reference","floating","update","refs","middlewareData","strategy","bottom","StyledTypographyEmoji","TypographyEmoji","typeConfig","TypographyLinkWebWrapper","StyledLink","$hasNoUnderline","$disabled","TypographyLink","noUnderline","hex2rgba","hex","alpha","r","parseInt","g","b","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match","withTheme","WrappedComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmBO,IAAMA,eAAe,GAAG,EAAxB;AAEA,IAAMC,eAAa,gBAAGC,MAAM,CAACC,IAAV;AAAA;AAAA,+DACf;AAAA,MAAGC,MAAH,QAAGA,MAAH;AAAA,SAAgBA,MAAhB;AAAA,CADe,EAEf;AAAA,MAAGC,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAf;AAAA,CAFe,EAGd;AAAA,MAAGA,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAf;AAAA,CAHc,EAIV;AAAA,2BAAGC,MAAH;AAAA,MAAGA,MAAH,6BAAY,MAAZ;AAAA,SAAyBA,MAAzB;AAAA,CAJU,CAAnB;AAOA,SAASC,IAAT,QAAuF;AAAA,MAAvEC,IAAuE,SAAvEA,IAAuE;AAAA,yBAAjEC,IAAiE;AAAA,MAAjEA,IAAiE,2BAA1DT,eAA0D;AAAA,MAAzCU,KAAyC,SAAzCA,KAAyC;AAAA,MAAlCC,KAAkC,SAAlCA,KAAkC;AAC5F,MAAMC,UAAU,gBAAGC,YAAY,CAACL,IAAD,EAAO;AAAEG,IAAAA,KAAK,EAALA;AAAF,GAAP,CAA/B;AAEA,sBACEG,IAACb,eAAD;AAAe,IAAA,MAAM,EAAES,KAAvB;AAA8B,IAAA,KAAK,EAAED,IAArC;AAA2C,IAAA,MAAM,EAAEE,KAAnD;AAAA,cACGC;AADH,IADF;AAKD;;ICpCYG,eAAe,GAAG;AAC7B;AACF;AACA;AACEC,EAAAA,IAAI,EAAE,CAJuB;;AAK7B;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,GARsB;;AAS7B;AACF;AACA;AACEC,EAAAA,MAAM,EAAE,GAZqB;;AAa7B;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,IAhBsB;;AAiB7B;AACF;AACA;AACEC,EAAAA,IAAI,EAAE;AApBuB;IAuBlBC,kBAAkB,GAAG;AAChC;AACF;AACA;AACEL,EAAAA,IAAI,EAAED,eAAe,CAACE,KAAhB,GAAwB,CAJE;;AAKhC;AACF;AACA;AACEA,EAAAA,KAAK,EAAEF,eAAe,CAACG,MAAhB,GAAyB,CARA;;AAShC;AACF;AACA;AACEA,EAAAA,MAAM,EAAEH,eAAe,CAACI,KAAhB,GAAwB,CAZA;;AAahC;AACF;AACA;AACEA,EAAAA,KAAK,EAAEJ,eAAe,CAACK,IAAhB,GAAuB;AAhBE;;;ACIlC,IAAME,yBAAyB,gBAAGC,aAAa,CAAsBC,SAAtB,CAA/C;AACA,IAAMC,sBAAsB,gBAAGF,aAAa,CAAkB,OAAlB,CAA5C;AAEO,SAASG,kBAAT,GAA+C;AACpD,SAAOC,UAAU,CAACF,sBAAD,CAAjB;AACD;AAEM,IAAMG,0BAA0B,GAAG,UAACC,KAAD,EAAkD;AAC1F,MAAMC,eAAe,GAAGD,KAAK,CAACE,UAAN,CAAiBC,eAAjB,CAAiC;AAAEC,IAAAA,QAAQ,EAAElB,eAAe,CAACG;AAA5B,GAAjC,CAAxB;AACA,SAAOY,eAAe,GAAG,eAAH,GAAqB,cAA3C;AACD,CAHM;;AAKP,IAAMI,YAAY,GAAG,UAACC,IAAD;AAAA,SAAwDA,IAAI,CAACC,UAAL,CAAgB,QAAhB,CAAxD;AAAA,CAArB;;AACO,IAAMC,kBAAkB,GAAG,UAChCF,IADgC,EAEhCG,2BAFgC,EAGC;AACjC,MAAIH,IAAJ,EAAU,OAAOD,YAAY,CAACC,IAAD,CAAnB;AACV,MAAIG,2BAA2B,IAAI,IAAnC,EAAyC,OAAOA,2BAAP;AACzC,QAAM,IAAIC,KAAJ,CAAU,sEAAV,CAAN;AACD,CAPM;AASA,SAASC,uBAAT,CAAiCL,IAAjC,EAAuDN,KAAvD,EAAkG;AACvG,MAAIQ,kBAAkB,CAACF,IAAD,EAAOX,SAAP,CAAtB,EAAyC;AACvC,WAAOK,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BC,OAA5B,CAAoCC,OAApC,CAA4CV,IAA5C,CAAP;AACD;;AAED,SAAON,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCD,OAAnC,CAA2CV,IAA3C,CAAP;AACD;AAWD,IAAMY,gBAAgB,gBAAG7C,MAAM,CAAC8C,IAAV;AAAA;AAAA,uBAClB,gBAAoB;AAAA,MAAjBC,UAAiB,QAAjBA,UAAiB;AACpB,MAAI,CAACA,UAAL,EAAiB,OAAOzB,SAAP;AAEjB,SAAO0B,GAAP,uBACgBD,UADhB;AAGD,CAPmB,EAUlB,iBAA+D;AAAA,MAA5DpB,KAA4D,SAA5DA,KAA4D;AAAA,MAArDsB,SAAqD,SAArDA,SAAqD;AAAA,MAA1CC,yBAA0C,SAA1CA,yBAA0C;AAAA,MAAfC,QAAe,SAAfA,QAAe;AAC/D,8BAA4BxB,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBC,KAAlD;AAAA,MAAQC,OAAR,yBAAQA,OAAR;AAAA,MAAiBE,MAAjB,yBAAiBA,MAAjB;AACA,MAAMQ,aAAa,GAAG1B,0BAA0B,CAACC,KAAD,CAAhD;AAEA,SAAOqB,GAAP,6CAEI,CAACE,yBAAD,GACE,EADF,GAEEF,GAFF,4DAGmBC,SAAS,GAAGP,OAAO,CAACW,UAAR,CAAmBF,QAAnB,CAAH,GAAkCP,MAAM,CAACS,UAAP,CAAkBF,QAAlB,CAH9D,EAIiBF,SAAS,GAClBP,OAAO,CAACC,OAAR,CAAgBO,yBAAhB,EAAmEE,aAAnE,EAAkFE,QADhE,GAElBV,MAAM,CAACD,OAAP,CAAeO,yBAAf,EAAgEE,aAAhE,EAA+EE,QANvF,EAOmBL,SAAS,GACpBP,OAAO,CAACC,OAAR,CAAgBO,yBAAhB,EAAmEE,aAAnE,EAAkFG,UAD9D,GAEpBX,MAAM,CAACD,OAAP,CAAeO,yBAAf,EAAgEE,aAAhE,EAA+EG,UATvF,CAFJ,EAeiBN,SAAS,GAAGP,OAAO,CAACc,UAAX,GAAwBZ,MAAM,CAACY,UAAP,CAAkBL,QAAlB,CAflD,EAgBgBF,SAAS,GAAGP,OAAO,CAACe,SAAX,GAAuBb,MAAM,CAACa,SAAP,CAAiBN,QAAjB,CAhBhD;AAkBD,CAhCmB,EAmClB,iBAAuB;AAAA,MAApBxB,KAAoB,SAApBA,KAAoB;AAAA,MAAbzB,MAAa,SAAbA,MAAa;AACvB,MAAI,CAACA,MAAL,EAAa,OAAO,EAAP;AAEb,SAAO8C,GAAP,6CACWrB,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBkB,MAAtB,CAA6BxD,MAA7B,CADX,EAE2ByB,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBkB,MAAtB,CAA6BxD,MAA7B,CAF3B;AAID,CA1CmB,CAAtB;AAoEO,SAASyD,qCAAT,CACLC,IADK,EAELC,KAFK,EAGLC,MAHK,EAILC,KAJK,EAKuB;AAC5B,6BAAkBC,mBAAmB,EAArC;AAAA,MAAQC,KAAR,wBAAQA,KAAR;;AACA,MAAIF,KAAK,IAAIE,KAAK,IAAIpD,eAAe,CAACI,KAAtC,EAA6C,OAAO8C,KAAP;AAC7C,MAAID,MAAM,IAAIG,KAAK,IAAIpD,eAAe,CAACG,MAAvC,EAA+C,OAAO8C,MAAP;AAC/C,MAAID,KAAK,IAAII,KAAK,IAAIpD,eAAe,CAACE,KAAtC,EAA6C,OAAO8C,KAAP;AAC7C,SAAOD,IAAP;AACD;AAIM,SAASM,6DAAT,CACLC,qBADK,SAG+D;AAAA,MADlEP,IACkE,SADlEA,IACkE;AAAA,MAD5DnD,KAC4D,SAD5DA,KAC4D;AACpE;AACA,MAAI0D,qBAAJ,EAA2B,OAAO;AAAEP,IAAAA,IAAI,EAAJA,IAAF;AAAQnD,IAAAA,KAAK,EAALA;AAAR,GAAP;AAE3B,SAAO;AACLmD,IAAAA,IAAI,EAAEA,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAU,MADT;AAELnD,IAAAA,KAAK,EAAEA,KAAF,aAAEA,KAAF,cAAEA,KAAF,GAAW;AAFX,GAAP;AAID;AAEM,SAAS2D,UAAT,QAUkC;AAAA,MATvCC,iBASuC,SATvCA,iBASuC;AAAA,MARvCT,IAQuC,SARvCA,IAQuC;AAAA,MAPvCC,KAOuC,SAPvCA,KAOuC;AAAA,MANvCC,MAMuC,SANvCA,MAMuC;AAAA,MALvCC,KAKuC,SALvCA,KAKuC;AAAA,MAJvCO,OAIuC,SAJvCA,OAIuC;AAAA,MAHvC7D,KAGuC,SAHvCA,KAGuC;AAAA,MAFvC8D,SAEuC,SAFvCA,SAEuC;AAAA,MADpCC,UACoC;;AACvC,MAAMC,2BAA2B,GAAGhD,UAAU,CAACL,yBAAD,CAA9C;AACA,MAAM+C,qBAAqB,GAAGM,2BAA2B,KAAKnD,SAA9D;;AACA,8BACE4C,6DAA6D,CAACC,qBAAD,EAAwB;AACnFP,IAAAA,IAAI,EAAJA,IADmF;AAEnFnD,IAAAA,KAAK,EAALA;AAFmF,GAAxB,CAD/D;AAAA,MAAciE,mBAAd,yBAAQd,IAAR;AAAA,MAA0Ce,qBAA1C,yBAAmClE,KAAnC;;AAKA,MAAMmE,wBAAwB,GAAGjB,qCAAqC,CAACe,mBAAD,EAAsBb,KAAtB,EAA6BC,MAA7B,EAAqCC,KAArC,CAAtE;AACA,MAAMc,QAAQ,GAAG1C,kBAAkB,CAACyC,wBAAD,EAA2BH,2BAA3B,CAAnC;AACA,MAAMK,kBAAqC,GAAGR,OAAH,aAAGA,OAAH,cAAGA,OAAH,GAAeO,QAAQ,GAAG,MAAH,GAAY,SAA9E;;AAEA,MAAME,WAAW;AACf7E,IAAAA,MAAM,EAAEyE,qBADO;AAEf1B,IAAAA,SAAS,EAAE4B,QAFI;AAGf1B,IAAAA,QAAQ,EAAE2B,kBAHK;AAIfT,IAAAA,iBAAiB,EAAGA,iBAAD,IAAyD/C,SAJ7D;AAKfyB,IAAAA,UAAU,EAAEwB;AALG,KAMZC,UANY,CAAjB;;AASA,MAAMQ,OAAO,GAAGN,mBAAmB,gBACjC9D,IAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEiE,QAA3C;AAAA,2BACEjE,IAAC,gBAAD,kCAAsBmE,WAAtB;AAAmC,MAAA,yBAAyB,EAAEH;AAA9D,OAA4FJ,UAA5F;AADF,IADiC,gBAKjC5D,IAAC,gBAAD,oBAAsBmE,WAAtB,EALF;AAQA,SAAOtE,KAAK,gBAAGG,IAAC,sBAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAEH,KAAxC;AAAA,cAAgDuE;AAAhD,IAAH,GAAgGA,OAA5G;AACD;;AAGD,SAASC,cAAT,CAAwBC,KAAxB,EAAkE;AAChE,sBAAOtE,IAAC,UAAD;AAAY,IAAA,iBAAiB,EAAE;AAA/B,KAAyCsE,KAAzC,EAAP;AACD;;AAED,SAASC,mBAAT,CAA6BD,KAA7B,EAAuE;AACrE;AACA,sBAAOtE,IAAC,UAAD;AAAY,IAAA,iBAAiB,EAAEwE,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,WAAxB,GAAsC;AAArE,KAA+EH,KAA/E,EAAP;AACD;;AAID,IAAMI,aAAa,GAAG,UACpBC,KADoB,EAGpBC,WAHoB,EAIW;AAC/B;AACA,WAASC,iBAAT,CAA2BP,KAA3B,EAAwE;AACtE,wBAAOtE,IAAC,UAAD;AAAY,MAAA,iBAAiB,EAAC,QAA9B;AAAuC,MAAA,IAAI,EAAE4E;AAA7C,OAA8DN,KAA9D;AAAqE,MAAA,kBAAkB,EAAEK;AAAzF,OAAP;AACD;;AACDE,EAAAA,iBAAiB,CAACC,WAAlB,8BAAoDH,KAApD;AACA,SAAOE,iBAAP;AACD,CAXD;;AAaArB,UAAU,CAACtB,IAAX,GAAkBmC,cAAlB;AACAb,UAAU,CAACuB,SAAX,GAAuBR,mBAAvB;AACAf,UAAU,CAACwB,OAAX,GAAqBN,aAAa,CAAC,CAAD,CAAlC;AACAlB,UAAU,CAACyB,OAAX,GAAqBP,aAAa,CAAC,CAAD,CAAlC;AACAlB,UAAU,CAAC0B,OAAX,GAAqBR,aAAa,CAAC,CAAD,CAAlC;AACAlB,UAAU,CAAC2B,OAAX,GAAqBT,aAAa,CAAC,CAAD,CAAlC;AACAlB,UAAU,CAAC4B,OAAX,GAAqBV,aAAa,CAAC,CAAD,CAAlC;AACAlB,UAAU,CAAC6B,OAAX,GAAqBX,aAAa,CAAC,CAAD,CAAlC;AAEA;;AACAlB,UAAU,CAAC8B,EAAX,GAAgBZ,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAlB,UAAU,CAAC+B,EAAX,GAAgBb,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAlB,UAAU,CAACgC,EAAX,GAAgBd,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAlB,UAAU,CAACiC,EAAX,GAAgBf,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAlB,UAAU,CAACkC,EAAX,GAAgBhB,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;;;;AChPA,IAAMiB,WAAW,GAAG,UAACC,SAAD,EAAoBC,QAApB;AAAA,SAAiD,UAAGD,SAAS,CAAC,CAAD,CAAZ,SAAkBC,QAAQ,CAAC,CAAD,CAA1B,EAAgCC,WAAhC,EAAjD;AAAA,CAApB;;AAWA,IAAMC,gBAAgB,gBAAG3G,MAAM,CAACC,IAAV;AAAA;AAAA,uIACH,gBAA8C;AAAA,MAA3C0B,KAA2C,QAA3CA,KAA2C;AAAA,MAApCiF,QAAoC,QAApCA,QAAoC;AAAA,MAA1BzG,KAA0B,QAA1BA,KAA0B;AAAA,MAAnB0G,YAAmB,QAAnBA,YAAmB;AAC7D,MAAID,QAAJ,EAAc,iBAAUzG,KAAK,GAAG,CAAlB;AAEd,mBAAU0G,YAAY,KAAK,OAAjB,GAA2BlF,KAAK,CAACY,IAAN,CAAWuE,MAAX,CAAkB/C,KAAlB,CAAwBgD,YAAnD,GAAkEpF,KAAK,CAACY,IAAN,CAAWuE,MAAX,CAAkBC,YAA9F;AACD,CALmB,EAMA;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,MAAUqF,QAAV,SAAUA,QAAV;AAAA,SAClBA,QAAQ,GAAGrF,KAAK,CAACY,IAAN,CAAWuE,MAAX,CAAkBG,KAAlB,CAAwBC,eAA3B,GAA6CvF,KAAK,CAACY,IAAN,CAAWuE,MAAX,YAA0BI,eAD7D;AAAA,CANA,EAQV;AAAA,MAAG/G,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAf;AAAA,CARU,EASX;AAAA,MAAGA,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAf;AAAA,CATW,CAAtB;;AAqBA,SAASgH,aAAT,QAQqC;AAAA,MAPnC5G,IAOmC,SAPnCA,IAOmC;AAAA,MANnC6G,GAMmC,SANnCA,GAMmC;AAAA,MALnCZ,SAKmC,SALnCA,SAKmC;AAAA,MAJnCC,QAImC,SAJnCA,QAImC;AAAA,MAHnCY,GAGmC,SAHnCA,GAGmC;AAAA,MAFnCC,OAEmC,SAFnCA,OAEmC;AAAA,MADnCC,WACmC,SADnCA,WACmC;;AACnC,MAAIH,GAAJ,EAAS;AACP,wBAAOxG,IAAC,KAAD;AAAO,MAAA,MAAM,EAAE;AAAE4G,QAAAA,GAAG,EAAEJ;AAAP,OAAf;AAA6B,MAAA,KAAK,EAAE;AAAEnD,QAAAA,KAAK,EAAE1D,IAAT;AAAekH,QAAAA,MAAM,EAAElH;AAAvB,OAApC;AAAmE,MAAA,kBAAkB,EAAE8G;AAAvF,MAAP;AACD;;AAED,MAAIb,SAAS,IAAIC,QAAjB,EAA2B;AACzB,wBACE7F,IAAC,UAAD,CAAY,IAAZ;AACE,MAAA,IAAI,EAAE2G,WAAW,KAAK,OAAhB,GAA0B,YAA1B,GAAyC,YADjD;AAEE,MAAA,OAAO,EAAEA,WAAW,KAAK,OAAhB,GAA0B,MAA1B,GAAmC,SAF9C;AAGE,MAAA,KAAK,EAAED,OAAO,GAAG,OAAH,GAAa,OAH7B;AAAA,gBAKGf,WAAW,CAACC,SAAD,EAAYC,QAAZ;AALd,MADF;AASD;;AAED,sBAAO7F,IAAC,IAAD;AAAM,IAAA,IAAI,eAAEA,IAAC,QAAD,KAAZ;AAA0B,IAAA,KAAK,EAAE0G,OAAO,GAAG,OAAH,GAAa,OAArD;AAA8D,IAAA,IAAI,EAAE/G,IAAI,GAAG;AAA3E,IAAP;AACD;;AAYM,SAASmH,MAAT,QAA+F;AAAA,yBAA7EnH,IAA6E;AAAA,MAA7EA,IAA6E,2BAAtE,EAAsE;AAAA,MAAlEoH,KAAkE,SAAlEA,KAAkE;AAAA,MAA3DV,KAA2D,SAA3DA,KAA2D;AAAA,MAApDM,WAAoD,SAApDA,WAAoD;AAAA,MAApCrC,KAAoC;;AACpG,sBACEtE,IAAC,gBAAD;AAAkB,IAAA,KAAK,EAAEL,IAAzB;AAA+B,IAAA,QAAQ,EAAEoH,KAAzC;AAAgD,IAAA,QAAQ,EAAEV,KAA1D;AAAiE,IAAA,YAAY,EAAEM,WAA/E;AAAA,2BACE3G,IAAC,aAAD;AAAe,MAAA,IAAI,EAAEL,IAArB;AAA2B,MAAA,OAAO,EAAE0G,KAApC;AAA2C,MAAA,WAAW,EAAEM;AAAxD,OAAyErC,KAAzE;AADF,IADF;AAKD;;AC/ED,IAAM0C,UAAU,GAAG,UAACC,MAAD,EAA0BvD,OAA1B,EAAsF;AACvG,SAAOA,OAAO,IAAIuD,MAAlB;AACD,CAFD;;AAIO,SAASC,uBAAT,CACLnG,KADK,EAELM,IAFK,EAGLqC,OAHK,EAIkD;AACvD,MAAMuD,MAAM,GAAGlG,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkB5F,IAAlB,CAAf;;AAEA,MAAI2F,UAAU,CAACC,MAAD,EAASvD,OAAT,CAAd,EAAiC;AAC/B,WAAOuD,MAAM,CAACvD,OAAD,CAAb;AACD;;AAED,SAAO3C,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkB5F,IAAlB,YAAP;AACD;;ACPD,IAAM8F,eAAe,gBAAG/H,MAAM,CAACgI,SAAV;AAAA;AAAA,aACjB,gBAAoB;AAAA,MAAjBC,UAAiB,QAAjBA,UAAiB;AACpB,MAAIA,UAAJ,EAAgB,OAAO3G,SAAP;AAEhB,SAAO,yBAAP;AACD,CALkB,CAArB;AAQA,IAAM4G,kBAAkB,gBAAGlI,MAAM,CAACmI,QAAQ,CAAClI,IAAV,CAAT;AAAA;AAAA,8BACL;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBd,YAAjC;AAAA,CADK,CAAxB;AAWO,IAAMqB,uBAAuB,gBAAGC,UAAU,CAC/C,iBAaEC,GAbF,EAcmB;AAAA,MAZfC,QAYe,SAZfA,QAYe;AAAA,MAXfC,QAWe,SAXfA,QAWe;AAAA,MAVfnE,iBAUe,SAVfA,iBAUe;AAAA,MATfoE,KASe,SATfA,KASe;AAAA,MARftF,QAQe,SARfA,QAQe;AAAA,MAPf8E,UAOe,SAPfA,UAOe;AAAA,MANfS,IAMe,SANfA,IAMe;AAAA,MALfC,SAKe,SALfA,SAKe;AAAA,MAJfC,MAIe,SAJfA,MAIe;AAAA,MAHfC,OAGe,SAHfA,OAGe;AACjB,MAAMlH,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMC,OAAO,GAAGC,cAAc,CAAQ,CAAR,CAA9B;AACA,MAAMvI,KAAK,GAAGuI,cAAc,CAAC,CAAD,CAA5B;;AAEA,8BAAoDlB,uBAAuB,CAACnG,KAAD,EAAQ8G,KAAR,EAAetF,QAAf,CAA3E;AAAA,MAAQ+D,eAAR,yBAAQA,eAAR;AAAA,MAAyB+B,sBAAzB,yBAAyBA,sBAAzB;;AACA,MAAQC,KAAR,GAAkBvH,KAAK,CAACY,IAAN,CAAWsF,MAA7B,CAAQqB,KAAR;AAEA,MAAMC,WAAW,GAAGC,gBAAgB;AAAA,yBAAO;AACzC,aAAO;AACLlC,QAAAA,eAAe,EAAEmC,gBAAgB,CAAC5I,KAAK,CAAC6I,KAAP,EAAc,CAAC,CAAD,EAAI,CAAJ,CAAd,EAAsB,CAACpC,eAAD,EAAkB+B,sBAAlB,CAAtB,CAD5B;AAELM,QAAAA,SAAS,EAAE,CACT;AACEL,UAAAA,KAAK,EAAEM,UAAU,CAACT,OAAO,CAACO,KAAR,GAAgBJ,KAAK,CAACtF,IAAN,CAAW6F,MAA3B,GAAoCP,KAAK,CAACtF,IAAN,WAArC;AADnB,SADS;AAFN,OAAP;AAQD,KATmC;;AAAA;AAAA,wBApDnByF,gBAoDmB;AAAA,aApDF5I,KAoDE;AAAA,uBApDoByG,eAoDpB;AAAA,8BApDqC+B,sBAoDrC;AAAA,kBAlD3BO,UAkD2B;AAAA,eAlDhBT,OAkDgB;AAAA;AAAA;AAAA,kBAlDAG,KAAK,CAACtF,IAAN,CAAW6F,MAkDX;AAAA,qBAlDoBP,KAAK,CAACtF,IAAN;AAkDpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAApC;;AAWA,MAAM8F,gBAAgB,GAAG,UAACC,OAAD,EAA4B;AACnDlJ,IAAAA,KAAK,CAAC6I,KAAN,GAAcE,UAAU,CAACG,OAAO,GAAG,CAAH,GAAO,CAAf,CAAxB;AACAZ,IAAAA,OAAO,CAACO,KAAR,GAAgBK,OAAO,GAAG,CAAH,GAAO,CAA9B;AACD,GAHD;;AAKA,sBACE/I,IAAC,eAAD;AACE,IAAA,GAAG,EAAE0H,GADP;AAEE,IAAA,QAAQ,EAAEE,QAFZ;AAGE,IAAA,iBAAiB,EAAEnE,iBAHrB;AAIE,IAAA,MAAM,EAAEuE,MAJV;AAKE,IAAA,IAAI,EAAEF,IALR;AAME,IAAA,SAAS,EAAEC,SANb;AAOE,IAAA,UAAU,EAAEV,UAPd;AAQE,IAAA,KAAK,EAAEQ,KART;AASE,IAAA,OAAO,EAAEI,OATX;AAUE,IAAA,SAAS,EAAE,qBAAM;AACfa,MAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,KAZH;AAaE,IAAA,UAAU,EAAE,sBAAM;AAChBA,MAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD,KAfH;AAAA,2BAiBE9I,IAAC,kBAAD;AAAoB,MAAA,KAAK,EAAE4H,QAAQ,GAAG,CAAC;AAAEe,QAAAA,SAAS,EAAE,CAAC;AAAEL,UAAAA,KAAK,EAAE;AAAT,SAAD;AAAb,OAAD,CAAH,GAAqC,CAACC,WAAD,CAAxE;AAAA,gBACGZ;AADH;AAjBF,IADF;AAuBD,CA9D8C,CAA1C;;ACjBA,IAAMqB,yBAAyB,gBAAG5J,MAAM,CAACC,IAAV;AAAA;AAAA,mOAEvB;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkB9F,QAAjC;AAAA,CAFuB,EAGvB;AAAA,MAAGJ,KAAH,SAAGA,KAAH;AAAA,MAAUsG,UAAV,SAAUA,UAAV;AAAA,SAA4BA,UAAU,GAAG,MAAH,aAAetG,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBgC,QAAjC,OAAtC;AAAA,CAHuB,EAI3B;AAAA,MAAG5B,UAAH,SAAGA,UAAH;AAAA,SAAqBA,UAAU,GAAG,MAAH,GAAY,MAA3C;AAAA,CAJ2B,EAKtB;AAAA,MAAGtG,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBiC,SAAjC;AAAA,CALsB,EAMnB;AAAA,MAAGnI,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBd,YAAjC;AAAA,CANmB,EAchB,iBAA6C;AAAA,MAA1CpF,KAA0C,SAA1CA,KAA0C;AAAA,MAAnCoI,WAAmC,SAAnCA,WAAmC;AAAA,MAAtBtB,KAAsB,SAAtBA,KAAsB;AAAA,MAAftF,QAAe,SAAfA,QAAe;AAC/D,MAAI4G,WAAJ,EAAiB,OAAOpI,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBW,QAAlB,YAAmCtB,eAA1C;AAEjB,MAAI9B,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAO,aAAP;AAE3B,SAAOyC,uBAAuB,CAACnG,KAAD,EAAQ8G,KAAR,EAAetF,QAAf,CAAvB,CAAgD+D,eAAvD;AACD,CApBmC,EAsBzB,iBAAiD;AAAA,MAA9CvF,KAA8C,SAA9CA,KAA8C;AAAA,MAAvCqI,QAAuC,SAAvCA,QAAuC;AAAA,MAA7BC,SAA6B,SAA7BA,SAA6B;AAAA,MAAlBF,WAAkB,SAAlBA,WAAkB;AAC1D,8BAA8EpI,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBqC,cAAhG;AAAA,MAAQnG,KAAR,yBAAQA,KAAR;AAAA,MAAwBoG,cAAxB;AAAA,MAAkDC,eAAlD,yBAAwC5B,QAAxC;AAAA,MAAmE6B,MAAnE,yBAAmEA,MAAnE;AAEA,MAAIJ,SAAJ,EAAe,OAAOI,MAAP;AACf,MAAIL,QAAJ,EAAc,OAAOjG,KAAP;AACd,MAAIgG,WAAJ,EAAiB,OAAOK,eAAP;AAEjB,SAAOD,cAAP;AACD,CA9BmC,CAA/B;;;;;ACFP,SAASG,4BAAT,OAAuH;AAAA,MAA/E7J,KAA+E,QAA/EA,KAA+E;AAAA,MAArEyE,KAAqE;;AACrH,MAAMvD,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,sBAAOlI,IAAC,IAAD,kCAAUsE,KAAV;AAAiB,IAAA,KAAK,EAAEzE,KAAK,KAAK,SAAV,GAAsB,SAAtB,GAAkCkB,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBkB,MAAtB,CAA6BjD,KAA7B;AAA1D,KAAP;AACD;;AAED,SAAS8J,0BAAT,CAAoCrF,KAApC,EAA8E;AAC5E,MAAMzE,KAAK,GAAGe,kBAAkB,EAAhC;AAEA,sBAAOZ,IAAC,4BAAD;AAA8B,IAAA,KAAK,EAAEH;AAArC,KAAgDyE,KAAhD,EAAP;AACD;;AAEM,SAASsF,cAAT,QAAgF;AAAA,MAAtD/J,KAAsD,SAAtDA,KAAsD;AAAA,MAA5CyE,KAA4C;;AACrF,MAAIzE,KAAJ,EAAW;AACT,wBAAOG,IAAC,4BAAD;AAA8B,MAAA,KAAK,EAAEH;AAArC,OAAgDyE,KAAhD,EAAP;AACD;;AAED,sBAAOtE,IAAC,0BAAD,oBAAgCsE,KAAhC,EAAP;AACD;;AC5BM,SAASuF,QAAT,CAAkBxI,IAAlB,EAA8D;AACnE,SAAOA,IAAI,CAACC,UAAL,CAAgB,QAAhB,CAAP;AACD;;;;ACOD,IAAMwI,kBAAkB,GAAG,UAACzI,IAAD,EAAmBqC,OAAnB,EAA+D;AACxF,UAAQrC,IAAR;AACE,SAAK,SAAL;AACE,aAAOqC,OAAO,KAAK,OAAZ,GAAsB,SAAtB,GAAkC,OAAzC;;AACF,SAAK,OAAL;AACE,aAAO,OAAP;;AACF,SAAK,QAAL;AACE,aAAO,SAAP;;AACF,SAAK,aAAL;AACE,aAAO,OAAP;;AACF,SAAK,SAAL;AACE,aAAOA,OAAO,KAAK,OAAZ,GAAsB,OAAtB,GAAgC,OAAvC;;AACF;AACE,aAAO,OAAP;AAZJ;AAcD,CAfD;;AAsBA,IAAMqG,gBAAgB,gBAAG3K,MAAM,CAACoE,UAAU,CAACtB,IAAZ,CAAT;AAAA;AAAA,oCAIlB,YAAM;AACN;AACA;AACA,MAAIsC,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAO/D,SAAP;AAE3B;AAGD,CAZmB,EAclB,gBAA4B;AAAA,MAAzBmH,KAAyB,QAAzBA,KAAyB;AAAA,MAAlBsB,WAAkB,QAAlBA,WAAkB;;AAC5B;AACJ;AACA;AACA;AACI,MAAI3E,QAAQ,CAACC,EAAT,KAAgB,KAAhB,IAAyB0E,WAAzB,IAAwC,CAACU,QAAQ,CAAChC,KAAD,CAArD,EAA8D,OAAOnH,SAAP;AAC9D,SAAO,gBAAP;AACD,CArBmB,CAAtB;AA4BA,IAAMsJ,qBAAmB,gBAAG5K,MAAM,CAACC,IAAV;AAAA;AAAA,aACrB,iBAA8B;AAAA,MAA3B0B,KAA2B,SAA3BA,KAA2B;AAAA,MAApBkJ,aAAoB,SAApBA,aAAoB;AAC9B,MAAMvB,KAAK,GAAG3H,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAAnC;;AAEA,MAAID,aAAa,KAAK,MAAtB,EAA8B;AAC5B,+BAAoBvB,KAApB;AACD;;AAED,iCAAwBA,KAAxB;AACD,CATsB,CAAzB;;AAmBA,SAASyB,UAAT,QAAiG;AAAA,MAA3EzK,IAA2E,SAA3EA,IAA2E;AAAA,MAArEG,KAAqE,SAArEA,KAAqE;AAAA,MAA9DuK,YAA8D,SAA9DA,YAA8D;AAAA,MAAhDpC,MAAgD,SAAhDA,MAAgD;AAC/F,sBACEhI,IAACgK,qBAAD;AAAqB,IAAA,aAAa,EAAEI,YAApC;AAAA,2BACEpK,IAAC,cAAD;AAAgB,MAAA,IAAI,EAAEN,IAAtB;AAA4B,MAAA,MAAM,EAAEsI,MAApC;AAA4C,MAAA,KAAK,EAAEnI;AAAnD;AADF,IADF;AAKD;;AAeD,IAAMwK,sBAAsB,gBAAGjL,MAAM,CAACC,IAAV;AAAA;AAAA,qEAA5B;AAMO,SAASiL,qBAAT,QAO6C;AAAA,MANlDjJ,IAMkD,SANlDA,IAMkD;AAAA,MALlD3B,IAKkD,SALlDA,IAKkD;AAAA,MAJlD0K,YAIkD,SAJlDA,YAIkD;AAAA,MAHlDG,UAGkD,SAHlDA,UAGkD;AAAA,MAFlD1K,KAEkD,SAFlDA,KAEkD;AAAA,MADlD8H,QACkD,SADlDA,QACkD;;AAClD,+CAAa;AACX,QAAI,EAAEA,QAAQ,IAAIjI,IAAd,CAAJ,EAAyB;AACvB,YAAM,IAAI+B,KAAJ,CAAU,gEAAV,CAAN;AACD;AACF;;AAED,MAAM+I,WAAW,GAAGX,QAAQ,CAACxI,IAAD,CAAR,IAAkBmD,QAAQ,CAACC,EAAT,KAAgB,KAAlC,IAA2C,CAAC8F,UAAhE;;AAEA,MAAI,CAAC5C,QAAL,EAAe;AACb,wBACE3H,IAAC,cAAD;AAAA;AAEE,MAAA,IAAI,EAAEN,IAFR;AAGE,MAAA,KAAK,EAAE8K,WAAW,GAAG,SAAH,GAAe3K;AAHnC,MADF;AAOD;;AAED,MAAM4K,qBAAqB,GAAG;AAC5BpJ,IAAAA,IAAI,EAAJA,IAD4B;AAE5B+I,IAAAA,YAAY,EAAZA,YAF4B;AAG5BvK,IAAAA,KAAK,EAAE2K,WAAW,GAAG,SAAH,GAAgB3K;AAHN,GAA9B;AAMA,sBACE6K,KAAC,sBAAD;AAAA,eACGhL,IAAI,IAAI0K,YAAY,KAAK,MAAzB,gBACCpK,IAAC,UAAD,kCAAgByK,qBAAhB;AAAuC,MAAA,MAAM,EAAC,kBAA9C;AAAiE,MAAA,IAAI,EAAE/K;AAAvE,OADD,GAEG,IAHN,eAKEM,IAAC,gBAAD;AACE,MAAA,IAAI,EAAC,MADP;AAEE,MAAA,OAAO,EAAC,MAFV;AAGE,MAAA,KAAK,EAAEqB,IAHT;AAIE,MAAA,WAAW,EAAEkJ,UAJf;AAAA;AAME,MAAA,KAAK,EAAEC,WAAW,GAAG9J,SAAH,GAAeb,KANnC;AAAA,gBAQG8H;AARH,MALF,EAgBGjI,IAAI,IAAI0K,YAAY,KAAK,OAAzB,gBAAmCpK,IAAC,UAAD,kCAAgByK,qBAAhB;AAAuC,MAAA,IAAI,EAAE/K;AAA7C,OAAnC,GAA2F,IAhB9F;AAAA,IADF;AAoBD;AAQD,IAAMiL,sBAAsB,gBAAGvL,MAAM,CAACC,IAAV;AAAA;AAAA,oCAGxB,iBAAiC;AAAA,MAA9BgI,UAA8B,SAA9BA,UAA8B;AAAA,MAAlBuD,WAAkB,SAAlBA,WAAkB;AACjC;AACA;AACA,MAAIpG,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAO/D,SAAP;AAE3B,iCACU2G,UAAU,IAAIuD,WAAd,GAA4B,CAA5B,GAAgC,CAD1C;AAGD,CAXyB,EAaxB,iBAAmB;AAAA,MAAhBC,SAAgB,SAAhBA,SAAgB;AACnB,MAAIrG,QAAQ,CAACC,EAAT,KAAgB,KAAhB,IAAyB,CAACoG,SAA9B,EAAyC,OAAOnK,SAAP,CADtB;;AAGnB,SAAO,gBAAP;AACD,CAjByB,CAA5B;AAoBO,SAASoK,aAAT,QAQ8B;AAAA,MAPnCzJ,IAOmC,SAPnCA,IAOmC;AAAA,MANnCqC,OAMmC,SANnCA,OAMmC;AAAA,MALnC6G,UAKmC,SALnCA,UAKmC;AAAA,MAJnClD,UAImC,SAJnCA,UAImC;AAAA,MAHnC3H,IAGmC,SAHnCA,IAGmC;AAAA,MAFnCiI,QAEmC,SAFnCA,QAEmC;AAAA,MADhCrD,KACgC;;AACnC,MAAMzE,KAAK,GAAG0K,UAAU,GAAG,aAAH,GAAmBT,kBAAkB,CAACzI,IAAD,EAAOqC,OAAP,CAA7D;AAEA,sBACE1D,IAAC,sBAAD;AAAwB,IAAA,SAAS,EAAE6J,QAAQ,CAACxI,IAAD,CAA3C;AAAmD,IAAA,UAAU,EAAEgG,UAA/D;AAA2E,IAAA,WAAW,EAAE0D,OAAO,CAAC,CAACpD,QAAD,IAAajI,IAAd,CAA/F;AAAA,2BACEM,IAAC,qBAAD;AAAuB,MAAA,IAAI,EAAEN,IAA7B;AAAmC,MAAA,IAAI,EAAE2B,IAAzC;AAA+C,MAAA,UAAU,EAAEkJ,UAA3D;AAAuE,MAAA,KAAK,EAAE1K;AAA9E,OAAyFyE,KAAzF;AAAA,gBACGqD;AADH;AADF,IADF;AAOD;;AC3MM,IAAMqD,cAAc,gBAAG5L,MAAM,CAACC,IAAV;AAAA;AAAA,0FAMf,gBAAe;AAAA,MAAZ0B,KAAY,QAAZA,KAAY;AACvB,2BAAkCA,KAAK,CAACY,IAAN,CAAWsF,MAA7C;AAAA,MAAQgE,WAAR,sBAAQA,WAAR;AAAA,MAAqBrD,QAArB,sBAAqBA,QAArB;AACA,mBAAUqD,WAAW,CAACrD,QAAtB,sBAA0CA,QAAQ,WAAR,CAAiBsD,WAA3D;AACD,CATwB,EAUR;AAAA,MAAGnK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWsF,MAAX,CAAkBd,YAAjC;AAAA,CAVQ,CAApB;;ACcP,IAAMgF,iBAAiB,GAAG,CAAC,SAAD,EAAY,SAAZ,CAA1B;IAqBaC,MAAM,gBAAG3D,UAAU,CAC9B,gBAiBEC,GAjBF,EAkBmB;AAAA,MAhBfC,QAgBe,QAhBfA,QAgBe;AAAA,uBAfftG,IAee;AAAA,MAffA,IAee,0BAfR,SAeQ;AAAA,0BAdfqC,OAce;AAAA,MAdfA,OAce,6BAdL,SAcK;AAAA,MAbfkE,QAae,QAbfA,QAae;AAAA,MAZfyD,OAYe,QAZfA,OAYe;AAAA,MAXflI,KAWe,QAXfA,KAWe;AAAA,MAVfsG,MAUe,QAVfA,MAUe;AAAA,MATf/J,IASe,QATfA,IASe;AAAA,+BARf0K,YAQe;AAAA,MARfA,YAQe,kCARA,MAQA;AAAA,MAPfpC,MAOe,QAPfA,MAOe;AAAA,MANfF,IAMe,QANfA,IAMe;AAAA,MALfC,SAKe,QALfA,SAKe;AAAA,mCAJftE,iBAIe;AAAA,MAJfA,iBAIe,sCAJK,QAIL;AAAA,MAHfwE,OAGe,QAHfA,OAGe;;AACjB,MAAIqD,2CAAW5H,OAAO,KAAK,OAAvB,IAAkC,CAACyH,iBAAiB,CAACI,QAAlB,CAA2BlK,IAA3B,CAAvC,EAAyE;AACvE,UAAM,IAAII,KAAJ,CAAU,4DAAV,CAAN;AACD;;AAED,sBACEzB,IAAC,uBAAD;AACE,IAAA,GAAG,EAAE0H,GADP;AAEE,IAAA,iBAAiB,EAAEjE,iBAFrB;AAGE,IAAA,MAAM,EAAEuE,MAHV;AAIE,IAAA,IAAI,EAAEF,IAJR;AAKE,IAAA,SAAS,EAAEC,SALb;AAME,IAAA,QAAQ,EAAEH,QANZ;AAOE,IAAA,UAAU,EAAEyD,OAPd;AAQE,IAAA,KAAK,EAAEhK,IART;AASE,IAAA,QAAQ,EAAEqC,OATZ;AAUE,IAAA,OAAO,EAAEuE,OAVX;AAAA,2BAYEyC,KAAC,yBAAD;AACE,MAAA,KAAK,EAAErJ,IADT;AAEE,MAAA,QAAQ,EAAEqC,OAFZ;AAGE,MAAA,UAAU,EAAE2H,OAHd;AAIE,MAAA,QAAQ,EAAElI,KAJZ;AAKE,MAAA,SAAS,EAAEsG,MALb;AAME,MAAA,WAAW,EAAE7B,QANf;AAAA,8BAQE5H,IAAC,aAAD;AACE,QAAA,IAAI,EAAEqB,IADR;AAEE,QAAA,OAAO,EAAEqC,OAFX;AAGE,QAAA,UAAU,EAAE2H,OAHd;AAIE,QAAA,UAAU,EAAEzD,QAJd;AAKE,QAAA,IAAI,EAAElI,IALR;AAME,QAAA,YAAY,EAAE0K,YANhB;AAAA,kBAQGzC;AARH,QARF,EAkBGnD,QAAQ,CAACC,EAAT,KAAgB,KAAhB,IAAyBmD,QAAzB,gBAAoC5H,IAAC,cAAD,KAApC,GAAyD,IAlB5D;AAAA;AAZF,IADF;AAmCD,CA3D6B;;ACxBhC,IAAMwL,WAAS,gBAAGpM,MAAM,CAACC,IAAV;AAAA;AAAA,yGACO;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,MAAUM,IAAV,QAAUA,IAAV;AAAA,SAAqBN,KAAK,CAACY,IAAN,CAAW8J,IAAX,CAAgBpK,IAAhB,EAAsBiF,eAA3C;AAAA,CADP,EAEF;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAFE,EAGI;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8J,IAAX,CAAgBtF,YAA/B;AAAA,CAHJ,EAIG;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8J,IAAX,CAAgBR,WAA/B;AAAA,CAJH,EAKG;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,MAAUM,IAAV,SAAUA,IAAV;AAAA,SAAqBN,KAAK,CAACY,IAAN,CAAW8J,IAAX,CAAgBpK,IAAhB,EAAsB6J,WAA3C;AAAA,CALH,CAAf;AAQO,SAASQ,IAAT,QAA2D;AAAA,MAA3C/D,QAA2C,SAA3CA,QAA2C;AAAA,MAAjCtG,IAAiC,SAAjCA,IAAiC;AAChE,sBAAOrB,IAACwL,WAAD;AAAW,IAAA,IAAI,EAAEnK,IAAjB;AAAA,cAAwBsG;AAAxB,IAAP;AACD;;ACZD,IAAMgE,WAAW,gBAAGvM,MAAM,CAACwM,KAAV;AAAA;AAAA,oCACN;AAAA,MAAGjM,IAAH,QAAGA,IAAH;AAAA,SAAcA,IAAd;AAAA,CADM,EAEL;AAAA,MAAGA,IAAH,SAAGA,IAAH;AAAA,SAAcA,IAAd;AAAA,CAFK,CAAjB;AAUO,SAASkM,KAAT,QAAwE;AAAA,MAAvDC,KAAuD,SAAvDA,KAAuD;AAAA,MAAhDnM,IAAgD,SAAhDA,IAAgD;AAAA,MAA1CoM,KAA0C,SAA1CA,KAA0C;;AAC7E,iBAAoBC,OAAO,CACzB;AAAA,WACEC,KAAK,CAACH,KAAD,EAAQ;AACX;AACAI,MAAAA,SAAS,EAAE1H,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,KAAxB,GAAgC;AAFhC,KAAR,CADP;AAAA,GADyB,EAMzB,CAACqH,KAAD,CANyB,CAA3B;AAAA;AAAA,MAAOK,SAAP;;AASA,MAAI,CAACA,SAAL,EAAgB,OAAO,IAAP;AAEhB,sBAAOnM,IAAC,WAAD;AAAa,IAAA,IAAI,EAAEL,IAAnB;AAAyB,IAAA,kBAAkB,EAAEwM,SAAS,CAACC,IAAvD;AAA6D,IAAA,MAAM,EAAE;AAAExF,MAAAA,GAAG,EAAEuF,SAAS,CAACE;AAAjB,KAArE;AAA6F,IAAA,KAAK,EAAEN;AAApG,IAAP;AACD;;ACVM,IAAMO,uBAAqD,GAAG;AACnE,YAAQ,aAD2D;AAEnEC,EAAAA,GAAG,EAAE;AAF8D,CAA9D;;;ACGA,SAASC,YAAT,OAMwE;AAAA,MALzEC,SAKyE,QAL7EC,EAK6E;AAAA,MAJ7E5E,IAI6E,QAJ7EA,IAI6E;AAAA,mCAH7E6E,gBAG6E;AAAA,MAH7EA,gBAG6E,sCAH1DL,uBAG0D;AAAA,MAF7ErE,OAE6E,QAF7EA,OAE6E;AAAA,MAD1E2E,IAC0E;;AA4B7E,sBAAO5M,IAAC,SAAD,kCAAgB4M,IAAhB;AAA8B,IAAA,OAAO,EA3BK,SAA3CC,aAA2C,CAACC,CAAD,EAAO;AACtD,UAAI7E,OAAJ,EAAa;AACXA,QAAAA,OAAO,CAAC6E,CAAD,CAAP;AACA,YAAIA,CAAJ,aAAIA,CAAJ,eAAIA,CAAC,CAAEC,gBAAP,EAAyB;AAC1B;;AAED,UAAI,CAACjF,IAAL,EAAW;;AAEX,cAAQ6E,gBAAgB,UAAxB;AACE,aAAK,aAAL;AACA,aAAKjM,SAAL;AACEsM,UAAAA,gBAAA,CAA4BlF,IAA5B,WAAwC,UAACmF,GAAD,EAAS;AAC/CC,YAAAA,OAAO,CAACC,KAAR,2CAAiDrF,IAAjD,GAAyDmF,GAAzD;AACD,WAFD;AAGA;;AACF,aAAK,gBAAL;AACEG,UAAAA,OAAO,CAACC,OAAR,CAAgBvF,IAAhB,WAA4B,UAACmF,GAAD,EAAS;AACnCC,YAAAA,OAAO,CAACC,KAAR,2CAAiDrF,IAAjD,GAAyDmF,GAAzD;AACD,WAFD;AAGA;;AACF;AACE,uDAAa;AACX,kBAAM,IAAIxL,KAAJ,iDAAmDkL,gBAAgB,UAAnE,EAAN;AACD;;AAfL;AAiBD;AAEM,KAAP;AACD;;AC9DM,IAAMW,qBAAqB,GAAG;AACnCC,EAAAA,SAAS,EAAE,SADwB;AAEnCC,EAAAA,eAAe,EAAE,SAFkB;AAGnCC,EAAAA,eAAe,EAAE,SAHkB;AAInCC,EAAAA,eAAe,EAAE,SAJkB;AAMnCC,EAAAA,WAAW,EAAE,SANsB;AAOnCC,EAAAA,iBAAiB,EAAE,SAPgB;AASnCC,EAAAA,SAAS,EAAE,SATwB;AAUnCC,EAAAA,QAAQ,EAAE,SAVyB;AAWnCC,EAAAA,QAAQ,EAAE,SAXyB;AAYnCC,EAAAA,QAAQ,EAAE,SAZyB;AAanCC,EAAAA,QAAQ,EAAE,SAbyB;AAcnCC,EAAAA,OAAO,EAAE,SAd0B;AAenCC,EAAAA,OAAO,EAAE,SAf0B;AAgBnCC,EAAAA,KAAK,EAAE,SAhB4B;AAkBnCC,EAAAA,MAAM,EAAE,SAlB2B;AAmBnCC,EAAAA,gBAAgB,EAAE,SAnBiB;AAoBnCC,EAAAA,WAAW,EAAE,SApBsB;AAqBnCC,EAAAA,IAAI,EAAE,SArB6B;AAuBnCC,EAAAA,WAAW,EAAE,aAvBsB;AAyBnCC,EAAAA,UAAU,EAAE,SAzBuB;AA0BnCC,EAAAA,gBAAgB,EAAE;AA1BiB,CAA9B;;ACEA,IAAM7L,MAAM,GAAG;AACpB8L,EAAAA,OAAO,EAAEtB,qBAAqB,CAACC,SADX;AAEpBsB,EAAAA,YAAY,EAAEvB,qBAAqB,CAACE,eAFhB;AAGpBsB,EAAAA,MAAM,EAAExB,qBAAqB,CAACK,WAHV;AAIpBoB,EAAAA,WAAW,EAAEzB,qBAAqB,CAACM,iBAJf;AAKpBoB,EAAAA,OAAO,EAAE1B,qBAAqB,CAACe,MALX;AAMpBY,EAAAA,OAAO,EAAE3B,qBAAqB,CAACe,MANX;AAOpBa,EAAAA,MAAM,EAAE5B,qBAAqB,CAACgB,gBAPV;AAQpBa,EAAAA,IAAI,EAAE7B,qBAAqB,CAACkB,IARR;AASpBY,EAAAA,OAAO,EAAE9B,qBAAqB,CAACiB,WATX;AAUpBc,EAAAA,SAAS,EAAE/B,qBAAqB,CAACW,QAVb;AAWpBqB,EAAAA,KAAK,EAAEhC,qBAAqB,CAACW,QAXT;AAYpBG,EAAAA,KAAK,EAAEd,qBAAqB,CAACc,KAZT;AAapBmB,EAAAA,KAAK,EAAEjC,qBAAqB,CAACO,SAbT;AAcpB2B,EAAAA,eAAe,EAAElC,qBAAqB,CAACQ,QAdnB;AAepB2B,EAAAA,YAAY,EAAEnC,qBAAqB,CAACa,OAfhB;AAgBpBuB,EAAAA,iBAAiB,EAAEpC,qBAAqB,CAACc,KAhBrB;AAiBpBK,EAAAA,WAAW,EAAEnB,qBAAqB,CAACmB,WAjBf;AAkBpB7G,EAAAA,QAAQ,EAAE0F,qBAAqB,CAACY,OAlBZ;AAmBpByB,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE,wBADC;AAEPvJ,IAAAA,KAAK,EAAE,2BAFA;AAGPwJ,IAAAA,gBAAgB,EAAE;AAHX;AAnBW,CAAf;;ACgBA,IAAM3J,MAAmB,GAAG;AACjCC,EAAAA,YAAY,EAAE,EADmB;AAEjC,aAAS;AACPG,IAAAA,eAAe,EAAExD,MAAM,CAAC8L;AADjB,GAFwB;AAKjCvI,EAAAA,KAAK,EAAE;AACLC,IAAAA,eAAe,EAAEgH,qBAAqB,CAACW;AADlC,GAL0B;AAQjC9K,EAAAA,KAAK,EAAE;AACLgD,IAAAA,YAAY,EAAE;AADT;AAR0B,CAA5B;;AC4DA,IAAMc,MAAmB,GAAG;AACjCd,EAAAA,YAAY,EAAE,EADmB;AAEjC8E,EAAAA,WAAW,EAAE;AACXrD,IAAAA,QAAQ,EAAE,CADC;AAEXkI,IAAAA,KAAK,EAAE;AAFI,GAFoB;AAMjC5G,EAAAA,SAAS,EAAE,EANsB;AAOjC/H,EAAAA,QAAQ,EAAE,EAPuB;AAQjC8H,EAAAA,QAAQ,EAAE,GARuB;AASjCX,EAAAA,KAAK,EAAE;AACLtF,IAAAA,IAAI,EAAE;AACJ,iBAAS,CADL;AAEJsM,MAAAA,KAAK,EAAE,IAFH;AAGJzG,MAAAA,MAAM,EAAE;AAHJ,KADD;AAML3F,IAAAA,MAAM,EAAE;AACNoM,MAAAA,KAAK,EAAE;AADD;AANH,GAT0B;AAmBjChG,EAAAA,cAAc,EAAE;AACd,eAAS,cADK;AAEdnG,IAAAA,KAAK,EAAE,gBAFO;AAGdsG,IAAAA,MAAM,EAAE,gBAHM;AAId7B,IAAAA,QAAQ,EAAE;AAJI,GAnBiB;AAyBjCmI,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE,OADA;AAEVC,IAAAA,cAAc,EAAE;AAFN,GAzBqB;AA6BjC,aAAS;AACP,eAAS;AACP3J,MAAAA,eAAe,EAAE,qBADV;AAEP+B,MAAAA,sBAAsB,EAAE,oBAFjB;AAGP6H,MAAAA,oBAAoB,EAAE,oBAHf;AAIPC,MAAAA,gBAAgB,EAAE;AAJX,KADF;AAOPC,IAAAA,KAAK,EAAE;AACL9J,MAAAA,eAAe,EAAE,0BADZ;AAEL+B,MAAAA,sBAAsB,EAAE,2BAFnB;AAGL6H,MAAAA,oBAAoB,EAAE,2BAHjB;AAILC,MAAAA,gBAAgB,EAAE,0BAJb;AAKLtQ,MAAAA,KAAK,EAAEyN,qBAAqB,CAACc,KALxB;AAMLiC,MAAAA,UAAU,EAAE/C,qBAAqB,CAACc,KAN7B;AAOLkC,MAAAA,WAAW,EAAEhD,qBAAqB,CAACc;AAP9B;AAPA,GA7BwB;AA8CjCQ,EAAAA,OAAO,EAAE;AACP,eAAS;AACPtI,MAAAA,eAAe,EAAExD,MAAM,CAAC8L,OADjB;AAEPvG,MAAAA,sBAAsB,EAAEvF,MAAM,CAAC+L,YAFxB;AAGPqB,MAAAA,oBAAoB,EAAEpN,MAAM,CAAC+L,YAHtB;AAIPsB,MAAAA,gBAAgB,EAAE;AAJX,KADF;AAOPC,IAAAA,KAAK,EAAE;AACL9J,MAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADnB;AAELrH,MAAAA,sBAAsB,EAAEvF,MAAM,CAAC2M,YAF1B;AAGLS,MAAAA,oBAAoB,EAAEpN,MAAM,CAACwM,KAHxB;AAILa,MAAAA,gBAAgB,EAAE,wBAJb;AAKLtQ,MAAAA,KAAK,EAAEiD,MAAM,CAAC8L,OALT;AAMLyB,MAAAA,UAAU,EAAEvN,MAAM,CAACwM,KANd;AAOLgB,MAAAA,WAAW,EAAExN,MAAM,CAACwM;AAPf;AAPA,GA9CwB;AA+DjClB,EAAAA,KAAK,EAAE;AACL,eAAS;AACP9H,MAAAA,eAAe,EAAE,2BADV;AAEP+B,MAAAA,sBAAsB,EAAE,0BAFjB;AAGP6H,MAAAA,oBAAoB,EAAE,0BAHf;AAIPC,MAAAA,gBAAgB,EAAE;AAJX;AADJ,GA/D0B;AAuEjCI,EAAAA,MAAM,EAAE;AACN,eAAS;AACPjK,MAAAA,eAAe,EAAExD,MAAM,CAAC2L,WADjB;AAEPpG,MAAAA,sBAAsB,EAAEvF,MAAM,CAAC2L,WAFxB;AAGPyB,MAAAA,oBAAoB,EAAEpN,MAAM,CAAC2L,WAHtB;AAIP0B,MAAAA,gBAAgB,EAAE,wBAJX;AAKPtQ,MAAAA,KAAK,EAAEiD,MAAM,CAAC8L,OALP;AAMPyB,MAAAA,UAAU,EAAE,wBANL;AAOPC,MAAAA,WAAW,EAAE;AAPN;AADH,GAvEyB;AAkFjC,iBAAe;AACb,eAAS;AACPhK,MAAAA,eAAe,EAAExD,MAAM,CAAC2L,WADjB;AAEPpG,MAAAA,sBAAsB,EAAEvF,MAAM,CAAC2L,WAFxB;AAGPyB,MAAAA,oBAAoB,EAAEpN,MAAM,CAAC2L,WAHtB;AAIP0B,MAAAA,gBAAgB,EAAE,oBAJX;AAKPtQ,MAAAA,KAAK,EAAEiD,MAAM,CAACyM,KALP;AAMPc,MAAAA,UAAU,EAAE,oBANL;AAOPC,MAAAA,WAAW,EAAE;AAPN;AADI,GAlFkB;AA6FjC1I,EAAAA,QAAQ,EAAE;AACR,eAAS;AACPtB,MAAAA,eAAe,EAAExD,MAAM,CAAC8E,QADjB;AAEPS,MAAAA,sBAAsB,EAAEvF,MAAM,CAAC8E,QAFxB;AAGPsI,MAAAA,oBAAoB,EAAEpN,MAAM,CAAC8E,QAHtB;AAIPuI,MAAAA,gBAAgB,EAAE7C,qBAAqB,CAACW,QAJjC;AAKP/C,MAAAA,WAAW,EAAEoC,qBAAqB,CAACW;AAL5B;AADD;AA7FuB,CAA5B;;AC/DA,IAAMxC,IAAe,GAAG;AAC7BtF,EAAAA,YAAY,EAAE,EADe;AAE7B8E,EAAAA,WAAW,EAAE,CAFgB;AAG7B2D,EAAAA,OAAO,EAAE;AACPtI,IAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADjB;AAEPxE,IAAAA,WAAW,EAAEpI,MAAM,CAAC8L;AAFb,GAHoB;AAO7B4B,EAAAA,SAAS,EAAE;AACTlK,IAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADf;AAETxE,IAAAA,WAAW,EAAEpI,MAAM,CAACuM;AAFX,GAPkB;AAW7BkB,EAAAA,MAAM,EAAE;AACNjK,IAAAA,eAAe,EAAEgH,qBAAqB,CAACY,OADjC;AAENhD,IAAAA,WAAW,EAAEpI,MAAM,CAACuM;AAFd;AAXqB,CAAxB;;ACFA,IAAMoB,eAAqC,GAAG;AACnDvB,EAAAA,MAAM,EAAE;AACN5I,IAAAA,eAAe,EAAExD,MAAM,CAACoM;AADlB,GAD2C;AAInDF,EAAAA,OAAO,EAAE;AACP1I,IAAAA,eAAe,EAAExD,MAAM,CAACkM;AADjB,GAJ0C;AAOnDG,EAAAA,IAAI,EAAE;AACJ7I,IAAAA,eAAe,EAAExD,MAAM,CAACqM;AADpB,GAP6C;AAUnDC,EAAAA,OAAO,EAAE;AACP9I,IAAAA,eAAe,EAAExD,MAAM,CAACsM;AADjB;AAV0C,CAA9C;;ACXA,IAAMsB,QAAQ,GAAG;AACtBzF,EAAAA,WAAW,EAAE,CADS;AAEtB9E,EAAAA,YAAY,EAAE,CAFQ;AAGtBU,EAAAA,MAAM,EAAE,EAHc;AAItBxD,EAAAA,KAAK,EAAE,EAJe;AAKtBsN,EAAAA,QAAQ,EAAE,EALY;AAMtBzF,EAAAA,WAAW,EAAEpI,MAAM,CAACuM,SANE;AAOtB/I,EAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBAPF;AAQtBkB,EAAAA,kBAAkB,EAAE9N,MAAM,CAAC8L,OARL;AAStBiC,EAAAA,sBAAsB,EAAE/N,MAAM,CAAC8L,OATT;AAUtBkC,EAAAA,SAAS,EAAEhO,MAAM,CAAC4M;AAVI,CAAjB;;ACQA,IAAMqB,UAA2B,GAAG;AACzCC,EAAAA,GAAG,EAAE;AACH7P,IAAAA,QAAQ,EAAE;AADP,GADoC;AAIzC8P,EAAAA,KAAK,EAAE;AACL9P,IAAAA,QAAQ,EAAE;AADL,GAJkC;AAOzC+P,EAAAA,IAAI,EAAE;AACJ/P,IAAAA,QAAQ,EAAE;AADN;AAPmC,CAApC;;ACNA,IAAMgQ,cAAc,GAAG,UAACzO,QAAD,EAAmB0O,oBAAnB;AAAA,SAC5BC,IAAI,CAACtK,KAAL,CAAWrE,QAAQ,GAAG0O,oBAAtB,CAD4B;AAAA,CAAvB;AAaA,IAAME,0BAA0B,GAAG,UACxCF,oBADwC,EAExCG,oBAFwC,EAGxCC,qBAHwC;AAAA,SAId;AAC1BC,IAAAA,YAAY,EAAE;AACZ/O,MAAAA,QAAQ,EAAE6O,oBADE;AAEZ5O,MAAAA,UAAU,EAAEwO,cAAc,CAACI,oBAAD,EAAuBH,oBAAvB;AAFd,KADY;AAK1BM,IAAAA,aAAa,EAAE;AACbhP,MAAAA,QAAQ,EAAE8O,qBADG;AAEb7O,MAAAA,UAAU,EAAEwO,cAAc,CAACK,qBAAD,EAAwBJ,oBAAxB;AAFb;AALW,GAJc;AAAA,CAAnC;AAeA,IAAMxP,UAAU,GAAG;AACxBkB,EAAAA,MAAM,EAAE;AACNyM,IAAAA,KAAK,EAAEoC,MAAU,CAACpC,KADZ;AAEN,wBAAoBoC,MAAU,CAACnC,eAFzB;AAGN,mBAAelC,qBAAqB,CAACS,QAH/B;AAINK,IAAAA,KAAK,EAAEuD,MAAU,CAACvD,KAJZ;AAKN,mBAAeuD,MAAU,CAACvD,KALpB;AAMNQ,IAAAA,OAAO,EAAE+C,MAAU,CAAC/C,OANd;AAON,qBAAiB+C,MAAU,CAAC9C,YAPtB;AAQNC,IAAAA,MAAM,EAAE6C,MAAU,CAAC7C,MARb;AASNE,IAAAA,OAAO,EAAE2C,MAAU,CAAC3C,OATd;AAUNE,IAAAA,MAAM,EAAEyC,MAAU,CAACzC;AAVb,GADgB;AAaxBrN,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE;AACPW,MAAAA,UAAU,EAAE;AACVmP,QAAAA,OAAO,EAAEpN,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,SAAxB,GAAoC,uBADnC;AAEVoN,QAAAA,IAAI,EAAErN,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,SAAxB,GAAoC;AAFhC,OADL;AAKP7B,MAAAA,UAAU,EAAE,GALL;AAMPC,MAAAA,SAAS,EAAE,QANJ;AAOPd,MAAAA,OAAO,EAAE;AACP;AACA+P,QAAAA,OAAO,EAAER,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAF5B;AAGP;AACAS,QAAAA,OAAO,EAAET,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAJ5B;AAKP;AACAU,QAAAA,OAAO,EAAEV,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAN5B;AAOP;AACAW,QAAAA,OAAO,EAAEX,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAR5B;AASP;AACAY,QAAAA,OAAO,EAAEZ,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV;AAV5B;AAPF,KADJ;AAqBLtP,IAAAA,MAAM,EAAE;AACNS,MAAAA,UAAU,EAAE;AACVmP,QAAAA,OAAO,EAAEpN,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,WAAxB,GAAsC,UADrC;AAEVoN,QAAAA,IAAI,EAAErN,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,WAAxB,GAAsC;AAFlC,OADN;AAKN7B,MAAAA,UAAU,EAAE;AACVgP,QAAAA,OAAO,EAAE,GADC;AAEVC,QAAAA,IAAI,EAAE;AAFI,OALN;AASNhP,MAAAA,SAAS,EAAE;AACT+O,QAAAA,OAAO,EAAE,QADA;AAETC,QAAAA,IAAI,EAAE;AAFG,OATL;AAaN9P,MAAAA,OAAO,EAAE;AACP,sBAAcuP,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CADjC;AAEP,uBAAeA,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAFlC;AAGPa,QAAAA,IAAI,EAAEb,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAHzB;AAIP,sBAAcA,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAJjC;AAKP,uBAAeA,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV;AALlC;AAbH;AArBH,GAbiB;AAwDxBc,EAAAA,IAAI,EAAE;AACJC,IAAAA,aAAa,EAAE/E,qBAAqB,CAACU;AADjC;AAxDkB,CAAnB;;ACnBP,IAAMsE,gBAAiC,GAAG;AACxC,aAAS;AACPhM,IAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADjB;AAEPxE,IAAAA,WAAW,EAAEpI,MAAM,CAACuM,SAFb;AAGPxP,IAAAA,KAAK,EAAE;AAHA,GAD+B;AAMxC0S,EAAAA,OAAO,EAAE;AACPjM,IAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADjB;AAEPxE,IAAAA,WAAW,EAAEpI,MAAM,CAACuM,SAFb;AAGPxP,IAAAA,KAAK,EAAE;AAHA,GAN+B;AAWxC2S,EAAAA,KAAK,EAAE;AACLlM,IAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADnB;AAELxE,IAAAA,WAAW,EAAEoC,qBAAqB,CAACW,QAF9B;AAGLpO,IAAAA,KAAK,EAAE;AAHF,GAXiC;AAgBxCyP,EAAAA,KAAK,EAAE;AACLpE,IAAAA,WAAW,EAAEoC,qBAAqB,CAACU,QAD9B;AAELnO,IAAAA,KAAK,EAAE;AAFF,GAhBiC;AAoBxCiQ,EAAAA,KAAK,EAAE;AACL5E,IAAAA,WAAW,EAAEpI,MAAM,CAAC8L,OADf;AAEL/O,IAAAA,KAAK,EAAE;AAFF,GApBiC;AAwBxC+H,EAAAA,QAAQ,EAAE;AACRtB,IAAAA,eAAe,EAAExD,MAAM,CAAC8E,QADhB;AAERsD,IAAAA,WAAW,EAAEpI,MAAM,CAACuM,SAFZ;AAGRxP,IAAAA,KAAK,EAAE;AAHC,GAxB8B;AA6BxC4S,EAAAA,OAAO,EAAE;AACPvH,IAAAA,WAAW,EAAEpI,MAAM,CAACuM,SADb;AAEPxP,IAAAA,KAAK,EAAE;AAFA;AA7B+B,CAA1C;AA0DO,IAAM6S,KAAiB,GAAG;AAC/BxJ,EAAAA,SAAS,EAAE,EADoB;AAE/BrJ,EAAAA,KAAK,EAAE;AACL8S,IAAAA,SAAS,EAAE7P,MAAM,CAAC8L,OADb;AAELgE,IAAAA,WAAW,EAAEhR,UAAU,CAACkB,MAAX,CAAkB,aAAlB;AAFR,GAFwB;AAM/BmI,EAAAA,WAAW,EAAE,CANkB;AAO/B9E,EAAAA,YAAY,EAAE,EAPiB;AAQ/BzG,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE;AADF,GARyB;AAW/BkT,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,EADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH,GAXsB;AAe/BhD,EAAAA,UAAU,EAAE;AACViD,IAAAA,QAAQ,EAAE,cADA;AAEVhD,IAAAA,QAAQ,EAAE,OAFA;AAGVC,IAAAA,cAAc,EAAE;AAHN,GAfmB;AAoB/BgD,EAAAA,MAAM,EAAEX;AApBuB,CAA1B;;ACvEA,IAAMY,UAAU,GAAG;AACxBC,EAAAA,2BAA2B,EAAE,CADL;AAExBC,EAAAA,cAAc,EAAE;AAFQ,CAAnB;;ACeA,IAAMC,QAAuB,GAAG;AACrCrE,EAAAA,OAAO,EAAE;AACP1I,IAAAA,eAAe,EAAExD,MAAM,CAACkM,OADjB;AAEPsE,IAAAA,UAAU,EAAExQ,MAAM,CAAC4M;AAFZ,GAD4B;AAKrCR,EAAAA,MAAM,EAAE;AACN5I,IAAAA,eAAe,EAAExD,MAAM,CAACoM,MADlB;AAENoE,IAAAA,UAAU,EAAExQ,MAAM,CAAC4M;AAFb,GAL6B;AASrC,aAAS;AACPpJ,IAAAA,eAAe,EAAEgH,qBAAqB,CAACY,OADhC;AAEPoF,IAAAA,UAAU,EAAExQ,MAAM,CAACyM;AAFZ,GAT4B;AAarCpJ,EAAAA,YAAY,EAAE,EAbuB;AAcrCwK,EAAAA,QAAQ,EAAE;AAd2B,CAAhC;;ACMA,IAAM4C,KAAiB,GAAG;AAC/B5T,EAAAA,IAAI,EAAE,EADyB;AAE/B6T,EAAAA,SAAS,EAAE;AACTlN,IAAAA,eAAe,EAAExD,MAAM,CAAC4M,iBADf;AAETzE,IAAAA,WAAW,EAAE,CAFJ;AAGTC,IAAAA,WAAW,EAAEoC,qBAAqB,CAACU;AAH1B,GAFoB;AAO/ByF,EAAAA,OAAO,EAAE;AACPnN,IAAAA,eAAe,EAAExD,MAAM,CAAC8L,OADjB;AAEP8E,IAAAA,SAAS,EAAE,CAFJ;AAGPC,IAAAA,oBAAoB,EAAE7Q,MAAM,CAAC4M;AAHtB,GAPsB;AAY/B9H,EAAAA,QAAQ,EAAE;AACRtB,IAAAA,eAAe,EAAExD,MAAM,CAAC8E,QADhB;AAERsD,IAAAA,WAAW,EAAEpI,MAAM,CAACuM;AAFZ;AAZqB,CAA1B;;ACjBA,IAAMuE,QAAuB,GAAG;AACrC1K,EAAAA,SAAS,EAAE;AAD0B,CAAhC;;ACIA,IAAM2K,KAAK,GAAG;AACnB9C,EAAAA,UAAU,EAAVA,UADmB;AAEnB2B,EAAAA,KAAK,EAALA,KAFmB;AAGnBa,EAAAA,KAAK,EAALA,KAHmB;AAInBL,EAAAA,UAAU,EAAVA,UAJmB;AAKnBU,EAAAA,QAAQ,EAARA,QALmB;AAMnBlD,EAAAA,QAAQ,EAARA,QANmB;AAOnB2C,EAAAA,QAAQ,EAARA;AAPmB,CAAd;;ACNA,IAAMS,eAAe,GAAG;AAC7BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,EADX;AAENC,IAAAA,iBAAiB,EAAE,EAFb;AAGN/I,IAAAA,WAAW,EAAEoC,qBAAqB,CAACW;AAH7B;AADqB,CAAxB;;ACmCA,IAAMiG,UAA2B,GAAG;AACzC5N,EAAAA,eAAe,EAAE,aADwB;AAEzCjD,EAAAA,KAAK,EAAE,EAFkC;AAGzCwD,EAAAA,MAAM,EAAE,EAHiC;AAIzCV,EAAAA,YAAY,EAAE,EAJ2B;AAKzC8E,EAAAA,WAAW,EAAE,CAL4B;AAMzCC,EAAAA,WAAW,EAAE,aAN4B;AAOzC6E,EAAAA,UAAU,EAAE;AACViD,IAAAA,QAAQ,EAAE,KADA;AAEVhD,IAAAA,QAAQ,EAAE,OAFA;AAGVC,IAAAA,cAAc,EAAE;AAHN,GAP6B;AAYzC3H,EAAAA,KAAK,EAAE;AACLtF,IAAAA,IAAI,EAAE;AACJ,iBAAS,CADL;AAEJsM,MAAAA,KAAK,EAAE,IAFH;AAGJzG,MAAAA,MAAM,EAAE;AAHJ,KADD;AAML3F,IAAAA,MAAM,EAAE;AACNoM,MAAAA,KAAK,EAAE;AADD;AANH,GAZkC;AAsBzC1H,EAAAA,QAAQ,EAAE;AACRU,IAAAA,KAAK,EAAE,CADC;AAERhC,IAAAA,eAAe,EAAEW,MAAM,CAACW,QAAP,YAAwBtB,eAFjC;AAGR4E,IAAAA,WAAW,EAAEjE,MAAM,CAACW,QAAP,YAAwBsD;AAH7B,GAtB+B;AA2BzC,aAAS;AACP7C,IAAAA,sBAAsB,EAAEpB,MAAM,WAAN,YAAuBoB;AADxC,GA3BgC;AA8BzC+F,EAAAA,KAAK,EAAE;AACL/F,IAAAA,sBAAsB,EAAEpB,MAAM,CAACmH,KAAP,YAAqB8B;AADxC;AA9BkC,CAApC;;AC5BA,IAAMiE,QAAuB,GAAG;AACrCtB,EAAAA,OAAO,EAAE,WAD4B;AAErC3H,EAAAA,WAAW,EAAEpI,MAAM,CAACuM,SAFiB;AAGrCpE,EAAAA,WAAW,EAAE,CAHwB;AAIrCmJ,EAAAA,WAAW,EAAE;AAJwB,CAAhC;;ACUA,IAAMC,UAA2B,GAAG;AACzC1U,EAAAA,IAAI,EAAE,EADmC;AAEzC2U,EAAAA,WAAW,EAAE,CAF4B;AAGzCxR,EAAAA,MAAM,EAAE;AACNE,IAAAA,IAAI,EAAEF,MAAM,CAACuM,SADP;AAENkF,IAAAA,IAAI,EAAEzR,MAAM,CAAC8L;AAFP,GAHiC;AAOzC4F,EAAAA,SAAS,EAAE;AACTC,IAAAA,KAAK,EAAE,GADE;AAETC,IAAAA,4BAA4B,EAAE,IAFrB;AAGTC,IAAAA,wBAAwB,EAAE,IAHjB;AAITC,IAAAA,iCAAiC,EAAE,IAJ1B;AAKTC,IAAAA,4BAA4B,EAAE,IALrB;AAMTC,IAAAA,kBAAkB,EAAE,CAAC,IAAD,EAAO,KAAP,EAAc,KAAd,EAAqB,CAArB;AANX;AAP8B,CAApC;;ACIA,IAAMC,MAAmB,GAAG;AACjCC,EAAAA,GAAG,EAAE;AACH;AACEvS,MAAAA,UAAU,EAAEb,UAAU,CAACC,KAAX,CAAiBG,MAAjB,CAAwBS,UAAxB,CAAmCmP;AADjD,OAEKhQ,UAAU,CAACC,KAAX,CAAiBG,MAAjB,CAAwBD,OAAxB,CAAgCoQ,IAAhC,CAAqCV,YAF1C;AAGE/O,MAAAA,QAAQ,EAAE,EAHZ;AAIE7C,MAAAA,KAAK,EAAE+B,UAAU,CAACkB,MAAX,CAAkB,aAAlB;AAJT,MADG;AAOHmS,IAAAA,QAAQ,EAAE;AACRpV,MAAAA,KAAK,EAAE+B,UAAU,CAACkB,MAAX,CAAkB8L;AADjB;AAPP,GAD4B;AAYjCsG,EAAAA,OAAO,EAAE;AACPrC,IAAAA,OAAO,EAAE,WADF;AAEP,eAAS;AACPvM,MAAAA,eAAe,EAAExD,MAAM,CAAC2L;AADjB,KAFF;AAKPwG,IAAAA,QAAQ,EAAE;AACR3O,MAAAA,eAAe,EAAExD,MAAM,CAAC8L,OADhB;AAER/O,MAAAA,KAAK,EAAE+B,UAAU,CAACkB,MAAX,CAAkBsL;AAFjB;AALH;AAZwB,CAA5B;;ACvBA,IAAM+G,OAAO,GAAG;AACrBjS,EAAAA,MAAM,EAAE;AADa,CAAhB;;ACQA,IAAMkS,QAAuB,GAAG;AACrC9O,EAAAA,eAAe,EAAEgH,qBAAqB,CAACW,QADF;AAErCoH,EAAAA,UAAU,EAAE/H,qBAAqB,CAACU,QAFG;AAGrCsH,EAAAA,iBAAiB,EAAE;AAHkB,CAAhC;;ACcA,IAAMC,GAAa,GAAG;AAC3BpP,EAAAA,YAAY,EAAE,EADa;AAE3B0M,EAAAA,OAAO,EAAE,UAFkB;AAG3BjE,EAAAA,OAAO,EAAE;AACP2F,IAAAA,IAAI,EAAE;AACJjO,MAAAA,eAAe,EAAEgH,qBAAqB,CAACqB,gBADnC;AAEJ1D,MAAAA,WAAW,EAAE,CAFT;AAGJC,MAAAA,WAAW,EAAEpI,MAAM,CAAC2L;AAHhB,KADC;AAMP+G,IAAAA,OAAO,EAAE;AACPlP,MAAAA,eAAe,EAAExD,MAAM,CAAC2L,WADjB;AAEPxD,MAAAA,WAAW,EAAE,CAFN;AAGPC,MAAAA,WAAW,EAAEpI,MAAM,CAAC8L;AAHb;AANF,GAHkB;AAe3B,aAAS;AACP2F,IAAAA,IAAI,EAAE;AACJjO,MAAAA,eAAe,EAAEgH,qBAAqB,CAACY,OADnC;AAEJjD,MAAAA,WAAW,EAAE,CAFT;AAGJC,MAAAA,WAAW,EAAEpI,MAAM,CAAC2L;AAHhB,KADC;AAMP+G,IAAAA,OAAO,EAAE;AACPlP,MAAAA,eAAe,EAAExD,MAAM,CAAC2L,WADjB;AAEPxD,MAAAA,WAAW,EAAE,CAFN;AAGPC,MAAAA,WAAW,EAAEpI,MAAM,CAACyM;AAHb;AANF,GAfkB;AA2B3BL,EAAAA,MAAM,EAAE;AACNqF,IAAAA,IAAI,EAAE;AACJjO,MAAAA,eAAe,EAAEgH,qBAAqB,CAACK,WADnC;AAEJ1C,MAAAA,WAAW,EAAE,CAFT;AAGJC,MAAAA,WAAW,EAAEpI,MAAM,CAAC2L;AAHhB,KADA;AAMN+G,IAAAA,OAAO,EAAE;AACPlP,MAAAA,eAAe,EAAExD,MAAM,CAAC2L,WADjB;AAEPxD,MAAAA,WAAW,EAAE,CAFN;AAGPC,MAAAA,WAAW,EAAEpI,MAAM,CAACoM;AAHb;AANH;AA3BmB,CAAtB;;ACXA,IAAMuG,OAAqB,GAAG;AACnCnP,EAAAA,eAAe,EAAExD,MAAM,CAACyM,KADW;AAEnCpJ,EAAAA,YAAY,EAAE,EAFqB;AAGnCuP,EAAAA,OAAO,EAAE,IAH0B;AAInCC,EAAAA,iBAAiB,EAAE,EAJgB;AAKnCC,EAAAA,eAAe,EAAE,CALkB;AAMnCC,EAAAA,eAAe,EAAE;AANkB,CAA9B;;ACOP,IAAMC,WAAW,GAAG;AAClBC,EAAAA,MAAM,EAAE;AACN/S,IAAAA,IAAI,EAAE,CADA;AAENC,IAAAA,KAAK,EAAE,GAFD;AAGNC,IAAAA,MAAM,EAAE,GAHF;AAINC,IAAAA,KAAK,EAAE,IAJD;AAKN6S,IAAAA,IAAI,EAAE;AALA,GADU;AAQlBC,EAAAA,GAAG,EAAE;AACHC,IAAAA,eAAe,EAAE,kBADd;AAEHC,IAAAA,gBAAgB,EAAE,kBAFf;AAGHC,IAAAA,eAAe,EAAE,mBAHd;AAIHC,IAAAA,cAAc,EAAE;AAJb,GARa;AAclBC,EAAAA,GAAG,EAAE;AACHJ,IAAAA,eAAe,EAAE,kBADd;AAEHC,IAAAA,gBAAgB,EAAE,kBAFf;AAGHC,IAAAA,eAAe,EAAE,mBAHd;AAIHC,IAAAA,cAAc,EAAE;AAJb;AAda,CAApB;AAuBA;;IACatV,KAAK,GAAG;AACnBmJ,EAAAA,OAAO,EAAE,CADU;AAEnBpH,EAAAA,MAAM,EAANA,MAFmB;AAGnByT,EAAAA,QAAQ,EAAE;AAAEhJ,IAAAA,SAAS,EAAED;AAAb,GAHS;AAInBpH,EAAAA,MAAM,EAANA,MAJmB;AAKnB4P,EAAAA,WAAW,EAAXA,WALmB;AAMnB7O,EAAAA,MAAM,EAANA,MANmB;AAOnBwE,EAAAA,IAAI,EAAJA,IAPmB;AAQnBgF,EAAAA,eAAe,EAAfA,eARmB;AASnBoD,EAAAA,KAAK,EAALA,KATmB;AAUnBC,EAAAA,eAAe,EAAfA,eAVmB;AAWnBI,EAAAA,UAAU,EAAVA,UAXmB;AAYnBC,EAAAA,QAAQ,EAARA,QAZmB;AAanBE,EAAAA,UAAU,EAAVA,UAbmB;AAcnBU,EAAAA,MAAM,EAANA,MAdmB;AAenBI,EAAAA,OAAO,EAAPA,OAfmB;AAgBnBC,EAAAA,QAAQ,EAARA,QAhBmB;AAiBnBG,EAAAA,GAAG,EAAHA,GAjBmB;AAkBnBE,EAAAA,OAAO,EAAPA,OAlBmB;AAmBnB7T,EAAAA,UAAU,EAAVA;AAnBmB;;ACjCd,SAASV,eAAT,cAGI;AAAA,MAFPmC,KAEO,QAFPA,KAEO;AAAA,MAFAwD,MAEA,QAFAA,MAEA;AAAA,MADP1F,QACO,SADPA,QACO;AAAA,MADG8H,QACH,SADGA,QACH;AAAA,MADaC,SACb,SADaA,SACb;AAAA,MADwBsN,SACxB,SADwBA,SACxB;AACT,MAAMC,eAAe,GAAGpT,KAAK,GAAG,CAAC,CAAClC,QAAD,IAAakC,KAAK,IAAIlC,QAAvB,MAAqC,CAAC8H,QAAD,IAAa5F,KAAK,IAAI4F,QAA3D,CAAH,GAA0E,IAAvG;AACA,MAAMyN,gBAAgB,GAAG7P,MAAM,GAAG,CAAC,CAACqC,SAAD,IAAcrC,MAAM,IAAIqC,SAAzB,MAAwC,CAACsN,SAAD,IAAc3P,MAAM,IAAI2P,SAAhE,CAAH,GAAgF,IAA/G;AACA,SAAOC,eAAe,IAAIC,gBAA1B;AACD;AAEM,SAASC,kBAAT,CAA4BC,OAA5B,EAAsE;AAC3E,6BAA0BxT,mBAAmB,EAA7C;AAAA,MAAQC,KAAR,wBAAQA,KAAR;AAAA,MAAewD,MAAf,wBAAeA,MAAf;;AACA,SAAO3F,eAAe,CAAC;AAAEmC,IAAAA,KAAK,EAALA,KAAF;AAASwD,IAAAA,MAAM,EAANA;AAAT,GAAD,EAAoB+P,OAApB,CAAtB;AACD;;AC6BM,SAASC,sBAAT,CAAgCC,UAAhC,EAAgF;AACrF,SAAO;AACL5V,IAAAA,eAAe,EAAE,2BAAC0V,OAAD;AAAA,aAAa1V,eAAe,CAAC4V,UAAD,EAAaF,OAAb,CAA5B;AAAA,KADZ;AAGLG,IAAAA,mBAAmB,EAAE,6BAACH,OAAD,EAAUI,WAAV,EAAuBC,YAAvB;AAAA,aACnB/V,eAAe,CAAC4V,UAAD,EAAaF,OAAb,CAAf,GAAuCI,WAAvC,GAAqDC,YADlC;AAAA,KAHhB;AAMLC,IAAAA,cAAc,EAAE,0BAA6D;AAAA,wCAAvCC,SAAuC;AAAvCA,QAAAA,SAAuC;AAAA;;AAC3E,mDAAa;AACXA,QAAAA,SAAS,CAACC,KAAV,CAAgB,CAAhB,EAAmBC,OAAnB,CAA2B,gBAAaC,KAAb,EAAuB;AAAA;AAAA,cAArBnW,QAAqB;;AAChD,cAAMoW,gBAAgB,GAAGJ,SAAS,CAACG,KAAD,CAAT,CAAiB,CAAjB,CAAzB;;AACA,cAAIC,gBAAgB,GAAGpW,QAAvB,EAAiC;AAC/B,kBAAM,IAAIM,KAAJ,gEACoDN,QADpD,mBACqEoW,gBADrE,kBAC6FpW,QAD7F,+BAC0HoW,gBAD1H,OAAN;AAGD;AACF,SAPD;AAQD;;AACD,UAAMC,KAAK,GAAGL,SAAS,CAACM,IAAV,CAAe;AAAA;AAAA,YAAEtW,QAAF;AAAA;;AAAA,eAAuBD,eAAe,CAAC4V,UAAD,EAAa;AAAE3V,UAAAA,QAAQ,EAAEuW,MAAM,CAACvW,QAAD;AAAlB,SAAb,CAAtC;AAAA,OAAf,CAAd;AACA,UAAI,CAACqW,KAAL,EAAY,OAAO,IAAP;AACZ,aAAOA,KAAK,CAAC,CAAD,CAAZ;AACD;AApBI,GAAP;AAsBD;;AC7DM,SAASG,YAAT,GAAmC;AACxC,MAAMb,UAAU,GAAGc,mBAAa,EAAhC;AACA,SAAO5L,OAAO,CAAC,YAAM;AACnB,WAAO;AAAErK,MAAAA,IAAI,EAAEkW,KAAR;AAAmB5W,MAAAA,UAAU,EAAE4V,sBAAsB,CAACC,UAAD;AAArD,KAAP;AACD,GAFa,EAEX,CAACA,UAAD,CAFW,CAAd;AAGD;;ACLD,IAAMgB,gCAAgC,gBAAG1Y,MAAM,CAACgI,SAAV;AAAA;AAAA,wCAAtC;AAKA,IAAM2Q,iBAAiB,gBAAG3Y,MAAM,CAACC,IAAV;AAAA;AAAA,4KAMX;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnD,QAAjB,CAA0B7J,MAAzC;AAAA,CANW,EAOZ;AAAA,MAAG9F,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnD,QAAjB,CAA0BrN,KAAzC;AAAA,CAPY,EASJ;AAAA,MAAGtC,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnD,QAAjB,CAA0BvK,YAAzC;AAAA,CATI,EAWnB,iBAA2B;AAAA,MAAxB6R,UAAwB,SAAxBA,UAAwB;AAAA,MAAZjX,KAAY,SAAZA,KAAY;AAC3B,8BACEA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnD,QADnB;AAAA,MAAQG,sBAAR,yBAAQA,sBAAR;AAAA,MAAgCD,kBAAhC,yBAAgCA,kBAAhC;AAAA,MAAoD1F,WAApD,yBAAoDA,WAApD;AAAA,MAAiED,WAAjE,yBAAiEA,WAAjE;AAAA,MAA8E3E,eAA9E,yBAA8EA,eAA9E;;AAEA,MAAI0R,UAAJ,EAAgB;AACd,WAAO5V,GAAP,yCACsByO,sBADtB,YAEe5F,WAFf,sBAEsC2F,kBAFtC;AAID;;AACD,SAAOxO,GAAP,yCACsBkE,eADtB,YAEe2E,WAFf,sBAEsCC,WAFtC;AAID,CAxBoB,EA0BL,iBAA0B;AAAA,MAAvBnK,KAAuB,SAAvBA,KAAuB;AAAA,MAAhBkX,SAAgB,SAAhBA,SAAgB;AACxC,MAAI,CAACA,SAAL,EAAgB,OAAO,KAAP;AAChB,mBAAUlX,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,GAA/B;AACD,CA7BoB,CAAvB;AA0CO,SAASgO,QAAT,QAQyB;AAAA,MAP9BC,QAO8B,SAP9BA,QAO8B;AAAA,MAN9BC,MAM8B,SAN9BA,MAM8B;AAAA,MAL9BC,OAK8B,SAL9BA,OAK8B;AAAA,MAJ9B5E,OAI8B,SAJ9BA,OAI8B;AAAA,4BAH9B6E,OAG8B;AAAA,MAH9BA,OAG8B,8BAHpB,EAGoB;AAAA,MAF9BC,EAE8B,SAF9BA,EAE8B;AAAA,MAD9B5Q,QAC8B,SAD9BA,QAC8B;AAC9B,MAAM5G,KAAK,GAAG4W,YAAY,EAA1B;AAQA,sBACEjN,KAAC,gCAAD;AACE,IAAA,iBAAiB,EAAC,UADpB;AAEE,IAAA,kBAAkB,EAAE;AAAE+I,MAAAA,OAAO,EAAPA;AAAF,KAFtB;AAGE,IAAA,OAAO,EAAE6E,OAHX;AAIE,IAAA,OAAO,EAXS,SAAdE,WAAc,CAAC1L,CAAD,EAAoC;AACtD,UAAIuL,OAAJ,EAAaA,OAAO,CAACvL,CAAD,CAAP;AACb,UAAIqL,QAAJ,EAAcA,QAAQ,CAAC,CAAC1E,OAAF,EAAW3G,CAAX,CAAR;AACd,UAAIsL,MAAJ,EAAYA,MAAM,CAACtL,CAAD,CAAN;AACb,KAGC;AAAA,4BAME9M,IAAC,iBAAD;AAAmB,MAAA,UAAU,EAAEyT,OAA/B;AAAwC,MAAA,SAAS,EAAE,CAAC,CAAC9L,QAArD;AAA+D,MAAA,MAAM,EAAE4Q,EAAvE;AAAA,gBACG9E,OAAO,gBACNzT,IAAC,IAAD;AACE,QAAA,KAAK,EAAC,QADR;AAEE,QAAA,KAAK,EAAEe,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnD,QAAjB,CAA0BI,SAFnC;AAGE,QAAA,IAAI,EAAE/P,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnD,QAAjB,CAA0BC,QAHlC;AAIE,QAAA,IAAI,eAAE3Q,IAAC,YAAD;AAJR,QADM,GAOJ;AARN,MANF,EAiBG2H,QAjBH;AAAA,IADF;AAqBD;;ACvFM,SAAS8Q,eAAT,OAAkG;AAAA,MAAvEC,SAAuE,QAAvEA,SAAuE;AAAA,MAA5DnO,UAA4D,QAA5DA,UAA4D;AAAA,MAAhDoO,SAAgD,QAAhDA,SAAgD;AACvG,MAAIpO,UAAJ,EAAgB,OAAO,UAAP;AAEhB,MAAImO,SAAJ,EAAe,OAAO,OAAP;AAEf,MAAIC,SAAS,KAAK,SAAlB,EAA6B,OAAO,SAAP;AAE7B,SAAO,SAAP;AACD;;ICVYC,oBAAoB,gBAAGxW,GAAH,mIACX;AAAA,MAAGrB,KAAH,QAAGA,KAAH;AAAA,MAAU8X,MAAV,QAAUA,MAAV;AAAA,SAClBA,MAAM,KAAK,UAAX,GACI9X,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBO,MAAvB,CAA8BrL,QAA9B,CAAuCtB,eAD3C,GAEIvF,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBO,MAAvB,YAAsC3M,eAHxB;AAAA,CADW,EAMf;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBzH,WAAtC;AAAA,CANe,EAOd;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBvM,YAAtC;AAAA,CAPc,EAQf;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,MAAU8X,MAAV,SAAUA,MAAV;AAAA,SAAuB9X,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBO,MAAvB,CAA8B4F,MAA9B,EAAsC3N,WAA7D;AAAA,CARe,EAUlB,iBAAe;AAAA,MAAZnK,KAAY,SAAZA,KAAY;AAC1B,MAAMyB,aAAa,GAAG1B,0BAA0B,CAACC,KAAD,CAAhD;AACA,mBAAUA,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCD,OAAnC,CAA2CoQ,IAA3C,CAAgD3P,aAAhD,EAA+DE,QAAzE;AACD,CAb8B,EAetB;AAAA,MAAG3B,KAAH,SAAGA,KAAH;AAAA,MAAU8X,MAAV,SAAUA,MAAV;AAAA,SAAuB9X,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBkB,MAAtB,CAA6B/B,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBO,MAAvB,CAA8B4F,MAA9B,EAAsChZ,KAAnE,CAAvB;AAAA,CAfsB,EAgBhB;AAAA,MAAGkB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCS,UAAnC,CAA8CmP,OAA7D;AAAA,CAhBgB;;ACAjC,IAAMkH,oBAAoB,gBAAG1Z,MAAM,CAACoE,UAAU,CAACtB,IAAZ,CAAT;AAAA;AAAA,0BAA1B;AAQA,IAAM6W,SAAS,gBAAG3Z,MAAM,CAACC,IAAV;AAAA;AAAA,4DACXuZ,oBADW,EAEF;AAAA,MAAG7X,KAAH,QAAGA,KAAH;AAAA,mBACNA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBG,OAAvB,CAA+BE,QADzB,gBACuChS,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBG,OAAvB,CAA+BC,UADtE;AAAA,CAFE,EAKC;AAAA,MAAG/R,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBxJ,SAAtC;AAAA,CALD,EAMA,iBAA0B;AAAA,MAAvBnI,KAAuB,SAAvBA,KAAuB;AAAA,MAAhBiY,SAAgB,SAAhBA,SAAgB;;AACrC,MAAI,CAACA,SAAL,EAAgB;AACd,WAAOtY,SAAP;AACD;;AAED,mBAAUK,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiB9C,UAAjB,CAA4BiI,SAA5B,EAAuC7X,QAAjD;AACD,CAZY,CAAf;AAsBO,SAAS8X,mBAAT,QAMoC;AAAA,MALzCJ,MAKyC,SALzCA,MAKyC;AAAA,MAJzCjG,WAIyC,SAJzCA,WAIyC;AAAA,MAHzClK,KAGyC,SAHzCA,KAGyC;AAAA,MAFzCwQ,QAEyC,SAFzCA,QAEyC;AAAA,MADzCtR,QACyC,SADzCA,QACyC;AAGzC,sBACE5H,IAAC,SAAD;AAAW,IAAA,MAAM,EAAE6Y,MAAnB;AAA2B,IAAA,SAAS,EAAEK,QAAtC;AAAA,cAHiBtG,WAAW,IAAIlK,KAI7B,gBACC1I,IAAC,oBAAD;AAAsB,MAAA,KAAK,EAAE,CAAC0I,KAAD,IAAUd,QAAV,GAAqB,aAArB,GAAqClH,SAAlE;AAAA,gBACGgI,KAAK,IAAIkK;AADZ,MADD,GAIG;AALN,IADF;AASD;;AClDD,SAASuG,cAAT,CAAwBzQ,KAAxB,EAA+C;AAC7C,SAAO,UAAGA,KAAH,EAAW0Q,QAAX,CAAoB,CAApB,EAAuB,GAAvB,CAAP;AACD;;AAOD,IAAMC,aAAa,gBAAGja,MAAM,CAACC,IAAV;AAAA;AAAA,gCACD;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,MAAUuY,OAAV,QAAUA,OAAV;AAAA,SAAyB,CAACA,OAAD,aAAcvY,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAAnC,UAA2C,CAApE;AAAA,CADC,EAEf;AAAA,MAAG7C,UAAH,SAAGA,UAAH;AAAA,SACAA,UAAU,GACNjF,GADM,+BAKN1B,SANJ;AAAA,CAFe,CAAnB;AAeA,IAAM6Y,mBAAmB,gBAAGna,MAAM,CAACgI,SAAV;AAAA;AAAA,8CAGrB,iBAAoB;AAAA,MAAjBC,UAAiB,SAAjBA,UAAiB;;AACpB,MAAIA,UAAJ,EAAgB;AACd,WAAOjF,GAAP;AAGD;;AAED,SAAOA,GAAP;AAGD,CAbsB,CAAzB;AAsBO,SAASoX,gBAAT,QAWiC;AAAA,MAVtCC,KAUsC,SAVtCA,KAUsC;AAAA,MATtCC,kBASsC,SATtCA,kBASsC;AAAA,MARtChB,SAQsC,SARtCA,SAQsC;AAAA,MAPtC9Q,QAOsC,SAPtCA,QAOsC;AAAA,MANtCyD,OAMsC,SANtCA,OAMsC;AAAA,MALtCkN,EAKsC,SALtCA,EAKsC;AAAA,MAJtCvQ,MAIsC,SAJtCA,MAIsC;AAAA,MAHtC2R,eAGsC,SAHtCA,eAGsC;AAAA,MAFtCC,YAEsC,SAFtCA,YAEsC;AAAA,MADtChH,WACsC,SADtCA,WACsC;AACtC,MAAMiH,YAAY,GAChBH,kBAAkB,IAAIjB,eAAe,CAAC;AAAEC,IAAAA,SAAS,EAATA,SAAF;AAAanO,IAAAA,UAAU,EAAEQ,OAAO,CAACnD,QAAD,CAAhC;AAA4C+Q,IAAAA,SAAS,EAAEc;AAAvD,GAAD,CADvC;AAGA,MAAMK,eAAe,GAAG;AACtBlS,IAAAA,QAAQ,EAARA,QADsB;AAEtBiR,IAAAA,MAAM,EAAEgB;AAFc,GAAxB;AAKA,sBACEnP,KAAC,mBAAD;AACE,IAAA,UAAU,EAAEW,OADd;AAEE,IAAA,QAAQ,EAAEkN,EAFZ;AAGE,IAAA,QAAQ,EAAE3Q,QAHZ;AAIE,IAAA,MAAM,EAAEI,MAJV;AAKE,IAAA,OAAO,EAAE2R,eALX;AAAA,4BAOE3Z,IAAC,aAAD;AAAe,MAAA,UAAU,EAAEqL,OAA3B;AAAA,6BACErL,IAAC,mBAAD,kCACM8Z,eADN;AAEE,QAAA,QAAQ,EAAC,KAFX;AAGE,QAAA,KAAK,EAAEF,YAAY,GAAGT,cAAc,CAACS,YAAY,CAACG,OAAb,EAAD,CAAjB,GAA4CrZ,SAHjE;AAIE,QAAA,WAAW,EAAEkS,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAE5B;AAJ5B;AADF,MAPF,eAgBEhR,IAAC,aAAD;AAAe,MAAA,UAAU,EAAEqL,OAA3B;AAAA,6BACErL,IAAC,mBAAD,kCACM8Z,eADN;AAEE,QAAA,QAAQ,EAAC,OAFX;AAGE,QAAA,KAAK,EAAEF,YAAY,GAAGT,cAAc,CAACS,YAAY,CAACI,QAAb,KAA0B,CAA3B,CAAjB,GAAiDtZ,SAHtE;AAIE,QAAA,WAAW,EAAEkS,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAE3B;AAJ5B;AADF,MAhBF,eAyBEjR,IAAC,aAAD;AAAe,MAAA,OAAO,MAAtB;AAAuB,MAAA,UAAU,EAAEqL,OAAnC;AAAA,6BACErL,IAAC,mBAAD,kCACM8Z,eADN;AAEE,QAAA,QAAQ,EAAC,MAFX;AAGE,QAAA,KAAK,EAAEF,YAAY,GAAGA,YAAY,CAACK,WAAb,EAAH,GAAgCvZ,SAHrD;AAIE,QAAA,WAAW,EAAEkS,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAE1B;AAJ5B;AADF,MAzBF;AAAA,IADF;AAoCD;;;AC9FM,SAASgJ,iBAAT,OAWkC;AAAA,MAVvC9B,MAUuC,QAVvCA,MAUuC;AAAA,MATvCC,OASuC,QATvCA,OASuC;AAAA,MARvC8B,iBAQuC,QARvCA,iBAQuC;AAAA,MAPvCC,cAOuC,QAPvCA,cAOuC;AAAA,MANvCC,YAMuC,QANvCA,YAMuC;AAAA,MALvCT,YAKuC,QALvCA,YAKuC;AAAA,MAJvCU,eAIuC,QAJvCA,eAIuC;AAAA,MAHvCnC,SAGuC,QAHvCA,QAGuC;AAAA,MAFvCO,SAEuC,QAFvCA,SAEuC;AAAA,MADpCpU,KACoC;;AACvC,MAAMiW,WAAW,GAAG,YAAY;AAC9B,QAAInC,MAAJ,EAAYA,MAAM;AACnB,GAFD;;AA0BA,sBACEpY,IAAC,gBAAD;AAAkB,IAAA,eAAe,EAvBX,SAAlB2Z,eAAkB,GAAY;AAClCU,MAAAA,YAAY,CAAC,IAAD,CAAZ;AACA,UAAIhC,OAAJ,EAAaA,OAAO;AAEpBmC,MAAAA,qBAAqB,CAACC,IAAtB,CAA2B;AACzBzS,QAAAA,MAAM,EAAEoS,cADiB;AAEzB1R,QAAAA,KAAK,EAAEkR,YAAY,IAAIO,iBAAhB,IAAqC,IAAIO,IAAJ,CAASA,IAAI,CAACC,GAAL,EAAT,CAFnB;AAGzBxC,QAAAA,QAAQ,EAAE,kBAACrL,CAAD,EAAO;AACfuN,UAAAA,YAAY,CAAC,KAAD,CAAZ;AACA,cAAQO,SAAR,GAAsB9N,CAAC,CAAC+N,WAAxB,CAAQD,SAAR;;AACA,cAAIA,SAAJ,EAAe;AACb,gBAAME,IAAI,GAAG,IAAIJ,IAAJ,CAASE,SAAT,CAAb;AAEAN,YAAAA,eAAe,CAACQ,IAAD,CAAf;;AACA3C,YAAAA,SAAQ,CAAC2C,IAAD,CAAR;;AACAP,YAAAA,WAAW;AACZ;AACF,SAbwB;AAczBQ,QAAAA,aAAa,EAAER;AAdU,OAA3B;AAgBD,KAGC;AAAoD,IAAA,YAAY,EAAEX,YAAlE;AAAgF,IAAA,SAAS,EAAElB;AAA3F,KAA0GpU,KAA1G,EADF;AAGD;;AChDD;AACA,IAAM0W,gBAAgB,gBAAG5b,MAAM,CAACgI,SAAD,CAAT;AAAA;AAAA,GAAqB;AAAA,MAAGrG,KAAH,QAAGA,KAAH;AAAA,yCACtCka,UAAU,CAACC,kBAD2B;AAEzC5U,IAAAA,eAAe,EAAEvF,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkB6M,OAAlB,CAA0BC;AAFF;AAAA,CAArB,CAAtB;AAKO,SAASuL,OAAT,QAA0D;AAAA,MAAvClT,OAAuC,SAAvCA,OAAuC;AAC/D,sBAAOjI,IAAC,gBAAD;AAAkB,IAAA,iBAAiB,EAAC,MAApC;AAA2C,IAAA,OAAO,EAAEiI;AAApD,IAAP;AACD;;ACXD,IAAMmT,QAAQ,gBAAGhc,MAAM,CAACC,IAAV;AAAA;AAAA,+BACD;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CADC,EAC0C;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAD1C,CAAd;AAQO,SAASmR,SAAT,QAA0D;AAAA,MAArC1T,QAAqC,SAArCA,QAAqC;AAC/D,sBACE3H,IAAC,UAAD;AAAA,2BACEA,IAAC,QAAD;AAAA,gBAAW2H;AAAX;AADF,IADF;AAKD;;ACXD,IAAM2T,UAAU,gBAAGlc,MAAM,CAACC,IAAV;AAAA;AAAA,iFAEH;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAFG,EAIM;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkBuM,SAAjC;AAAA,CAJN,CAAhB;AAOO,SAASkM,WAAT,QAA8D;AAAA,MAAvC5T,QAAuC,SAAvCA,QAAuC;AACnE,sBAAO3H,IAAC,UAAD;AAAA,cAAa2H;AAAb,IAAP;AACD;;;ACRM,SAAS6T,eAAT,OAIuD;AAAA,MAH5D9O,EAG4D,QAH5DA,EAG4D;AAAA,MAF5D/E,QAE4D,QAF5DA,QAE4D;AAAA,MADzDrD,KACyD;;AAC5D,MAAIE,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAOkD,QAAP;AACc;AACzC,sBAAO3H,IADc0M,EAAE,IAAK,KACrB,kCAAgBpI,KAAhB;AAAA,cAAgCqD;AAAhC,KAAP;AACD;;;ACCD,IAAM8T,6BAA6B,YAAnC;AAwCA,IAAMC,yBAAyB,gBAAGtc,MAAM,CAACgI,SAAV;AAAA;AAAA,uJACZ;AAAA,MAAGrG,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB/N,YAArC;AAAA,CADY,EAEpB;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB7Q,KAArC;AAAA,CAFoB,EAGnB;AAAA,MAAGtC,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBrN,MAArC;AAAA,CAHmB,EAS3B,iBAAyB;AAAA,MAAtB9F,KAAsB,SAAtBA,KAAsB;AAAA,MAAf6G,QAAe,SAAfA,QAAe;AACzB,MAAQsM,UAAR,GAAuBnT,KAAK,CAACY,IAA7B,CAAQuS,UAAR;;AAEA,MAAI1P,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B;AACzB,WAAO/D,SAAP;AACD;;AAED,MAAQqP,UAAR,GAAuBmE,UAAvB,CAAQnE,UAAR;;AAEA,MAAInI,QAAJ,EAAc;AACZ,iDACsBsM,UAAU,CAACtM,QAAX,CAAoBtB,eAD1C;AAGD;;AAED,uCACgByJ,UAAU,CAACiD,QAD3B,cACuCjD,UAAU,CAACC,QADlD,cAC8DD,UAAU,CAACE,cADzE;AAGD,CA3B4B,CAA/B;AAkCO,SAAS0L,mBAAT,QAAoG;AAAA,MAArE9b,KAAqE,SAArEA,KAAqE;AAAA,MAA9D+H,QAA8D,SAA9DA,QAA8D;AAAA,MAAjDtD,KAAiD;;AACzG,sBACEtE,IAAC,eAAD;AAAiB,IAAA,EAAE,EAAEyb,6BAArB;AAAoD,IAAA,QAAQ,EAAE5b,KAAK,KAAK,OAAxE;AAAiF,IAAA,WAAW,EAAEkL,OAAO,CAACnD,QAAD,CAArG;AAAA,2BACE5H,IAAC,yBAAD,kCAA+BsE,KAA/B;AAAsC,MAAA,QAAQ,EAAEsD;AAAhD;AADF,IADF;AAKD;;AC3ED,IAAMgU,4BAA4B,gBAAGxc,MAAM,CAACmI,QAAQ,CAAClI,IAAV,CAAT;AAAA;AAAA,iHACZ,gBAAgC;AAAA,MAA7B0B,KAA6B,QAA7BA,KAA6B;AAAA,MAAtBlB,KAAsB,QAAtBA,KAAsB;AAAA,MAAf+H,QAAe,QAAfA,QAAe;AAClD,MAAQsM,UAAR,GAAuBnT,KAAK,CAACY,IAA7B,CAAQuS,UAAR;AACA,MAAItM,QAAJ,EAAc,OAAOsM,UAAU,CAACtM,QAAX,CAAoBtB,eAA3B;AAEd,MAAIzG,KAAK,KAAK,OAAd,EAAuB,OAAOqU,UAAU,CAAC9F,KAAX,CAAiB/F,sBAAxB;AAEvB,SAAO6L,UAAU,WAAV,CAAmB7L,sBAA1B;AACD,CAR+B,EASf;AAAA,MAAGtH,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB/N,YAArC;AAAA,CATe,EAUvB;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB7Q,KAArC;AAAA,CAVuB,EAWtB;AAAA,MAAGtC,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBrN,MAArC;AAAA,CAXsB,CAAlC;AAiBA,IAAMgV,qBAAqB,gBAAGzc,MAAM,CAACmI,QAAQ,CAAClI,IAAV,CAAT;AAAA;AAAA,2FAA3B;AAQO,SAASyc,0BAAT,QAQ2C;AAAA,MAPhDlU,QAOgD,SAPhDA,QAOgD;AAAA,0BANhD/H,KAMgD;AAAA,MANhDA,KAMgD,4BANxC,OAMwC;AAAA,MALhDmI,MAKgD,SALhDA,MAKgD;AAAA,oCAJhDvE,iBAIgD;AAAA,MAJhDA,iBAIgD,sCAJ5B,QAI4B;AAAA,MAHhDsY,kBAGgD,SAHhDA,kBAGgD;AAAA,MAFhDpU,QAEgD,SAFhDA,QAEgD;AAAA,MADhDM,OACgD,SADhDA,OACgD;AAChD,MAAMlH,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMC,OAAO,GAAGC,cAAc,CAAC,KAAD,CAA9B;AAEA,MAAM4T,aAAa,GAAGxT,gBAAgB;AAAA,yBAAO;AAC3C,aAAO;AACLkN,QAAAA,OAAO,EAAE9M,UAAU,CAACT,OAAO,CAACO,KAAR,GAAgB,CAAhB,GAAoB,CAArB;AADd,OAAP;AAGD,KAJqC;;AAAA;AAAA,kBAxD3BE,UAwD2B;AAAA,eAxDhBT;AAwDgB;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAAtC;AAMA,MAAMI,WAAW,GAAGC,gBAAgB;AAAA,yBAAO;AACzC,aAAO;AACLG,QAAAA,SAAS,EAAE,CACT;AACEL,UAAAA,KAAK,EAAEM,UAAU,CACfT,OAAO,CAACO,KAAR,GAAgB3H,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB5L,KAAtB,CAA4BtF,IAA5B,CAAiC6F,MAAjD,GAA0D9H,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB5L,KAAtB,CAA4BtF,IAA5B,WAD3C;AADnB,SADS;AADN,OAAP;AASD,KAVmC;;AAAA;AAAA,kBA7DzB4F,UA6DyB;AAAA,eA7DdT,OA6Dc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBA7DEpH,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB5L,KAAtB,CAA4BtF,IAA5B,CAAiC6F,MA6DnC;AAAA,2BA7D4C9H,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB5L,KAAtB,CAA4BtF,IAA5B;AA6D5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAApC;AAYA,sBACEhD,IAAC,mBAAD;AACE,IAAA,iBAAiB,EAAEyD,iBADrB;AAEE,IAAA,QAAQ,EAAEmE,QAFZ;AAGE,IAAA,KAAK,EAAE/H,KAHT;AAIE,IAAA,MAAM,EAAEmI,MAJV;AAKE,IAAA,kBAAkB,EAAE+T,kBALtB;AAME,IAAA,OAAO,EAAE9T,OANX;AAOE,IAAA,SAAS,EAAE,qBAAM;AACfE,MAAAA,OAAO,CAACO,KAAR,GAAgB,IAAhB;AACD,KATH;AAUE,IAAA,UAAU,EAAE,sBAAM;AAChBP,MAAAA,OAAO,CAACO,KAAR,GAAgB,KAAhB;AACD,KAZH;AAAA,2BAcEgC,KAAC,qBAAD;AAAuB,MAAA,KAAK,EAAE9C,QAAQ,GAAG,CAAC;AAAEe,QAAAA,SAAS,EAAE,CAAC;AAAEL,UAAAA,KAAK,EAAE;AAAT,SAAD;AAAb,OAAD,CAAH,GAAqC,CAACC,WAAD,CAA3E;AAAA,8BACEvI,IAAC,4BAAD;AACE,QAAA,QAAQ,EAAE4H,QADZ;AAEE,QAAA,KAAK,EAAE/H,KAFT;AAGE,QAAA,KAAK,EAAE+H,QAAQ,GAAG,CAAC;AAAE8N,UAAAA,OAAO,EAAE;AAAX,SAAD,CAAH,GAAsB,CAACsG,aAAD;AAHvC,QADF,EAMGrU,QANH;AAAA;AAdF,IADF;AAyBD;;AC5FD,IAAMsU,uBAAuB,gBAAG7c,MAAM,CAACC,IAAV;AAAA;AAAA,iIACjB;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,mBAAkBA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBjJ,WAAxC;AAAA,CADiB,EAEX;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,MAAU6G,QAAV,SAAUA,QAAV;AAAA,SACdA,QAAQ,GAAG7G,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBtM,QAAtB,CAA+BsD,WAAlC,GAAgDnK,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBhJ,WADhE;AAAA,CAFW,EAIlB;AAAA,MAAGnK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB7Q,KAAtB,GAA8BtC,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBjJ,WAAnE;AAAA,CAJkB,EAKjB;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBrN,MAAtB,GAA+B9F,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsBjJ,WAApE;AAAA,CALiB,EAQV;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuS,UAAX,CAAsB/N,YAArC;AAAA,CARU,CAA7B;;AAmBA,SAAS+V,iBAAT,QAA4F;AAAA,MAA/DtU,QAA+D,SAA/DA,QAA+D;AAAA,MAArD/H,KAAqD,SAArDA,KAAqD;AAAA,MAA9CH,IAA8C,SAA9CA,IAA8C;AAC1F,sBACEM,IAAC,uBAAD;AAAyB,IAAA,QAAQ,EAAE4H,QAAnC;AAAA,2BACE5H,IAAC,cAAD;AAAgB,MAAA,KAAK,EAAE4H,QAAQ,GAAG,aAAH,GAAmB/H,KAAlD;AAAyD,MAAA,IAAI,EAAEH;AAA/D;AADF,IADF;AAKD;;AAMM,SAASyc,UAAT,QAQ2B;AAAA,MAPhCzc,IAOgC,SAPhCA,IAOgC;AAAA,MANhCG,KAMgC,SANhCA,KAMgC;AAAA,MALhC+H,QAKgC,SALhCA,QAKgC;AAAA,MAJhCI,MAIgC,SAJhCA,MAIgC;AAAA,MAHhC+T,kBAGgC,SAHhCA,kBAGgC;AAAA,MAFhCtY,iBAEgC,SAFhCA,iBAEgC;AAAA,MADhCwE,OACgC,SADhCA,OACgC;AAChC,sBACEjI,IAAC,0BAAD;AACE,IAAA,KAAK,EAAEH,KADT;AAEE,IAAA,QAAQ,EAAE+H,QAFZ;AAGE,IAAA,MAAM,EAAEI,MAHV;AAIE,IAAA,kBAAkB,EAAE+T,kBAJtB;AAKE,IAAA,iBAAiB,EAAEtY,iBALrB;AAME,IAAA,OAAO,EAAEwE,OANX;AAAA,2BAQEjI,IAAC,iBAAD;AAAmB,MAAA,QAAQ,EAAE4H,QAA7B;AAAuC,MAAA,KAAK,EAAE/H,KAA9C;AAAqD,MAAA,IAAI,EAAEH;AAA3D;AARF,IADF;AAYD;;AC5DM,IAAM0c,cAAc,gBAAG3b,aAAa,CAAa,YAAM,EAAnB,CAApC;;ACWP,IAAM4b,UAAU,gBAAGjd,MAAM,CAACC,IAAV;AAAA;AAAA,0MAEH;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAFG,EASS;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkBuM,SAAjC;AAAA,CATT,CAAhB;AAaA,IAAMiN,YAAY,gBAAGld,MAAM,CAACC,IAAV;AAAA;AAAA,mDAEA;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAFA,CAAlB;AAKA,IAAMqS,aAAa,gBAAGnd,MAAM,CAACC,IAAV;AAAA;AAAA,kDAEF;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAFE,CAAnB;AASA,IAAMsS,SAAS,gBAAGpd,MAAM,CAACC,IAAV;AAAA;AAAA,2CACG;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,MAAU0b,UAAV,SAAUA,UAAV;AAAA,SAA4BA,UAAU,GAAG,CAAH,GAAO1b,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAAlE;AAAA,CADH,CAAf;AAKO,SAASwS,WAAT,QAA2E;AAAA,MAApDC,IAAoD,SAApDA,IAAoD;AAAA,MAA9CC,KAA8C,SAA9CA,KAA8C;AAAA,MAAvCjV,QAAuC,SAAvCA,QAAuC;AAChF,MAAMkV,OAAO,GAAGhc,UAAU,CAACub,cAAD,CAA1B;AAEA,MAAMK,UAAU,GAAG,CAAC,CAACE,IAArB;AAEA,sBACEjS,KAAC,UAAD;AAAA,eACG+R,UAAU,iBAAIzc,IAAC,YAAD;AAAA,gBAAe2c;AAAf,MADjB,eAGE3c,IAAC,SAAD;AAAW,MAAA,UAAU,EAAEyc,UAAvB;AAAA,gBAAoC9U;AAApC,MAHF,EAKGiV,KAAK,KAAKlc,SAAV,GACCkc,KADD,gBAGC5c,IAAC,aAAD;AAAA,6BACEA,IAAC,UAAD;AAAY,QAAA,IAAI,eAAEA,IAAC,KAAD,KAAlB;AAA6B,QAAA,OAAO,EAAE6c;AAAtC;AADF,MARJ;AAAA,IADF;AAeD;;AChDD,IAAMC,SAAS,gBAAG1d,MAAM,CAACC,IAAV;AAAA;AAAA,0HASF;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAApC;AAAA,CATE,EAS0C;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAT1C,CAAf;AAYA,IAAM6S,aAAW,gBAAG3d,MAAM,CAACC,IAAV;AAAA;AAAA,gKAQE;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8J,IAAX,CAAgBtF,YAA/B;AAAA,CARF,EASK;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkB4M,iBAAjC;AAAA,CATL,CAAjB;AAYO,SAASsN,KAAT,QAA8F;AAAA,MAA7EC,OAA6E,SAA7EA,OAA6E;AAAA,MAApEtV,QAAoE,SAApEA,QAAoE;AAAA,MAA1DkV,OAA0D,SAA1DA,OAA0D;AAAA,MAAjDK,SAAiD,SAAjDA,SAAiD;AAAA,MAAtCC,QAAsC,SAAtCA,QAAsC;AACnG,sBACEnd,IAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAE6c,OAAhC;AAAA,2BACE7c,IAACod,OAAD;AACE,MAAA,WAAW,MADb;AAEE,MAAA,aAAa,EAAC,MAFhB;AAGE,MAAA,OAAO,EAAEH,OAHX;AAIE,MAAA,MAAM,EAAEC,SAJV;AAKE,MAAA,SAAS,EAAEC,QALb;AAME,MAAA,cAAc,EAAEN,OANlB;AAAA,6BAQEnS,KAAC,SAAD;AAAA,gCACE1K,IAAC,OAAD;AAAS,UAAA,OAAO,EAAE6c;AAAlB,UADF,eAGE7c,IAAC+c,aAAD;AAAA,oBAAcpV;AAAd,UAHF;AAAA;AARF;AADF,IADF;AAkBD;AAEDqV,KAAK,CAACK,MAAN,GAAeX,WAAf;AACAM,KAAK,CAACM,IAAN,GAAajC,SAAb;AACA2B,KAAK,CAACO,MAAN,GAAehC,WAAf;;ACxDA,SAASiC,wBAAT,GAAoE;AAClE,MAAIhZ,QAAQ,CAACC,EAAT,KAAgB,SAApB,EAA+B,OAAO,UAAP;AAE/B,MAAID,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAO,SAAP;AAE3B,SAAO,SAAP;AACD;;AAWM,SAASgZ,sBAAT,OAOuC;AAAA,MAN5C/U,KAM4C,QAN5CA,KAM4C;AAAA,8BAL5CgV,WAK4C;AAAA,MAL5CA,WAK4C,iCAL9B,IAAIhD,IAAJ,EAK8B;AAAA,MAJ5CiD,WAI4C,QAJ5CA,WAI4C;AAAA,MAH5CC,UAG4C,QAH5CA,UAG4C;AAAA,MAF5C5V,MAE4C,QAF5CA,MAE4C;AAAA,MAD5CmQ,SAC4C,QAD5CA,QAC4C;AAC5C,MAAMpX,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAM2V,WAAW,GAAGL,wBAAwB,EAA5C;AAEA,MAAMM,QAAQ,GAAGtZ,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB;AAAEsZ,IAAAA,SAAS,EAAEhd,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkB8L;AAA/B,GAAxB,GAAmE,EAApF;AAEA,sBACE5O,IAAC,cAAD;AACE,IAAA,QAAQ,MADV;AAEE,IAAA,MAAM,EAAEgI,MAFV;AAGE,IAAA,KAAK,EAAEU,KAAK,IAAIgV,WAHlB;AAIE,IAAA,IAAI,EAAC,MAJP;AAKE,IAAA,WAAW,EAAEC,WALf;AAME,IAAA,WAAW,EAAEC,UANf;AAOE,IAAA,OAAO,EAAEC;AAPX,KAQMC,QARN;AASE,IAAA,QAAQ,EAAE,kBAACE,MAAD,EAA8BlD,IAA9B;AAAA,aAA0D3C,SAAQ,CAAC2C,IAAD,CAAlE;AAAA;AATZ,KADF;AAaD;;;;ACrCD,SAASmD,UAAT,OAAiE;AAAA,MAA3CtW,QAA2C,QAA3CA,QAA2C;AAC/D,sBACE3H,IAAC,KAAD,CAAO,MAAP;AAAA,2BACEA,IAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,MAAtB;AAA6B,MAAA,OAAO,EAAC,MAArC;AAAA,gBACG2H;AADH;AADF,IADF;AAOD;;AASM,SAASuW,2BAAT,QAQ4C;AAAA,MAPjDC,KAOiD,SAPjDA,KAOiD;AAAA,MANjDC,SAMiD,SANjDA,SAMiD;AAAA,MALjD1V,KAKiD,SALjDA,KAKiD;AAAA,MAJjD2V,mBAIiD,SAJjDA,mBAIiD;AAAA,MAHjDxB,OAGiD,SAHjDA,OAGiD;AAAA,MAFjD1E,QAEiD,SAFjDA,QAEiD;AAAA,MAD9C7T,KAC8C;;AACjD,kBAAwCga,QAAQ,CAAC5V,KAAD,CAAhD;AAAA;AAAA,MAAOkR,YAAP;AAAA,MAAqBU,eAArB,iBADiD;;;AAmBjD,sBACEta,IAAC,KAAD;AAAO,IAAA,OAAO,EAAE+K,OAAO,CAACqT,SAAD,CAAvB;AAAoC,IAAA,OAAO,EAhBzB,SAAd7D,WAAc,GAAY;AAC9BD,MAAAA,eAAe,CAAC5R,KAAD,CAAf;AACAmU,MAAAA,OAAO;AACR,KAaC;AAAA,cACGuB,SAAS,gBACR1T;AAAA,iBACGyT,KAAK,gBAAGne,IAAC,UAAD;AAAA,kBAAame;AAAb,QAAH,GAAsC,IAD9C,eAGEne,IAAC,KAAD,CAAO,IAAP;AAAA,+BACEA,IAAC,sBAAD,kCAA4BsE,KAA5B;AAAmC,UAAA,KAAK,EAAEsV,YAA1C;AAAwD,UAAA,QAAQ,EAbrD,SAAf2E,YAAe,CAACC,OAAD,EAA0B;AAC7ClE,YAAAA,eAAe,CAAC,UAACmE,IAAD,EAAU;AACxB,qBAAOD,OAAO,IAAIC,IAAlB;AACD,aAFc,CAAf;AAGD;AASS;AADF,QAHF,eAOEze,IAAC,KAAD,CAAO,MAAP;AAAA,+BACEA,IAAC,MAAD;AAAQ,UAAA,OAAO,MAAf;AAAgB,UAAA,IAAI,EAAC,SAArB;AAA+B,UAAA,OAAO,EArB3B,SAAf0e,YAAe,GAAY;AAC/BvG,YAAAA,QAAQ,CAACyB,YAAD,CAAR;AACD,WAmBS;AAAA,oBACGyE,mBAAmB,gBAClBre,IAACkC,MAAD;AAAA,sBAAOmc;AAAP,YADkB,gBAGlBre,IAAC,gBAAD;AAAkB,YAAA,EAAE;AAApB;AAJJ;AADF,QAPF;AAAA,MADQ,GAkBN;AAnBN,IADF;AAuBD;;;ACzEM,SAAS2e,UAAT,OAU2B;AAAA,MAThCjW,KASgC,QAThCA,KASgC;AAAA,MARhC0R,cAQgC,QARhCA,cAQgC;AAAA,MAPhCwE,aAOgC,QAPhCA,aAOgC;AAAA,MANhCC,2BAMgC,QANhCA,2BAMgC;AAAA,MALhC1G,QAKgC,QALhCA,QAKgC;AAAA,MAJhCE,OAIgC,QAJhCA,OAIgC;AAAA,MAHhCD,MAGgC,QAHhCA,MAGgC;AAAA,MAFhC+B,iBAEgC,QAFhCA,iBAEgC;AAAA,MAD7B7V,KAC6B;;AAChC,kBAAkDga,QAAQ,CAAC,KAAD,CAA1D;AAAA;AAAA,MAAOQ,iBAAP;AAAA,MAA0BC,oBAA1B;;AACA,mBAAkCT,QAAQ,CAAC,KAAD,CAA1C;AAAA;AAAA,MAAO5F,SAAP;AAAA,MAAkB2B,YAAlB;;AACA,mBAAwCiE,QAAQ,CAAmB5V,KAAnB,CAAhD;AAAA;AAAA,MAAOkR,YAAP;AAAA,MAAqBU,eAArB;;AAEA,MAAI9V,QAAQ,CAACC,EAAT,KAAgB,SAApB,EAA+B;AAC7B,wBACEzE,IAAC,iBAAD;AACE,MAAA,iBAAiB,EAAEma,iBADrB;AAEE,MAAA,cAAc,EAAEC,cAFlB;AAGE,MAAA,YAAY,EAAER,YAHhB;AAIE,MAAA,eAAe,EAAEU,eAJnB;AAKE,MAAA,SAAS,EAAE5B,SALb;AAME,MAAA,YAAY,EAAE2B,YANhB;AAOE,MAAA,QAAQ,EAAElC,QAPZ;AAQE,MAAA,MAAM,EAAEC;AARV,OASM9T,KATN,EADF;AAaD;;AAUD,MAAM0a,gBAAgB,GAAG,YAAY;AACnC,QAAI5G,MAAJ,EAAYA,MAAM;AAElB2G,IAAAA,oBAAoB,CAAC,KAAD,CAApB;AAEA1E,IAAAA,YAAY,CAAC,KAAD,CAAZ;AACD,GAND;;AAeA,sBACE3P;AAAA,4BACE1K,IAAC,gBAAD;AACE,MAAA,eAAe,EA1BG,SAAlB2Z,eAAkB,GAAY;AAClC,YAAItB,OAAJ,EAAaA,OAAO;AAEpB0G,QAAAA,oBAAoB,CAAC,IAAD,CAApB;AAEA1E,QAAAA,YAAY,CAAC,IAAD,CAAZ;AACD,OAmBG;AAEE,MAAA,YAAY,EAAET,YAFhB;AAGE,MAAA,SAAS,EAAElB;AAHb,OAIMpU,KAJN,EADF,eAOEtE,IAAC,2BAAD;AACE,MAAA,MAAM,EAAEoa,cADV;AAEE,MAAA,KAAK,EAAER,YAFT;AAGE,MAAA,SAAS,EAAEkF,iBAHb;AAIE,MAAA,KAAK,EAAEF,aAJT;AAKE,MAAA,mBAAmB,EAAEC,2BALvB;AAME,MAAA,WAAW,EAAE1E,iBANf;AAOE,MAAA,OAAO,EAAE6E,gBAPX;AAQE,MAAA,QAAQ,EAvBO,SAAfT,YAAe,CAACC,OAAD,EAA0B;AAC7ClE,QAAAA,eAAe,CAACkE,OAAD,CAAf;AAEArG,QAAAA,QAAQ,CAACqG,OAAD,CAAR;AAEAQ,QAAAA,gBAAgB;AACjB;AASG,MAPF;AAAA,IADF;AAoBD;;AC1EM,IAAMC,kBAAkB,gBAAG7f,MAAM,CAACC,IAAV;AAAA;AAAA,0BAAxB;;;ACmBP,IAAM6f,eAAe,gBAAG9f,MAAM,CAAC+f,SAAD,CAAT;AAAA;AAAA,yEACjBvG,oBADiB,EAGR,gBAA0B;AAAA,MAAvB7X,KAAuB,QAAvBA,KAAuB;AAAA,MAAhBqe,SAAgB,QAAhBA,SAAgB;AACnC,MAAI,CAACA,SAAD,IAAc5a,QAAQ,CAACC,EAAT,KAAgB,KAAlC,EAAyC,mBAAY1D,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBG,OAAvB,CAA+BC,UAA3C;AAEzC,mBAAU/R,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBG,OAAvB,CAA+BE,QAAzC,gBAAuDhS,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBG,OAAvB,CAA+BC,UAAtF;AACD,CAPkB,EASJ,iBAA0B;AAAA,MAAvB/R,KAAuB,SAAvBA,KAAuB;AAAA,MAAhBqe,SAAgB,SAAhBA,SAAgB;AACvC,MAAI,CAACA,SAAD,IAAc5a,QAAQ,CAACC,EAAT,KAAgB,KAAlC,EAAyC,OAAO,CAAP;AAEzC,MAAMjC,aAAa,GAAG1B,0BAA0B,CAACC,KAAD,CAAhD;AACA,mBAAUA,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCD,OAAnC,CAA2CoQ,IAA3C,CAAgD3P,aAAhD,EAA+DG,UAAzE;AACD,CAdkB,EAiBL;AAAA,MAAG5B,KAAH,SAAGA,KAAH;AAAA,+BAAUse,UAAV;AAAA,MAAUA,UAAV,iCAAuBte,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBxJ,SAA9C;AAAA,SAA8DmW,UAA9D;AAAA,CAjBK,CAArB;AAoBA,IAAMC,mBAAmB,gBAAGlgB,MAAM,CAACC,IAAV;AAAA;AAAA,qFAAzB;IASakgB,SAAS,gBAAG9X,UAAU,CACjC,iBAkBEC,GAlBF,EAmBmB;AAAA,MAjBf6Q,EAiBe,SAjBfA,EAiBe;AAAA,MAhBfqE,KAgBe,SAhBfA,KAgBe;AAAA,MAff1T,SAee,SAffA,SAee;AAAA,MAdRyP,SAcQ,SAdfc,KAce;AAAA,MAbfC,kBAae,SAbfA,kBAae;AAAA,6BAZf9R,QAYe;AAAA,MAZfA,QAYe,+BAZJ,KAYI;AAAA,gCAXf4X,WAWe;AAAA,MAXfA,WAWe,kCAXD,IAWC;AAAA,oCAVfC,eAUe;AAAA,MAVfA,eAUe,sCAVG,MAUH;AAAA,oCATfC,gBASe;AAAA,MATfA,gBASe,sCATI,KASJ;AAAA,iCARfC,YAQe;AAAA,MARfA,YAQe,mCARA,SAQA;AAAA,MAPfP,SAOe,SAPfA,SAOe;AAAA,MANfQ,eAMe,SANfA,eAMe;AAAA,MALfvH,QAKe,SALfA,OAKe;AAAA,MAJfD,OAIe,SAJfA,MAIe;AAAA,MAHZ9T,KAGY;;AACjB,MAAMvD,KAAK,gBAAGmH,QAAQ,EAAtB;;AACA,kBAAkCoW,QAAQ,CAAU,KAAV,CAA1C;AAAA;AAAA,MAAO5F,SAAP;AAAA,MAAkB2B,YAAlB;;AAEA,MAAMZ,KAAK,GAAGC,kBAAkB,IAAIjB,eAAe,CAAC;AAAEC,IAAAA,SAAS,EAATA,SAAF;AAAanO,IAAAA,UAAU,EAAE3C,QAAzB;AAAmC+Q,IAAAA,SAAS,EAATA;AAAnC,GAAD,CAAnD;AAEA,sBACEjO,KAAC,kBAAD;AAAoB,IAAA,WAAW,EAAE9C,QAAjC;AAAA,4BACE5H,IAAC,eAAD;AACE,MAAA,GAAG,EAAE0H,GADP;AAEE,MAAA,SAAS,EAAE0X,SAFb;AAGE,MAAA,QAAQ,EAAE7G,EAHZ;AAIE,MAAA,QAAQ,EAAE,CAAC3Q,QAJb;AAKE,MAAA,YAAY,EAAE+X,YALhB;AAME,MAAA,gBAAgB,EAAED,gBANpB;AAOE,MAAA,WAAW,EAAEF,WAPf;AAQE,MAAA,UAAU,EAAEtW,SARd;AASE,MAAA,eAAe,EAAEuW,eATnB;AAUE,MAAA,oBAAoB,EAAE1e,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuB7S,KAAvB,CAA6B+S,WAVrD;AAWE,MAAA,cAAc,EAAE7R,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuB7S,KAAvB,CAA6B8S;AAX/C,OAYMrO,KAZN;AAaE,MAAA,MAAM,EAAEmV,KAbV;AAcE,MAAA,OAAO,EAAE,iBAAC3M,CAAD,EAAO;AACduN,QAAAA,YAAY,CAAC,IAAD,CAAZ;AACA,YAAIhC,QAAJ,EAAaA,QAAO,CAACvL,CAAD,CAAP;AACd,OAjBH;AAkBE,MAAA,MAAM,EAAE,gBAACA,CAAD,EAAO;AACbuN,QAAAA,YAAY,CAAC,KAAD,CAAZ;AACA,YAAIjC,OAAJ,EAAYA,OAAM,CAACtL,CAAD,CAAN;AACb,OArBH;AAsBE,MAAA,eAAe,EAAEsS,SAAS,GAAG;AAAA,eAAM,IAAN;AAAA,OAAH,GAAgBQ;AAtB5C,OADF,EAyBGhD,KAAK,gBAAG5c,IAAC,mBAAD;AAAA,gBAAsB4c;AAAtB,MAAH,GAAwD,IAzBhE;AAAA,IADF;AA6BD,CAvDgC;;AChD5B,SAASiD,UAAT,CAAoBvb,KAApB,EAA0D;AAC/D,sBACEtE,IAAC,SAAD;AACE,IAAA,gBAAgB,EAAC,OADnB;AAEE,IAAA,YAAY,EAAC,eAFf;AAGE,IAAA,eAAe,EAAC,cAHlB;AAIE,IAAA,cAAc,EAAC;AAJjB,KAKMsE,KALN,EADF;AASD;;ACPD,IAAMwb,iBAAiB,GAAG,UAACrG,KAAD,EAA6C;AACrE,UAAQA,KAAR;AACE,SAAK,SAAL;AACE,aAAO,QAAP;;AACF,SAAK,OAAL;AACA;AACE,aAAO,aAAP;AALJ;AAOD,CARD;;AAUO,SAASsG,aAAT,OAAsF;AAAA,MAA7DtG,KAA6D,QAA7DA,KAA6D;AAAA,MAAtDzR,MAAsD,QAAtDA,MAAsD;AAAA,MAA9CL,QAA8C,QAA9CA,QAA8C;AAC3F,sBACE3H,IAAC,UAAD,CAAY,IAAZ;AAAiB,IAAA,IAAI,EAAC,YAAtB;AAAmC,IAAA,KAAK,EAAE8f,iBAAiB,CAACrG,KAAD,CAA3D;AAAoE,IAAA,MAAM,EAAEzR,MAA5E;AAAA,cACGL;AADH,IADF;AAKD;;ACvBD,IAAMqY,cAAc,gBAAG5gB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAApB;AAIA,IAAM4gB,iBAAiB,gBAAG7gB,MAAM,CAACC,IAAV;AAAA;AAAA,cACnB;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SACAA,KAAK,CAACE,UAAN,CAAiB8V,mBAAjB,CAAqC;AAAE5V,IAAAA,QAAQ,EAAElB,eAAe,CAACE;AAA5B,GAArC,EAA0E,mBAA1E,EAA+F,kBAA/F,CADA;AAAA,CADmB,CAAvB;AAKA,IAAM+f,mBAAmB,gBAAG9gB,MAAM,CAACC,IAAV;AAAA;AAAA,qEAGL;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBX,UAAjB,CAA4BC,2BAA3C;AAAA,CAHK,CAAzB;AAMA,IAAMgN,cAAc,gBAAG/gB,MAAM,CAACC,IAAV;AAAA;AAAA,6BACF;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBX,UAAjB,CAA4BE,cAA3C;AAAA,CADE,CAApB;AAWO,SAASgN,UAAT,QAA8F;AAAA,MAAxEC,KAAwE,SAAxEA,KAAwE;AAAA,MAAjEC,aAAiE,SAAjEA,aAAiE;AAAA,MAAlD5N,KAAkD,SAAlDA,KAAkD;AAAA,MAA3C6N,QAA2C,SAA3CA,QAA2C;AACnG,sBACE7V,KAAC,cAAD;AAAA,eACG2V,KAAK,gBACJ3V,KAAC,mBAAD;AAAA,8BACE1K,IAAC,cAAD;AAAA,kBAAiBqgB;AAAjB,QADF,EAEGC,aAFH;AAAA,MADI,GAKF,IANN,EAOG5N,KAPH,EAQG6N,QAAQ,gBAAGvgB,IAAC,iBAAD;AAAA,gBAAoBugB;AAApB,MAAH,GAAuD,IARlE;AAAA,IADF;AAYD;;ACrCD,SAASC,YAAT,CAAsB/G,KAAtB,EAA8C7R,QAA9C,EAAgG;AAC9F,MAAIA,QAAJ,EAAc,OAAO,aAAP;;AAEd,UAAQ6R,KAAR;AACE,SAAK,SAAL;AACE,aAAO,QAAP;;AACF,SAAK,OAAL;AACE,aAAO,SAAP;;AACF;AACE,aAAO/Y,SAAP;AANJ;AAQD;;AAQM,SAAS+f,SAAT,OAA4E;AAAA,MAAvD/gB,IAAuD,QAAvDA,IAAuD;AAAA,MAAjD+Z,KAAiD,QAAjDA,KAAiD;AAAA,MAA1C7R,QAA0C,QAA1CA,QAA0C;AACjF,MAAM7G,KAAK,gBAAGmH,QAAQ,EAAtB;AAEA,MAAMrI,KAAK,GAAG2gB,YAAY,CAAC/G,KAAD,EAAQ7R,QAAR,CAA1B;AAEA,sBAAO5H,IAAC,cAAD;AAAgB,IAAA,KAAK,EAAEH,KAAvB;AAA8B,IAAA,IAAI,EAAEH,IAApC;AAA0C,IAAA,IAAI,EAAEqB,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBnB,KAAjB,CAAuBhT,IAAvB,CAA4BC;AAA5E,IAAP;AACD;;ACzBM,SAAS+gB,cAAT,OAAyE;AAAA,MAA5Cpc,KAA4C;;AAC9E,sBAAOtE,IAAC,SAAD,oBAAesE,KAAf,EAAP;AACD;;;ACIM,SAASqc,aAAT,OAAwG;AAAA,MAA/EC,wBAA+E,QAA/EA,wBAA+E;AAAA,MAArDhE,KAAqD,QAArDA,KAAqD;AAAA,MAA3CtY,KAA2C;;AAC7G,kBAAkCga,QAAQ,CAACvT,OAAO,CAAC6V,wBAAD,CAAR,CAA1C;AAAA;AAAA,MAAOxC,SAAP;AAAA,MAAkByC,YAAlB;;AAEA,sBACE7gB,IAAC,SAAD,kCACMsE,KADN;AAEE,IAAA,eAAe,EAAC,UAFlB;AAGE,IAAA,gBAAgB,EAAC,UAHnB;AAIE,IAAA,WAAW,EAAE,KAJf;AAKE,IAAA,eAAe,EAAE,CAAC8Z,SALpB;AAME,IAAA,KAAK,EACHxB,KAAK,iBACH5c,IAAC,cAAD;AAAgB,MAAA,OAAO,EAAE,EAAzB;AAA6B,MAAA,iBAAiB,EAAC,QAA/C;AAAwD,MAAA,OAAO,EAAE;AAAA,eAAM6gB,YAAY,CAAC,UAACpC,IAAD;AAAA,iBAAU,CAACA,IAAX;AAAA,SAAD,CAAlB;AAAA,OAAjE;AAAA,6BACEze,IAAC,SAAD;AAAW,QAAA,IAAI,EAAEoe,SAAS,gBAAGpe,IAAC,UAAD,KAAH,gBAAoBA,IAAC,OAAD;AAA9C;AADF;AARN,KADF;AAgBD;;ACvBM,SAAS8gB,UAAT,CAAoBxc,KAApB,EAA0D;AAC/D,sBAAOtE,IAAC,SAAD,kCAAesE,KAAf;AAAsB,IAAA,gBAAgB,EAAC,KAAvC;AAA6C,IAAA,YAAY,EAAC,YAA1D;AAAuE,IAAA,eAAe,EAAC;AAAvF,KAAP;AACD;;ACAD,IAAMyc,kBAAkB,GAAG,UAAC1f,IAAD;AAAA,SAAsDA,IAAI,GAAG,OAAH,GAAa,OAAvE;AAAA,CAA3B;;AAMA,IAAM2f,iBAAiB,gBAAG5hB,MAAM,CAACC,IAAD,CAAT;AAAA;AAAA,iLAMC;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAND,EAQD,iBAAqB;AAAA,MAAlBnJ,KAAkB,SAAlBA,KAAkB;AAAA,MAAXM,IAAW,SAAXA,IAAW;;AACvC,MAAIA,IAAI,KAAK,SAAb,EAAwB;AACtB,WAAON,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBR,QAAjB,CAA0BrE,OAA1B,CAAkC1I,eAAzC;AACD;;AACD,MAAIjF,IAAI,KAAK,QAAb,EAAuB;AACrB,WAAON,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBR,QAAjB,CAA0BnE,MAA1B,CAAiC5I,eAAxC;AACD;;AAED,SAAOvF,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBR,QAAjB,YAAkC/M,eAAzC;AACD,CAjBoB,EAkBJ;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBR,QAAjB,CAA0BlN,YAAzC;AAAA,CAlBI,CAAvB;AAqBA,IAAMhH,aAAa,gBAAGC,MAAM,CAACC,IAAD,CAAT;AAAA;AAAA,6BACD;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAA1B;AAAA,CADC,CAAnB;AAUO,SAAS+W,QAAT,QAAyE;AAAA,MAArDtZ,QAAqD,SAArDA,QAAqD;AAAA,MAA3CtG,IAA2C,SAA3CA,IAA2C;AAAA,MAArC3B,IAAqC,SAArCA,IAAqC;AAC9E,MAAMwhB,eAAe,GAAGH,kBAAkB,CAAC1f,IAAD,CAA1C;AACA,MAAMN,KAAK,GAAG4W,YAAY,EAA1B;AAEA,sBACEjN,KAAC,iBAAD;AAAmB,IAAA,IAAI,EAAErJ,IAAzB;AAAA,eACG3B,IAAI,iBACHM,IAAC,aAAD;AAAA,6BACEA,IAAC,cAAD;AAAgB,QAAA,IAAI,EAAEN,IAAtB;AAA4B,QAAA,IAAI,EAAEqB,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBR,QAAjB,CAA0B1C,QAA5D;AAAsE,QAAA,KAAK,EAAEuQ;AAA7E;AADF,MAFJ,eAMElhB,IAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,YAAtB;AAAmC,MAAA,KAAK,EAAEkhB,eAA1C;AAAA,gBACGvZ;AADH,MANF;AAAA,IADF;AAYD;;ACtDM,SAASwZ,KAAT,OAAgE;AAAA,MAA/CC,OAA+C,QAA/CA,OAA+C;AAAA,MAAtCzZ,QAAsC,QAAtCA,QAAsC;AACrE,sBACE3H,IAAC,UAAD,CAAY,IAAZ;AAAiB,IAAA,IAAI,EAAC,MAAtB;AAAA,cACGwE,QAAQ,CAACC,EAAT,KAAgB,KAAhB,gBAAwBzE;AAAO,MAAA,OAAO,EAAEohB,OAAhB;AAAA,gBAA0BzZ;AAA1B,MAAxB,GAAsEA;AADzE,IADF;AAKD;;ACKD,IAAM0Z,UAAU,gBAAGjiB,MAAM,CAACC,IAAV;AAAA;AAAA,qHACM;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,MAAU6G,QAAV,QAAUA,QAAV;AAAA,SAClB7G,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB3L,QAAQ,GAAG,UAAH,GAAgB,WAA/C,EAA4DtB,eAD1C;AAAA,CADN,EAGL;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB5T,IAAtC;AAAA,CAHK,EAIJ;AAAA,MAAGoB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB5T,IAAtC;AAAA,CAJI,EAKG;AAAA,MAAGoB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB5T,IAAvB,GAA8B,CAA7C;AAAA,CALH,EAME;AAAA,MAAGoB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuBC,SAAvB,CAAiCvI,WAAhD;AAAA,CANF,EAOE;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,MAAU6G,QAAV,SAAUA,QAAV;AAAA,SAAyB7G,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB3L,QAAQ,GAAG,UAAH,GAAgB,WAA/C,EAA4DsD,WAArF;AAAA,CAPF,CAAhB;AASA,IAAMoW,kBAAkB,gBAAGliB,MAAM,CAACC,IAAV;AAAA;AAAA,yHACF;AAAA,MAAG0B,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuBE,OAAvB,CAA+BnN,eAA9C;AAAA,CADE,EAEb;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB5T,IAAtC;AAAA,CAFa,EAGZ;AAAA,MAAGoB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB5T,IAAtC;AAAA,CAHY,EAIL;AAAA,MAAGoB,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuB5T,IAAvB,GAA8B,CAA7C;AAAA,CAJK,CAAxB;AAQA,IAAM4hB,kBAAkB,gBAAGniB,MAAM,CAACC,IAAV;AAAA;AAAA,+EACF;AAAA,MAAG0B,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuBE,OAAvB,CAA+BE,oBAA9C;AAAA,CADE,EAEb;AAAA,MAAG5S,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuBE,OAAvB,CAA+BC,SAA9C;AAAA,CAFa,EAGZ;AAAA,MAAG3S,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuBE,OAAvB,CAA+BC,SAA9C;AAAA,CAHY,EAIL;AAAA,MAAG3S,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBN,KAAjB,CAAuBE,OAAvB,CAA+BC,SAA/B,GAA2C,CAA1D;AAAA,CAJK,CAAxB;AAMA,IAAMlI,WAAS,gBAAGpM,MAAM,CAACgI,SAAV;AAAA;AAAA,8CAAf;AAKA,IAAMlF,IAAI,gBAAG9C,MAAM,CAACoE,UAAU,CAACtB,IAAZ,CAAT;AAAA;AAAA,4BACO;AAAA,MAAGnB,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CADP,CAAV;AAIO,SAASsX,KAAT,SAAuG;AAAA,MAAtFjJ,EAAsF,UAAtFA,EAAsF;AAAA,MAAlF9E,OAAkF,UAAlFA,OAAkF;AAAA,MAAzE0E,QAAyE,UAAzEA,QAAyE;AAAA,MAA/DzP,KAA+D,UAA/DA,KAA+D;AAAA,+BAAxDd,QAAwD;AAAA,MAAxDA,QAAwD,gCAA7C,KAA6C;AAAA,MAAtCD,QAAsC,UAAtCA,QAAsC;AAK5G,sBACE+C,KAACc,WAAD;AACE,IAAA,QAAQ,EAAE+M,EADZ;AAEE,IAAA,QAAQ,EAAE3Q,QAFZ;AAGE,IAAA,iBAAiB,EAAC,OAHpB;AAIE,oBAAc6L,OAJhB;AAKE,IAAA,SAAS,EAAEA,OAAO,IAAI,CAAC7L,QALzB;AAME,IAAA,OAAO,EAXoC,SAAzC4Q,WAAyC,GAAM;AACnDL,MAAAA,QAAQ,CAACzP,KAAD,CAAR;AACD,KAGC;AAAA,eAQG+K,OAAO,IAAI,CAAC7L,QAAZ,gBACC5H,IAAC,kBAAD;AAAA,6BACEA,IAAC,kBAAD;AADF,MADD,gBAKCA,IAAC,UAAD;AAAY,MAAA,QAAQ,EAAE4H;AAAtB,MAbJ,eAgBE5H,IAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,KAAK,EAAE4H,QAAQ,GAAG,aAAH,GAAmB,OAApD;AAAA,gBACGD;AADH,MAhBF;AAAA,IADF;AAsBD;;ACxEM,SAAS8Z,QAAT,OAA6D;AAAA,MAAtCnd,KAAsC;;AAClE,MAAMvD,KAAK,gBAAGmH,QAAQ,EAAtB;AAEA,sBAAOlI,IAAC,SAAD;AAAW,IAAA,SAAS,MAApB;AAAqB,IAAA,iBAAiB,EAAC,KAAvC;AAA6C,IAAA,SAAS,EAAEe,KAAK,CAACY,IAAN,CAAWkS,KAAX,CAAiBD,QAAjB,CAA0B1K;AAAlF,KAAiG5E,KAAjG,EAAP;AACD;;ACPD,IAAMgZ,IAAI,gBAAGle,MAAM,CAACC,IAAV;AAAA;AAAA,2CACN;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SACAA,KAAK,CAACE,UAAN,CAAiB8V,mBAAjB,CACE;AAAE5V,IAAAA,QAAQ,EAAElB,eAAe,CAACG;AAA5B,GADF,2BAEoBW,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAFzC,sCAGkBnJ,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAHvC,mCAIoBnJ,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAJzC,sCAKkBnJ,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CALvC,SADA;AAAA,CADM,EASY;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkB4M,iBAAjC;AAAA,CATZ,CAAV;AAiBO,SAASgS,mBAAT,QAAoE;AAAA,MAArC/Z,QAAqC,SAArCA,QAAqC;AACzE,sBAAO3H,IAAC,IAAD;AAAA,cAAO2H;AAAP,IAAP;AACD;;ACXD,IAAMga,aAAa,gBAAGviB,MAAM,CAACC,IAAV;AAAA;AAAA,aACf,gBAA8B;AAAA,MAA3B0B,KAA2B,QAA3BA,KAA2B;AAAA,uBAApB6gB,IAAoB;AAAA,MAApBA,IAAoB,0BAAb,MAAa;AAC9B,MAAM/O,OAAO,GAAG9R,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAArC;;AAEA,MAAI0X,IAAI,KAAK,MAAb,EAAqB;AACnB,oCAAyB/O,OAAzB;AACD;;AAED,iCAAwBA,OAAxB;AACD,CATgB,CAAnB;;AAYA,SAASgP,gCAAT,CAA0C3X,OAA1C,EAAmE;AACjE,SAAOA,OAAO,GAAG,CAAjB;AACD;;AAMD,IAAMmT,MAAM,gBAAGje,MAAM,CAACC,IAAV;AAAA;AAAA,qGACR,iBAA6B;AAAA,MAA1B0B,KAA0B,SAA1BA,KAA0B;AAAA,6BAAnB+gB,QAAmB;AAAA,MAAnBA,QAAmB,+BAAR,CAAQ;AAC7B,MAAMC,UAAU,GAAGD,QAAQ,GAAG/gB,KAAK,CAACY,IAAN,CAAWmS,eAAX,CAA2BC,MAA3B,CAAkCC,eAAhE;AACA,8BAA+CjT,KAAK,CAACY,IAAN,CAAWmS,eAAX,CAA2BC,MAA1E;AAAA,MAAQC,eAAR,yBAAQA,eAAR;AAAA,MAAyBC,iBAAzB,yBAAyBA,iBAAzB;AAEA,SAAOlT,KAAK,CAACE,UAAN,CAAiB8V,mBAAjB,CACL;AAAE5V,IAAAA,QAAQ,EAAElB,eAAe,CAACG;AAA5B,GADK,qBAEO2hB,UAFP,gBAEuBF,gCAAgC,CAAC9gB,KAAK,CAACY,IAAN,CAAWuI,OAAZ,CAFvD,gBAEiF8J,eAFjF,6BAGO+N,UAHP,gBAGuB9N,iBAHvB,gBAG8CD,eAH9C,SAAP;AAKD,CAVS,EAWa;AAAA,MAAGjT,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmS,eAAX,CAA2BC,MAA3B,CAAkC7I,WAAjD;AAAA,CAXb,CAAZ;AAuBA,IAAM8W,aAAa,gBAAG5iB,MAAM,CAACC,IAAV;AAAA;AAAA,6DACf,iBAAmD;AAAA,MAAhD0B,KAAgD,SAAhDA,KAAgD;AAAA,MAAzCkhB,SAAyC,SAAzCA,SAAyC;AAAA,MAA9BC,UAA8B,SAA9BA,UAA8B;AAAA,MAAlBC,WAAkB,SAAlBA,WAAkB;;AACnD;AACJ;AACA;AACA;AACI,MAAMC,mBAAmB,GAAG/Q,IAAI,CAACiF,GAAL,CAAS2L,SAAT,EAAoBC,UAApB,CAA5B;AAEA,MAAMG,uBAAuB,GAAGthB,KAAK,CAACY,IAAN,CAAWmS,eAAX,CAA2BC,MAA3B,CAAkCE,iBAAlC,GAAsD,CAAtF;AACA,MAAMqO,6BAA6B,GAAGT,gCAAgC,CAAC9gB,KAAK,CAACY,IAAN,CAAWuI,OAAZ,CAAhC,GAAuD,CAA7F;;AAEA,MAAMqY,YAAY,GAAG,UAACC,iBAAD;AAAA,WACnBL,WAAW,GAAGK,iBAAd,GAAkCJ,mBAAmB,GAAG,CADrC;AAAA,GAArB;;AAGA,SAAOrhB,KAAK,CAACE,UAAN,CAAiB8V,mBAAjB,CACL;AAAE5V,IAAAA,QAAQ,EAAElB,eAAe,CAACG;AAA5B,GADK,mBAEKmiB,YAAY,CAACD,6BAAD,CAFjB,2BAGKC,YAAY,CAACF,uBAAD,CAHjB,SAAP;AAKD,CAnBgB,EAoBf,iBAA+B;AAAA,MAA5BJ,SAA4B,SAA5BA,SAA4B;AAAA,MAAjBC,UAAiB,SAAjBA,UAAiB;AAC/B;AACA,MAAMO,WAAW,GAAGpR,IAAI,CAACqR,GAAL,CAAST,SAAS,GAAGC,UAArB,CAApB;;AAEA,MAAID,SAAS,GAAGC,UAAhB,EAA4B;AAC1B,mCAAwBO,WAAxB;AACD;;AAED,gCAAuBA,WAAvB;AACD,CA7BgB,CAAnB;AAwCO,SAASE,qBAAT,QAAoG;AAAA,MAAnEhb,QAAmE,SAAnEA,QAAmE;AAAA,MAAzDiV,KAAyD,SAAzDA,KAAyD;AAAA,MAAlDD,IAAkD,SAAlDA,IAAkD;;AACzG,2BAAgBiG,iBAAiB,EAAjC;AAAA,MAAQC,GAAR,sBAAQA,GAAR;;AACA,MAAM/L,UAAU,GAAG1T,mBAAmB,EAAtC;;AACA,kBAAkCkb,QAAQ,CAAC,CAAD,CAA1C;AAAA;AAAA,MAAO2D,SAAP;AAAA,MAAkBa,YAAlB;;AACA,mBAAoCxE,QAAQ,CAAC,CAAD,CAA5C;AAAA;AAAA,MAAO4D,UAAP;AAAA,MAAmBa,aAAnB;;AAEA,MAAMC,kBAAkB,GAAG,UAACC,KAAD,EAA2BrB,IAA3B,EAA4D;AACrF;AACAqB,IAAAA,KAAK,CAACC,OAAN;;AAEA,QAAItB,IAAI,KAAK,MAAb,EAAqB;AACnBkB,MAAAA,YAAY,CAACG,KAAK,CAACpI,WAAN,CAAkBsI,MAAlB,CAAyB9f,KAA1B,CAAZ;AACA;AACD;;AAED0f,IAAAA,aAAa,CAACE,KAAK,CAACpI,WAAN,CAAkBsI,MAAlB,CAAyB9f,KAA1B,CAAb;AACD,GAVD;;AAYA,sBACEqH,KAAC,MAAD;AAAQ,IAAA,QAAQ,EAAElG,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB/D,SAAxB,GAAoCmiB,GAAtD;AAAA,eACGlG,IAAI,gBAAG3c,IAAC,aAAD;AAAe,MAAA,QAAQ,EAAE,kBAAC8M,CAAD;AAAA,eAAOkW,kBAAkB,CAAClW,CAAD,EAAI,MAAJ,CAAzB;AAAA,OAAzB;AAAA,gBAAgE6P;AAAhE,MAAH,GAA2F,IADlG,eAGE3c,IAAC,aAAD;AAAe,MAAA,WAAW,EAAE8W,UAAU,CAACzT,KAAvC;AAA8C,MAAA,SAAS,EAAE4e,SAAzD;AAAoE,MAAA,UAAU,EAAEC,UAAhF;AAAA,gBACGva;AADH,MAHF,EAOGiV,KAAK,gBACJ5c,IAAC,aAAD;AAAe,MAAA,IAAI,EAAC,OAApB;AAA4B,MAAA,QAAQ,EAAE,kBAAC8M,CAAD;AAAA,eAAOkW,kBAAkB,CAAClW,CAAD,EAAI,OAAJ,CAAzB;AAAA,OAAtC;AAAA,gBACG8P;AADH,MADI,GAIF,IAXN;AAAA,IADF;AAeD;;AC3HD,IAAMpR,WAAS,gBAAGpM,MAAM,CAACC,IAAV;AAAA;AAAA,sCAEO;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkB2M,YAAjC;AAAA,CAFP,CAAf;AASO,SAAS2T,eAAT,QAA2E;AAAA,MAAhDzb,QAAgD,SAAhDA,QAAgD;AAChF,sBAAO3H,IAACwL,WAAD;AAAA,cAAY7D;AAAZ,IAAP;AACD;AAEDyb,eAAe,CAAC/F,MAAhB,GAAyBsF,qBAAzB;AACAS,eAAe,CAAC9F,IAAhB,GAAuBoE,mBAAvB;;ACVO,SAAS2B,YAAT,OAAwE;AAAA,MAAhD3jB,IAAgD,QAAhDA,IAAgD;AAAA,MAA1CG,KAA0C,QAA1CA,KAA0C;;AAC7E,MAAIyjB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC,CAAC3jB,KAA9C,EAAqD;AACnD,UAAM,IAAI4B,KAAJ,iDAAmDgiB,MAAM,CAAC5jB,KAAD,CAAzD,EAAN;AACD;;AACD,MAAMC,UAAU,gBAAGC,YAAY,CAACL,IAAD,EAAO;AAAEG,IAAAA,KAAK,EAALA;AAAF,GAAP,CAA/B;AACA,MAAM6jB,YAAY,GAAGC,MAAM,CAAC,IAAIpc,UAAQ,CAACqc,KAAb,CAAmB,CAAnB,CAAD,CAA3B;AAEA,MAAMC,QAAQ,GAAGH,YAAY,CAACI,OAAb,CAAqBC,WAArB,CAAiC;AAChDC,IAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADoC;AAEhDC,IAAAA,WAAW,EAAE,CAAC,MAAD,EAAS,QAAT;AAFmC,GAAjC,CAAjB;AAKAC,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIZ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAA7B,EAAqC,OAAO9iB,SAAP;AAErC,QAAM8T,SAAS,GAAGjN,UAAQ,CAAC4c,IAAT,CAChB5c,UAAQ,CAAC6c,MAAT,CAAgBV,YAAY,CAACI,OAA7B,EAAsC;AACpCO,MAAAA,OAAO,EAAE,CAD2B;AAEpCrU,MAAAA,QAAQ,EAAE,IAF0B;AAGpCsU,MAAAA,MAAM,EAAEC,MAAM,CAACC,MAHqB;AAIpCC,MAAAA,eAAe,EAAE;AAJmB,KAAtC,CADgB,CAAlB;AAQAjQ,IAAAA,SAAS,CAACkQ,KAAV;AACA,WAAO,YAAM;AACX,UAAIpB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAA7B,EAAqC,OAAO9iB,SAAP;AAErC8T,MAAAA,SAAS,CAACmQ,IAAV;AACA,aAAOjkB,SAAP;AACD,KALD;AAMD,GAlBQ,EAkBN,EAlBM,CAAT;AAoBA,sBAAOV,IAACuH,UAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE;AAAEoB,MAAAA,SAAS,EAAE,CAAC;AAAEic,QAAAA,MAAM,EAAEf;AAAV,OAAD;AAAb,KAAtB;AAAA,cAA8D/jB;AAA9D,IAAP;AACD;;;AClCD,IAAMid,WAAW,gBAAG3d,MAAM,CAACC,IAAV;AAAA;AAAA,sCAAjB;AAKO,SAASwlB,eAAT,OAAoF;AAAA,MAAzDld,QAAyD,QAAzDA,QAAyD;AAAA,MAA5CiF,IAA4C;;AACzF,sBAAO5M,IAAC,WAAD,kCAAiB4M,IAAjB;AAAA,cAAwBjF;AAAxB,KAAP;AACD;;;;ACND,IAAMmd,iBAAiB,gBAAG1lB,MAAM,CAACC,IAAV;AAAA;AAAA,+DAEN;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,MAAU6gB,IAAV,QAAUA,IAAV;AAAA,SAAsBA,IAAI,KAAK,OAAT,aAAsB7gB,KAAK,CAACY,IAAN,CAAWwS,QAAX,CAAoBC,WAA1C,UAA4D,CAAlF;AAAA,CAFM,EAGL;AAAA,MAAGrT,KAAH,SAAGA,KAAH;AAAA,MAAU6gB,IAAV,SAAUA,IAAV;AAAA,SAAsBA,IAAI,KAAK,MAAT,aAAqB7gB,KAAK,CAACY,IAAN,CAAWwS,QAAX,CAAoBC,WAAzC,UAA2D,CAAjF;AAAA,CAHK,CAAvB;;AAOO,SAAS2Q,qBAAT,QAA+G;AAAA,MAA9Epd,QAA8E,SAA9EA,QAA8E;AAAA,yBAApEia,IAAoE;AAAA,MAApEA,IAAoE,2BAA7D,MAA6D;AAAA,MAAlDhV,IAAkD;;AACpH,sBACE5M,IAAC,iBAAD;AAAmB,IAAA,IAAI,EAAE4hB;AAAzB,KAAmChV,IAAnC;AAAA,cACGjF;AADH,KADF;AAKD;AAOD,IAAMqd,eAAe,gBAAG5lB,MAAM,CAACC,IAAV;AAAA;AAAA,yBACL;AAAA,MAAGO,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAf;AAAA,CADK,CAArB;AAIO,SAASqlB,mBAAT,QAA4G;AAAA,MAA7Etd,QAA6E,SAA7EA,QAA6E;AAAA,0BAAnE/H,KAAmE;AAAA,MAAnEA,KAAmE,4BAA3D,MAA2D;AAAA,MAAhDgN,IAAgD;;AACjH,sBACE5M,IAAC,eAAD;AAAiB,IAAA,KAAK,EAAEJ;AAAxB,KAAmCgN,IAAnC;AAAA,cACGjF;AADH,KADF;AAKD;;;AClBD,IAAMud,aAAa,gBAAG9lB,MAAM,CAACC,IAAV;AAAA;AAAA,sFAEN;AAAA,MAAG8lB,WAAH,QAAGA,WAAH;AAAA,MAAgBpkB,KAAhB,QAAgBA,KAAhB;AAAA,SAA6BokB,WAAW,GAAGpkB,KAAK,CAACY,IAAN,CAAWwS,QAAX,CAAoBtB,OAAvB,GAAiC,CAAzE;AAAA,CAFM,EAGf,iBAAwB;AAAA,MAArB9R,KAAqB,SAArBA,KAAqB;AAAA,MAAdqkB,OAAc,SAAdA,OAAc;AACxB,MAAQna,WAAR,GAAwBlK,KAAK,CAACY,IAAN,CAAWwS,QAAnC,CAAQlJ,WAAR;;AAEA,MAAIma,OAAO,KAAK,KAAhB,EAAuB;AACrB,uCAA4Bna,WAA5B;AACD;;AAED,MAAIma,OAAO,KAAK,QAAhB,EAA0B;AACxB,0CAA+Bna,WAA/B;AACD;;AAED,MAAIma,OAAO,KAAK,MAAhB,EAAwB;AACtB,WAAOhjB,GAAP,0DACsB6I,WADtB,EAEyBA,WAFzB;AAID;;AAED,SAAO,cAAP;AACD,CAtBgB,EAuBD;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWwS,QAAX,CAAoBjJ,WAAnC;AAAA,CAvBC,EAwBG;AAAA,MAAGnK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWmB,MAAX,CAAkB4M,iBAAjC;AAAA,CAxBH,CAAnB;AA2BO,SAAS2V,QAAT,QAQyB;AAAA,MAP9B1d,QAO8B,SAP9BA,QAO8B;AAAA,MAN9Bwd,WAM8B,SAN9BA,WAM8B;AAAA,MAL9BC,OAK8B,SAL9BA,OAK8B;AAAA,MAJ9BzI,IAI8B,SAJ9BA,IAI8B;AAAA,MAH9BC,KAG8B,SAH9BA,KAG8B;AAAA,MAF9B3U,OAE8B,SAF9BA,OAE8B;AAAA,MAD3B2E,IAC2B;;AAC9B,MAAM0Y,OAAO,GAAGrd,OAAO,GAAGb,SAAH,GAAeme,UAAtC;AACA,MAAMC,YAAY,GAAGvd,OAAO;AAAKxE,IAAAA,iBAAiB,EAAE,QAAxB;AAAkCwE,IAAAA,OAAO,EAAPA;AAAlC,KAA8C2E,IAA9C,IAAuDlM,SAAnF;AACA,MAAM+kB,cAAc,GAAGxd,OAAO,GAAGvH,SAAH,GAAekM,IAA7C;AAEA,sBACE5M,IAAC,OAAD,kCAAcwlB,YAAd;AAAA,2BACE9a,KAAC,aAAD;AAAe,MAAA,WAAW,EAAEya,WAA5B;AAAyC,MAAA,OAAO,EAAEC;AAAlD,OAA+DK,cAA/D;AAAA,iBACG9I,IAAI,gBAAG3c,IAAC,qBAAD;AAAuB,QAAA,IAAI,EAAC,MAA5B;AAAA,kBAAoC2c;AAApC,QAAH,GAAuE,IAD9E,eAGE3c,IAAC,eAAD;AAAA,kBAAkB2H;AAAlB,QAHF,EAKGiV,KAAK,gBAAG5c,IAAC,qBAAD;AAAuB,QAAA,IAAI,EAAC,OAA5B;AAAA,kBAAqC4c;AAArC,QAAH,GAAyE,IALjF;AAAA;AADF,KADF;AAWD;AAEDyI,QAAQ,CAACK,OAAT,GAAmBb,eAAnB;AACAQ,QAAQ,CAACM,WAAT,GAAuBV,mBAAvB;AACAI,QAAQ,CAAC1D,aAAT,GAAyBoD,qBAAzB;;ACnEO,SAASa,UAAT,OAA8D;AAAA,MAAxC/lB,KAAwC,QAAxCA,KAAwC;AACnE,sBAAOG,IAAC,YAAD;AAAc,IAAA,KAAK,EAAEH,KAArB;AAA4B,IAAA,IAAI,eAAEG,IAAC,OAAD;AAAlC,IAAP;AACD;;ACDM,SAAS6lB,WAAT,OAAsE;AAAA,MAA/CxkB,IAA+C,QAA/CA,IAA+C;AAAA,MAAzCxB,KAAyC,QAAzCA,KAAyC;;AAC3E,UAAQwB,IAAR;AACE,SAAK,SAAL;AACE,0BAAOrB,IAAC,eAAD;AAAiB,QAAA,KAAK,EAAEH;AAAxB,QAAP;;AACF,SAAK,SAAL;AACE,0BAAOG,IAAC,SAAD;AAAW,QAAA,KAAK,EAAEH;AAAlB,QAAP;;AACF,SAAK,QAAL;AACE,0BAAOG,IAAC,iBAAD;AAAmB,QAAA,KAAK,EAAEH;AAA1B,QAAP;;AACF;AACE,0BAAOG,IAAC,QAAD;AAAU,QAAA,KAAK,EAAEH;AAAjB,QAAP;AARJ;AAUD;;ACjBM,IAAMimB,cAAc,GAAG,UAACzkB,IAAD,EAAwC;AACpE,UAAQA,IAAR;AACE,SAAK,SAAL;AACE,aAAO,OAAP;;AACF,SAAK,QAAL;AACE,aAAO,OAAP;;AACF,SAAK,SAAL;AACA;AACE,aAAO,OAAP;AAPJ;AASD,CAVM;AAYA,IAAM0kB,kBAAkB,GAAG,UAACC,WAAD,EAAwD;AACxF,UAAQA,WAAR;AACE,SAAK,SAAL;AACA,SAAK,QAAL;AACE,aAAO,OAAP;;AACF,SAAK,SAAL;AACA;AACE,aAAO,OAAP;AANJ;AAQD,CATM;;ACEP,IAAMC,sBAAsB,gBAAG7mB,MAAM,CAACC,IAAV;AAAA;AAAA,+JAKX;AAAA;;AAAA,MAAG6mB,OAAH,QAAGA,OAAH;AAAA,yBAAiBA,OAAjB,aAAiBA,OAAjB,uBAAiBA,OAAO,CAAErD,GAA1B,uDAAiC,CAAjC;AAAA,CALW,EAMT;AAAA,MAAG9hB,KAAH,SAAGA,KAAH;AAAA,MAAUolB,YAAV,SAAUA,YAAV;AAAA,SAA8BA,YAAY,GAAG,CAAH,GAAOplB,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAAtE;AAAA,CANS,EAON;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,MAAU8G,KAAV,SAAUA,KAAV;AAAA,SAAsB9G,KAAK,CAACY,IAAN,CAAW8O,eAAX,CAA2B5I,KAA3B,EAAkCvB,eAAxD;AAAA,CAPM,CAA5B;AAUA,IAAM8f,oBAAoB,gBAAGhnB,MAAM,CAACC,IAAV;AAAA;AAAA,+DAGd,iBAAe;AAAA,MAAZ0B,KAAY,SAAZA,KAAY;AACvB,MAAQmJ,OAAR,GAAoBnJ,KAAK,CAACY,IAA1B,CAAQuI,OAAR;AACA,mBAAUA,OAAO,GAAG,GAApB,iBAA8BA,OAAO,GAAG,CAAxC,kBAAiDA,OAAO,GAAG,CAA3D;AACD,CANuB,CAA1B;AASA,IAAMF,mBAAmB,gBAAG5K,MAAM,CAACC,IAAV;AAAA;AAAA,qBACb,iBAAe;AAAA,MAAZ0B,KAAY,SAAZA,KAAY;AACvB,MAAQmJ,OAAR,GAAoBnJ,KAAK,CAACY,IAA1B,CAAQuI,OAAR;AACA,mBAAUA,OAAV,gBAAuBA,OAAO,GAAG,CAAjC;AACD,CAJsB,CAAzB;AAWA,IAAMmc,iBAAiB,gBAAGjnB,MAAM,CAACoE,UAAU,CAACtB,IAAZ,CAAT;AAAA;AAAA,gCAEP;AAAA,MAAGokB,eAAH,SAAGA,eAAH;AAAA,SAA0BA,eAAe,GAAG,QAAH,GAAc,MAAvD;AAAA,CAFO,CAAvB;AAKA,IAAMC,oBAAoB,gBAAGnnB,MAAM,CAACC,IAAV;AAAA;AAAA,yHAOb,iBAAe;AAAA,MAAZ0B,KAAY,SAAZA,KAAY;AACxB,MAAQmJ,OAAR,GAAoBnJ,KAAK,CAACY,IAA1B,CAAQuI,OAAR;AACA,mBAAUA,OAAO,GAAG,CAApB,gBAA2BA,OAAO,GAAG,CAArC;AACD,CAVuB,CAA1B;AAyBO,SAASsc,WAAT,QAO4B;AAAA,yBANjCnlB,IAMiC;AAAA,MANjCA,IAMiC,2BAN1B,MAM0B;AAAA,MALjCsG,QAKiC,SALjCA,QAKiC;AAAA,MAJjC8e,WAIiC,SAJjCA,WAIiC;AAAA,MAHjCC,YAGiC,SAHjCA,YAGiC;AAAA,MAFjCC,MAEiC,SAFjCA,MAEiC;AAAA,MADjCC,SACiC,SADjCA,SACiC;AACjC,MAAM/mB,KAAK,GAAGimB,cAAc,CAACzkB,IAAD,CAA5B;AAEA,sBACEqJ,KAAC,sBAAD;AAAwB,IAAA,KAAK,EAAErJ,IAA/B;AAAqC,IAAA,YAAY,EAAEolB,WAAnD;AAAgE,IAAA,OAAO,EAAEE,MAAzE;AAAA,4BACEjc,KAAC,oBAAD;AAAA,iBACGgc,YAAY,GAAG,IAAH,gBACX1mB,IAAC,mBAAD;AAAA,+BACEA,IAAC,IAAD;AAAM,UAAA,KAAK,EAAEH,KAAb;AAAoB,UAAA,IAAI,eAAEG,IAAC,WAAD;AAAa,YAAA,IAAI,EAAEqB,IAAnB;AAAyB,YAAA,KAAK,EAAExB;AAAhC;AAA1B;AADF,QAFJ,eAMEG,IAAC,iBAAD;AAAmB,QAAA,eAAe,EAAE0mB,YAApC;AAAkD,QAAA,IAAI,EAAC,MAAvD;AAA8D,QAAA,KAAK,EAAE7mB,KAArE;AAAA,kBACG8H;AADH,QANF;AAAA,MADF,EAYGif,SAAS,gBACR5mB,IAAC,oBAAD;AAAA,6BACEA,IAAC,UAAD;AAAY,QAAA,KAAK,EAAE+lB,kBAAkB,CAAC1kB,IAAD,CAArC;AAA6C,QAAA,IAAI,eAAErB,IAAC,KAAD,KAAnD;AAA8D,QAAA,OAAO,EAAE4mB;AAAvE;AADF,MADQ,GAIN,IAhBN;AAAA,IADF;AAoBD;;ACtGM,SAASC,OAAT,OAOwB;AAAA,uBAN7BxlB,IAM6B;AAAA,MAN7BA,IAM6B,0BANtB,MAMsB;AAAA,MAL7BsG,QAK6B,QAL7BA,QAK6B;AAAA,MAJ7B8e,WAI6B,QAJ7BA,WAI6B;AAAA,MAH7BC,YAG6B,QAH7BA,YAG6B;AAAA,MAF7BC,MAE6B,QAF7BA,MAE6B;AAAA,MAD7BC,SAC6B,QAD7BA,SAC6B;AAC7B,sBACE5mB,IAAC,WAAD;AACE,IAAA,MAAM,EAAE2mB,MADV;AAEE,IAAA,WAAW,EAAEF,WAFf;AAGE,IAAA,IAAI,EAAEplB,IAHR;AAIE,IAAA,YAAY,EAAEqlB,YAJhB;AAKE,IAAA,SAAS,EAAEE,SALb;AAAA,cAOGjf;AAPH,IADF;AAWD;;ACdM,SAASmf,YAAT,OAO6B;AAAA,MANlCzlB,IAMkC,QANlCA,IAMkC;AAAA,MALlCsG,QAKkC,QALlCA,QAKkC;AAAA,MAJlC+e,YAIkC,QAJlCA,YAIkC;AAAA,MAHlCC,MAGkC,QAHlCA,MAGkC;AAAA,MAFlCI,QAEkC,QAFlCA,QAEkC;AAAA,MADlCH,SACkC,QADlCA,SACkC;;AAClC,+CAAa;AACX,QAAIG,QAAJ,EAAc;AACZ,YAAM,IAAItlB,KAAJ,CAAU,6CAAV,CAAN;AACD;AACF;;AAED,sBACEzB,IAAC,WAAD;AAAa,IAAA,WAAW,MAAxB;AAAyB,IAAA,IAAI,EAAEqB,IAA/B;AAAqC,IAAA,YAAY,EAAEqlB,YAAnD;AAAiE,IAAA,MAAM,EAAEC,MAAzE;AAAiF,IAAA,SAAS,EAAEC,SAA5F;AAAA,cACGjf;AADH,IADF;AAKD;;ACxBD,IAAMqf,cAAc,GAAGzf,QAAQ,CAAC0f,uBAAT,CAAiCC,QAAjC,CAAvB;AAOO,SAASC,oBAAT,OAAwF;AAAA,MAAxDtnB,KAAwD,QAAxDA,KAAwD;AAAA,MAAjDunB,QAAiD,QAAjDA,QAAiD;AAC7F,MAAMrmB,KAAK,gBAAGmH,QAAQ,EAAtB;AAEA,8BAA8BnH,KAAK,CAACY,IAAN,CAAW0S,UAAzC;AAAA,MAAQC,WAAR,yBAAQA,WAAR;AAAA,MAAqB3U,IAArB,yBAAqBA,IAArB;AAEA,MAAM0nB,WAAW,GAAG1nB,IAAI,GAAG,GAA3B;AAEA,MAAM2nB,eAAe,GAAG,IAAIjW,IAAI,CAACkW,EAAT,IAAe5nB,IAAI,GAAG,GAAP,GAAa2U,WAA5B,CAAxB;AAEA,MAAMkT,eAAe,GAAGC,gBAAgB;AAAA,yBAAO;AAC7C,aAAO;AACLC,QAAAA,gBAAgB,EAAEJ,eAAe,GAAGA,eAAe,GAAGF,QAAQ,CAAC1e;AAD1D,OAAP;AAGD,KAJuC;;AAAA;AAAA,uBAnBF4e,eAmBE;AAAA,gBAnBgBF;AAmBhB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAAxC;AAMA,sBACEpnB,IAAC,cAAD;AACE,wBAAiB,eADnB;AAEE,IAAA,WAAW,EAAEsU,WAFf;AAGE,IAAA,MAAM,EAAEzU,KAHV;AAIE,IAAA,aAAa,EAAC,OAJhB;AAKE,IAAA,EAAE,EAAEwnB,WALN;AAME,IAAA,EAAE,EAAEA,WANN;AAOE,IAAA,CAAC,EAjBUA,WAAW,GAAG/S,WAU3B;AAQE,IAAA,IAAI,EAAC,MARP;AASE,IAAA,eAAe,EAAEgT,eATnB;AAUE,IAAA,aAAa,EAAEE;AAVjB,IADF;AAcD;;ACnCM,SAASG,wBAAT,GAAkD;AACvD,MAAM5mB,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMkf,QAAQ,GAAGhf,cAAc,CAAC,CAAD,CAA/B;AAEA,8BAAoCrH,KAAK,CAACY,IAAN,CAAW0S,UAA/C;AAAA,MAAQG,SAAR,yBAAQA,SAAR;AAAA,MAAmB1R,MAAnB,yBAAmBA,MAAnB;AAAA,MAA2BnD,IAA3B,yBAA2BA,IAA3B;AAEAukB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAQzP,KAAR,GAAoED,SAApE,CAAQC,KAAR;AAAA,QAAeC,4BAAf,GAAoEF,SAApE,CAAeE,4BAAf;AAAA,QAA6CI,kBAA7C,GAAoEN,SAApE,CAA6CM,kBAA7C;;AACA,6CAAyBA,kBAAzB;AAAA,QAAO8S,EAAP;AAAA,QAAWC,EAAX;AAAA,QAAeC,EAAf;AAAA,QAAmBC,EAAnB;;AAEAX,IAAAA,QAAQ,CAAC1e,KAAT,GAAiBsf,SAAS,CACxBvT,KADwB,EAExBwT,UAAU,CAAC,CAAD,EAAI;AAAEjY,MAAAA,QAAQ,EAAE0E,4BAAZ;AAA0C4P,MAAAA,MAAM,EAAEC,QAAM,CAAC2D,MAAP,CAAcN,EAAd,EAAkBC,EAAlB,EAAsBC,EAAtB,EAA0BC,EAA1B;AAAlD,KAAJ,CAFc,CAA1B;AAID,GARQ,EAQN,CAACX,QAAD,EAAW5S,SAAX,CARM,CAAT;AAUA,sBACExU,IAAC,GAAD;AAAK,IAAA,KAAK,EAAEL,IAAZ;AAAkB,IAAA,MAAM,EAAEA,IAA1B;AAAgC,IAAA,OAAO,gBAASA,IAAT,cAAiBA,IAAjB,CAAvC;AAAA,2BACEK,IAAC,oBAAD;AAAsB,MAAA,KAAK,EAAE8C,MAAM,CAACE,IAApC;AAA0C,MAAA,QAAQ,EAAEokB;AAApD;AADF,IADF;AAKD;;ACfD,IAAMe,oBAAkB,GAAG,CAAC,CAA5B;AAOO,SAASC,2BAAT,OAA6G;AAAA,MAAtEzgB,QAAsE,QAAtEA,QAAsE;AAAA,MAA5DqI,QAA4D,QAA5DA,QAA4D;AAClH,MAAMjP,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMkf,QAAQ,GAAGhf,cAAc,CAAC,CAAD,CAA/B;AAEA,MAAQoM,SAAR,GAAsBzT,KAAK,CAACY,IAAN,CAAW0S,UAAjC,CAAQG,SAAR;AAEA0P,EAAAA,SAAS,CAAC,YAAM;AACd,QAAQzP,KAAR,GAAkBD,SAAlB,CAAQC,KAAR;AAEA2S,IAAAA,QAAQ,CAAC1e,KAAT,GAAiBsf,SAAS,CACxBvT,KADwB,EAExB4T,UAAU,CAACJ,UAAU,CAAC,CAAD,EAAI;AAAEjY,MAAAA,QAAQ,EAARA,QAAF;AAAYsU,MAAAA,MAAM,EAAEC,QAAM,CAACC;AAA3B,KAAJ,CAAX,EAAqD2D,oBAArD,CAFc,CAA1B;AAID,GAPQ,EAON,CAACf,QAAD,EAAW5S,SAAX,EAAsBxE,QAAtB,CAPM,CAAT;AASA,MAAMsY,cAAc,GAAG9f,gBAAgB;AAAA,yBAAO;AAC5C,aAAO;AACLG,QAAAA,SAAS,EAAE,CACT;AACEic,UAAAA,MAAM,YAAK,MAAMwC,QAAQ,CAAC1e,KAApB;AADR,SADS;AADN,OAAP;AAOD,KARsC;;AAAA;AAAA,gBA/BlB0e;AA+BkB;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAAvC;AAUA,sBAAOpnB,IAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAACib,UAAU,CAACsN,YAAZ,EAA0BD,cAA1B,CAAtB;AAAA,cAAkE3gB;AAAlE,IAAP;AACD;;ACtCD,IAAMwgB,kBAAkB,GAAG,CAAC,CAA5B;AACA,IAAMK,aAAa,GAAG,IAAtB;AAEO,SAASC,oBAAT,GAA8C;AACnD,MAAM1nB,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMkf,QAAQ,GAAGhf,cAAc,CAAC,CAAD,CAA/B;AAEA,8BAAoCrH,KAAK,CAACY,IAAN,CAAW0S,UAA/C;AAAA,MAAQ1U,IAAR,yBAAQA,IAAR;AAAA,MAAc6U,SAAd,yBAAcA,SAAd;AAAA,MAAyB1R,MAAzB,yBAAyBA,MAAzB;AAEAohB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAQzP,KAAR,GAAgED,SAAhE,CAAQC,KAAR;AAAA,QAAeE,wBAAf,GAAgEH,SAAhE,CAAeG,wBAAf;AAAA,QAAyCG,kBAAzC,GAAgEN,SAAhE,CAAyCM,kBAAzC;;AACA,6CAAyBA,kBAAzB;AAAA,QAAO8S,EAAP;AAAA,QAAWC,EAAX;AAAA,QAAeC,EAAf;AAAA,QAAmBC,EAAnB;;AAEAX,IAAAA,QAAQ,CAAC1e,KAAT,GAAiBsf,SAAS,CACxBvT,KADwB,EAExB4T,UAAU,CACRJ,UAAU,CAAC,GAAD,EAAM;AAAEjY,MAAAA,QAAQ,EAAE2E,wBAAZ;AAAsC2P,MAAAA,MAAM,EAAEC,QAAM,CAAC2D,MAAP,CAAcN,EAAd,EAAkBC,EAAlB,EAAsBC,EAAtB,EAA0BC,EAA1B;AAA9C,KAAN,CADF,EAERI,kBAFQ,EAGRK,aAHQ,CAFc,CAA1B;AAQD,GAZQ,EAYN,CAACpB,QAAD,EAAW5S,SAAX,CAZM,CAAT;AAcA,sBACExU,IAAC,2BAAD;AAA6B,IAAA,QAAQ,EAAEwU,SAAS,CAACI,iCAAjD;AAAA,2BACE5U,IAAC,2BAAD;AAA6B,MAAA,QAAQ,EAAEwU,SAAS,CAACK,4BAAjD;AAAA,6BACE7U,IAAC,GAAD;AAAK,QAAA,KAAK,EAAEL,IAAZ;AAAkB,QAAA,MAAM,EAAEA,IAA1B;AAAgC,QAAA,OAAO,gBAASA,IAAT,cAAiBA,IAAjB,CAAvC;AAAA,+BACEK,IAAC,oBAAD;AAAsB,UAAA,KAAK,EAAE8C,MAAM,CAACyR,IAApC;AAA0C,UAAA,QAAQ,EAAE6S;AAApD;AADF;AADF;AADF,IADF;AASD;;AC/BD,IAAMsB,mBAAmB,gBAAGtpB,MAAM,CAACC,IAAV;AAAA;AAAA,wFAId;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW0S,UAAX,CAAsB1U,IAArC;AAAA,CAJc,EAKb;AAAA,MAAGoB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW0S,UAAX,CAAsB1U,IAArC;AAAA,CALa,CAAzB;AAUO,SAASgpB,UAAT,GAA0D;AAC/D,sBACEje,KAAC,mBAAD;AAAA,4BACE1K,IAAC,wBAAD,KADF,eAEEA,IAAC,oBAAD,KAFF;AAAA,IADF;AAMD;;ACfD,IAAM4oB,kBAAkB,gBAAGxpB,MAAM,CAACgI,SAAV;AAAA;AAAA,4CACX;AAAA,MAAGrG,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWoT,MAAX,CAAkBG,OAAlB,CAA0BrC,OAAzC;AAAA,CADW,EAEF;AAAA,MAAG9R,KAAH,SAAGA,KAAH;AAAA,MAAU8nB,WAAV,SAAUA,WAAV;AAAA,SAClBA,WAAW,GACP9nB,KAAK,CAACY,IAAN,CAAWoT,MAAX,CAAkBG,OAAlB,CAA0BD,QAA1B,CAAmC3O,eAD5B,GAEPvF,KAAK,CAACY,IAAN,CAAWoT,MAAX,CAAkBG,OAAlB,YAAkC5O,eAHpB;AAAA,CAFE,CAAxB;;AASO,SAASwiB,UAAT,QAAgG;AAAA,MAAvEzI,KAAuE,SAAvEA,KAAuE;AAAA,MAAhE3X,KAAgE,SAAhEA,KAAgE;AAAA,MAAzDqgB,UAAyD,SAAzDA,UAAyD;AAAA,MAA7C9gB,OAA6C,SAA7CA,OAA6C;AACrG,sBACEjI,IAAC,kBAAD;AACE,IAAA,iBAAiB,EAAC,QADpB;AAEE,IAAA,kBAAkB,EAAE;AAClBiV,MAAAA,QAAQ,EAAE8T;AADQ,KAFtB;AAKE,IAAA,WAAW,EAAEA,UALf;AAME,IAAA,OAAO,EAAE9gB,OAAO,GAAG;AAAA,aAAMA,OAAO,CAACS,KAAD,CAAb;AAAA,KAAH,GAA0BhI,SAN5C;AAAA,2BAQEV,IAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,MAAtB;AAA6B,MAAA,KAAK,EAAE+oB,UAAU,GAAG,OAAH,GAAaroB,SAA3D;AAAA,gBACG2f;AADH;AARF,IADF;AAcD;;ACXM,SAAS2I,MAAT,OAS0B;AAAA,MAR/BrhB,QAQ+B,QAR/BA,QAQ+B;AAAA,MAP/ByW,SAO+B,QAP/BA,SAO+B;AAAA,MAN/BD,KAM+B,QAN/BA,KAM+B;AAAA,MAL/B8K,YAK+B,QAL/BA,YAK+B;AAAA,MAJ/B5K,mBAI+B,QAJ/BA,mBAI+B;AAAA,MAH/BrW,MAG+B,QAH/BA,MAG+B;AAAA,MAF/BkhB,eAE+B,QAF/BA,eAE+B;AAAA,MAD/BrM,OAC+B,QAD/BA,OAC+B;;AAC/B,kBAA0ByB,QAAQ,CAAI2K,YAAJ,CAAlC;AAAA;AAAA,MAAOvgB,KAAP;AAAA,MAAcygB,QAAd;;AAQA,sBACEze,KAAC,KAAD;AAAO,IAAA,OAAO,EAAE0T,SAAhB;AAA2B,IAAA,OAAO,EAAEvB,OAApC;AAAA,4BACE7c,IAAC,KAAD,CAAO,MAAP;AAAA,6BACEA,IAAC,UAAD,CAAY,IAAZ;AAAiB,QAAA,IAAI,EAAC,MAAtB;AAA6B,QAAA,OAAO,EAAC,MAArC;AAAA,kBACGme;AADH;AADF,MADF,eAOEne,IAAC,IAAD;AAAA,gBACGwE,QAAQ,CAACC,EAAT,KAAgB,KAAhB,gBACCzE,IAACopB,QAAD;AACE,QAAA,MAAM,EAAEphB,MADV;AAEE,QAAA,aAAa,EAAEU,KAFjB;AAGE,QAAA,SAAS,EAAE3H,KAAK,CAACgU,MAAN,CAAaC,GAAb,WAHb;AAIE,QAAA,aAAa,EAAE,uBAACqU,SAAD;AAAA,iBAAeF,QAAQ,CAACE,SAAD,CAAvB;AAAA,SAJjB;AAAA,kBAMGC,KAAK,CAACC,QAAN,CAAeC,GAAf,CAAmB7hB,QAAnB,EAA6B,UAAC8hB,KAAD,EAAW;AACvC,cAAMC,IAAI,GAAGD,KAAb,CADuC;;AAIvC,8BAAO1pB,YAAY,CAAC2pB,IAAD,EAAO;AACxB7pB,YAAAA,KAAK,EAAE6pB,IAAI,CAACplB,KAAL,CAAWoE,KAAX,KAAqBA,KAArB,GAA6B3H,KAAK,CAACgU,MAAN,CAAaC,GAAb,CAAiBC,QAAjB,CAA0BpV,KAAvD,GAA+Da;AAD9C,WAAP,CAAnB;AAGD,SAPA;AANH,QADD,gBAiBCV,IAAC,UAAD;AAAY,QAAA,MAAM,EAAEgI,MAApB;AAAA,kBACGshB,KAAK,CAACC,QAAN,CAAeC,GAAf,CAAmB7hB,QAAnB,EAA6B,UAAC8hB,KAAD,EAAW;AACvC,cAAMC,IAAI,GAAGD,KAAb;AAEA,8BAAO1pB,YAAY,CAAC2pB,IAAD,EAAO;AACxBzhB,YAAAA,OAAO,EAAE,iBAAC0hB,QAAD;AAAA,qBAAiBR,QAAQ,CAACQ,QAAD,CAAzB;AAAA,aADe;AAExBZ,YAAAA,UAAU,EAAEW,IAAI,CAACplB,KAAL,CAAWoE,KAAX,KAAqBA;AAFT,WAAP,CAAnB;AAID,SAPA;AADH;AAlBJ,MAPF,eAsCE1I,IAAC,KAAD,CAAO,MAAP;AAAA,6BACEA,IAAC,MAAD;AAAQ,QAAA,OAAO,MAAf;AAAgB,QAAA,IAAI,EAAC,SAArB;AAA+B,QAAA,OAAO,EA9ChB,SAAtB4pB,mBAAsB,GAAY;AACtCV,UAAAA,eAAe,CAACxgB,KAAD,CAAf;AAEAmU,UAAAA,OAAO;AACR,SA0CK;AAAA,kBACGwB,mBAAmB,iBAAIre,IAAC,gBAAD;AAA2C,UAAA,EAAE;AAA7C;AAD1B;AADF,MAtCF;AAAA,IADF;AA8CD;AAEDgpB,MAAM,CAACa,IAAP,GAAcf,UAAd;;ACvEA,IAAMtd,WAAS,gBAAGpM,MAAM,CAACC,IAAV;AAAA;AAAA,wEACO;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWyT,QAAX,CAAoB9O,eAAnC;AAAA,CADP,EAEG;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWyT,QAAX,CAAoBC,UAAnC;AAAA,CAFH,CAAf;AAMA,IAAMyU,sBAAsB,GAAGviB,QAAQ,CAAC0f,uBAAT,CAAiC8C,cAAjC,CAA/B;AAEO,SAASC,eAAT,QAA4E;AAAA,MAAjDC,SAAiD,SAAjDA,SAAiD;AAAA,MAAtC5mB,KAAsC,SAAtCA,KAAsC;AACjF,MAAMtC,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMgiB,OAAO,GAAG9hB,cAAc,CAAC,CAAD,CAA9B;AAEA8b,EAAAA,SAAS,CAAC,YAAM;AACd,QAAI+F,SAAJ,EAAe;AACbC,MAAAA,OAAO,CAACxhB,KAAR,GAAgB2f,UAAU,CACxBJ,UAAU,CAAC,CAAD,EAAI;AAAEjY,QAAAA,QAAQ,EAAEjP,KAAK,CAACY,IAAN,CAAWyT,QAAX,CAAoBE,iBAAhC;AAAmDgP,QAAAA,MAAM,EAAEC,QAAM,CAAC4F,KAAP,CAAa5F,QAAM,CAAC6F,IAApB;AAA3D,OAAJ,CADc,EAExB,CAAC,CAFuB,CAA1B;AAID;AACF,GAPQ,EAON,CAACF,OAAD,EAAU7mB,KAAV,EAAiB4mB,SAAjB,EAA4BlpB,KAA5B,CAPM,CAAT;AASA,MAAMspB,mBAAmB,GAAG7hB,gBAAgB;AAAA,yBAAO;AACjD,aAAO;AACLG,QAAAA,SAAS,EAAE,CAAC;AAAE2hB,UAAAA,UAAU,EAAEvG,WAAW,CAACmG,OAAO,CAACxhB,KAAT,EAAgB,CAAC,CAAD,EAAI,CAAJ,CAAhB,EAAwB,CAAC,CAACrF,KAAF,EAASA,KAAT,CAAxB;AAAzB,SAAD;AADN,OAAP;AAGD,KAJ2C;;AAAA;AAAA,mBApC5B0gB,WAoC4B;AAAA,eApChBmG,OAoCgB;AAAA,aApCgB7mB;AAoChB;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAA5C;AAMA,sBACErD,IAACwL,WAAD;AAAA,2BACExL,IAAC,sBAAD;AACE,MAAA,MAAM,EAAE,CACNe,KAAK,CAACY,IAAN,CAAWyT,QAAX,CAAoB9O,eADd,EAENvF,KAAK,CAACY,IAAN,CAAWyT,QAAX,CAAoBC,UAFd,EAGNtU,KAAK,CAACY,IAAN,CAAWyT,QAAX,CAAoB9O,eAHd,CADV;AAME,MAAA,SAAS,EAAE,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CANb;AAOE,MAAA,KAAK,EAAE;AAAEikB,QAAAA,CAAC,EAAE,CAAL;AAAQC,QAAAA,CAAC,EAAE;AAAX,OAPT;AAQE,MAAA,GAAG,EAAE;AAAED,QAAAA,CAAC,EAAE,CAAL;AAAQC,QAAAA,CAAC,EAAE;AAAX,OARP;AASE,MAAA,KAAK,EAAE,CAACvP,UAAU,CAACsN,YAAZ,EAA0B8B,mBAA1B;AATT;AADF,IADF;AAeD;;ACtDD,IAAMI,iBAAiB,gBAAGrrB,MAAM,CAACC,IAAD,CAAT;AAAA;AAAA,wBAAvB;AAQO,SAASqrB,QAAT,OAAqE;AAAA,MAAjDT,SAAiD,QAAjDA,SAAiD;AAAA,MAAtCle,KAAsC,QAAtCA,KAAsC;;AAC1E,kBAA0BuS,QAAQ,CAAC,CAAD,CAAlC;AAAA;AAAA,MAAOjb,KAAP;AAAA,MAAcsnB,QAAd;;AAEA,sBACE3qB,IAAC,iBAAD;AAAmB,IAAA,KAAK,EAAE+L,KAA1B;AAAiC,IAAA,QAAQ,EAAE;AAAA,UAAG8O,WAAH,SAAGA,WAAH;AAAA,aAAqB8P,QAAQ,CAAC9P,WAAW,CAACsI,MAAZ,CAAmB9f,KAApB,CAA7B;AAAA,KAA3C;AAAA,2BACErD,IAAC,eAAD;AAAiB,MAAA,SAAS,EAAEiqB,SAA5B;AAAuC,MAAA,KAAK,EAAE5mB;AAA9C;AADF,IADF;AAKD;AAED,IAAMunB,GAAG,gBAAGxrB,MAAM,CAACsrB,QAAD,CAAT;AAAA;AAAA,uDAEG;AAAA,MAAG3pB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAFH,EAGU;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAHV,CAAT;AAMA,IAAMgd,MAAM,gBAAG9nB,MAAM,CAACsrB,QAAD,CAAT;AAAA;AAAA,yDACD;AAAA,MAAG3pB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAApC;AAAA,CADC,EAEA;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAApC;AAAA,CAFA,EAGO;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,CAApC;AAAA,CAHP,CAAZ;AAMA,IAAM2gB,MAAM,gBAAGzrB,MAAM,CAACsrB,QAAD,CAAT;AAAA;AAAA,yDACD;AAAA,MAAG3pB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAApC;AAAA,CADC,EAEA;AAAA,MAAGnJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,EAApC;AAAA,CAFA,EAGO;AAAA,MAAGnJ,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAWuI,OAAX,GAAqB,GAApC;AAAA,CAHP,CAAZ;AAMAwgB,QAAQ,CAACE,GAAT,GAAeA,GAAf;AACAF,QAAQ,CAACxD,MAAT,GAAkBA,MAAlB;AACAwD,QAAQ,CAACG,MAAT,GAAkBA,MAAlB;;ICrCaC,IAAI,gBAAG1rB,MAAM,CAACC,IAAP,CAAY0rB,UAAZ,CAAkC;AACpDC,EAAAA,iBAAiB,EAAE,2BAACC,IAAD,EAAOC,kBAAP;AAAA,WAA8B,CAAC,CAAC,WAAD,EAAc,SAAd,EAAyB3f,QAAzB,CAAkC0f,IAAlC,CAAD,IAA4CC,kBAAkB,CAACD,IAAD,CAA5F;AAAA;AADiC,CAAlC,CAAH;AAAA;AAAA,wEAIG;AAAA,MAAGE,SAAH,QAAGA,SAAH;AAAA,SAAmBA,SAAnB;AAAA,CAJH,EAMJ;AAAA,MAAGpqB,KAAH,SAAGA,KAAH;AAAA,4BAAU8R,OAAV;AAAA,MAAUA,OAAV,8BAAoB,CAApB;AAAA,SAA4BA,OAAO,GAAG9R,KAAK,CAACY,IAAN,CAAWuI,OAAjD;AAAA,CANI;;ACRV,IAAMkhB,YAAY,GAAG,EAArB;;ACYP,IAAMC,gCAAgC,GAAG,UACvCtqB,KADuC,EAG5B;AAAA,MADXlB,KACW,uEAD4B,aAC5B;;AACX,UAAQA,KAAR;AACE,SAAK,MAAL;AACE,aAAO,SAAP;;AACF,SAAK,OAAL;AACE,aAAO,SAAP;;AACF,SAAK,SAAL;AACE,aAAOkB,KAAK,CAACY,IAAN,CAAW4U,QAAX,CAAoBhJ,SAApB,CAA8BA,SAArC;;AACF;AACE,aAAO,aAAP;AARJ;AAUD,CAdD;;AAgBA,IAAM+d,gCAAgC,GAAG,YAA2E;AAAA,MAA1EzrB,KAA0E,uEAAnC,aAAmC;;AAClH,UAAQA,KAAR;AACE,SAAK,MAAL;AACA,SAAK,SAAL;AACE,aAAO,OAAP;;AACF,SAAK,OAAL;AACA;AACE,aAAO,OAAP;AANJ;AAQD,CATD;;AAWO,IAAM0rB,2BAA2B,gBAAG9qB,aAAa,CAAgC,aAAhC,CAAjD;AACP,IAAM+qB,sBAAsB,gBAAG/qB,aAAa,CAAkB,OAAlB,CAA5C;IAEagrB,kBAAkB,GAAG,UAAC5rB,KAAD,EAA0D;AAC1F,MAAM6rB,eAAe,GAAG7qB,UAAU,CAAC2qB,sBAAD,CAAlC;AACA,SAAO3rB,KAAK,IAAI6rB,eAAhB;AACD;AAED,IAAMC,oBAAoB,gBAAGvsB,MAAM,CAACC,IAAV;AAAA;AAAA,gEACR+rB,YADQ,EAEXA,YAFW,EAGV;AAAA,MAAGrqB,KAAH,QAAGA,KAAH;AAAA,MAAU6qB,UAAV,QAAUA,UAAV;AAAA,SAA2BP,gCAAgC,CAACtqB,KAAD,EAAQ6qB,UAAR,CAA3D;AAAA,CAHU,CAA1B;AAMO,SAASC,UAAT,QAA6E;AAAA,MAAvDlkB,QAAuD,SAAvDA,QAAuD;AAAA,MAA7CikB,UAA6C,SAA7CA,UAA6C;AAClF,sBACE5rB,IAAC,oBAAD;AAAsB,IAAA,UAAU,EAAE4rB,UAAlC;AAAA,2BACE5rB,IAAC,sBAAD,CAAwB,QAAxB;AAAiC,MAAA,KAAK,EAAEsrB,gCAAgC,CAACM,UAAD,CAAxE;AAAA,6BACE5rB,IAAC,2BAAD,CAA6B,QAA7B;AAAsC,QAAA,KAAK,EAAE4rB,UAA7C;AAAA,kBAA0DjkB;AAA1D;AADF;AADF,IADF;AAOD;;ACjDD,IAAMmkB,mBAAmB,gBAAG1sB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAAzB;AAIA,IAAM0sB,sBAAsB,gBAAG3sB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAA5B;AAIO,SAAS2sB,UAAT,OAAuF;AAAA,MAAjEnsB,KAAiE,QAAjEA,KAAiE;AAAA,MAA1D8H,QAA0D,QAA1DA,QAA0D;AAAA,MAAhDskB,aAAgD,QAAhDA,aAAgD;AAC5F,sBACEjsB,IAAC,mBAAD;AAAA,2BACEA,IAAC,UAAD,CAAY,OAAZ;AAAoB,MAAA,OAAO,EAAC,MAA5B;AAAmC,MAAA,IAAI,EAAC,SAAxC;AAAkD,MAAA,KAAK,EAAEyrB,kBAAkB,CAAC5rB,KAAD,CAA3E;AAAoF,MAAA,aAAa,EAAEosB,aAAnG;AAAA,gBACGtkB;AADH;AADF,IADF;AAOD;;AAED,SAASukB,gBAAT,QAA6F;AAAA,MAAjErsB,KAAiE,SAAjEA,KAAiE;AAAA,MAA1D8H,QAA0D,SAA1DA,QAA0D;AAAA,MAAhDskB,aAAgD,SAAhDA,aAAgD;AAC3F,sBACEjsB,IAAC,mBAAD;AAAA,2BACEA,IAAC,UAAD,CAAY,OAAZ;AAAoB,MAAA,OAAO,EAAC,MAA5B;AAAmC,MAAA,IAAI,EAAC,SAAxC;AAAkD,MAAA,KAAK,EAAEyrB,kBAAkB,CAAC5rB,KAAD,CAA3E;AAAoF,MAAA,aAAa,EAAEosB,aAAnG;AAAA,gBACGtkB;AADH;AADF,IADF;AAOD;;AAEDukB,gBAAgB,CAACpnB,WAAjB,GAA+B,mBAA/B;;AAEA,SAASqnB,gBAAT,QAA6F;AAAA,MAAjEtsB,KAAiE,SAAjEA,KAAiE;AAAA,MAA1D8H,QAA0D,SAA1DA,QAA0D;AAAA,MAAhDskB,aAAgD,SAAhDA,aAAgD;AAC3F,sBACEjsB,IAAC,sBAAD;AAAA,2BACEA,IAAC,UAAD,CAAY,OAAZ;AACE,MAAA,OAAO,EAAC,MADV;AAEE,MAAA,IAAI,EAAC,SAFP;AAGE,MAAA,MAAM,EAAC,SAHT;AAIE,MAAA,KAAK,EAAEyrB,kBAAkB,CAAC5rB,KAAD,CAJ3B;AAKE,MAAA,aAAa,EAAEosB,aALjB;AAAA,gBAOGtkB;AAPH;AADF,IADF;AAaD;;AAEDwkB,gBAAgB,CAACrnB,WAAjB,GAA+B,mBAA/B;;AAEA,SAASsnB,gBAAT,QAA6F;AAAA,MAAjEvsB,KAAiE,SAAjEA,KAAiE;AAAA,MAA1D8H,QAA0D,SAA1DA,QAA0D;AAAA,MAAhDskB,aAAgD,SAAhDA,aAAgD;AAC3F,sBACEjsB,IAAC,sBAAD;AAAA,2BACEA,IAAC,UAAD,CAAY,OAAZ;AACE,MAAA,OAAO,EAAC,MADV;AAEE,MAAA,IAAI,EAAC,SAFP;AAGE,MAAA,MAAM,EAAC,SAHT;AAIE,MAAA,KAAK,EAAEyrB,kBAAkB,CAAC5rB,KAAD,CAJ3B;AAKE,MAAA,aAAa,EAAEosB,aALjB;AAAA,gBAOGtkB;AAPH;AADF,IADF;AAaD;;AAEDykB,gBAAgB,CAACtnB,WAAjB,GAA+B,mBAA/B;AAEAknB,UAAU,CAACK,MAAX,GAAoBH,gBAApB;AACAF,UAAU,CAACM,MAAX,GAAoBH,gBAApB;AACAH,UAAU,CAACO,MAAX,GAAoBH,gBAApB;;ACpEA,IAAMI,gBAAc,gBAAGptB,MAAM,CAACqtB,UAAV;AAAA;AAAA,wBACPrB,YADO,CAApB;AAIO,SAASsB,KAAT,OAAqF;AAAA,MAApEvO,KAAoE,QAApEA,KAAoE;AAAA,MAA7DwO,qBAA6D,QAA7DA,qBAA6D;AAAA,MAAtChlB,QAAsC,QAAtCA,QAAsC;AAC1F,sBACE+C,KAAC8hB,gBAAD;AAAgB,IAAA,qBAAqB,EAAEG,qBAAvC;AAAA,4BACE3sB,IAAC,UAAD;AAAA,gBAAame;AAAb,MADF,EAEGxW,QAFH;AAAA,IADF;AAMD;;;;;AChBD,IAAMilB,aAAa,gBAAGxtB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAAnB;AAWO,SAASwtB,YAAT,OAA6G;AAAA,MAArF1O,KAAqF,QAArFA,KAAqF;AAAA,MAA9ExW,QAA8E,QAA9EA,QAA8E;AAAA,MAApEmlB,qBAAoE,QAApEA,qBAAoE;AAAA,MAA1CxoB,KAA0C;;AAClH,MAAI6Z,KAAK,KAAK,MAAV,IAAoB,CAAC2O,qBAAzB,EAAgD,MAAM,IAAIrrB,KAAJ,CAAU,+BAAV,CAAN;AAChD,sBACEiJ,KAAC,aAAD,kCAAmBpG,KAAnB;AAAA,4BACEtE,IAAC,UAAD,CAAY,MAAZ;AAAA,gBAAoBme;AAApB,MADF,EAEGxW,QAFH;AAAA,KADF;AAMD;AAED,IAAMolB,gBAAgB,gBAAG3tB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAAtB;;AAIA,SAAS2tB,UAAT,QAAoF;AAAA,MAA9D7O,KAA8D,SAA9DA,KAA8D;AAAA,MAAvDxW,QAAuD,SAAvDA,QAAuD;AAAA,MAA1CrD,KAA0C;;AAClF,sBACEoG,KAAC,gBAAD,kCAAsBpG,KAAtB;AAAA,4BACEtE,IAAC,UAAD,CAAY,MAAZ;AAAA,gBAAoBme;AAApB,MADF,EAEGxW,QAFH;AAAA,KADF;AAMD;;AAED,IAAMslB,kBAAkB,gBAAG7tB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAAxB;;AAIA,SAAS6tB,YAAT,QAAsF;AAAA,MAA9D/O,KAA8D,SAA9DA,KAA8D;AAAA,MAAvDxW,QAAuD,SAAvDA,QAAuD;AAAA,MAA1CrD,KAA0C;;AACpF,sBACEoG,KAAC,kBAAD,kCAAwBpG,KAAxB;AAAA,4BACEtE,IAAC,UAAD,CAAY,MAAZ;AAAA,gBAAoBme;AAApB,MADF,EAEGxW,QAFH;AAAA,KADF;AAMD;;AAMD,IAAMwlB,iBAAiB,gBAAG/tB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAAvB;;AAIA,SAAS+tB,WAAT,QAAmE;AAAA,MAA5CzlB,QAA4C,SAA5CA,QAA4C;AACjE,sBACE3H,IAAC,iBAAD;AAAA,2BACEA,IAAC,YAAD;AAAc,MAAA,qBAAqB,MAAnC;AAAoC,MAAA,KAAK,EAAC,MAA1C;AAAA,gBACG2H;AADH;AADF,IADF;AAOD;;AAEDklB,YAAY,CAACG,UAAb,GAA0BA,UAA1B;AACAH,YAAY,CAACK,YAAb,GAA4BA,YAA5B;AACA;;AACAL,YAAY,CAACO,WAAb,GAA2BA,WAA3B;AACAP,YAAY,CAACQ,IAAb,GAAoBD,WAApB;AAEA;;IACaE,iBAAiB,GAAGT;;ACrE1B,SAASL,cAAT,OAKsC;AAAA,MAJ3C7kB,QAI2C,QAJ3CA,QAI2C;AAAA,MAH3CwW,KAG2C,QAH3CA,KAG2C;AAAA,wBAF3C1E,KAE2C;AAAA,MAF3CA,KAE2C,2BAFnC,MAEmC;AAAA,2BAD3C8T,QAC2C;AAAA,MAD3CA,QAC2C,8BADhC,KACgC;AAC3C,MAAIA,QAAQ,KAAK,KAAjB,EAAwB,OAAO,IAAP;AAExB,sBACEvtB,IAAC,YAAD,CAAc,YAAd;AAA2B,IAAA,MAAM,EAAEyZ,KAAnC;AAA0C,IAAA,KAAK,EAAE0E,KAAjD;AAAA,cACGxW;AADH,IADF;AAKD;;ACnBM,SAAS6lB,cAAT,CAAwBC,OAAxB,EAAkDC,OAAlD,EAAuF;AAC5F,sBAAO1tB,IAACwsB,KAAD;AAAgB,IAAA,KAAK,EAAEkB,OAAO,CAACC,IAA/B;AAAA,cAAsCF,OAAO;AAA7C,IAAP;AACD;;ACCD,IAAMG,cAAc,gBAAGxuB,MAAM,CAACC,IAAV;AAAA;AAAA,uCAApB;AAKA,IAAMwuB,cAAc,gBAAGzuB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAApB;AAIA,IAAMyuB,OAAO,gBAAG1uB,MAAM,CAACC,IAAV;AAAA;AAAA,8CAAb;AAKA,IAAM0uB,OAAO,gBAAG3uB,MAAM,CAACC,IAAV;AAAA;AAAA,8CAAb;;AAWA,SAAS2uB,YAAT,OAA2F;AAAA,MAAnErmB,QAAmE,QAAnEA,QAAmE;AAAA,6BAAzDsmB,UAAyD;AAAA,MAAzDA,UAAyD,gCAA5C,OAA4C;;AACzF;AACA;AACA,6BAAkB7qB,mBAAmB,EAArC;AAAA,MAAQC,KAAR,wBAAQA,KAAR;;AACA,MAAM6qB,eAAe,GAAGD,UAAU,KAAK,OAAf,GAAyB,GAAzB,GAA+B,GAAvD;;AAEA,MAAI5qB,KAAK,GAAG6qB,eAAZ,EAA6B;AAC3B,wBACEluB,IAAC,cAAD;AAAA,gBACGupB,QAAQ,CAACC,GAAT,CAAa7hB,QAAb,EAAuB,UAAC8hB,KAAD;AAAA,4BACtBzpB,IAAC,cAAD;AAAA,oBAAiBypB;AAAjB,UADsB;AAAA,OAAvB;AADH,MADF;AAOD;;AAED,sBACEzpB,IAAC,OAAD;AAAA,cACGupB,QAAQ,CAACC,GAAT,CAAa7hB,QAAb,EAAuB,UAAC8hB,KAAD;AAAA,0BACtBzpB,IAAC,OAAD;AAAA,kBAAUypB;AAAV,QADsB;AAAA,KAAvB;AADH,IADF;AAOD;;AASD,SAAS0E,YAAT,QAAiH;AAAA,MAAzFhQ,KAAyF,SAAzFA,KAAyF;AAAA,MAAlFiQ,UAAkF,SAAlFA,UAAkF;AAAA,MAAtEzmB,QAAsE,SAAtEA,QAAsE;AAAA,6BAA5D4lB,QAA4D;AAAA,MAA5DA,QAA4D,+BAAjD,KAAiD;AAC/G,MAAMc,QAAQ,GAAG7pB,QAAQ,CAACC,EAAT,KAAgB,KAAhB,IAAyBD,QAAQ,CAACC,EAAT,KAAgB,SAA1D;;AAEA,MAAID,QAAQ,CAACC,EAAT,KAAgB,KAAhB,IAAyB8oB,QAAQ,KAAK,QAA1C,EAAoD;AAClD,WAAO,IAAP;AACD;;AAED,MAAIc,QAAQ,IAAId,QAAQ,KAAK,KAA7B,EAAoC;AAClC,WAAO,IAAP;AACD;;AAED,sBACE7iB;AAAA,eACGyT,KAAK,gBACJne,IAAC,UAAD,CAAY,MAAZ;AAAmB,MAAA,aAAa,EAAE,CAAlC;AAAqC,MAAA,KAAK,EAAEouB,UAA5C;AAAA,gBACGjQ;AADH,MADI,GAIF,IALN,EAMGxW,QANH;AAAA,IADF;AAUD;;IAEY2mB,SAAS,GAAG;AACvBC,EAAAA,GAAG,EAAEP,YADkB;AAEvBQ,EAAAA,GAAG,EAAEL;AAFkB;;ACnEzB,IAAM3iB,WAAS,gBAAGpM,MAAM,CAACC,IAAV;AAAA;AAAA,6HACO;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,MAAUM,IAAV,QAAUA,IAAV;AAAA,MAAgBqC,OAAhB,QAAgBA,OAAhB;AAAA,SAA8B3C,KAAK,CAACY,IAAN,CAAW4T,GAAX,CAAelU,IAAf,EAAqBqC,OAArB,EAA8B4C,eAA5D;AAAA,CADP,EAEG;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,MAAUM,IAAV,SAAUA,IAAV;AAAA,MAAgBqC,OAAhB,SAAgBA,OAAhB;AAAA,SAA8B3C,KAAK,CAACY,IAAN,CAAW4T,GAAX,CAAelU,IAAf,EAAqBqC,OAArB,EAA8BuH,WAA5D;AAAA,CAFH,EAGG;AAAA,MAAGlK,KAAH,SAAGA,KAAH;AAAA,MAAUM,IAAV,SAAUA,IAAV;AAAA,MAAgBqC,OAAhB,SAAgBA,OAAhB;AAAA,SAA8B3C,KAAK,CAACY,IAAN,CAAW4T,GAAX,CAAelU,IAAf,EAAqBqC,OAArB,EAA8BwH,WAA5D;AAAA,CAHH,EAIF;AAAA,MAAGnK,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW4T,GAAX,CAAe1C,OAA9B;AAAA,CAJE,EAKI;AAAA,MAAG9R,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW4T,GAAX,CAAepP,YAA9B;AAAA,CALJ,CAAf;AASO,IAAMsoB,aAAa,GAAG,UAACptB,IAAD,EAAgBqC,OAAhB,EAAyD;AACpF,UAAQrC,IAAR;AACE,SAAK,QAAL;AAAe;AACb,eAAOqC,OAAO,KAAK,SAAZ,GAAwB,QAAxB,GAAmC,OAA1C;AACD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,SAAP;AACD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,OAAP;AACD;;AACD;AAAS;AACP,eAAO,OAAP;AACD;AAZH;AAcD,CAfM;AAiBA,SAASgrB,GAAT,QAAoF;AAAA,MAArErO,KAAqE,SAArEA,KAAqE;AAAA,yBAA9Dhf,IAA8D;AAAA,MAA9DA,IAA8D,2BAAvD,SAAuD;AAAA,4BAA5CqC,OAA4C;AAAA,MAA5CA,OAA4C,8BAAlC,MAAkC;AACzF,sBACE1D,IAACwL,WAAD;AAAW,IAAA,IAAI,EAAEnK,IAAjB;AAAuB,IAAA,OAAO,EAAEqC,OAAhC;AAAA,2BACE1D,IAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,aAAtB;AAAoC,MAAA,KAAK,EAAEyuB,aAAa,CAACptB,IAAD,EAAOqC,OAAP,CAAxD;AAAA,gBACG2c;AADH;AADF,IADF;AAOD;;ACxCD,SAASsO,KAAT,OAAuD;AAAA,MAAtChnB,QAAsC,QAAtCA,QAAsC;AACrD,sBACE3H,IAAC,KAAD,CAAO,MAAP;AAAA,2BACEA,IAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,MAAtB;AAA6B,MAAA,OAAO,EAAC,MAArC;AAAA,gBACG2H;AADH;AADF,IADF;AAOD;;AAWM,SAASinB,mBAAT,QAOoC;AAAA,MANzCzQ,KAMyC,SANzCA,KAMyC;AAAA,MALzClB,OAKyC,SALzCA,OAKyC;AAAA,MAJzCvU,KAIyC,SAJzCA,KAIyC;AAAA,MAHzC2V,mBAGyC,SAHzCA,mBAGyC;AAAA,MAFzClG,QAEyC,SAFzCA,QAEyC;AAAA,MADzC0E,OACyC,SADzCA,OACyC;;AACzC,kBAAwCyB,QAAQ,CAAC5V,KAAD,CAAhD;AAAA;AAAA,MAAOkR,YAAP;AAAA,MAAqBU,eAArB,iBADyC;;;AAazC,sBACEta,IAAC,KAAD;AAAO,IAAA,OAAO,EAAE+K,OAAO,CAACkS,OAAD,CAAvB;AAAkC,IAAA,OAAO,EAVvB,SAAd1C,WAAc,GAAY;AAC9BD,MAAAA,eAAe,CAAC5R,KAAD,CAAf;AACAmU,MAAAA,OAAO;AACR,KAOC;AAAA,cACGI,OAAO,gBACNvS;AAAA,iBACGyT,KAAK,gBAAGne,IAAC,KAAD;AAAA,kBAAQme;AAAR,QAAH,GAA4B,IADpC,eAGEne,IAAC,KAAD,CAAO,IAAP;AAAA,+BACEA,IAAC,cAAD;AACE,UAAA,QAAQ,MADV;AAEE,UAAA,MAAM,EAAC,4BAFT;AAGE,UAAA,KAAK,EAAE4Z,YAHT;AAIE,UAAA,IAAI,EAAC,MAJP;AAKE,UAAA,OAAO,EAAEpV,QAAQ,CAACC,EAAT,KAAgB,KAAhB,GAAwB,SAAxB,GAAoC,SAL/C;AAME,UAAA,QAAQ,EAAE,UAACuZ,MAAD,EAA8BlD,IAA9B;AAAA,mBACRR,eAAe,CAAC,UAACmE,IAAD,EAAU;AACxB,qBAAO3D,IAAI,IAAI2D,IAAf;AACD,aAFc,CADP;AAAA;AANZ;AADF,QAHF,eAiBEze,IAAC,KAAD,CAAO,MAAP;AAAA,+BACEA,IAAC,MAAD;AAAQ,UAAA,OAAO,MAAf;AAAgB,UAAA,IAAI,EAAC,SAArB;AAA+B,UAAA,OAAO,EAzB3B,SAAf0e,YAAe,GAAY;AAC/BvG,YAAAA,QAAQ,CAACyB,YAAD,CAAR;AACD,WAuBS;AAAA,oBACGyE,mBAAmB,gBAClBre,IAACkC,MAAD;AAAA,sBAAOmc;AAAP,YADkB,gBAGlBre,IAAC,gBAAD;AAAkB,YAAA,EAAE;AAApB;AAJJ;AADF,QAjBF;AAAA,MADM,GA4BJ;AA7BN,IADF;AAiCD;;ACnFM,IAAM6uB,qBAAqB,GAAG,OAA9B;AAEA,IAAMC,wBAAwB,GAAG,UAACC,IAAD;AAAA,mBAA6BtL,MAAM,CAACsL,IAAD,CAAN,CAAa3V,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAA7B;AAAA,CAAjC;AAEA,IAAM4V,sBAAsB,GAAG,UAAClU,IAAD;AAAA,mBACjCgU,wBAAwB,CAAChU,IAAI,CAACmU,QAAL,EAAD,CADS,cACYH,wBAAwB,CAAChU,IAAI,CAACoU,UAAL,EAAD,CADpC;AAAA,CAA/B;AAGA,IAAMC,aAAa,GAAG,UAC3BzmB,KAD2B,EAE3ByP,QAF2B,EAG3BC,MAH2B,EAI3BxQ,QAJ2B,EAK3BwnB,YAL2B,EAcxB;AACH,kBAAgE9Q,QAAQ,CAAU,KAAV,CAAxE;AAAA;AAAA,MAAO+Q,wBAAP;AAAA,MAAiCC,2BAAjC;;AAEA,MAAMC,WAAW,GAAGvjB,OAAO,CAAC,YAAM;AAChC,QAAM2O,GAAG,GAAG,IAAID,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,EAAqB,EAArB,CAAZ;AACA,WAAO,IAAIA,IAAJ,CAASC,GAAG,CAACV,WAAJ,EAAT,EAA4BU,GAAG,CAACX,QAAJ,EAA5B,EAA4CW,GAAG,CAAC6U,MAAJ,EAA5C,EAA0D,EAA1D,CAAP;AACD,GAH0B,EAGxB,EAHwB,CAA3B;AAKA,MAAM9R,WAAW,GAAG0R,YAAY,IAAIG,WAApC;AAeA,MAAME,mBAAmB,GAAG/mB,KAAK,IAAIgV,WAArC;AACA,MAAMgS,cAAc,GAAGhnB,KAAK,KAAK,IAAV,GAAiBmmB,qBAAjB,GAAyCG,sBAAsB,CAACS,mBAAD,CAAtF;AACA,MAAME,eAAe,GAAGN,wBAAwB,GAAG,OAAH,GAAa,SAA7D;AAEA,SAAO;AACLI,IAAAA,mBAAmB,EAAnBA,mBADK;AAELC,IAAAA,cAAc,EAAdA,cAFK;AAGLC,IAAAA,eAAe,EAAfA,eAHK;AAILN,IAAAA,wBAAwB,EAAxBA,wBAJK;AAKLO,IAAAA,gBAAgB,EAvBO,SAAnBA,gBAAmB,GAAY;AACnC,UAAIhoB,QAAJ,EAAc;AACZ;AACD;;AACD0nB,MAAAA,2BAA2B,CAAC,IAAD,CAA3B;AACD,KAaM;AAMLO,IAAAA,gBAAgB,EAjBO,SAAnBA,gBAAmB,CAAC/U,IAAD,EAA8B;AACrDwU,MAAAA,2BAA2B,CAAC,KAAD,CAA3B;AAEAnX,MAAAA,QAAQ,CAAC2C,IAAI,IAAI4C,WAAT,CAAR;AACAtF,MAAAA,MAAM;AACP,KAMM;AAOL4G,IAAAA,gBAAgB,EAAE;AAAA,aAAMsQ,2BAA2B,CAAC,KAAD,CAAjC;AAAA;AAPb,GAAP;AASD,CAlDM;;ACGP,IAAM9jB,SAAS,gBAAGpM,MAAM,CAACgI,SAAV;AAAA;AAAA,gFACXwR,oBADW,CAAf;AAqBO,SAASkX,UAAT,OAS2B;AAAA,MARhC3R,KAQgC,QARhCA,KAQgC;AAAA,wBAPhC1E,KAOgC;AAAA,MAPhCA,KAOgC,2BAPxB,SAOwB;AAAA,2BANhC7R,QAMgC;AAAA,MANhCA,QAMgC,8BANrB,KAMqB;AAAA,MALhCmoB,iBAKgC,QALhCA,iBAKgC;AAAA,MAJhCrnB,KAIgC,QAJhCA,KAIgC;AAAA,MAHhC2V,mBAGgC,QAHhCA,mBAGgC;AAAA,MAFhClG,QAEgC,QAFhCA,QAEgC;AAAA,MADhCC,MACgC,QADhCA,MACgC;;AAChC,uBAQI+W,aAAa,CAACzmB,KAAK,IAAI,IAAV,EAAgByP,QAAhB,EAA0BC,MAA1B,EAAkCxQ,QAAlC,EAA4CmoB,iBAA5C,CARjB;AAAA,MACEN,mBADF,kBACEA,mBADF;AAAA,MAEEC,cAFF,kBAEEA,cAFF;AAAA,MAGEC,eAHF,kBAGEA,eAHF;AAAA,MAIEC,gBAJF,kBAIEA,gBAJF;AAAA,MAKE5Q,gBALF,kBAKEA,gBALF;AAAA,MAME6Q,gBANF,kBAMEA,gBANF;AAAA,MAOER,wBAPF,kBAOEA,wBAPF;;AAUA,sBACE3kB,KAAC,SAAD;AACE,IAAA,MAAM,EAAEilB,eAAe,KAAK,SAApB,GAAgClW,KAAhC,GAAwCkW,eADlD;AAEE,IAAA,iBAAiB,EAAC,QAFpB;AAGE,IAAA,OAAO,EAAEC,gBAHX;AAAA,4BAKE5vB,IAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,MAAtB;AAA6B,MAAA,KAAK,EAAE0vB,cAAc,KAAKb,qBAAnB,GAA2C,aAA3C,GAA2D,OAA/F;AAAA,gBACGa;AADH,MALF,EASGlrB,QAAQ,CAACC,EAAT,KAAgB,SAAhB,IAA6B4qB,wBAA7B,gBACCrvB,IAAC,cAAD;AACE,MAAA,QAAQ,MADV;AAEE,MAAA,MAAM,EAAC,4BAFT;AAGE,MAAA,KAAK,EAAEyvB,mBAHT;AAIE,MAAA,IAAI,EAAC,MAJP;AAKE,MAAA,OAAO,EAAC,SALV;AAME,MAAA,QAAQ,EAAE,UAACzR,MAAD,EAA8BlD,IAA9B;AAAA,eAA8C+U,gBAAgB,CAAC/U,IAAD,CAA9D;AAAA;AANZ,MADD,GASG,IAlBN,EAoBGtW,QAAQ,CAACC,EAAT,KAAgB,SAAhB,gBACCzE,IAAC,mBAAD;AACE,MAAA,KAAK,EAAEme,KADT;AAEE,MAAA,OAAO,EAAEkR,wBAFX;AAGE,MAAA,KAAK,EAAEI,mBAHT;AAIE,MAAA,mBAAmB,EAAEpR,mBAJvB;AAKE,MAAA,QAAQ,EAAEwR,gBALZ;AAME,MAAA,OAAO,EAAE7Q;AANX,MADD,GASG,IA7BN;AAAA,IADF;AAiCD;;AC/ED,IAAMgR,iBAAiB,gBAAG5wB,MAAM,CAACC,IAAV;AAAA;AAAA,2BAAvB;AAIA,IAAM4wB,oBAAoB,gBAAG7wB,MAAM,CAACC,IAAV;AAAA;AAAA,8EACJ;AAAA,MAAG0B,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBnP,eAAlC;AAAA,CADI,EAEP;AAAA,MAAGvF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBtP,YAAlC;AAAA,CAFO,EAGb;AAAA,MAAGpF,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBC,OAAlC;AAAA,CAHa,EAIb;AAAA,MAAG3U,KAAH,SAAGA,KAAH;AAAA,mBAAkBA,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBG,eAArC,gBAA0D7U,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBE,iBAA7E;AAAA,CAJa,CAA1B;;AAWA,SAASua,SAAT,CAAmB5rB,KAAnB,EAAmD;AACjD,MAAMvD,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,sBACElI,IAAC,IAAD,kCAAUsE,KAAV;AAAA,2BACEtE,IAAC,gBAAD;AAAkB,MAAA,KAAK,EAAEe,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBnP;AAA5C;AADF,KADF;AAKD;;AAED,IAAM6pB,WAAW,gBAAG/wB,MAAM,CAAC8wB,SAAD,CAAT;AAAA;AAAA,mCACN;AAAA,MAAGnvB,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBnP,eAAlC;AAAA,CADM,EAEF;AAAA,MAAG8pB,SAAH,SAAGA,SAAH;AAAA,0BAA6BA,SAAS,KAAK,QAAd,GAAyB,GAAzB,GAA+B,CAA5D;AAAA,CAFE,CAAjB;AAUO,SAASC,WAAT,QAA6E;AAAA,MAAtD1oB,QAAsD,SAAtDA,QAAsD;AAAA,MAA5C2oB,QAA4C,SAA5CA,QAA4C;AAClF,sBACE5lB,KAAC,iBAAD;AAAA,eACG4lB,QAAQ,KAAK,QAAb,gBAAwBtwB,IAAC,WAAD;AAAa,MAAA,SAAS,EAAEswB;AAAxB,MAAxB,GAA+D,IADlE,eAEEtwB,IAAC,oBAAD;AAAA,6BACEA,IAAC,UAAD,CAAY,IAAZ;AAAiB,QAAA,IAAI,EAAC,MAAtB;AAA6B,QAAA,KAAK,EAAC,OAAnC;AAAA,kBACG2H;AADH;AADF,MAFF,EAOG2oB,QAAQ,KAAK,KAAb,gBAAqBtwB,IAAC,WAAD;AAAa,MAAA,SAAS,EAAEswB;AAAxB,MAArB,GAA4D,IAP/D;AAAA,IADF;AAWD;;ACnDM,IAAMC,sBAAuC,GAAG,KAAhD;;ACSP;AACA,IAAMC,gBAAgB,gBAAGpxB,MAAM,CAACC,IAAV;AAAA;AAAA,8CAAtB;AA8BA;AACA;AACO,SAASoxB,OAAT,OAOwB;AAAA,MAN7B9oB,QAM6B,QAN7BA,QAM6B;AAAA,MAL7B+oB,cAK6B,QAL7BA,cAK6B;AAAA,2BAJ7BJ,QAI6B;AAAA,MAJ7BA,QAI6B,8BAJlBC,sBAIkB;AAAA,MAH7BnsB,OAG6B,QAH7BA,OAG6B;AAAA,MAF7ByR,eAE6B,QAF7BA,eAE6B;AAAA,MAD7B8a,QAC6B,QAD7BA,QAC6B;AAC7B,MAAM5vB,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAM2K,OAAO,GAAGgD,eAAe,IAAI9U,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBI,eAAtD;AAEA,MAAM1N,OAAO,GAAGC,cAAc,CAACsoB,cAAD,CAA9B;AAEA,MAAM1U,aAAa,GAAGxT,gBAAgB;AAAA,yBAAO;AAC3C,aAAO;AACLkN,QAAAA,OAAO,EAAE9M,UAAU,CAACT,OAAO,CAACO,KAAR,GAAgB3H,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBC,OAAnC,GAA6C,CAA9C;AADd,OAAP;AAGD,KAJqC;;AAAA;AAAA,kBAvD3B9M,UAuD2B;AAAA,eAvDhBT,OAuDgB;AAAA;AAAA;AAAA;AAAA,qBAvDApH,KAAK,CAACY,IAAN,CAAW8T,OAAX,CAAmBC;AAuDnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,MAAtC;;AAUA,qBAAoEkb,WAAW,CAAC;AAC9EC,IAAAA,SAAS,EAAEP,QADmE;AAE9EQ,IAAAA,UAAU,EAAE,CAACC,MAAM,CAACle,OAAD,CAAP,EAAkBme,KAAK,EAAvB,EAA2BC,IAAI,CAAC;AAAEpe,MAAAA,OAAO,EAAPA;AAAF,KAAD,CAA/B;AAFkE,GAAD,CAA/E;AAAA,MAAQ0X,CAAR,gBAAQA,CAAR;AAAA,MAAWC,CAAX,gBAAWA,CAAX;AAAA,MAAc0G,SAAd,gBAAcA,SAAd;AAAA,MAAyBC,QAAzB,gBAAyBA,QAAzB;AAAA,MAAmCC,MAAnC,gBAAmCA,MAAnC;AAAA,MAA2CC,IAA3C,gBAA2CA,IAA3C;AAAA,MAAiDC,cAAjD,gBAAiDA,cAAjD;;AAKApN,EAAAA,SAAS,CAAC,YAAM;AACd,QAAI,CAACyM,QAAL,EAAe;AACfA,IAAAA,QAAQ,CAAC;AACPpG,MAAAA,CAAC,EAADA,CADO;AAEPC,MAAAA,CAAC,EAADA,CAFO;AAGP0G,MAAAA,SAAS,EAATA,SAHO;AAIPC,MAAAA,QAAQ,EAARA,QAJO;AAKPI,MAAAA,QAAQ,EAAE,UALH;AAMPH,MAAAA,MAAM,EAANA,MANO;AAOPC,MAAAA,IAAI,EAAJA,IAPO;AAQPC,MAAAA,cAAc,EAAdA;AARO,KAAD,CAAR;AAUD,GAZQ,EAYN,CAAC/G,CAAD,EAAIC,CAAJ,EAAO0G,SAAP,EAAkBC,QAAlB,EAA4BC,MAA5B,EAAoCC,IAApC,EAA0CC,cAA1C,EAA0DX,QAA1D,CAZM,CAAT;AAcA,sBACEjmB,KAAC,gBAAD;AAAA,4BACE1K,IAAC,IAAD;AAAM,MAAA,GAAG,EAAEkxB,SAAX;AAAA,6BACElxB,IAAC,SAAD;AAAW,QAAA,iBAAiB,EAAC,QAA7B;AAAsC,QAAA,OAAO,EA1B/B,SAAdwY,WAAc,GAAY;AAC9BrQ,UAAAA,OAAO,CAACO,KAAR,GAAgB,CAACP,OAAO,CAACO,KAAzB;AACD,SAwBK;AAAA,kBACGf;AADH;AADF,MADF,eAOE3H,IAAC,IAAD;AACE,MAAA,GAAG,EAAEmxB,QADP;AAEE,MAAA,2BAA2B,EAAE,CAAChpB,OAAO,CAACO,KAFxC;AAGE,MAAA,yBAAyB,EAAEP,OAAO,CAACO,KAAR,KAAkB,IAAlB,GAAyB,MAAzB,GAAkC,qBAH/D;AAIE,MAAA,KAAK,kCACAuS,UAAU,CAACC,kBADX;AAEH2H,QAAAA,GAAG,EAAE2H,CAAC,IAAI8F,QAAQ,KAAK,QAAlB,GAA6B9F,CAA7B,GAAiC9pB,SAFnC;AAGH8wB,QAAAA,MAAM,EAAEhH,CAAC,IAAI8F,QAAQ,KAAK,KAAlB,GAA0B9F,CAA1B,GAA8B9pB,SAHnC;AAIHic,QAAAA,IAAI,EAAE4N,CAAF,aAAEA,CAAF,cAAEA,CAAF,GAAO;AAJR,QAJP;AAAA,6BAWEvqB,IAAC,QAAD,CAAU,IAAV;AAAe,QAAA,KAAK,EAAE,CAACgc,aAAD,CAAtB;AAAA,+BACEhc,IAAC,WAAD;AAAa,UAAA,QAAQ,EAAEswB,QAAvB;AAAA,oBAAkClsB;AAAlC;AADF;AAXF,MAPF;AAAA,IADF;AAyBD;AAEDqsB,OAAO,CAACpxB,IAAR,GAAegxB,WAAf;;ACvGA,IAAMoB,qBAAqB,gBAAGryB,MAAM,CAACyM,KAAD,CAAT;AAAA;AAAA,+BAGvB,gBAAc;AAAA,MAAXlM,IAAW,QAAXA,IAAW;AACd,MAAI6E,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAO/D,SAAP;AAE3B;;AACA,qCACcf,IAAI,GAAG,EADrB,kBAC+BA,IAAI,GAAG,EADtC,8CAE2BA,IAAI,GAAG,EAAR,GAAc,CAFxC;AAID,CAXwB,CAA3B;AAkBO,SAAS+xB,eAAT,QAAoG;AAAA,MAAzE5lB,KAAyE,SAAzEA,KAAyE;AAAA,MAAlE9I,IAAkE,SAAlEA,IAAkE;AAAA,MAA5DC,KAA4D,SAA5DA,KAA4D;AAAA,MAArDC,MAAqD,SAArDA,MAAqD;AAAA,MAA7CC,KAA6C,SAA7CA,KAA6C;AACzG,MAAMpC,KAAK,gBAAGmH,QAAQ,EAAtB;AACA,MAAMlE,wBAAwB,GAAGjB,qCAAqC,CAACC,IAAD,EAAOC,KAAP,EAAcC,MAAd,EAAsBC,KAAtB,CAAtE;AACA,MAAMwuB,UAAU,GAAGjwB,uBAAuB,CAACsC,wBAAwB,IAAI,MAA7B,EAAqCjD,KAArC,CAA1C;AACA,MAAMyB,aAAa,GAAG1B,0BAA0B,CAACC,KAAD,CAAhD;AACA,MAAQ2B,QAAR,GAAqBivB,UAAU,CAACnvB,aAAD,CAA/B,CAAQE,QAAR;AAEA,sBAAO1C,IAAC,qBAAD;AAAuB,IAAA,IAAI,EAAE0C,QAA7B;AAAuC,IAAA,KAAK,EAAEoJ;AAA9C,IAAP;AACD;;;ACpBD,IAAM8lB,wBAAwB,YAA9B;AAmBA,IAAMC,UAAU,gBAAGzyB,MAAM,CAAC8C,IAAV;AAAA;AAAA,wCACK;AAAA,MAAG4vB,eAAH,QAAGA,eAAH;AAAA,SAA0BA,eAAe,GAAG,MAAH,GAAY,WAArD;AAAA,CADL,EAGZ,iBAAmB;AAAA,MAAhBC,SAAgB,SAAhBA,SAAgB;AACnB,MAAIvtB,QAAQ,CAACC,EAAT,KAAgB,KAApB,EAA2B,OAAO/D,SAAP;AAE3B,qHAGYqxB,SAAS,GAAG,aAAH,GAAmB,SAHxC;AAKD,CAXa,EAaZ,iBAA0B;AAAA,MAAvBA,SAAuB,SAAvBA,SAAuB;AAAA,MAAZhxB,KAAY,SAAZA,KAAY;AAC1B,MAAI,CAACgxB,SAAL,EAAgB,OAAOrxB,SAAP;AAChB,0BAAiBK,KAAK,CAACY,IAAN,CAAWC,UAAX,CAAsBwQ,IAAtB,CAA2BC,aAA5C;AACD,CAhBa,CAAhB;AA6BO,SAAS2f,cAAT,QAQ+B;AAAA,MAPpCrqB,QAOoC,SAPpCA,QAOoC;AAAA,MANpCC,QAMoC,SANpCA,QAMoC;AAAA,MALpCqqB,WAKoC,SALpCA,WAKoC;AAAA,MAJpCnqB,IAIoC,SAJpCA,IAIoC;AAAA,MAHpCC,SAGoC,SAHpCA,SAGoC;AAAA,MAFpCE,OAEoC,SAFpCA,OAEoC;AAAA,MADjCrE,UACiC;;AACpC,sBACE5D,IAAC,UAAD,kCAAgB4D,UAAhB;AAA4B,IAAA,iBAAiB,EAAC,MAA9C;AAAA,2BACE5D,IAAC,eAAD;AAAiB,MAAA,EAAE,EAAE4xB,wBAArB;AAA+C,MAAA,eAAe,EAAEK,WAAhE;AAAA,6BACEjyB,IAAC,UAAD;AACE,QAAA,SAAS,EAAE4H,QADb;AAEE,QAAA,eAAe,EAAEqqB,WAFnB;AAGE,QAAA,IAAI,EAAEnqB,IAHR;AAIE,QAAA,SAAS,EAAEC,SAJb;AAKE,QAAA,iBAAiB,EAAC,MALpB;AAME,QAAA,OAAO,EAAE;AACP;AACA,4BAAkB;AAFX,SANX;AAUE,QAAA,OAAO,EAAEH,QAAQ,GAAGlH,SAAH,GAAeuH,OAVlC;AAAA,kBAYGN;AAZH;AADF;AADF,KADF;AAoBD;;IC9FYuqB,QAAQ,GAAG,UAACC,GAAD,EAAoC;AAAA,MAAtBC,KAAsB,uEAAd,CAAc;AAC1D,MAAMC,CAAC,GAAGC,QAAQ,CAACH,GAAG,CAAC/a,KAAJ,CAAU,CAAV,EAAa,CAAb,CAAD,EAAkB,EAAlB,CAAlB;AACA,MAAMmb,CAAC,GAAGD,QAAQ,CAACH,GAAG,CAAC/a,KAAJ,CAAU,CAAV,EAAa,CAAb,CAAD,EAAkB,EAAlB,CAAlB;AACA,MAAMob,CAAC,GAAGF,QAAQ,CAACH,GAAG,CAAC/a,KAAJ,CAAU,CAAV,EAAa,CAAb,CAAD,EAAkB,EAAlB,CAAlB;AAEA,wBAAeib,CAAf,eAAqBE,CAArB,eAA2BC,CAA3B,eAAiCJ,KAAjC;AACD;;ACQM,SAASK,iBAAT,OAA+E;AAAA,MAAlD9qB,QAAkD,QAAlDA,QAAkD;AACpF,MAAM5G,KAAK,GAAG4W,YAAY,EAA1B;AACA,sBAAO3X,IAAC,aAAD;AAAe,IAAA,KAAK,EAAEe,KAAtB;AAAA,cAA8B4G;AAA9B,IAAP;AACD;IAEY+qB,kBAAkB,GAAGC,aAAa,CAAC;AAC9ChF,EAAAA,IAAI,EAAE,gBADwC;AAE9CiF,EAAAA,aAAa,EAAE,OAF+B;AAG9CC,EAAAA,OAAO,EAAE,iBAACpF,OAAD,EAAUC,OAAV,SAAyD;AAAA,UAApC9W,OAAoC;AAAA,cAAtBkc,UAAsB;AAChE,wBAAO9yB,IAAC,iBAAD;AAAA,gBAAoBytB,OAAO,CAACC,OAAD;AAA3B,MAAP;AACD;AAL6C,CAAD;;;ACXxC,SAASqF,eAAT,OAA6G;AAAA,MAAlFprB,QAAkF,QAAlFA,QAAkF;AAAA,MAArEqrB,sBAAqE;;AAClH,MAAMC,KAAK,GAAGtc,kBAAkB,CAACqc,sBAAD,CAAhC;AACA,MAAI,CAACC,KAAL,EAAY,OAAO,IAAP;AACZ,SAAOtrB,QAAP;AACD;;ACND;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEO,SAASurB,SAAT,CACLC,gBADK,EAEkF;AACvF;AACA,sBAAO1rB,UAAU,CAA4B,UAAyBnD,KAAzB,EAAgCoD,GAAhC,EAAqC;AAChF,QAAM3G,KAAK,gBAAGmH,QAAQ,EAAtB;AAEA,wBAAOlI,IAAC,gBAAD;AAAkB,MAAA,GAAG,EAAE0H,GAAvB;AAA4B,MAAA,KAAK,EAAE3G;AAAnC,OAA+CuD,KAA/C,EAAP;AACD,GAJgB,CAAjB;AAKD;;;;"}