@foxford/ui 2.5.0 → 2.5.1-beta-9bf8d2f-20230704

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/theme/colors.ts","../../src/theme/global-styled.ts","../../src/shared/enums/sizeInput.ts","../../src/hooks/use-theme.ts","../../src/hooks/use-config-priority.ts","../../src/components/Arrow/images/arrow.module.svg","../../src/components/Arrow/images/chevron.module.svg","../../src/components/Arrow/utils.ts","../../src/shared/utils/inject-theme.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/components/Arrow/constants.ts","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.tsx","../../src/hooks/useClassname.ts","../../src/components/Button/constants.ts","../../src/mixins/color.ts","../../src/components/Button/images/check.module.svg","../../src/components/Button/images/spinner.module.svg","../../src/components/Button/style.ts","../../src/components/Button/Button.tsx","../../src/components/Button/hooks.ts","../../src/components/Checkbox/images/check-default.module.svg","../../src/components/Checkbox/images/check.module.svg","../../src/components/Checkbox/style.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/Group.tsx","../../src/theme/colors-dark.ts","../../src/theme/themes.ts","../../src/theme/breakpoints.ts","../../src/theme/colors-light.ts","../../src/shared/utils/rel-builder.ts","../../src/mixins/vAlign.ts","../../src/components/Icon/style.ts","../../src/components/Icon/images/book.module.svg","../../src/components/Icon/images/blackBoard.module.svg","../../src/components/Icon/images/burger.module.svg","../../src/components/Icon/images/eye.module.svg","../../src/components/Icon/images/email.module.svg","../../src/components/Icon/images/sort.module.svg","../../src/components/Icon/images/unsort.module.svg","../../src/components/Icon/images/person.module.svg","../../src/components/Icon/images/diamond.module.svg","../../src/components/Icon/images/diamondFilled.module.svg","../../src/components/Icon/images/diamondSolid.module.svg","../../src/components/Icon/images/infoInverse.module.svg","../../src/components/Icon/images/list.module.svg","../../src/components/Icon/images/login.module.svg","../../src/components/Icon/images/logout.module.svg","../../src/components/Icon/images/fire.module.svg","../../src/components/Icon/images/camps.module.svg","../../src/components/Icon/images/cart.module.svg","../../src/components/Icon/images/clock.module.svg","../../src/components/Icon/images/clockFilled.module.svg","../../src/components/Icon/images/courses.module.svg","../../src/components/Icon/images/discount.module.svg","../../src/components/Icon/images/externat.module.svg","../../src/components/Icon/images/headphones.module.svg","../../src/components/Icon/images/priceTag.module.svg","../../src/components/Icon/images/prof.module.svg","../../src/components/Icon/images/phone.module.svg","../../src/components/Icon/images/star.module.svg","../../src/components/Icon/images/settings.module.svg","../../src/components/Icon/images/student.module.svg","../../src/components/Icon/images/target.module.svg","../../src/components/Icon/images/textbook.module.svg","../../src/components/Icon/images/trophy.module.svg","../../src/components/Icon/images/message.module.svg","../../src/components/Icon/images/wallet.module.svg","../../src/components/Icon/images/edit.module.svg","../../src/components/Icon/images/copy.module.svg","../../src/components/Icon/images/page.module.svg","../../src/components/Icon/images/print.module.svg","../../src/components/Icon/images/objective.module.svg","../../src/components/Icon/images/present.module.svg","../../src/components/Icon/images/coins.module.svg","../../src/components/Icon/icons.tsx","../../src/components/Icon/Icon.tsx","../../src/mixins/display.ts","../../src/components/ActionBtn/style.ts","../../src/components/ActionBtn/ActionBtn.tsx","../../src/components/Text.Heading/Text.Heading.tsx","../../src/components/Spacer/style.ts","../../src/components/Spacer/Spacer.tsx","../../src/components/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Text.Ellipse/style.ts","../../src/components/Text.Ellipse/Text.Ellipse.tsx","../../src/components/Text/style.ts","../../src/components/Text/Text.tsx","../../src/components/Amount/data/index.ts","../../src/components/Amount/style.ts","../../src/components/Amount/Amount.tsx","../../src/components/Avatar/utils/index.ts","../../src/components/Avatar/style.ts","../../src/components/Avatar/Avatar.tsx","../../src/components/Badge/style.ts","../../src/components/Badge/Badge.tsx","../../src/components/Container/style.ts","../../src/components/Container/Container.tsx","../../src/components/Modal/style.ts","../../src/components/Modal/adapter.tsx","../../src/components/Modal/Modal.tsx","../../src/components/Modal/Close.tsx","../../src/components/Paper/style.ts","../../src/components/Paper/Paper.tsx","../../src/components/Progress.Segmented/style.ts","../../src/components/Progress.Segmented/Progress.Segmented.tsx","../../src/components/Progress.Circle/style.ts","../../src/components/Progress.Circle/Progress.Circle.tsx","../../src/components/Progress/style.ts","../../src/components/Progress/Progress.tsx","../../src/components/Scrollable/Scrollable.tsx","../../src/components/Section/style.ts","../../src/components/Section/Section.tsx","../../src/components/Separator/style.ts","../../src/components/Separator/Separator.tsx","../../src/components/Separator/SeparatorText.tsx","../../src/components/Spinner/style.ts","../../src/components/Spinner/Spinner.tsx","../../src/components/Switcher/style.ts","../../src/components/Switcher/Switcher.tsx","../../src/components/Tabs/style.ts","../../src/components/Tabs/TabsTab.tsx","../../src/components/Tabs/Tabs.tsx","../../src/components/Tooltip/tooltip-styles.ts","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tag/style.ts","../../src/components/Tag/Tag.tsx","../../src/components/ContextMenu.Multilevel/style.ts","../../src/components/ContextMenu.Multilevel/Heading.tsx","../../src/components/ContextMenu.Multilevel/SubHeading.tsx","../../src/components/ContextMenu.Multilevel/Controls.tsx","../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx","../../src/components/ContextMenu/style.ts","../../src/components/ContextMenu/Item.tsx","../../src/components/ContextMenu/ContextMenu.tsx","../../src/components/ContextMenu/tooltip-styles.ts","../../src/components/Input/helpers.ts","../../src/components/Input/style.ts","../../src/components/Textarea/style.ts","../../src/components/Textarea/Textarea.tsx","../../src/components/Input.Phone/constants.ts","../../src/components/Input.Phone/Input.Phone.tsx","../../src/components/Input/Input.tsx","../../src/components/Radio/style.ts","../../src/components/Radio/Radio.tsx","../../src/components/Radio/Group.tsx","../../src/components/Select/style.ts","../../src/components/Select/Select.tsx","../../src/theme/theme-provider.tsx"],"sourcesContent":["import { HEX, RGB, RGBA } from '../shared/interfaces'\n\n/* eslint-disable no-unused-vars */\nexport enum ColorNames {\n facebook = 'facebook',\n twitter = 'twitter',\n youtube = 'youtube',\n instagrammagenta = 'instagrammagenta',\n instagramblue = 'instagramblue',\n instagrampurple = 'instagrampurple',\n instagramorange = 'instagramorange',\n instagramyellow = 'instagramyellow',\n pinterest = 'pinterest',\n googleplus = 'googleplus',\n linkedin = 'linkedin',\n vimeoblue = 'vimeoblue',\n vimeogreen = 'vimeogreen',\n vimeoorange = 'vimeoorange',\n vimeopink = 'vimeopink',\n tumblr = 'tumblr',\n snapchat = 'snapchat',\n whatsappgreen = 'whatsappgreen',\n whatsappteal1 = 'whatsappteal1',\n whatsappteal2 = 'whatsappteal2',\n foursquarepink = 'foursquarepink',\n foursquareblue = 'foursquareblue',\n swarm = 'swarm',\n skypeblue = 'skypeblue',\n skypegreen = 'skypegreen',\n android = 'android',\n stumbleupon = 'stumbleupon',\n flickrpink = 'flickrpink',\n flickrblue = 'flickrblue',\n yahoo = 'yahoo',\n soundcloud = 'soundcloud',\n spotifygreen = 'spotifygreen',\n spotifydarkgreen = 'spotifydarkgreen',\n dribbble = 'dribbble',\n reddit = 'reddit',\n deviantart = 'deviantart',\n pocket = 'pocket',\n quora = 'quora',\n quorablue = 'quorablue',\n slideshareorange = 'slideshareorange',\n slideshareblue = 'slideshareblue',\n telegram = 'telegram',\n fivehundredpx = 'fivehundredpx',\n listlyorange = 'listlyorange',\n listlyblue = 'listlyblue',\n vine = 'vine',\n vk = 'vk',\n ok = 'ok',\n mailru = 'mailru',\n white = 'white',\n black = 'black',\n tundora = 'tundora',\n paleSky = 'paleSky',\n bostonBlue = 'bostonBlue',\n atlantisBrightly = 'atlantisBrightly',\n cinnabar = 'cinnabar',\n sail = 'sail',\n bittersweet = 'bittersweet',\n turquoise = 'turquoise',\n dodgerBlue = 'dodgerBlue',\n mantis = 'mantis',\n azure = 'azure',\n bahamaBlue = 'bahamaBlue',\n shamrock = 'shamrock',\n olive = 'olive',\n copperRose = 'copperRose',\n cyan = 'cyan',\n plum = 'plum',\n hokeyPokey = 'hokeyPokey',\n monaLisa = 'monaLisa',\n mariner = 'mariner',\n heliotrope = 'heliotrope',\n dandelion = 'dandelion',\n fruitSalad = 'fruitSalad',\n fuchsiaBlue = 'fuchsiaBlue',\n persianGreen = 'persianGreen',\n watermelon = 'watermelon',\n tropaz = 'tropaz',\n lima = 'lima',\n mintTulip = 'mintTulip',\n carnationPink = 'carnationPink',\n paleRose = 'paleRose',\n deYork = 'deYork',\n peppermint = 'peppermint',\n cornflowerBlue = 'cornflowerBlue',\n colonialWhite = 'colonialWhite',\n cherokee = 'cherokee',\n supernova = 'supernova',\n picasso = 'picasso',\n bilobaFlower = 'bilobaFlower',\n linkWater = 'linkWater',\n mineShaft = 'mineShaft',\n silver = 'silver',\n alto = 'alto',\n mercury = 'mercury',\n wildSand = 'wildSand',\n whiteGray = 'whiteGray',\n alabaster = 'alabaster',\n whiteLilac = 'whiteLilac',\n atlantis = 'atlantis',\n yellowOrange = 'yellowOrange',\n mystic = 'mystic',\n pomegranate = 'pomegranate',\n oliveDrab = 'oliveDrab',\n curious = 'curious',\n orangePeel = 'orangePeel',\n nebula = 'nebula',\n seaNymph = 'seaNymph',\n chromeWhite = 'chromeWhite',\n onahau = 'onahau',\n citrineWhite = 'citrineWhite',\n coralReef = 'coralReef',\n creemBrulee = 'creemBrulee',\n frangipani = 'frangipani',\n yourPink = 'yourPink',\n periwinkleGray = 'periwinkleGray',\n baliHai = 'baliHai',\n primary = 'primary',\n accent = 'accent',\n profession = 'profession',\n professionDark = 'professionDark',\n camps = 'camps',\n campsDark = 'campsDark',\n courses = 'courses',\n coursesDark = 'coursesDark',\n openLesson = 'openLesson',\n openLessonDark = 'openLessonDark',\n externat = 'externat',\n externatDark = 'externatDark',\n olympiad = 'olympiad',\n olympiadDark = 'olympiadDark',\n textbook = 'textbook',\n textbookDark = 'textbookDark',\n tutors = 'tutors',\n tutorsDark = 'tutorsDark',\n training = 'training',\n trainingDark = 'trainingDark',\n mathematics = 'mathematics',\n physics = 'physics',\n informatics = 'informatics',\n chemistry = 'chemistry',\n biology = 'biology',\n english = 'english',\n russian = 'russian',\n history = 'history',\n society = 'society',\n geography = 'geography',\n developing = 'developing',\n literature = 'literature',\n intersubject = 'intersubject',\n primarySchool = 'primarySchool',\n recommended = 'recommended',\n astronomy = 'astronomy',\n ecology = 'ecology',\n technology = 'technology',\n languages = 'languages',\n art = 'art',\n physicalCulture = 'physicalCulture',\n logic = 'logic',\n businessLogic = 'businessLogic',\n rap = 'rap',\n ikt = 'ikt',\n kids = 'kids',\n fgos = 'fgos',\n blue = 'blue',\n red = 'red',\n green = 'green',\n grey = 'grey',\n darkgrey = 'darkgrey',\n lightgrey = 'lightgrey',\n superlightgrey = 'superlightgrey',\n}\n\nexport const socialColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n facebook: '#0561af',\n twitter: '#00bff3',\n youtube: '#ff0000',\n instagrammagenta: '#c32aa3',\n instagramblue: '#4c5fd7',\n instagrampurple: '#7232bd',\n instagramorange: '#f46f30',\n instagramyellow: '#ffdc7d',\n pinterest: '#cb2027',\n googleplus: '#df4a32',\n linkedin: '#007bb6',\n vimeoblue: '#45bbff',\n vimeogreen: '#aad450',\n vimeoorange: '#f7b42c',\n vimeopink: '#f27490',\n tumblr: '#2c4762',\n snapchat: '#fffc00',\n whatsappgreen: '#25d366',\n whatsappteal1: '#075e54',\n whatsappteal2: '#128c7e',\n foursquarepink: '#fc4575',\n foursquareblue: '#2d5be3',\n swarm: '#ffb000',\n skypeblue: '#00aff0',\n skypegreen: '#7fba00',\n android: '#a4c639',\n stumbleupon: '#eb4924',\n flickrpink: '#f40083',\n flickrblue: '#006add',\n yahoo: '#430297',\n soundcloud: '#ff5500',\n spotifygreen: '#1ed760',\n spotifydarkgreen: '#1db954',\n dribbble: '#ea4c89',\n reddit: '#ff5700',\n deviantart: '#4a5d4e',\n pocket: '#ee4056',\n quora: '#aa2200',\n quorablue: '#2b6dad',\n slideshareorange: '#f7941e',\n slideshareblue: '#1191d0',\n telegram: '#0088cc',\n fivehundredpx: '#0099e5',\n listlyorange: '#df6d46',\n listlyblue: '#52b1b3',\n vine: '#00b489',\n vk: '#4d75a2',\n ok: '#ee8208',\n mailru: '#158DE2',\n})\n\nexport const colors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n white: '#ffffff',\n black: '#000000',\n tundora: '#4a4a4a',\n paleSky: '#697389',\n bostonBlue: '#0060d0',\n atlantisBrightly: '#99cc33',\n cinnabar: '#e00000',\n sail: '#a9dbf8',\n bittersweet: '#ff6666',\n turquoise: '#33cccc',\n dodgerBlue: '#33ccff',\n mantis: '#66cc66',\n azure: '#336699',\n bahamaBlue: '#006699',\n shamrock: '#33cc99',\n olive: '#999900',\n copperRose: '#996666',\n cyan: '#3399ff',\n plum: '#993399',\n hokeyPokey: '#cc9933',\n monaLisa: '#ff9999',\n mariner: '#3366cc',\n heliotrope: '#cc33ff',\n dandelion: '#ffce03',\n fruitSalad: '#49a15d',\n fuchsiaBlue: '#8d58bc',\n persianGreen: '#009999',\n watermelon: '#ff4679',\n tropaz: '#2863a8',\n lima: '#5fd0da',\n mintTulip: '#bfecf0',\n carnationPink: '#ffa6ce',\n paleRose: '#ffdcec',\n deYork: '#82d180',\n peppermint: '#cdedcc',\n cornflowerBlue: '#62aee9',\n colonialWhite: '#fdedd2',\n cherokee: '#fbd291',\n supernova: '#ffce03',\n picasso: '#ffeb9a',\n bilobaFlower: '#9fafe9',\n linkWater: '#d8dff6',\n transparent: 'transparent',\n mineShaft: '#333333',\n silver: '#b8b8b8',\n alto: '#d4d4d4',\n mercury: '#e9e9e9',\n wildSand: '#f6f6f6',\n whiteGray: '#eaeaea',\n alabaster: '#f8f8f8',\n whiteLilac: '#F6F7FB',\n atlantis: '#7fc92e',\n yellowOrange: '#ffb334',\n mystic: '#dcdfea',\n pomegranate: '#f94b28',\n oliveDrab: '#6ca82a',\n curious: '#007CEE',\n orangePeel: '#ff9900',\n nebula: '#d8e6e2',\n seaNymph: '#7ca79b',\n chromeWhite: '#daefc9',\n onahau: '#c6e6ff',\n citrineWhite: '#faf3dd',\n coralReef: '#c9c1a6',\n creemBrulee: '#ffe89e',\n frangipani: '#ffdcb5',\n yourPink: '#ffc2c2',\n periwinkleGray: '#d4d9ee',\n baliHai: '#8890b4',\n primary: '#ff732b',\n accent: '#1A96F6',\n})\n\nexport const unitColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n profession: colors.mintTulip,\n professionDark: colors.lima,\n camps: colors.chromeWhite,\n campsDark: colors.atlantis,\n courses: colors.onahau,\n coursesDark: colors.cornflowerBlue,\n openLesson: colors.colonialWhite,\n openLessonDark: colors.cherokee,\n externat: colors.paleRose,\n externatDark: colors.carnationPink,\n olympiad: colors.yourPink,\n olympiadDark: colors.bittersweet,\n textbook: colors.picasso,\n textbookDark: colors.supernova,\n tutors: colors.linkWater,\n tutorsDark: colors.bilobaFlower,\n training: colors.peppermint,\n trainingDark: colors.deYork,\n mathematics: colors.orangePeel,\n physics: colors.curious,\n informatics: colors.turquoise,\n chemistry: colors.shamrock,\n biology: colors.mantis,\n english: colors.bittersweet,\n russian: colors.dodgerBlue,\n history: colors.bahamaBlue,\n society: colors.primary,\n geography: colors.copperRose,\n developing: colors.olive,\n literature: colors.cyan,\n intersubject: colors.plum,\n primarySchool: colors.hokeyPokey,\n recommended: colors.monaLisa,\n astronomy: colors.mariner,\n ecology: colors.atlantisBrightly,\n technology: colors.turquoise,\n languages: colors.bittersweet,\n art: colors.heliotrope,\n physicalCulture: colors.olive,\n logic: colors.dandelion,\n businessLogic: colors.fruitSalad,\n rap: colors.fuchsiaBlue,\n ikt: colors.persianGreen,\n kids: colors.watermelon,\n fgos: colors.tropaz,\n blue: colors.accent,\n red: colors.pomegranate,\n green: colors.atlantis,\n grey: colors.silver,\n darkgrey: colors.mineShaft,\n lightgrey: colors.alto,\n superlightgrey: colors.mercury,\n})\n","import { createGlobalStyle, css } from 'styled-components'\nimport { colors, socialColors, unitColors } from './colors'\n\nconst _colors = Object.keys(colors).map((colorName) => css`--${colorName}: ${colors[colorName]};`)\nconst _socialColors = Object.keys(socialColors).map((colorName) => css`--${colorName}: ${socialColors[colorName]};`)\nconst _unitColors = Object.keys(unitColors).map((colorName) => css`--${colorName}: ${unitColors[colorName]};`)\n\nexport const UiGlobalStyles = createGlobalStyle`\n #react-floater-portal {\n position: relative;\n }\n :root {\n ${_colors}\n ${_socialColors}\n ${_unitColors}\n }\n`\n","/* eslint-disable no-unused-vars */\nexport enum SizeInput {\n l = 380,\n m = 300,\n s = 220,\n xs = 140,\n}\n","import { useTheme } from 'styled-components'\nimport type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../theme/themes'\n\nexport function useFallbackTheme(): DefaultTheme {\n const contextTheme = useTheme()\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n return shouldForwardTheme ? contextTheme : defaultTheme\n}\n","import { useMemo } from 'react'\n\nexport function useConfigPriority<T extends object>(minor?: Partial<T>, major?: Partial<T>): Partial<T> {\n return useMemo(() => {\n const minorConfig = minor ?? {}\n const majorConfig = major ?? {}\n const uniqueKeys = [...new Set([...Object.keys(minorConfig), ...Object.keys(majorConfig)])]\n\n return uniqueKeys.reduce((prioritized, key) => {\n let finalVal\n\n if (valid(minorConfig[key])) finalVal = minorConfig[key]\n if (valid(majorConfig[key])) finalVal = majorConfig[key]\n\n return valid(finalVal) ? { ...prioritized, [key]: finalVal } : prioritized\n }, {} as Partial<T>)\n }, [minor, major])\n}\n\nfunction valid(value: unknown): boolean {\n return Boolean(value) || typeof value === 'boolean' || typeof value === 'number'\n}\n","<svg width=\"14\" height=\"16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 1v14M7 1l6 6M7 1 1 7\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 4.233 4.233\"><path d=\"M.76 3.175l-.363-.369 1.72-1.748 1.72 1.748-.363.369-1.357-1.38z\" /></svg>\n","import type { ArrowProps } from './types'\n\nexport const DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport function getArrowRotation({ top, right, bottom, left }: ArrowProps): React.CSSProperties {\n const arrowDir = {\n top: top && !bottom,\n right: right && !left,\n bottom: bottom && !top,\n left: left && !right,\n }\n\n const isMultiDir = Object.values(arrowDir).filter((value) => value === true).length > 1\n\n const rotateDeg =\n Object.keys(arrowDir).reduce((acc, key) => (arrowDir[key] ? acc + DIR_MAP[key] : acc), 0) / (isMultiDir ? 2 : 1)\n\n return {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n}\n","import type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../../theme/themes'\n\nexport function injectDefaultTheme(\n config: { theme: DefaultTheme | void } & Record<string, unknown>\n): { theme: DefaultTheme } & Record<string, unknown> {\n const contextTheme = config.theme\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n const forwardedTheme = shouldForwardTheme ? contextTheme : defaultTheme\n\n return {\n ...config,\n theme: forwardedTheme,\n }\n}\n","import { css, CSSObject, SimpleInterpolation } from 'styled-components'\nimport { theme } from '../theme'\n\ntype StyledComponentProps = {\n theme?: { breakpoints?: typeof theme.breakpoints }\n}\n\ntype MediaQueryParams = {\n and?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n condition?: (_props: any) => boolean\n}\n\nconst CONDITIONS = (() => {\n const maxWidth = (breakpoints: typeof theme.breakpoints, point: string) =>\n `(max-width: ${breakpoints[point] - 0.02}px)`\n const minWidth = (breakpoints: typeof theme.breakpoints, point: string) => `(min-width: ${breakpoints[point]}px)`\n\n return {\n MAX: maxWidth,\n MIN: minWidth,\n RANGE: (breakpoints: typeof theme.breakpoints, point1: string, point2: string) =>\n `${minWidth(breakpoints, point1)} and ${maxWidth(breakpoints, point2)}`,\n }\n})()\n\nconst createMediaQuery =\n (condition: (_breakpoints: typeof theme.breakpoints, ..._points: string[]) => string, ...points: string[]) =>\n (params?: MediaQueryParams) =>\n (...args: [CSSObject | TemplateStringsArray, ...SimpleInterpolation[]]) =>\n (props: StyledComponentProps) => {\n const breakpoints = props.theme?.breakpoints ?? theme.breakpoints\n\n if (params !== undefined && typeof params.condition === 'function' && params.condition(props) === false) {\n return css``\n }\n\n return css`\n @media screen and ${condition(breakpoints, ...points)} ${params !== undefined && typeof params.and === 'string'\n ? `and ${params.and}`\n : ``} {\n ${css(...args)}\n }\n `\n }\n\n/**\n * @return `@media screen and (min-width: 320px) and (max-width: 374px) { ...args }`\n */\nexport const screenXs = createMediaQuery(CONDITIONS.RANGE, 'xxs', 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) and (max-width: 767px) { ...args }`\n */\nexport const screenS = createMediaQuery(CONDITIONS.RANGE, 'xs', 's')\n\n/**\n * @return `@media screen and (min-width: 768) and (max-width: 1023px) { ...args }`\n */\nexport const screenM = createMediaQuery(CONDITIONS.RANGE, 's', 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) and (max-width: 1279px) { ...args }`\n */\nexport const screenL = createMediaQuery(CONDITIONS.RANGE, 'm', 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) and (max-width: 1439px) { ...args }`\n */\nexport const screenXl = createMediaQuery(CONDITIONS.RANGE, 'l', 'xl')\n\n/**\n * @return `@media screen and (max-width: 319px) { ...args }`\n */\nexport const screenMaxXxs = createMediaQuery(CONDITIONS.MAX, 'xxs')\n\n/**\n * @return `@media screen and (max-width: 374px) { ...args }`\n */\nexport const screenMaxXs = createMediaQuery(CONDITIONS.MAX, 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) { ...args }`\n */\nexport const screenMinXs = createMediaQuery(CONDITIONS.MIN, 'xs')\n\n/**\n * @return `@media screen and (max-width: 767px) { ...args }`\n */\nexport const screenMaxS = createMediaQuery(CONDITIONS.MAX, 's')\n\n/**\n * @return `@media screen and (min-width: 768px) { ...args }`\n */\nexport const screenMinS = createMediaQuery(CONDITIONS.MIN, 's')\n\n/**\n * @return `@media screen and (max-width: 1023px) { ...args }`\n */\nexport const screenMaxM = createMediaQuery(CONDITIONS.MAX, 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) { ...args }`\n */\nexport const screenMinM = createMediaQuery(CONDITIONS.MIN, 'm')\n\n/**\n * @return `@media screen and (max-width: 1279px) { ...args }`\n */\nexport const screenMaxL = createMediaQuery(CONDITIONS.MAX, 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) { ...args }`\n */\nexport const screenMinL = createMediaQuery(CONDITIONS.MIN, 'l')\n\n/**\n * @return `@media screen and (max-width: 1439px) { ...args }`\n */\nexport const screenMaxXl = createMediaQuery(CONDITIONS.MAX, 'xl')\n\n/**\n * @return `@media screen and (min-width: 1440px) { ...args }`\n */\nexport const screenMinXl = createMediaQuery(CONDITIONS.MIN, 'xl')\n\n/**\n * @return `@media -webkit-min-device-pixel-ratio: 2 and (min-resolution: 192dpi) { ...args }`\n */\nexport const screenRetina = (...args: [CSSObject | TemplateStringsArray, SimpleInterpolation]) => css`\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n ${css(...args)}\n }\n`\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from '../shared/enums/sizeLatin'\nimport { screenXs } from './screen'\n\nexport const SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 44,\n xxl: 40,\n xl: 36,\n l: 28,\n m: 24,\n s: 20,\n xs: 16,\n xxs: 8,\n xxxs: 4,\n})\n\n// eslint-disable-next-line no-unused-vars\nexport const FONT_SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 24,\n xxl: 22,\n xl: 20,\n l: 18,\n m: 16,\n s: 14,\n xs: 12,\n xxs: 10,\n xxxs: 8,\n})\n\nexport function getLatinSizeMapByCssProperty<T>(cssProperty: T) {\n if (typeof cssProperty === 'string' && cssProperty === 'font-size') return FONT_SIZES_LATIN\n return SIZES_LATIN\n}\n\nexport function buildMediaQuery(\n value: number | keyof typeof SizeLatin | 'auto' | 'initial' | 'inherit' | boolean,\n property:\n | string\n | ((\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n ) => FlattenSimpleInterpolation | null),\n screenQueryFunction: typeof screenXs,\n sizing: null | string\n): ReturnType<typeof css> {\n const sizeMap = getLatinSizeMapByCssProperty(property)\n\n const size: number | 'auto' | 'initial' | 'inherit' | boolean =\n typeof value === 'string' ? sizeMap[value] ?? value : value\n\n if (typeof property === 'function') {\n const value = property(size, sizing)\n return css`\n ${screenQueryFunction()`\n ${value}\n `}\n `\n }\n\n return css`\n ${screenQueryFunction()`\n ${property}: ${size as string}${typeof size === 'string' ? '' : sizing ?? ''};\n `}\n `\n}\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from '../shared/enums/sizeLatin'\nimport { screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs, screenMinM } from './screen'\nimport { buildMediaQuery, getLatinSizeMapByCssProperty } from './shared'\n\n/**\n * Value for breakpoint\n */\nexport type PossibleValues = number | keyof typeof SizeLatin | 'auto' | 'initial' | 'inherit' | boolean\n\ntype PropsProperties =\n | 'size'\n | 'fontSize'\n | 'height'\n | 'width'\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'padding'\n | 'paddingTop'\n | 'paddingRight'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'margin'\n | 'marginTop'\n | 'marginRight'\n | 'marginBottom'\n | 'marginLeft'\n | 'fluid'\n\nexport type CalcProperty = (\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n) => FlattenSimpleInterpolation | null\ntype CssProperty = string | CalcProperty\ntype ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL'\n\nexport type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = {\n /**\n * Size for breakpoint\n */\n [key in `${T}${ResponsiveKeys}`]?: V // eslint-disable-line no-unused-vars\n}\n\nexport type ResponsiveProperty<V = number | keyof typeof SizeLatin> =\n | V\n | [desktop: V, tablet: V, mobile: V]\n | [xl: V, l: V, m: V, s: V, xs: V, xxs: V]\n\nexport const property =\n (value: PossibleValues, cssProperty: CssProperty = 'size', sizing: null | string = 'px') =>\n () =>\n () => {\n if (typeof value === 'boolean') {\n return typeof cssProperty === 'function' ? cssProperty(1) : null\n }\n\n const sizeMap = getLatinSizeMapByCssProperty(cssProperty)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(typeof value === 'number' ? value : sizeMap[value])\n }\n\n if (typeof value === 'string' && ['auto', 'initial', 'inherit'].includes(value))\n return css`\n ${cssProperty}: ${value};\n `\n\n return css`\n ${cssProperty}: ${typeof value === 'string' && sizeMap[value] ? sizeMap[value] : value}${sizing ?? ''};\n `\n }\n\nconst SCREEN_SIZE_MAP: Record<Exclude<ResponsiveKeys, ''>, typeof screenMaxXs> = {\n XXS: screenMaxXxs,\n XS: screenMaxXs,\n S: screenMaxS,\n M: screenMaxM,\n L: screenMaxL,\n XL: screenMinL,\n}\n\nconst SCREEN_SIZE_MAP_BY_DEVICE_ALIAS: Record<'desktop' | 'tablet' | 'mobile', typeof screenMaxXs> = {\n desktop: screenMinM,\n tablet: screenMaxM,\n mobile: screenMaxS,\n}\n\nfunction getScreenFnByResponsiveKey(size: string) {\n if (size.endsWith('XXS')) {\n return SCREEN_SIZE_MAP.XXS\n } else if (size.endsWith('XS')) {\n return SCREEN_SIZE_MAP.XS\n } else if (size.endsWith('S')) {\n return SCREEN_SIZE_MAP.S\n } else if (size.endsWith('M')) {\n return SCREEN_SIZE_MAP.M\n } else if (size.endsWith('L')) {\n return SCREEN_SIZE_MAP.L\n } else {\n return SCREEN_SIZE_MAP.XL\n }\n}\n\nconst getKey = (key: string): 'xs' | 's' | 'm' | 'l' | 'xl' | null => {\n if (key.endsWith('XS')) return 'xs' // first check XS\n if (key.endsWith('S')) return 's'\n if (key.endsWith('M')) return 'm'\n if (key.endsWith('XL')) return 'xl' // first check XL\n if (key.endsWith('L')) return 'l'\n return null\n}\n\nconst DEKSTOP_FIRST_KEYS = ['xl', 'l', 'm', 's', 'xs']\nconst MOBILE_FIRST_KEYS = ['xs', 's', 'm', 'l', 'xl']\n\n/**\n * Sort keys as desktop first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const desktopFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\n/**\n * Sort keys as mobile first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const mobileFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\ninterface ResponsiveNamedPropertyPayload<T extends PropsProperties> {\n sizes: ResponsiveNamedProperty<T>\n cssProperty: CssProperty\n sizing?: null | 'px' | 'rem' | 'em' | '%'\n customSizeHandler?: (_value: PossibleValues) => PossibleValues\n sort?: (_a: string, _b: string) => number\n}\n\n/**\n * Миксин для генерации media запросов\n *\n * @param obj.sizes Объект, в качестве ключей брэйкпоинт, в качестве значений - величина\n * @param obj.cssProperty CSS свойство, может быть функцией, возвращающей css`` из styled-components\n * @param obj.sizing значение величины, по умолчанию `px`\n * @param obj.customSizeHandler функция для вычисления кастомных значений величин\n * @returns строки медиазапросов\n */\nexport const responsiveNamedProperty =\n <T extends PropsProperties>({\n sizes,\n cssProperty = 'size',\n sizing = 'px',\n customSizeHandler,\n sort = desktopFirst,\n }: ResponsiveNamedPropertyPayload<T>) =>\n () =>\n () => {\n const mediaCssStrArr = Object.keys(sizes)\n .sort(sort)\n .map((size) => {\n if (sizes[size] !== undefined) {\n const _size: PossibleValues =\n typeof customSizeHandler === 'function' ? customSizeHandler(sizes[size]) : sizes[size]\n\n return buildMediaQuery(_size, cssProperty, getScreenFnByResponsiveKey(size), sizing)\n }\n return null\n })\n .filter(Boolean)\n .map(\n (item) =>\n css`\n ${item}\n `\n )\n\n return mediaCssStrArr\n }\n\n/**\n * Миксин для генерации media запросов\n *\n * @param propName имя пропсы\n * @param cssProperty имя css свойства\n * @param sizing значение величины, по умолчанию `px`\n * @returns строки медиазапросов\n */\nexport const responsiveProperty =\n (propName: string, cssProperty: string | null = null, sizing: null | string = 'px') =>\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const prop: ResponsiveProperty | null = props[propName] ?? null\n const _cssProperty = cssProperty ?? propName\n if (!prop) return null\n\n if (Array.isArray(prop) && prop.length === 3) {\n const [desktop, tablet, mobile] = prop\n return css`\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.desktop()`\n ${_cssProperty}: ${typeof desktop === 'number' ? `${desktop}${sizing ?? ''}` : desktop};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.tablet()`\n ${_cssProperty}: ${typeof tablet === 'number' ? `${tablet}${sizing ?? ''}` : tablet};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.mobile()`\n ${_cssProperty}: ${typeof mobile === 'number' ? `${mobile}${sizing ?? ''}` : mobile};\n `}\n `\n }\n\n if (Array.isArray(prop) && prop.length === 6 && typeof _cssProperty === 'string') {\n const [xl, l, m, s, xs, xxs] = prop\n return css`\n ${SCREEN_SIZE_MAP.XL()`\n ${_cssProperty}: ${typeof xl === 'number' ? `${xl}${sizing ?? ''}` : xl};\n `}\n ${SCREEN_SIZE_MAP.L()`\n ${_cssProperty}: ${typeof l === 'number' ? `${l}${sizing ?? ''}` : l};\n `}\n ${SCREEN_SIZE_MAP.M()`\n ${_cssProperty}: ${typeof m === 'number' ? `${m}${sizing ?? ''}` : m};\n `}\n ${SCREEN_SIZE_MAP.S()`\n ${_cssProperty}: ${typeof s === 'number' ? `${s}${sizing ?? ''}` : s};\n `}\n ${SCREEN_SIZE_MAP.XS()`\n ${_cssProperty}: ${typeof xs === 'number' ? `${xs}${sizing ?? ''}` : xs};\n `}\n ${SCREEN_SIZE_MAP.XXS()`\n ${_cssProperty}: ${typeof xxs === 'number' ? `${xxs}${sizing ?? ''}` : xxs};\n `}\n `\n }\n\n if (typeof prop === 'number') {\n return css`\n ${_cssProperty}: ${prop}${sizing ?? null};\n `\n }\n\n if (typeof prop === 'string') {\n return css`\n ${_cssProperty}: ${prop};\n `\n }\n\n return null\n }\n","import type { ArrowTransientProp } from './types'\n\nexport const TRANSIENT_PROPS: ArrowTransientProp[] = [\n 'preset',\n 'square',\n 'onColored',\n 'size',\n 'top',\n 'theme',\n 'right',\n 'bottom',\n 'left',\n 'inverse',\n 'outline',\n 'borderRadius',\n 'brandPresetUsed',\n]\n","import styled, { css } from 'styled-components'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TRANSIENT_PROPS } from './constants'\nimport type { ArrowRootProps, ArrowStaticSize, ArrowTransientProp } from './types'\n\nconst SIZES: Record<ArrowStaticSize, number> = { l: 48, m: 44, xs: 40 }\n\nconst DEFAULT_SIZES: Record<ArrowStaticSize, number> = { l: 40, m: 28, xs: 20 }\n\nconst baseStyles = `\n &,\n & > span {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n position: relative;\n flex-shrink: 0;\n padding: 0;\n border: 0;\n line-height: 1;\n cursor: pointer;\n overflow: hidden;\n transition-property: background-color, box-shadow;\n &::before, \n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst defaultDisabledStyles = `\n cursor: not-allowed;\n -webkit-filter: grayscale(100%);\n -moz-filter: grayscale(100%);\n -ms-filter: grayscale(100%);\n -o-filter: grayscale(100%);\n filter: grayscale(100%);\n`\n\nconst PRESET = {\n filled: {\n default: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: ${disabled ? theme.colors['bg-disabled-large'] : theme.colors['bg-onmain-tertiary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n \n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::before {\n opacity: 0;\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-oncolor-constant']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n outline: {\n default: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-disabled'] : theme.colors['border-onmain-contrast']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-onmain-tertiary']};\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['content-oncolor-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['border-oncolor-default']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${theme.colors['content-oncolor-constant']};\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n filled: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors.white};\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\n & svg {\n fill: ${theme.colors.accent};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n outline: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.alto};\n & svg {\n fill: ${theme.colors.alto};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n inverse: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.white};\n & svg {\n fill: ${theme.colors.white};\n }\n &:hover {\n background-color: ${theme.colors.white};\n box-shadow: none;\n svg {\n fill: ${theme.colors.accent};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 #eaecf3;\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n}\n\nconst extractSize = (props: ThemedStyledProps<ArrowRootProps, DefaultTheme>, cssProperty: 'height' | 'width') => {\n const config = props.brandPresetUsed ? SIZES : DEFAULT_SIZES\n\n return ['l', 'm', 'xs'].includes(<ArrowStaticSize>props.size)\n ? `${cssProperty}: ${config[<ArrowStaticSize>props.size]}px;`\n : responsiveProperty('size', cssProperty)\n}\n\nconst extractStyles = (props: ThemedStyledProps<ArrowRootProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.outline && props.onColored) return PRESET.outline.onColored\n if (props.outline && !props.onColored) return PRESET.outline.default\n if (!props.outline && props.onColored) return PRESET.filled.onColored\n\n return PRESET.filled.default\n }\n\n if (props.inverse) return PRESET_DEFAULT.inverse\n if (props.outline) return PRESET_DEFAULT.outline\n\n return PRESET_DEFAULT.filled\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return !TRANSIENT_PROPS.includes(<ArrowTransientProp>prop)\n },\n })\n .attrs(injectDefaultTheme)<ArrowRootProps>`\n ${baseStyles}\n ${extractStyles}\n ${(props) => extractSize(props, 'height')}\n ${(props) => extractSize(props, 'width')}\n ${(props) => `border-radius: ${props.borderRadius};`}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport ArrowSvg from './images/arrow.module.svg'\nimport ChevronSvg from './images/chevron.module.svg'\nimport type { ArrowProps } from './types'\nimport { getArrowRotation } from './utils'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Arrow'\n\n/**\n * Button with arrow icon\n */\nconst Arrow = forwardRef<HTMLButtonElement, ArrowProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const { size = 'l', onClick, ...configProps } = useConfigPriority<ArrowProps>(theme.components?.Arrow, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n const borderRadius = configProps.square ? '8px' : '50%'\n const Icon = brandPresetUsed ? ArrowSvg : ChevronSvg\n const iconStyles = getArrowRotation(configProps)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n\n if (!configProps.disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n return (\n <Styled.Root\n {...configProps}\n ref={ref}\n type='button'\n size={size}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n onClick={handleClick}\n >\n <span>{<Icon style={iconStyles} />}</span>\n </Styled.Root>\n )\n})\n\nArrow.displayName = COMPONENT_NAME\n\nexport { Arrow, COMPONENT_NAME }\n\nexport type { ArrowProps }\n","import cx from 'clsx'\nimport { useFallbackTheme } from './use-theme'\n\nexport function useClassname(componentName: string, originalClassName?: string) {\n const theme = useFallbackTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import type { ButtonForwardProp, ButtonRootProps, ButtonStaticSize } from './types'\n\nexport const FORWARD_PROPS: ButtonForwardProp[] = [\n 'id',\n 'to',\n 'target',\n 'ref',\n 'rel',\n 'href',\n 'type',\n 'disabled',\n 'className',\n 'style',\n 'form',\n 'onClick',\n 'onClickCapture',\n 'onMouseLeave',\n 'onMouseEnter',\n 'children',\n]\n\nexport const PROPS_BY_SIZE: Record<ButtonStaticSize, Partial<ButtonRootProps>> = {\n l: {\n fontSize: 'l',\n fontSizeM: 'm',\n height: 60,\n heightM: 56,\n heightS: 52,\n paddingLeft: 36,\n paddingRight: 36,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n fontSize: 'm',\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n","import { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport { HEX, RGB, RGBA } from '../shared/interfaces'\nimport { ColorNames } from '../theme'\n\ntype ColorPropsProperties = 'color' | 'fontColor' | `${string}Color` | `color${string}`\nexport type ColorValue = keyof typeof ColorNames | RGB | RGBA | HEX\ntype ColorCalcProperty = (_color: ColorValue) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\n\nexport type Color<T extends ColorPropsProperties = 'color'> = {\n /**\n * Color name, HEX, rgb or rgba\n */\n [key in `${T}`]?: RGB | RGBA | HEX | keyof typeof ColorNames // eslint-disable-line no-unused-vars\n}\n\nexport const getColor = (color: ColorValue, props: { theme: DefaultTheme }) => {\n if (typeof color === 'string' && (color.includes('#') || color.includes('rgb'))) return color\n\n if (props.theme.colors[color]) return props.theme.colors[color]\n\n return color\n}\n\nexport const color =\n (color?: ColorValue, cssProperty: ColorCssProperty = 'color') =>\n () =>\n (props: { theme: DefaultTheme }) => {\n const colorVal = color || props?.theme?.textColor || props?.theme?.fallbackColor\n const _color = getColor(colorVal as ColorValue, props)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(_color)\n }\n\n return css`\n ${cssProperty}: ${_color};\n `\n }\n","<svg viewBox=\"0 0 20 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 7.611 6.923 12.5 18 1.5\" stroke=\"currentcolor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1.5V4m0 10v2.5M4 9H1.5m15 0H14M3.697 3.697l1.77 1.77m7.068 7.068 1.768 1.768m.001-10.607-1.767 1.767m-7.072 7.072-1.77 1.77\" stroke=\"currentcolor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { CalcProperty, property, responsiveNamedProperty, responsiveProperty } from 'mixins/responsive-property'\nimport { color as colorFn } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { FORWARD_PROPS } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { ButtonStaticSize, ButtonRootProps, ButtonForwardProp } from './types'\n\nconst SIZES: Record<ButtonStaticSize, number> = {\n l: 20,\n m: 18,\n s: 16,\n xs: 14,\n}\n\nconst STATIC_SIZES: ButtonStaticSize[] = ['l', 'm', 's', 'xs']\n\nconst WIDTHS: Record<ButtonStaticSize, number> = {\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst DEFAULT_ROUND_SIZES: Record<ButtonStaticSize, number> = {\n l: 52,\n m: 48,\n s: 40,\n xs: 32,\n}\n\nconst baseStyles = css<ButtonRootProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n padding: ${props.basePadding};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before, \n &::after {\n transition-property: opacity;\n }\n &, \n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loading} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n\nconst getDefaultRoundSizes: CalcProperty = (size, sizing = 'px') => css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n font-size: ${0.44 * (size as number)}${sizing};\n line-height: ${0.44 * (size as number)}${sizing};\n padding: ${0.28 * (size as number)}${sizing};\n`\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n \n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let background = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: string = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let background = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: string = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<ButtonRootProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\n } \n `\n : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n \n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return colorFn(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return colorFn(props.fontColor, cssProperty)\n }}\n \n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n \n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n `,\n}\n\nconst extractStyles = (props: ThemedStyledProps<ButtonRootProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractSizes = (props: ThemedStyledProps<ButtonRootProps, DefaultTheme>) => {\n if (!props.brandPresetUsed) return ''\n\n return STATIC_SIZES.includes(<ButtonStaticSize>props.size)\n ? `font-size: ${SIZES[<ButtonStaticSize>props.size]}px;`\n : responsiveProperty('size', 'font-size')\n}\n\nconst extractDefaultRoundSizes = (props: ThemedStyledProps<ButtonRootProps, DefaultTheme>) => {\n if (props.brandPresetUsed || !props.round) return ''\n if (!STATIC_SIZES.includes(<ButtonStaticSize>props.size)) return ''\n\n return property(DEFAULT_ROUND_SIZES[<ButtonStaticSize>props.size], getDefaultRoundSizes)\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(<ButtonForwardProp>prop) || prop.includes('data')\n },\n })\n .attrs(injectDefaultTheme)<ButtonRootProps>`\n ${baseStyles}\n ${extractStyles}\n ${extractSizes}\n ${extractDefaultRoundSizes}\n\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n \n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { PROPS_BY_SIZE } from './constants'\nimport type { ButtonProps, ButtonStaticSize } from './types'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n if (!brandPresetUsed && !configProps.round) {\n const defaultProps = PROPS_BY_SIZE[size as ButtonStaticSize] ?? PROPS_BY_SIZE.m\n configProps = mergeDeepLeft(configProps, defaultProps) as ButtonProps\n }\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let basePadding = brandPresetUsed ? '0.9em 1.6em' : '0px'\n if (brandPresetUsed && configProps.round) basePadding = '1em'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n basePadding={basePadding}\n fontBold={fontBold}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n","import { DefaultTheme } from 'styled-components'\nimport type { ButtonProps } from './types'\n\nexport function useComputedRel(theme: DefaultTheme, config: ButtonProps) {\n const relBuilder = theme.utils?.relBuilder\n\n let rel\n\n if (config.href) {\n rel = config.rel\n\n if (!rel && relBuilder && config.autoRel && (config.href || config.to)) {\n rel = relBuilder(config.href ?? config.to, config.target)\n }\n }\n\n return rel\n}\n\nexport function useComputedLinkProps(_as: ButtonProps['as'], disabled: boolean, config: ButtonProps) {\n let props = {}\n\n if (_as === undefined || disabled) return props\n\n if (_as === 'a') {\n props = { href: config.href || config.to, target: config.target }\n } else if (typeof _as !== 'string') {\n props = { to: config.to || config.href }\n }\n\n return props\n}\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\".455\" y=\".455\" width=\"19.091\" height=\"19.091\" rx=\"5\" fill=\"#fff\" stroke=\"#B8B8B8\"/><g fill=\"none\"><rect fill=\"#1A96F6\" width=\"20\" height=\"20\" rx=\"5\"/><path stroke=\"#fff\" stroke-width=\"2\" d=\"M6 9.99 9 13l6-6\"/></g></svg>","<svg viewBox=\"0 0 12 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.5 1.5 4.312 8 1.5 5.045\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport DefaultCheck from './images/check-default.module.svg'\nimport Check from './images/check.module.svg'\nimport type { CheckboxRootProps, CheckboxStaticSize, CheckboxGroupProps, CheckboxPalette } from './types'\n\nconst DEFAULT_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 12,\n xs: 12,\n small: 14,\n s: 14,\n medium: 16,\n m: 16,\n large: 18,\n l: 18,\n extraLarge: 20,\n xl: 20,\n}\n\nconst BRAND_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 16,\n xs: 16,\n small: 20,\n s: 20,\n medium: 24,\n m: 24,\n large: 28,\n l: 28,\n extraLarge: 32,\n xl: 32,\n}\n\nconst STATIC_SIZES: CheckboxStaticSize[] = [\n 'extraSmall',\n 'xs',\n 'small',\n 's',\n 'medium',\n 'm',\n 'large',\n 'l',\n 'extraLarge',\n 'xl',\n]\n\nconst baseStyles = css<CheckboxRootProps>`\n ${(props) => `\n &,\n & * {\n box-sizing: border-box;\n }\n position: relative;\n cursor: pointer;\n padding: ${props.background ? 12 : 0}px;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n align-items: baseline;\n isolation: isolate;\n & + & {\n margin-left: 15px;\n }\n `}\n`\n\nexport const Input = styled.input`\n position: absolute;\n opacity: 0;\n z-index: -1;\n &:focus {\n outline: none;\n }\n`\n\nexport const Background = styled.span`\n border-radius: 8px;\n border: 1px solid;\n border-color: transparent;\n overflow: hidden;\n &::before {\n content: '';\n opacity: 0;\n }\n &,\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: border-color, background-color, opacity;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n`\n\nexport const DefaultMask = styled(DefaultCheck)`\n position: relative;\n top: 2px;\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: opacity 200ms ease;\n }\n`\n\nexport const BrandMask = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n border-radius: 4px;\n border: 1px solid;\n border-color: transparent;\n transition-property: border-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nexport const CheckIcon = styled(Check)`\n width: 50%;\n opacity: 0;\n`\n\nexport const Content = styled.span`\n position: relative;\n margin-left: 10px;\n`\n\nconst template = (palette: CheckboxPalette) => `\n & > ${Content} {\n color: ${palette.fontColor};\n }\n & > ${BrandMask} {\n background-color: ${palette.bg};\n color: ${palette.color};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${BrandMask} {\n border-color: transparent;\n background-color: ${palette.bgChecked};\n }\n & > ${Input}:checked ~ ${BrandMask} > ${CheckIcon} {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${Content} {\n color: ${palette.colorDisabled};\n }\n &:hover > ${BrandMask} {\n border-color: ${palette.borderHover};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${BrandMask} {\n outline: 1px solid ${palette.outlineFocus};\n outline-offset: 2px;\n }\n`\n\nconst templateBackground = (palette: CheckboxPalette) => `\n & > ${Background} {\n background-color: ${palette.bg};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${Background} {\n background-color: ${palette.bgChecked};\n border-color: ${palette.borderChecked};\n }\n &:hover > ${Background} {\n background-color: ${palette.bgHover};\n border-color: ${palette.borderHover};\n }\n &:hover > ${Background}::before {\n background-color: ${palette.beforeBgHover};\n opacity: 1;\n }\n`\n\nconst PRESET = {\n default: {\n regular: css<CheckboxRootProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-100'],\n borderChecked: props.theme.colors['border-brand-primary'],\n bgHover: props.theme.colors['bg-oncolor-hover'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n error: css<CheckboxRootProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-error'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n success: css<CheckboxRootProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-success'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n disabled: css<CheckboxRootProps>`\n cursor: auto;\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-disabled-large'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-large'],\n borderChecked: props.theme.colors['bg-disabled-active'],\n bgHover: props.theme.colors['bg-disabled-large'],\n borderHover: props.theme.colors['border-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n onColored: {\n regular: css<CheckboxRootProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-brand-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-oncolor-primary'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['content-oncolor-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-large'],\n bgChecked: props.theme.colors['bg-onmain-primary'],\n borderChecked: props.theme.colors['border-onmain-default-large'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n error: css<CheckboxRootProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n success: css<CheckboxRootProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n disabled: css<CheckboxRootProps>`\n cursor: auto;\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-oncolor-disabled'],\n bgChecked: props.theme.colors['bg-onmain-secondary'],\n borderChecked: props.theme.colors['border-oncolor-disabled'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-oncolor-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<CheckboxRootProps>`\n ${(props) =>\n props.error\n ? `\n & > ${DefaultMask} > rect { \n fill: ${tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${props.theme.colors.pomegranate};\n } \n & > ${DefaultMask} g > rect {\n fill: ${props.theme.colors.pomegranate};\n }\n `\n : null}\n\n ${(props) => `\n color: ${props.disabled ? props.theme.colors.alto : props.theme.colors.mineShaft};\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n\n & > ${Input}:checked ~ ${DefaultMask} g {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${DefaultMask} > rect {\n fill: ${props.theme.colors.white};\n stroke: ${props.theme.colors.grey};\n }\n & > ${Input}:checked:disabled ~ ${DefaultMask} g > rect {\n fill: ${props.theme.colors.alto};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${DefaultMask} {\n outline: 1px solid ${props.theme.colors.accent};\n outline-offset: 2px;\n }\n `}\n `,\n}\n\nconst extractStyles = (props: CheckboxRootProps) => {\n if (props.brandPresetUsed) {\n if (props.disabled && !props.onColored) return PRESET.default.disabled\n if (props.disabled && props.onColored) return PRESET.onColored.disabled\n\n if (props.error && !props.success && !props.onColored) return PRESET.default.error\n if (props.error && !props.success && props.onColored) return PRESET.onColored.error\n\n if (props.success && !props.error && !props.onColored) return PRESET.default.success\n if (props.success && !props.error && props.onColored) return PRESET.onColored.success\n\n return props.onColored ? PRESET.onColored.regular : PRESET.default.regular\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractSizes = (props: CheckboxRootProps) => {\n const SIZES = props.brandPresetUsed ? BRAND_SIZES : DEFAULT_SIZES\n\n return STATIC_SIZES.includes(<CheckboxStaticSize>props.size)\n ? `font-size: ${SIZES[<CheckboxStaticSize>props.size]}px;`\n : responsiveProperty('size', 'font-size')\n}\n\nexport const Root = styled.label\n .withConfig({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)<CheckboxRootProps>`\n ${baseStyles}\n ${extractStyles}\n ${extractSizes}\n\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? 'width: 100%;' : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n ${(props) =>\n props.inline\n ? css`\n display: flex;\n flex-direction: row;\n > ${Root}:first-child {\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n `\n : `\n display: flex;\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport cx from 'clsx'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { CheckboxGroup } from './Group'\nimport type { CheckboxComponent, CheckboxProps } from './types'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Checkbox'\n\nconst Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>((props, ref) => {\n const theme = useFallbackTheme()\n const baseClassName = useClassname(COMPONENT_NAME)\n\n const {\n preset,\n style,\n id,\n name,\n value,\n disabled,\n error,\n success,\n fluid,\n children,\n label,\n checked,\n defaultChecked,\n background,\n onColored,\n size = 'm',\n inline = true,\n width = theme.defaultInputControlsWidth,\n className: _className,\n onChange = () => undefined,\n ...configProps\n } = useConfigPriority<CheckboxProps>(theme.components?.Checkbox, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof preset === 'string') brandPresetUsed = preset === 'brand'\n\n const className = cx(baseClassName, _className, checked && `${baseClassName}--checked`)\n const labelClassName = `${baseClassName}__label`\n const inputProps = checked === undefined ? { defaultChecked } : { checked }\n\n return (\n <Styled.Root\n ref={ref}\n className={className}\n style={style}\n fluid={fluid}\n disabled={disabled}\n htmlFor={id || name}\n size={size}\n inline={inline}\n width={width}\n error={error}\n success={success}\n background={background}\n onColored={onColored}\n brandPresetUsed={brandPresetUsed}\n >\n <Styled.Input\n {...configProps}\n {...inputProps}\n id={id || name}\n name={name}\n type='checkbox'\n value={value}\n disabled={disabled}\n onChange={onChange}\n />\n {brandPresetUsed ? (\n <>\n {background && <Styled.Background />}\n <Styled.BrandMask>\n <Styled.CheckIcon />\n </Styled.BrandMask>\n </>\n ) : (\n <Styled.DefaultMask />\n )}\n {(label || children) && <Styled.Content className={labelClassName}>{label || children}</Styled.Content>}\n </Styled.Root>\n )\n}) as CheckboxComponent\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = COMPONENT_NAME\n\nexport { Checkbox, COMPONENT_NAME }\n\nexport type { CheckboxProps }\n","import * as Styled from './style'\nimport type { CheckboxGroupProps } from './types'\n\nconst CheckboxGroup = ({ children, ...props }: CheckboxGroupProps) => {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n\nexport { CheckboxGroup }\n","import { HEX, RGB, RGBA } from '../shared/interfaces'\n\nexport const baseColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-onmain-primary': '#f5f6f9',\n 'content-onmain-secondary': '#9698a6',\n 'content-onmain-tertiary': '#848694',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#f5f6f9cc',\n 'content-oncolor-tertiary': '#f5f6f999',\n 'content-oncolor-constant': '#25262c',\n 'content-oncolor-inverse': '#f5f6f9',\n 'content-disabled': '#6e707c',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#f16c65',\n 'content-link': '#8aafff',\n 'border-onmain-default-large': '#25262c',\n 'border-onmain-default-small': '#44454b',\n 'border-onmain-contrast': '#f5f6f9',\n 'border-oncolor-default': '#ffffff',\n 'border-disabled': '#494a50',\n 'border-oncolor-disabled': '#ffffff66',\n 'bg-onmain-main': '#000000',\n 'bg-onmain-primary': '#121316',\n 'bg-onmain-secondary': '#1a1b1f',\n 'bg-onmain-tertiary': '#25262c',\n 'bg-onmain-divider': '#25262c',\n 'bg-onmain-contrast': '#44454b',\n 'bg-onmain-inverse': '#ffffff',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-disabled-large': '#1a1b1f',\n 'bg-disabled-small': '#25262c',\n 'bg-disabled-active': '#494a50',\n 'bg-contrast-active': '#f5f6f9',\n 'bg-oncolor-hover': '#00000014',\n 'bg-oncontrast-hover': '#ffffff14',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'alert-bg-success-100': '#071d02',\n 'alert-bg-success-200': '#0a2603',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#241500',\n 'alert-bg-warning-200': '#2e1c00',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#2e0100',\n 'alert-bg-error-200': '#3d0004',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#63ab4f',\n 'alert-warning': '#f16f04',\n 'alert-error': '#fd655d',\n}\n\nexport const motherColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#ff8800',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#ff8800',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#241500',\n 'bg-brand-secondary-200': '#2e1c00',\n 'bg-brand-secondary-400': '#382300',\n 'bg-brand-secondary-500': '#422900',\n 'bg-brand-tertiary-100': '#202018',\n 'bg-brand-tertiary-200': '#26261c',\n 'bg-brand-quaternary-100': '#00222e',\n 'bg-brand-quaternary-200': '#002733',\n 'bg-brand-quaternary-400': '#054457',\n 'bg-brand-quaternary-500': '#05495c',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const babyColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#e594c5',\n 'content-brand-secondary': '#ffd333',\n 'border-brand-primary': '#e594c5',\n 'border-brand-secondary': '#ffd333',\n 'border-brand-primary-hover': '#e594c580',\n 'border-brand-primary-active': '#e594c5',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#47002d',\n 'bg-brand-primary-200': '#570f3a',\n 'bg-brand-primary-400': '#611a43',\n 'bg-brand-primary-500': '#6b244c',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#27282a',\n 'bg-brand-secondary-200': '#313235',\n 'bg-brand-secondary-400': '#393a3c',\n 'bg-brand-secondary-500': '#3e4041',\n 'bg-brand-tertiary-100': '#1d1f58',\n 'bg-brand-tertiary-200': '#282c67',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#47002d',\n 'bg-brand-primary-100-hover': '#47002d80',\n}\n\nexport const teenColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#d1f00a',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#d1f00a',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#003309',\n 'bg-brand-secondary-200': '#093910',\n 'bg-brand-secondary-400': '#144318',\n 'bg-brand-secondary-500': '#1c4a20',\n 'bg-brand-tertiary-100': '#00224d',\n 'bg-brand-tertiary-200': '#0c315f',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const adultColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#8fa9ff',\n 'content-brand-secondary': '#c1b8ff',\n 'border-brand-primary': '#8fa9ff',\n 'border-brand-secondary': '#c1b8ff',\n 'border-brand-primary-hover': '#8fa9ff80',\n 'border-brand-primary-active': '#8fa9ff',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#120075',\n 'bg-brand-primary-200': '#181b86',\n 'bg-brand-primary-400': '#1e2699',\n 'bg-brand-primary-500': '#2b36b6',\n 'bg-brand-secondary-basic': '#6e62bc',\n 'bg-brand-secondary-100': '#2c1461',\n 'bg-brand-secondary-200': '#351e71',\n 'bg-brand-secondary-400': '#402583',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#232900',\n 'bg-brand-tertiary-200': '#373e14',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#120075',\n 'bg-brand-primary-100-hover': '#12007580',\n}\n","import type { DefaultTheme } from 'styled-components'\nimport { relBuilder } from 'shared/utils/rel-builder'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { COMPONENT_NAME as ARROW } from 'components/Arrow'\nimport { COMPONENT_NAME as BUTTON } from 'components/Button'\nimport { COMPONENT_NAME as CHECKBOX } from 'components/Checkbox'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\nimport { breakpoints } from './breakpoints'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n ...ColorsLight.baseColors,\n ...ColorsLight.motherColors,\n },\n borderRadius: '5px',\n textColor: 'mineShaft',\n fallbackColor: 'mineShaft',\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n defaultInputControlsWidth: SizeInput.l,\n utils: {\n relBuilder,\n },\n mode: 'light',\n preset: 'default',\n name: 'mother',\n components: {\n [ARROW]: {\n size: 'l',\n },\n [BUTTON]: {\n size: 'm',\n },\n [CHECKBOX]: {\n size: 'm',\n },\n },\n}\n\nexport const motherLightTheme: DefaultTheme = {\n ...defaultTheme,\n preset: 'brand',\n}\n\nexport const motherDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.motherColors,\n },\n mode: 'dark',\n preset: 'brand',\n}\n\nexport const babyLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.babyColors,\n },\n preset: 'brand',\n name: 'baby',\n}\n\nexport const babyDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.babyColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'baby',\n}\n\nexport const teenLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.teenColors,\n },\n preset: 'brand',\n name: 'teen',\n}\n\nexport const teenDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.teenColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'teen',\n}\n\nexport const adultLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.adultColors,\n },\n preset: 'brand',\n name: 'adult',\n}\n\nexport const adultDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.adultColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'adult',\n}\n","export const breakpoints = Object.freeze({\n xl: 1440,\n l: 1280,\n m: 1024,\n s: 768,\n xs: 374,\n xxs: 320,\n})\n","import { HEX, RGB, RGBA } from '../shared/interfaces'\n\nexport const baseColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-onmain-primary': '#25262c',\n 'content-onmain-secondary': '#25262cb3',\n 'content-onmain-tertiary': '#25262c8c',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#ecedf3cc',\n 'content-oncolor-tertiary': '#ecedf399',\n 'content-oncolor-inverse': '#25262c',\n 'content-oncolor-constant': '#25262c',\n 'content-disabled': '#9698a6',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#db3339',\n 'content-link': '#376af6',\n 'border-onmain-default-large': '#d5d7e1',\n 'border-onmain-default-small': '#babcc9',\n 'border-onmain-contrast': '#25262c',\n 'border-disabled': '#a6a8b5',\n 'border-oncolor-disabled': '#ffffff66',\n 'border-oncolor-default': '#ffffff',\n 'bg-onmain-main': '#f5f6f9',\n 'bg-onmain-primary': '#ffffff',\n 'bg-onmain-secondary': '#f5f6f9',\n 'bg-onmain-tertiary': '#ecedf3',\n 'bg-onmain-divider': '#d5d7e1',\n 'bg-onmain-contrast': '#25262c',\n 'bg-onmain-inverse': '#25262c',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-oncolor-hover': '#00000014',\n 'bg-disabled-large': '#ecedf3',\n 'bg-disabled-small': '#d5d7e1',\n 'bg-disabled-active': '#a6a8b5',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'bg-contrast-active': '#25262c',\n 'bg-oncontrast-hover': '#ffffff14',\n 'alert-bg-success-100': '#ddf4cd',\n 'alert-bg-success-200': '#bce4aa',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#ffebcc',\n 'alert-bg-warning-200': '#ffd294',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#ffe9e5',\n 'alert-bg-error-200': '#ffcbc7',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#488b32',\n 'alert-warning': '#db6300',\n 'alert-error': '#db3339',\n}\n\nexport const motherColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#db6300',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#db6300',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#ffebcc',\n 'bg-brand-secondary-200': '#ffd294',\n 'bg-brand-secondary-400': '#ff9900',\n 'bg-brand-secondary-500': '#f16f04',\n 'bg-brand-tertiary-100': '#feffbd',\n 'bg-brand-tertiary-200': '#fffb80',\n 'bg-brand-quaternary-100': '#e1f5fe',\n 'bg-brand-quaternary-200': '#bddcea',\n 'bg-brand-quaternary-400': '#89b8cd',\n 'bg-brand-quaternary-500': '#61a3bd',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const babyColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#cc2e8d',\n 'content-brand-secondary': '#dbac00',\n 'border-brand-primary': '#cc2e8d',\n 'border-brand-secondary': '#dbac00',\n 'border-brand-primary-hover': '#cc2e8d80',\n 'border-brand-primary-active': '#cc2e8d',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#faebf7',\n 'bg-brand-primary-200': '#efcdea',\n 'bg-brand-primary-400': '#e594c5',\n 'bg-brand-primary-500': '#cc2e8d',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#fff4d1',\n 'bg-brand-secondary-200': '#ffde7a',\n 'bg-brand-secondary-400': '#ffd333',\n 'bg-brand-secondary-500': '#f4c10b',\n 'bg-brand-tertiary-100': '#ebefff',\n 'bg-brand-tertiary-200': '#cdd4f9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#faebf7',\n 'bg-brand-primary-100-hover': '#faebf780',\n}\n\nexport const teenColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#83b200',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#83b200',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#eefad1',\n 'bg-brand-secondary-200': '#e9ff6b',\n 'bg-brand-secondary-400': '#afdb00',\n 'bg-brand-secondary-500': '#83b200',\n 'bg-brand-tertiary-100': '#e6f7fe',\n 'bg-brand-tertiary-200': '#cdebf9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const adultColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#3d4eeb',\n 'content-brand-secondary': '#1b0047',\n 'border-brand-primary': '#3d4eeb',\n 'border-brand-secondary': '#1b0047',\n 'border-brand-primary-hover': '#3d4eeb80',\n 'border-brand-primary-active': '#3d4eeb',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#e5ecff',\n 'bg-brand-primary-200': '#ccdaff',\n 'bg-brand-primary-400': '#8fa9ff',\n 'bg-brand-primary-500': '#3d4eeb',\n 'bg-brand-secondary-basic': '#1b0047',\n 'bg-brand-secondary-100': '#e8e5ff',\n 'bg-brand-secondary-200': '#d6d1ff',\n 'bg-brand-secondary-400': '#b1a3ff',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#eaf9ae',\n 'bg-brand-tertiary-200': '#d8ea8b',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#e5ecff',\n 'bg-brand-primary-100-hover': '#e5ecff80',\n}\n","function isExternalUrl(url = '', hostname: string): boolean {\n return /^((http|https):\\/\\/)/.test(url) && !new URL(url).hostname.endsWith(hostname)\n}\n\nexport function relBuilder(link?: string, target?: string): undefined | string {\n if (!link) return\n\n const relStr = []\n\n if (isExternalUrl(link, window.location.hostname)) {\n if (target === '_blank') relStr.push('noopener')\n relStr.push('nofollow')\n }\n\n if (relStr.length === 0) return\n\n return relStr.join(' ')\n}\n","import { css } from 'styled-components'\n\nexport interface VAlign {\n vAlign?: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline'\n}\n\nexport const vAlign = (vAlign: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline') => css`\n vertical-align: ${vAlign};\n`\n","import styled, { css } from 'styled-components'\nimport { vAlign } from '../../mixins/vAlign'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { IconProps } from './Icon'\n\nconst SIZES = {\n xxxl: 42,\n xxl: 38,\n xl: 34,\n lm: 32,\n l: 30,\n m: 26,\n s: 22,\n xs: 18,\n xxs: 14,\n xxxs: 10,\n}\n\nconst pointerStyle = css`\n cursor: pointer;\n`\n\nconst calcFontSize = (size: IconProps['size']) => {\n return typeof size === 'string' ? SIZES[size] : size\n}\n\nexport const Root = styled.div.withConfig<IconProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'dangerouslySetInnerHTML'].includes(prop),\n})`\n display: inline-block;\n flex-shrink: 0;\n vertical-align: baseline;\n width: 1em;\n height: 1em;\n svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n ${(props) => (props.pointer ? pointerStyle : null)}\n ${(props) => (props.vAlign ? vAlign(props.vAlign) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(calcFontSize(props.size), 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({\n sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL },\n cssProperty: 'font-size',\n customSizeHandler: calcFontSize,\n })}\n`\n","<svg viewBox=\"0 0 20 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M3.275 2.11h-2.4v13.015h18.25v-13.015h-2.4v-1.235h-5.525c-.454 0-.871.163-1.2.433-.329-.27-.746-.433-1.2-.433h-5.525v1.235zm13.45 1.485h.95v10.044h-15.35v-10.044h.95v9.059h5.525c.258 0 .475.218.475.493v.125h1.45v-.125c0-.275.217-.493.475-.493h5.525v-9.059zm-6-.743c0-.275.217-.493.475-.493h4.075v8.809h-4.075c-.164 0-.323.021-.475.061v-8.377zm-6-.493h4.075c.258 0 .475.218.475.493v8.377c-.152-.04-.311-.061-.475-.061h-4.075v-8.809z\" stroke-width=\".25\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M4 4h2v2h-2v-2zM7 4h5v2h-5v-2zM4 7h2v2h-2v-2zM7 7h5v2h-5v-2z\" /><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16 0v13h-5l3 3h-2.828l-2.172-2.172v2.172h-2v-2.172l-2.172 2.172h-2.828l3-3h-5v-13h16zm-2 11v-9h-12v9h12z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 4v-2h16v2h-16zm0 5v-2h16v2h-16zm0 3v2h16v-2h-16z\"/></svg>\n","<svg enable-background=\"new 0 0 26 16\" viewBox=\"0 0 26 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m0 0h26v16h-26z\" fill=\"none\"/><path d=\"m20.8 4.6c-2.2-2.2-4.7-4.6-7.8-4.6s-5.6 2.4-7.8 4.6c-1.9 1.8-3.5 3.4-5.2 3.4 1.7 0 3.3 1.6 5.2 3.4 2.2 2.2 4.7 4.6 7.8 4.6s5.6-2.4 7.8-4.6c1.9-1.8 3.5-3.4 5.2-3.4-1.7 0-3.3-1.6-5.2-3.4zm-7.8 8.7c-2.9 0-5.2-2.4-5.2-5.3s2.3-5.3 5.2-5.3 5.2 2.4 5.2 5.3-2.3 5.3-5.2 5.3zm1.3-5.3c-.7 0-1.3-.6-1.3-1.3 0-.5.3-1 .8-1.2-.2-.1-.5-.1-.8-.1-1.4 0-2.6 1.2-2.6 2.7s1.2 2.7 2.6 2.7 2.6-1.2 2.6-2.7c0-.3 0-.5-.1-.8-.2.4-.7.7-1.2.7z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 1v14h16v-14h-16zm14 2v1.2l-6 4-6-4v-1.2h12zm-12 10v-6.4l6 4 6-4v6.4h-12z\"/></svg>\n","<svg width=\"14\" height=\"12\" viewBox=\"0 0 14 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2.5v-1.75h14v1.75h-14zm0 4.375v-1.75h10.5v1.75h-10.5zm0 2.625v1.75h7v-1.75h-7z\" /></svg>\n","<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2v-2h8v2h-8zm0 3v2h12v-2h-12zm0 5v2h10v-2h-10z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M12 9h-.6c.4-.6.6-1.3.6-2v-3c0-2.2-1.8-4-4-4s-4 1.8-4 4v3c0 .7.2 1.4.6 2h-.6c-2.2 0-4 1.8-4 4v3h16v-3c0-2.2-1.8-4-4-4zm-6-2v-3c0-1.1.9-2 2-2s2 .9 2 2v3c0 1.1-.9 2-2 2s-2-.9-2-2zm8 7h-12v-1c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 11\" enable-background=\"new 0 0 14 11\"><path d=\"M3.5.5h7.1l2.8 4.1-6.4 6.3-6.3-6.3 2.8-4.1zm1 2l-1.2 1.9 3.7 3.7 3.7-3.7-1.2-1.9h-5z\"/></svg>\n","<svg viewBox='0 0 19 16' xmlns='http://www.w3.org/2000/svg' fill='none'><path d='M0 6l3.8-6h11.4l3.8 6-9.5 10-9.5-10z' /></svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\"/><path d=\"m12.5 6.5h-5l-2 3 4.5 4.5 4.5-4.5z\" stroke=\"#fff\" stroke-width=\"2\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7 7h2v5h-2zM7 4h2v2h-2z\"/></svg>\n","<svg viewBox=\"0 0 16 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 0h-2v2h2v-2zm0 5h-2v2h2v-2zm-2 5h2v2h-2v-2zm16-10h-12v2h12v-2zm-12 5h12v2h-12v-2zm12 5h-12v2h12v-2z\" /></svg>\n","<svg viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.8852 9L5.5018 11.2929L6.97184 12.7071L11.8647 8L6.97184 3.29289L5.5018 4.70711L7.8852 7L-3.0598e-07 7L-3.93402e-07 9L7.8852 9ZM14.5526 14L9.35523 14L9.35523 16L16.6315 16L16.6315 7.26987e-07L9.35523 4.0893e-07L9.35523 2L14.5526 2L14.5526 14Z\" />\n</svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.414 7l2.293-2.293-1.414-1.414-4.707 4.707 4.707 4.707 1.414-1.414-2.293-2.293h7.586v-2h-7.586zm-6.414-5h5v-2h-7v16h7v-2h-5v-12z\" /></svg>\n","<svg viewBox=\"0 0 14 19\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 19c3.866 0 7-3.224 7-7.2 0-6.792-6.444-5.8-4.5-11.8-2.472.152-5.5 1-6.5 4.5-.491 1.718.107 3.044.27 3.764.163.72-.211 1.343-.761 1.233-.548-.109-.762-.831-.548-2.247-1.96 1.231-1.96 3.518-1.96 4.55 0 3.976 3.134 7.2 7 7.2z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M15 6v-6h-14v6h-1v3h1v5h1v2h3v-2h6v2h3v-2h1v-5h1v-3h-1zm-2 6h-10v-1h10v1zm0-3h-10v-7h10v7zm-8-6h6v2h-6z\"/></svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2h1.236l3 11h8.764v-2h-7.236l-.273-1h8.29l2-8h-9.781v2h7.219l-1 4h-7.274l-2.182-8h-2.764v2zm12 14c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm-6-1c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7.4 7.8h-2.2v2h4.2v-5h-2z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M10 20c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10zm0-15h2v8h-6v-2h4v-6z\" fill=\"#48A1E6\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 0h-16v16h16v-16zm-14 14v-12h12v12h-12zm4.4-8.3l3.9 2.3-3.9 2.3v-4.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M.08 14.505l14.425-14.425 1.414 1.414-14.425 14.425zM3.2 6.4c1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2zm0-4.4c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2-1.2-.5-1.2-1.2.5-1.2 1.2-1.2zM12.8 9.6c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2zm0 4.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 4v-4h-13v6h2v3h-2v7h16v-12h-3zm-11-2h9v2h-9v-2zm3 4v3h-1v-3h1zm6 8h-9v-3h9v3zm3 0h-1v-3h1v3zm0-5h-7v-3h7v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 9v-2c0-3.9-3.1-7-7-7h-2c-3.9 0-7 3.1-7 7v9h5v-7h-3v-2c0-2.8 2.2-5 5-5h2c2.8 0 5 2.2 5 5v2h-3v7h5v-7zm-13 2v3h-1v-3h1zm11 3h-1v-3h1v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8.4 0h7.6000000000000005v7.6000000000000005l-.3.3-.2.2c1 2.4.4 5.1-1.3 6.4-1.3 1-2.7 1.2-3.9 1-.6-.1-1.1-.3-1.6-.7l-.4.4-.7.8-.7-.7-6.2-6.2-.7-.7.7-.7 7.4-7.4.3-.3zm2.4 4.2c1.3.4 2.4 1 3.2 1.8v-4h-4.8l-6.4 6.4 4.8 4.8 5.4-5.4c-.5-.6-1.2-1.1-2.2-1.5v.9h-1v-4.1h1v1.1zm2.2 8.7c.7-.5 1.2-1.8.9-3.2l-3.7 3.7c.1.1.3.1.5.2.7.1 1.5 0 2.3-.7z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 3.2h-2v-3.2h-8v3.1999999999999997h-4v12.8h16v-12.8h-2zm-8-1.2h4v.8h-4v-.8zm8 12h-12v-4h5v1.2h2v-1.2h5v4zm0-6h-12v-2.8h12v2.8z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 2c4.418 0 8 3.582 8 8h2c0-5.523-4.477-10-10-10v2zm0 4c2.209 0 4 1.791 4 4h2c0-3.314-2.686-6-6-6v2zm2 7.75c.5-.625 1.25-.625 1.875 0 .25.25.486.5.722.75.472.5.944 1 1.528 1.5.625.625.625 1.375 0 2l-1.25 1.25c-.625.625-1.375.75-2.125.75-1.25-.125-2.375-.5-3.375-1-2.375-1.125-4.375-2.625-6-4.625-1.125-1.5-2.25-3.125-2.875-4.875-.375-.875-.5-1.75-.5-2.75 0-.5.25-1 .75-1.5.375-.375.875-.875 1.375-1.25.5-.625 1.25-.625 1.875 0 .375.25.75.625 1.125 1l.269.285c.25.273.484.529.856.715.625.625.625 1.375 0 2l-.481.51c-.291.319-.566.619-.894.865-.125.125-.125.25-.125.375.375.625.75 1.25 1.25 1.875 1 1.25 2 2.25 3.375 3.125.191.191.455.309.68.41l.195.09c.125 0 .25 0 .375-.125l1.375-1.375z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.7 5.5h-3.7l-2.1-4.7c-.3-.7-1.4-.7-1.7 0l-2.2 4.7h-3.7c-.8 0-1.3 1-.7 1.6l2.8 2.7-.7 4.8c-.1.8.8 1.4 1.5.9l3.8-2.8 3.8 2.9c.7.5 1.6-.1 1.5-.9l-.7-4.8 2.8-2.7c.6-.7.2-1.7-.7-1.7zm-4.3 3.6l.5 3.3-2.9-2.2-2.9 2.2.5-3.3-1.7-1.6h2.4l1.7-3.7 1.7 3.7h2.4l-1.7 1.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.4 7.8l1.4-1.7-1.9-3.8-2.4.6-.8-.5-.5-2.4h-4.6l-.6 2.4-.8.5-2.3-.6-1.8 3.8 1.3 1.7v1.2l-1.3 2 1.9 3 2.3-.7.7.4.6 2.3h4.6l.6-2.3.7-.4 2.3.7 2-3-1.4-2c.1 0 .1-1.2 0-1.2zm-.8 3.3l-.4.6-1.7-.5-2.3 1.2-.5 1.6h-1.5l-.4-1.7-2.3-1.2-1.7.5-.3-.6 1-1.4v-2.4l-1-1.3.5-1.2 1.6.4 2.2-1.5.4-1.6h1.4l.4 1.6 2.2 1.5 1.7-.4.6 1.2-1 1.3v2.5l1.1 1.4zM7.9 5c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3-1.2-3-3-3zm0 4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.3 1-1 1z\"/></svg>\n","<svg viewBox=\"0 0 25 17\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M24.051 6.289l.254-.114-.254-.114-11.515-5.175-.051-.023-.051.023-11.485 5.175-.253.114.253.114 5.363 2.416v3.516c0 1.168.729 2.202 2.01 2.923 1.129.635 2.608.981 4.164.981 1.556 0 3.035-.346 4.164-.981 1.281-.72 2.01-1.755 2.01-2.923v-3.509l2.659-1.195 1.344-.604 1.388-.624zm-11.617 5.175l.051.023.051-.023 4.529-2.035v2.792c0 .228-.107.475-.325.723-.218.248-.54.489-.949.701-.82.423-1.976.718-3.305.718-1.329 0-2.485-.296-3.305-.718-.41-.211-.732-.453-.95-.701-.218-.248-.325-.496-.325-.723v-2.797l4.528 2.04zm.052-1.879l-7.568-3.41 7.568-3.41 7.587 3.41-7.587 3.41z\" stroke-width=\".25\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 14c3.3 0 6-2.7 6-6 0-.9-.2-1.8-.6-2.6l-1.2.9c.2.5.3 1.1.3 1.7 0 2.5-2 4.5-4.5 4.5s-4.5-2-4.5-4.5 2-4.5 4.5-4.5c1.1 0 2.2.4 3 1.1l1.2-.9c-1.1-1-2.5-1.7-4.2-1.7-3.3 0-6 2.7-6 6s2.7 6 6 6zm1.3-8.1c-.4-.3-.8-.4-1.3-.4-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.2 0-.4-.1-.5l-1.8 1.3c-.5.3-1.1.2-1.4-.2-.3-.5-.2-1.1.2-1.4l1.9-1.3zm5.7-1.7c.6 1.1 1 2.4 1 3.8 0 4.4-3.6 8-8 8s-8-3.6-8-8 3.6-8 8-8c2.3 0 4.4 1 5.9 2.6l.5-.4c.4-.3 1.1-.2 1.4.2.3.4.2 1.1-.2 1.4l-.6.4z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 0h-13v16h16v-16h-3zm-6 2h1v1l-.5-.2-.5.2v-1zm4 12h-9v-12h3v4l2.5-1 2.5 1v-4h1v12zm3 0h-1v-12h1v12z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 0h-14v3c0 1.9 1.3 3.4 3 3.9v.1c0 2.4 1.7 4.4 4 4.9v2.1h-4v2h10v-2h-4v-2.1c2.3-.5 4-2.5 4-4.9v-.1c1.7-.4 3-2 3-3.9v-3h-2zm-11 4.7c-.6-.3-1-1-1-1.7v-1h1v2.7zm8 .3v2c0 1.7-1.3 3-3 3s-3-1.3-3-3v-5h6v3zm3-2c0 .7-.4 1.4-1 1.7v-2.7h1v1z\"/></svg>\n","<svg enable-background=\"new 0 0 16 16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m8.5 2c-3 0-5.5 2.5-5.5 5.5 0 .8.2 1.5.4 2.2l.2.3-.8 3.1 2.9-.9.3.2c.7.4 1.6.6 2.5.6 3 0 5.5-2.5 5.5-5.5s-2.5-5.5-5.5-5.5zm-7.5 5.5c0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5c-1.1 0-2.1-.2-3.1-.7l-5.4 1.7 1.5-5.9c-.3-.8-.5-1.7-.5-2.6z\" /></svg>","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M11 4v-4h-8c-1.7 0-3 1.3-3 3v13h16v-12h-5zm-8-2h6v2h-6c-.6 0-1-.4-1-1s.4-1 1-1zm11 12h-12v-8.2c.1 0 .2 0 .3.1h.2c.1.1.3.1.5.1h11v8z\"/><circle cx=\"11\" cy=\"10\" r=\"1\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.5 0l4.243 4.243-11.5 11.757h-4.243v-4.243l11.5-11.757zm0 3l-9.5 9.586v1.414h1.414l9.5-9.586-1.414-1.414zm-2.5 11v2h7v-2h-7z\" /></svg>\n","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5 2V4H3V0H16V13H12V11H14V2H5Z\" />\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 3H0V16H13V3ZM2 14V5H11V14H2Z\" />\n</svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"m0 0v20h20v-20zm18 18h-16v-16h16z\"/><path d=\"m15 5h-10v2h10z\"/><path d=\"m15 9h-10v2h10z\"/><path d=\"m15 13h-10v2h10z\"/></g></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M13 4v-4h-10v4h-3v9h3v3h10v-3h3v-9h-3zm-8-2h6v2h-6v-2zm6 12h-6v-3h6v3zm3-3h-1v-2h-10v2h-1v-5h12v5zm-10.2-2.4c.442 0 .8-.358.8-.8 0-.442-.358-.8-.8-.8-.442 0-.8.358-.8.8 0 .442.358.8.8.8z\" /></svg>\n","<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M7 0H0v15h15V8h-2v5H2V2h5V0zm0 10.9142l8.7072-8.7071L14.293.7928 7 8.0858l-2.2928-2.293L3.293 7.2071 7 10.9142z\" clip-rule=\"evenodd\"/></svg>\n","<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 18\" style=\"enable-background:new 0 0 16 18;\" xml:space=\"preserve\">\n<style type=\"text/css\">\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;}\n</style>\n<path class=\"st0\" d=\"M6.1,4.4c-0.4-0.9-1-1.7-1.4-2.1C4.4,2.1,4,2,3.7,2C3.5,2,3.3,2.1,3.2,2.2C3,2.4,3,2.6,3,2.9\n\tc0,0.3,0.2,0.6,0.5,0.9C4,4.1,4.9,4.6,5.8,4.9C6,4.9,6.2,5,6.3,5C6.3,4.8,6.2,4.6,6.1,4.4z M6.9,5C6.9,5,6.9,5,6.9,5\n\tC6.9,5,6.9,5,6.9,5z M6,0.9c0.7,0.6,1.5,1.7,2,2.8c0.5-1.1,1.3-2.2,2-2.8c1.4-1.2,3.4-1.1,4.4,0.1c1,1.1,0.8,2.9-0.3,4.1H16v2v2v2\n\th-1v5v2h-2H3H1v-2v-5H0V9V7V5h1.9C0.8,3.8,0.7,2.1,1.6,0.9C2.7-0.3,4.7-0.3,6,0.9z M9.9,4.4c0.4-0.9,1-1.7,1.4-2.1\n\tC11.6,2.1,12,2,12.3,2c0.3,0,0.5,0.1,0.6,0.2C13,2.4,13,2.6,13,2.9c0,0.3-0.2,0.6-0.5,0.9c-0.4,0.4-1.3,0.8-2.3,1.1\n\tC10,4.9,9.8,5,9.7,5C9.7,4.8,9.8,4.6,9.9,4.4z M9.1,5C9.1,5,9.1,5,9.1,5C9.1,5,9.1,5,9.1,5z M14,7H2v2h1h10h1V7z M3,11h10v5H3V11z\"\n\t/>\n</svg>\n","<svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path clip-rule=\"evenodd\" d=\"M3 10a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-6a6 6 0 1 0 0 12A6 6 0 0 0 7 4Zm5.333 11.963A8.034 8.034 0 0 0 14 13.873a4.002 4.002 0 0 0 0-7.747 8.034 8.034 0 0 0-1.668-2.09 6 6 0 1 1 0 11.927Z\"/></svg>\n","/* eslint-disable no-unused-vars */\nimport Book from './images/book.module.svg'\nimport BlackBoard from './images/blackBoard.module.svg'\nimport Burger from './images/burger.module.svg'\nimport Eye from './images/eye.module.svg'\nimport Email from './images/email.module.svg'\nimport Sort from './images/sort.module.svg'\nimport Unsort from './images/unsort.module.svg'\nimport Person from './images/person.module.svg'\nimport Diamond from './images/diamond.module.svg'\nimport DiamondFIlled from './images/diamondFilled.module.svg'\nimport DiamondSolid from './images/diamondSolid.module.svg'\nimport InfoInverse from './images/infoInverse.module.svg'\nimport List from './images/list.module.svg'\nimport Login from './images/login.module.svg'\nimport Logout from './images/logout.module.svg'\nimport Fire from './images/fire.module.svg'\nimport Camps from './images/camps.module.svg'\nimport Cart from './images/cart.module.svg'\nimport Clock from './images/clock.module.svg'\nimport ClockFilled from './images/clockFilled.module.svg'\nimport Courses from './images/courses.module.svg'\nimport Discount from './images/discount.module.svg'\nimport Externat from './images/externat.module.svg'\nimport Headphones from './images/headphones.module.svg'\nimport PriceTag from './images/priceTag.module.svg'\nimport Prof from './images/prof.module.svg'\nimport Phone from './images/phone.module.svg'\nimport Star from './images/star.module.svg'\nimport Settings from './images/settings.module.svg'\nimport Student from './images/student.module.svg'\nimport Target from './images/target.module.svg'\nimport Textbook from './images/textbook.module.svg'\nimport Trophy from './images/trophy.module.svg'\nimport Message from './images/message.module.svg'\nimport Wallet from './images/wallet.module.svg'\nimport Edit from './images/edit.module.svg'\nimport Copy from './images/copy.module.svg'\nimport Page from './images/page.module.svg'\nimport Print from './images/print.module.svg'\nimport Objective from './images/objective.module.svg'\nimport Present from './images/present.module.svg'\nimport Coins from './images/coins.module.svg'\n\nexport enum IconNames {\n book = 'book',\n blackBoard = 'blackBoard',\n burger = 'burger',\n eye = 'eye',\n email = 'email',\n sort = 'sort',\n unsort = 'unsort',\n person = 'person',\n diamond = 'diamond',\n diamondFilled = 'diamondFilled',\n diamondSolid = 'diamondSolid',\n infoInverse = 'infoInverse',\n list = 'list',\n login = 'login',\n logout = 'logout',\n fire = 'fire',\n camps = 'camps',\n cart = 'cart',\n clock = 'clock',\n clockFilled = 'clockFilled',\n courses = 'courses',\n discount = 'discount',\n externat = 'externat',\n headphones = 'headphones',\n page = 'page',\n priceTag = 'priceTag',\n phone = 'phone',\n prof = 'prof',\n star = 'star',\n settings = 'settings',\n student = 'student',\n target = 'target',\n textbook = 'textbook',\n trophy = 'trophy',\n message = 'message',\n wallet = 'wallet',\n edit = 'edit',\n copy = 'copy',\n print = 'print',\n objective = 'objective',\n present = 'present',\n coins = 'coins',\n calendar = 'calendar',\n calendar_simple = 'calendar_simple',\n chevronDown = 'chevronDown',\n chevronUp = 'chevronUp',\n chevronRight = 'chevronRight',\n chevronLeft = 'chevronLeft',\n cross = 'cross',\n dialog = 'dialog',\n dropDownArrow = 'dropDownArrow',\n externalLink = 'externalLink',\n file = 'file',\n fileBordered = 'fileBordered',\n lessons = 'lessons',\n pencil = 'pencil',\n phoneNoFill = 'phoneNoFill',\n radioChecked = 'radioChecked',\n radioNotChecked = 'radioNotChecked',\n search = 'search',\n tasks = 'tasks',\n tinyCross = 'tinyCross',\n sharpCross = 'sharpCross',\n plus = 'plus',\n plusThin = 'plusThin',\n play = 'play',\n reload = 'reload',\n checkCircle = 'checkCircle',\n info = 'info',\n check = 'check',\n home = 'home',\n questionFilled = 'questionFilled',\n document = 'document',\n cancel = 'cancel',\n playPause = 'playPause',\n video = 'video',\n}\n\ntype Icon = React.FC<React.SVGProps<SVGSVGElement>> | (() => JSX.Element)\n\nexport const defaultIcons: Record<IconNames, Icon> = {\n book: Book,\n blackBoard: BlackBoard,\n burger: Burger,\n eye: Eye,\n email: Email,\n sort: Sort,\n unsort: Unsort,\n person: Person,\n diamond: Diamond,\n diamondFilled: DiamondFIlled,\n diamondSolid: DiamondSolid,\n infoInverse: InfoInverse,\n list: List,\n login: Login,\n logout: Logout,\n fire: Fire,\n camps: Camps,\n cart: Cart,\n clock: Clock,\n clockFilled: ClockFilled,\n courses: Courses,\n discount: Discount,\n externat: Externat,\n headphones: Headphones,\n page: Page,\n priceTag: PriceTag,\n phone: Phone,\n prof: Prof,\n star: Star,\n settings: Settings,\n student: Student,\n target: Target,\n textbook: Textbook,\n trophy: Trophy,\n message: Message,\n wallet: Wallet,\n edit: Edit,\n copy: Copy,\n print: Print,\n objective: Objective,\n present: Present,\n coins: Coins,\n calendar: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='20' viewBox='0 0 21 20'>\n <path d='M.8 19.8h19.4c.4 0 .7-.3.7-.7V2.4a.7.7 0 0 0-.8-.8h-3.7V1A.7.7 0 1 0 15 1v.5H6V1a.7.7 0 1 0-1.4 0v.5H.8a.7.7 0 0 0-.7.8V19c0 .5.4.8.8.8zM1.5 3h3v.5a.7.7 0 1 0 1.5 0V3h9v.5a.7.7 0 1 0 1.5 0V3h3v2h-18V3zm0 3.5h18v12h-18v-12z' />\n <path d='M15.8 10H5.2a.7.7 0 0 0-.7.7c0 .4.3.8.7.8h10.6c.4 0 .7-.4.7-.8a.7.7 0 0 0-.7-.8zm-5.3 3.6H5.2a.7.7 0 0 0-.7.7c0 .5.3.8.7.8h5.3c.4 0 .7-.2.7-.7a.7.7 0 0 0-.7-.7z' />\n </svg>\n ),\n calendar_simple: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M13 2V0H11V2H5V0H3V2H0V4V5V16H16V5V4V2H13ZM14 14H2V6H14V14Z' />\n </svg>\n ),\n chevronDown: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 10.604l-7.74-8.297a1.42 1.42 0 0 1 0-1.911 1.201 1.201 0 0 1 1.783 0l6.848 7.342 6.848-7.342a1.202 1.202 0 0 1 1.783 0 1.421 1.421 0 0 1 0 1.911l-7.74 8.297a1.214 1.214 0 0 1-.89.396c-.323 0-.646-.132-.892-.396z' />\n </svg>\n ),\n chevronUp: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 1.396l-7.74 8.297a1.42 1.42 0 0 0 0 1.911c.493.528 1.29.528 1.783 0l6.848-7.342 6.848 7.342c.492.528 1.29.528 1.783 0a1.421 1.421 0 0 0 0-1.911l-7.74-8.297a1.214 1.214 0 0 0-.89-.396c-.323 0-.646.132-.892.396z' />\n </svg>\n ),\n chevronRight: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M0 1.87054L1.39309 0.5L8 7L1.39309 13.5L0 12.1295L5.21383 7L0 1.87054Z' />\n </svg>\n ),\n chevronLeft: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 12.1295L6.60691 13.5L0 7L6.60691 0.5L8 1.87054L2.78617 7L8 12.1295Z' />\n </svg>\n ),\n cross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'>\n <path d='M17.333.668a1.845 1.845 0 0 0-2.61 0l-5.723 5.722-5.723-5.722a1.845 1.845 0 1 0-2.61 2.61l5.723 5.723-5.723 5.724a1.845 1.845 0 1 0 2.61 2.61l5.723-5.723 5.723 5.723c.36.36.832.54 1.305.54a1.845 1.845 0 0 0 1.305-3.151l-5.723-5.721 5.723-5.724a1.845 1.845 0 0 0 0-2.61z' />\n </svg>\n ),\n dialog: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'>\n <path d='M3.66 3.664a12.422 12.422 0 0 1 8.84-3.664c3.342 0 6.48 1.303 8.841 3.664 4.556 4.554 4.886 11.83.828 16.761.56 1.146 1.22 1.91 1.969 2.277.455.225.712.717.639 1.22a1.16 1.16 0 0 1-.974.979 5.953 5.953 0 0 1-.886.068c-1.534 0-3.147-.53-4.493-1.456a12.52 12.52 0 0 1-5.923 1.487 12.417 12.417 0 0 1-8.84-3.659 12.414 12.414 0 0 1-3.661-8.836c0-3.334 1.299-6.48 3.66-8.84zm1.001 16.672a11.02 11.02 0 0 0 7.84 3.245c1.98 0 3.922-.528 5.614-1.523.11-.063.236-.1.356-.1.152 0 .31.053.435.147 1.602 1.24 3.215 1.424 3.922 1.44-.843-.628-1.55-1.602-2.142-2.958a.711.711 0 0 1 .12-.753c3.876-4.377 3.672-11.045-.465-15.18a11.02 11.02 0 0 0-7.84-3.246 11.02 11.02 0 0 0-7.84 3.245c-4.326 4.33-4.326 11.365 0 15.683zM7.581 8.125h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 3.875h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 4h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625z' />\n </svg>\n ),\n dropDownArrow: () => (\n <svg width='11' height='7' viewBox='0 0 11 7'>\n <path d='M4.288 5.703l.117.139c.393.393.973.441 1.302.112l.009-.009.123-.105.104-.122 4.015-4.015c.38-.38.384-1.017-.007-1.408-.393-.393-1.025-.389-1.417.002l-3.412 3.412-3.419-3.419c-.388-.388-1.016-.388-1.409.005-.391.391-.393 1.021-.005 1.409l3.999 3.999z' />\n </svg>\n ),\n externalLink: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' enableBackground='new 0 0 16 16'>\n <path className='st0' d='M0 0h16v16h-16z' fillOpacity='0' />\n <path className='st1' d='M9 0v2h3.6l-7.3 7.3 1.4 1.4 7.3-7.3v3.6h2v-7zM14 14h-12v-12h4v-2h-6v16h16v-6h-2z' />\n </svg>\n ),\n file: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='17' height='20' viewBox='0 0 17 20'>\n <path d='M16.734 5.931c-.176-.416-.388-.745-.636-.988l-4.138-4.059c-.247-.242-.583-.45-1.007-.624-.425-.173-.814-.26-1.167-.26h-8.488a1.24 1.24 0 0 0-.901.364 1.192 1.192 0 0 0-.372.885v17.481c0 .347.124.642.372.885.247.242.548.364.901.364h14.429c.353 0 .654-.122.901-.364.248-.243.371-.538.371-.885v-11.654c0-.347-.088-.729-.265-1.145zm-6.524-4.161c.256.087.437.182.544.286l4.15 4.071c.106.104.204.282.292.534h-4.986v-4.892zm5.092 16.545h-13.58v-16.651h6.79v5.412c0 .347.124.642.372.884.247.243.548.365.901.365h5.517v9.989z' />\n </svg>\n ),\n fileBordered: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8.3 0H6H0V16H13H16V0H8.3ZM8 2.5L10.5 5H8V2.5ZM2 14V2H6V7H11V14H2ZM14 14H13V7V4.7L10.3 2H14V14Z' />\n </svg>\n ),\n lessons: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'>\n <path d='M21.8 8.4a1.8 1.8 0 0 0-.8-.8 2.4 2.4 0 0 0-1-.3h-2.3V5.5c0-.7-.3-1.3-.8-1.8a2.5 2.5 0 0 0-2-.8H9v-.4c0-.7-.2-1.3-.7-1.8A2.5 2.5 0 0 0 6.4 0H2.6C2 0 1.3.3.8.8S0 1.8 0 2.6v10.8c0 .7.3 1.3.8 1.8a2.5 2.5 0 0 0 1.8.8H15c.6 0 1 0 1.7-.4.6-.3 1-.6 1.3-1l3.4-4c.4-.6.6-1 .6-1.5a1.8 1.8 0 0 0-.2-.6zM1.5 2.6c0-.3 0-.6.3-.8.2-.2.5-.3.8-.3h3.7c.3 0 .5 0 .7.3.3.2.4.5.4.8v.7c0 .3 0 .5.3.8.2.3.5.4.8.4H15c.4 0 .7 0 1 .3l.2.8v1.8H7.4c-.6 0-1 0-1.6.4s-1 .6-1.4 1l-3 3.5V2.6zm18.8 7l-3.4 4-1 .7-1 .2H2.7c-.4 0-.6 0-.6-.4l.2-.3 3.4-4c.2-.4.4-.6.8-.7.3-.2.7-.3 1-.3H20c.3 0 .5.2.5.4 0 .3 0 .4-.2.6z' />\n </svg>\n ),\n pencil: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19'>\n <path d='M17.863 5.258l-4.113-4.122.283-.283a2.9 2.9 0 0 1 4.113.005 2.909 2.909 0 0 1 0 4.117l-.283.283zm-5.388-2.847l4.118 4.117-11.553 11.551-5.04.921.92-5.038 11.556-11.551z' />\n </svg>\n ),\n phoneNoFill: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'>\n <path d='M25.28 19.815c-.655-.682-1.445-1.047-2.282-1.047-.83 0-1.627.358-2.309 1.04l-2.133 2.127-.52-.27a8.579 8.579 0 0 1-.669-.358c-1.998-1.27-3.814-2.923-5.556-5.064-.844-1.066-1.41-1.964-1.822-2.876.553-.506 1.066-1.032 1.566-1.539l.567-.574c1.418-1.417 1.418-3.254 0-4.671l-1.843-1.843c-.21-.21-.425-.426-.628-.642-.405-.418-.83-.85-1.27-1.255-.654-.649-1.437-.993-2.26-.993-.824 0-1.621.344-2.296.993l-.014.013-2.295 2.316a4.94 4.94 0 0 0-1.465 3.138c-.162 1.971.419 3.808.864 5.01 1.094 2.95 2.728 5.684 5.165 8.614 2.957 3.53 6.514 6.319 10.579 8.283 1.552.736 3.625 1.607 5.94 1.755l.426.014c1.56 0 2.87-.56 3.895-1.674l.027-.034c.351-.425.756-.81 1.182-1.222.29-.277.587-.567.877-.87.669-.696 1.02-1.506 1.02-2.337 0-.837-.358-1.64-1.04-2.315l-3.706-3.72zm1.595 6.857c-.227.245-.46.465-.71.71-.377.36-.76.738-1.121 1.163-.588.628-1.28.924-2.187.924l-.267-.006c-1.727-.11-3.378-.572-4.581-1.148-1.565-.757-6.166-3.373-9.24-6.667-3.39-3.633-5.311-8.135-5.772-9.379a8.219 8.219 0 0 1-.51-3.704 2.67 2.67 0 0 1 .802-1.727l1.983-1.983c.285-.268.587-.413.884-.413.366 0 .663.22.849.407.372.349.71.692 1.064 1.058l.552.564 1.589 1.589c.616.616.616 1.186 0 1.802l-.5.5c-.489.5-1.206 1.178-1.712 1.631-.53.53-.436 1.018-.331 1.35.242.596 1.767 3.576 3.98 5.982 1.856 2.017 4.38 3.504 5.231 4.042.239.152.483.274.715.39.21.105.407.203.576.308l.07.04c.198.1.384.146.576.146.482 0 .785-.302.883-.401l2.241-2.2c.198-.198.512-.437.878-.437.361 0 .658.227.838.425l3.215 3.215c.6.593.6 1.204.006 1.82zm-9.589-19.063a8.56 8.56 0 0 1 4.659 2.417 8.606 8.606 0 0 1 2.417 4.658c.074.446.459.756.897.756l.156-.013c.5-.081.83-.554.75-1.054a10.413 10.413 0 0 0-2.924-5.637 10.413 10.413 0 0 0-5.637-2.923.916.916 0 0 0-1.053.743.902.902 0 0 0 .735 1.053zm14.664 6.501a17.13 17.13 0 0 0-4.814-9.283 17.13 17.13 0 0 0-9.282-4.813.908.908 0 0 0-1.047.743c-.08.5.25.965.75 1.053 3.146.533 6.015 2.025 8.297 4.3a15.294 15.294 0 0 1 4.3 8.297c.074.446.46.756.898.756a.894.894 0 0 0 .898-1.053z' />\n </svg>\n ),\n radioChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 5c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0-5c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n radioNotChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 0c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n search: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='29' height='30' viewBox='0 0 29 30'>\n <path d='M28.6 27.3l-7-7.4a12.2 12.2 0 0 0 2.7-8c0-6.6-5.3-12-12-12C6 0 .6 5.4.6 12c0 6.8 5.4 12.2 12 12.2 2.4 0 4.7-.7 6.7-2.2l7 7.5a1.5 1.5 0 0 0 2.3 0 1.6 1.6 0 0 0 0-2.2zm-16.2-24c5 0 8.8 4 8.8 8.8 0 5-4 9-8.8 9s-8.8-4-8.8-9c0-4.8 4-8.8 8.8-8.8z' />\n </svg>\n ),\n tasks: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='20' viewBox='0 0 18 20'>\n <path d='M17.2 2H13V.8c0-.4-.3-.7-.7-.7H5.8c-.5 0-.8.3-.8.7v4c0 .3.3.6.8.6h4.8c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-4V1.4h5V3c0 .3.2.6.7.6h4v15H1.7v-15h1.2c.4 0 .8-.3.8-.7 0-.5-.4-1-.8-1h-2C.4 2 0 2.6 0 3v16.3c0 .4.4.7.8.7h16.4c.4 0 .8-.3.8-.8V3c0-.5-.4-1-.8-1z' />\n <path d='M12.6 9a.8.8 0 0 0-1 0l-3.7 3.3L6.4 11a.8.8 0 0 0-1 0 .7.7 0 0 0 0 1l1.8 1.8c.2.2.4.2.6.2 0 0 .3 0 .4-.2l4.2-4a.7.7 0 0 0 0-1z' />\n </svg>\n ),\n tinyCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'>\n <path\n fillRule='evenodd'\n d='M10.7 12.8L1 22.4c-.5.6-.5 1.6 0 2.2.8.6 1.7.6 2.3 0L13 15l9.5 9.6c.6.6 1.6.6 2.2 0 .6-.6.6-1.6 0-2.2L15 12.8l9.6-9.5c.6-.6.6-1.6 0-2.2-.6-.5-1.6-.5-2.2 0L13 10.7 3.3 1C2.8.6 1.8.6 1.2 1c-.6.7-.6 1.7 0 2.3l9.5 9.5z'\n />\n </svg>\n ),\n sharpCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>\n <path d='M8 6.53l6.53-6.53 1.47 1.47-6.53 6.53 6.53 6.53-1.47 1.47-6.53-6.53-6.53 6.53-1.47-1.47 6.53-6.53-6.53-6.53 1.47-1.47z' />\n </svg>\n ),\n plus: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19'>\n <g fillRule='evenodd'>\n <rect width='18' height='3' y='8' rx='1.5' />\n <rect width='18' height='3' y='8' rx='1.5' transform='rotate(90 9 9.5)' />\n </g>\n </svg>\n ),\n plusThin: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'>\n <path fillRule='nonzero' d='M7.875 6.125H14v1.75H7.875V14h-1.75V7.875H0v-1.75h6.125V0h1.75v6.125z' />\n </svg>\n ),\n play: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'>\n <path d='M28.197 7.501c-4.173-7.173-13.414-9.63-20.64-5.489-7.227 4.141-9.703 13.314-5.53 20.486 4.172 7.174 13.413 9.632 20.639 5.49 7.227-4.142 9.704-13.314 5.53-20.487zm-7.042 17.889c-5.78 3.313-13.173 1.347-16.511-4.392-3.338-5.738-1.357-13.076 4.424-16.388 5.78-3.314 13.174-1.348 16.512 4.39 3.337 5.74 1.356 13.077-4.425 16.39zm-.604-11l-7.911-4.58c-.72-.418-1.302-.084-1.298.744l.04 9.091c.004.828.593 1.165 1.316.75l7.851-4.499c.722-.414.724-1.088.003-1.506z' />\n </svg>\n ),\n reload: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='20' viewBox='0 0 19 20'>\n <g fillRule='evenodd'>\n <path d='M1.638 8.346c.653 0 1.243-.386 1.495-.978a6.896 6.896 0 0 1 6.351-4.164c1.575 0 3.019.53 4.176 1.412l-.907.138a.702.702 0 0 0-.593.594.694.694 0 0 0 .411.729l4.99 2.208a.72.72 0 0 0 .673-.05.695.695 0 0 0 .325-.582l.026-5.408a.697.697 0 0 0-.501-.669.714.714 0 0 0-.796.28L16.6 2.873A10.202 10.202 0 0 0 9.484 0C5.284 0 1.672 2.523.132 6.109a1.586 1.586 0 0 0 .143 1.516c.303.45.815.72 1.363.72zM18.693 12.344a1.643 1.643 0 0 0-1.364-.721c-.652 0-1.242.385-1.494.977a6.896 6.896 0 0 1-6.351 4.165 6.872 6.872 0 0 1-4.176-1.412l.907-.138a.702.702 0 0 0 .593-.595.694.694 0 0 0-.411-.728l-4.99-2.208a.72.72 0 0 0-.673.05.695.695 0 0 0-.325.582l-.026 5.407a.697.697 0 0 0 .501.67c.3.09.623-.025.796-.28l.688-1.017a10.201 10.201 0 0 0 7.116 2.872c4.2 0 7.812-2.523 9.352-6.109a1.586 1.586 0 0 0-.143-1.515z' />\n </g>\n </svg>\n ),\n checkCircle: () => (\n <svg height='14' viewBox='0 0 14 14' width='14' xmlns='http://www.w3.org/2000/svg'>\n <path d='m4.13 5.67-.98.98 3.15 3.15 7-7-.98-.98-6.02 6.02zm8.47 1.33c0 3.08-2.52 5.6-5.6 5.6s-5.6-2.52-5.6-5.6 2.52-5.6 5.6-5.6c.56 0 1.05.07 1.54.21l1.12-1.12c-.84-.28-1.75-.49-2.66-.49-3.85 0-7 3.15-7 7s3.15 7 7 7 7-3.15 7-7z' />\n </svg>\n ),\n info: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10.986 6.995v-2.019h-1.972v2.02h1.972zm0 8.029v-6.01h-1.972v6.01h1.972zm-.986-15.024c1.827 0 3.518.457 5.072 1.37a9.478 9.478 0 0 1 3.558 3.558 9.835 9.835 0 0 1 1.37 5.072 9.835 9.835 0 0 1-1.37 5.072 9.478 9.478 0 0 1-3.558 3.558 9.835 9.835 0 0 1-5.072 1.37 9.835 9.835 0 0 1-5.072-1.37 9.657 9.657 0 0 1-3.558-3.582 9.79 9.79 0 0 1-1.37-5.048 9.79 9.79 0 0 1 1.37-5.048 9.842 9.842 0 0 1 3.582-3.582 9.79 9.79 0 0 1 5.048-1.37z'\n />\n </svg>\n ),\n check: () => (\n <svg width='20px' height='20px' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <g stroke='none' strokeWidth='1' fill='none' fillRule='evenodd'>\n <g transform='translate(-675.000000, -7517.000000)' fill='#7FC92E'>\n <g transform='translate(675.000000, 7517.000000)'>\n <path d='M10,0 C15.5228475,-1.01453063e-15 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 C4.4771525,20 6.76353751e-16,15.5228475 0,10 C-6.76353751e-16,4.4771525 4.4771525,1.01453063e-15 10,0 Z M14.2928932,6.29289322 L9,11.5857864 L6.70710678,9.29289322 L5.29289322,10.7071068 L9,14.4142136 L15.7071068,7.70710678 L14.2928932,6.29289322 Z' />\n </g>\n </g>\n </g>\n </svg>\n ),\n home: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <g>\n <rect width='16' height='16' fill='black' fillOpacity='0' />\n <path\n id='house_2'\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 16V11H9V16H15V5L8 0L1 5V16H7ZM5 14H3V6.02917L8 2.45776L13 6.02917V14H11V9H5V14Z'\n />\n </g>\n </svg>\n ),\n questionFilled: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' enableBackground='new 0 0 20 20'>\n <path className='st0' fillOpacity='0' d='M0 0h20v20h-20z' />\n <path\n className='st1'\n d='M17.1 2.9c-1.9-1.8-4.4-2.9-7.1-2.9-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.7-1.1-5.2-2.9-7.1zm-6.1 12.1h-2v-2h2v2zm.5-4.5c-.3.2-.6.6-.5.9v.1h-2v-.1c0-1.1.6-2.2 1.7-2.7.5-.2.8-.8.8-1.3 0-.8-.7-1.4-1.5-1.4s-1.5.6-1.5 1.4h-2c0-1.9 1.6-3.4 3.5-3.4s3.5 1.5 3.5 3.4c0 1.3-.8 2.5-2 3.1z'\n />\n </svg>\n ),\n document: () => (\n <svg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M16.0004 4.50038L12.4648 0.964844L5.36865 8.06104L5.39378 11.5714L8.90418 11.5966L16.0004 4.50038ZM7.37459 8.88353L12.4648 3.79327L13.172 4.50038L8.08169 9.59063L7.37961 9.58561L7.37459 8.88353Z'\n />\n <path d='M13 15V10H15V17H0V2H7V4H2V15H13Z' />\n </svg>\n ),\n cancel: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8 14C4.7 14 2 11.3 2 8C2 4.7 4.7 2 8 2C11.3 2 14 4.7 14 8C14 11.3 11.3 14 8 14Z' />\n <path d='M9.7998 4.79999L7.9998 6.59999L6.1998 4.79999L4.7998 6.19999L6.5998 7.99999L4.7998 9.79999L6.1998 11.2L7.9998 9.39999L9.7998 11.2L11.1998 9.79999L9.3998 7.99999L11.1998 6.19999L9.7998 4.79999Z' />\n </svg>\n ),\n playPause: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 6L5.46341 4.68292L2 1.71429L0 0V2.63416V9.36584V12L2 10.2857L5.46341 7.31708L7 6ZM3.92682 6L2 4.34845V7.65155L3.92682 6ZM14 0H16V12H14V0ZM12 0H10V12H12V0Z'\n />\n </svg>\n ),\n video: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M2 2H9V10H2V2ZM0 0H2H9H11V2V6V10V12H9H2H0V10V2V0ZM11 6L12.6008 4.71938L14 3.6L16 2V4.56125V7.43875V10L14 8.4L12.6008 7.28062L11 6Z'\n />\n </svg>\n ),\n}\n","import { useClassname } from '../../hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { VAlign } from '../../mixins/vAlign'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nimport { defaultIcons, IconNames } from './icons'\n\nexport interface IconProps extends BaseProps, Color, VAlign, ResponsiveNamedProperty<'size'> {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Name of default icon\n */\n name?: keyof typeof IconNames\n /**\n * Object with icon's svg. Use for custom icon insertion with dangerouslySetInnerHTML\n */\n svg?: string\n /**\n * Object with icon's svg. Use for custom icon insertion\n */\n icon?: React.ReactNode\n /**\n * Show pointer cursor on hover?\n */\n pointer?: boolean\n}\n\nIcon.displayName = 'Icon'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`VAlign`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Icon(props: IconProps) {\n const {\n name,\n icon,\n svg,\n pointer,\n color,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n style,\n vAlign,\n children,\n } = props\n\n const _className = useClassname(Icon.displayName, className)\n\n if (name && defaultIcons[name]) {\n const Icon = defaultIcons[name]\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_className}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n <Icon />\n {children}\n </Styled.Root>\n )\n }\n\n if (svg) {\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_className}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n dangerouslySetInnerHTML={{ __html: svg || '' }}\n >\n {icon || null}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_className}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n {icon || null}\n {children}\n </Styled.Root>\n )\n}\n\nexport { IconNames }\n","import { css } from 'styled-components'\n\nexport interface Display {\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none'\n}\n\nexport const display =\n (display: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none') => () =>\n css`\n display: ${display};\n `\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { ActionBtnProps } from './ActionBtn'\n\nconst active = css`\n background: ${(props) => props.theme.colors.onahau};\n color: ${(props) => props.theme.colors.accent};\n`\n\nconst notDisabled = css`\n &:hover {\n background: ${(props) => props.theme.colors.mercury};\n }\n &:active {\n ${active}\n }\n`\n\nconst disabled = css`\n cursor: default;\n opacity: 0.6;\n`\n\nexport const Root = styled.div<ActionBtnProps>`\n padding: 4px;\n background: transparent;\n color: ${(props) => props.theme.colors.silver};\n transition: background 0.4s ease-out, color 0.6s ease-out;\n line-height: 0;\n cursor: pointer;\n border-radius: 5px;\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.disabled ? disabled : notDisabled)}\n ${(props) => (props.active ? active : null)}\n ${(props) =>\n props.display\n ? display(props.display)\n : css`\n display: inline-block;\n `}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, Display {\n /** Icon name (for inner Icon component) */\n icon?: keyof typeof IconNames\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nActionBtn.displayName = 'ActionBtn'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon && <Icon size={16} name={icon} />}\n {children}\n </Styled.Root>\n )\n}\n","import { Text, TextProps } from '../Text'\n\n/* eslint-disable no-unused-vars */\nenum H {\n h1,\n h2,\n h3,\n h4,\n}\n/* eslint-enable no-unused-vars */\n\nconst PARAMS: Record<keyof typeof H, Partial<TextProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nexport interface TextHeadingProps extends Omit<TextProps, 'content' | 'as'> {\n h?: keyof typeof H\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nTextHeading.displayName = 'Text.Heading'\n\nexport function TextHeading({ h = 'h1', ...props }: TextHeadingProps) {\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} {...predefinedParams} {...props} />\n}\n","import styled from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'onClick'].includes(prop) || prop.includes('data-'),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpacerProps\n extends BaseProps,\n Display,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n}\n\nSpacer.displayName = 'Spacer'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Spacer(props: SpacerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { display } from '../../mixins/display'\nimport { AnchorProps } from './Anchor'\n\nconst wrapper = css`\n display: block;\n color: inherit;\n transition: none;\n &:hover {\n color: inherit;\n cursor: pointer;\n }\n`\n\nconst underline = css`\n text-decoration: underline;\n`\n\nconst pseudo = css`\n display: inline-block;\n color: ${(props) => props.theme.colors.accent};\n border-bottom: 1px dashed currentColor;\n`\n\nexport const Root = styled.div.withConfig<AnchorProps>({\n shouldForwardProp: (prop) =>\n !['wrapper', 'underline', 'pseudo', 'display', 'color'].includes(prop) && !prop.includes('size'),\n})`\n color: ${(props) => props.theme.colors.accent};\n text-decoration: none;\n transition: 0.2s;\n &:hover {\n cursor: pointer;\n color: ${(props) => props.theme.colors.primary};\n }\n ${(props) => (props.underline ? underline : null)}\n ${(props) => (props.pseudo ? pseudo : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${(props) => (props.wrapper ? wrapper : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { Link } from 'react-router-dom'\nimport { useTheme } from 'styled-components'\nimport { useMemo } from 'react'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Custom CSS class name\n */\n as?: 'div' | 'span' | 'a' | typeof Link\n /**\n * React router link to\n */\n to?: string\n /**\n * Link href\n */\n href?: string\n /**\n * Is display inline\n * */\n wrapper?: boolean\n /**\n * Pseudo link has dashed bottom border\n * */\n pseudo?: boolean\n /**\n * If link should be underlined\n * */\n underline?: boolean\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Primary content\n */\n content?: string\n /**\n * Onclick handler\n */\n onClick?: () => void\n target?: string\n rel?: string\n /**\n * Auto-generate rel. You must specify domain inside theme\n */\n autoRel?: boolean\n}\n\nAnchor.displayName = 'Anchor'\nAnchor.defaultProps = {\n display: 'inline-block',\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Anchor(props: typeof Anchor.defaultProps & AnchorProps) {\n const {\n as,\n to,\n href,\n wrapper,\n className,\n style,\n children,\n content,\n pseudo,\n underline,\n color,\n display,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n autoRel = true,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n const theme = useTheme()\n\n let _display: Display['display']\n const _rel = useMemo(() => {\n return autoRel && theme.utils?.relBuilder ? theme.utils.relBuilder(props.href ?? props.to, props.target) : props.rel\n }, [autoRel, props.rel, props.href, props.to, props.target])\n\n if (as === 'div' && !display) _display = 'block'\n else _display = display\n\n let contentProps = {}\n\n if (content) {\n contentProps = {\n ...contentProps,\n dangerouslySetInnerHTML: { __html: content },\n }\n }\n\n if (as)\n return (\n <Styled.Root\n as={as}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n style={style}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n rel={as === 'a' ? props.rel ?? _rel : undefined}\n >\n {children}\n </Styled.Root>\n )\n\n if (pseudo)\n return (\n <Styled.Root\n as='div'\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n color={color}\n style={style}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else if (to)\n return (\n <Styled.Root\n as={Link}\n to={to}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n rel={props.rel ?? _rel}\n >\n {children}\n </Styled.Root>\n )\n else\n return (\n <Styled.Root\n as='a'\n href={href}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...contentProps}\n {...rest}\n rel={props.rel ?? _rel}\n >\n {children}\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const Ul = styled.ul`\n padding: 0;\n margin: 0;\n list-style-position: inside;\n`\n\nexport const Li = styled.li`\n & + & {\n margin-top: 4px;\n }\n`\n","import { Component } from 'react'\nimport { Spacer } from '../Spacer/Spacer'\nimport { Anchor } from '../Anchor/Anchor'\nimport { Text, TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface TextEllipseProps extends Omit<TextProps, 'content'> {\n /** Toggle text for folded state */\n moreText?: string\n /** Toggle text for unfolded state */\n lessText?: string\n /** Classname */\n className?: string\n /** Html content */\n content: string | string[]\n /** Characters quantity for ellipsed text */\n chars?: number\n /** Wrap text in quotes */\n quoted?: boolean\n /** Flag to show toggler */\n showToggler?: boolean\n}\n\ninterface TextEllipseState {\n isUnFolded: boolean\n isEllipsed: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class TextEllipse extends Component<TextEllipseProps, TextEllipseState> {\n static displayName = 'Text.Ellipse'\n\n constructor(props: TextEllipseProps) {\n super(props)\n\n this.state = {\n isUnFolded: false,\n isEllipsed: false,\n }\n }\n\n componentDidUpdate({ content }: TextEllipseProps) {\n if (content !== this.props.content && this.state.isUnFolded) {\n this.toggle()\n }\n }\n\n getContent = (props: Omit<TextEllipseProps, 'className' | 'moreText' | 'lessText' | 'showToggler'>) => {\n const { content, chars = 0 } = this.props\n\n if (!content) return ''\n\n let { isEllipsed } = this.state\n let text: string | string[] = typeof content === 'string' ? '' : []\n\n if (!this.state.isUnFolded) {\n if (typeof text === 'string') {\n isEllipsed = chars !== 0 && content.length > chars\n\n text = isEllipsed && chars !== 0 ? `${content.slice(0, chars)}...` : content\n } else {\n let leftChars = chars\n\n for (let index = 0; index < content.length; index++) {\n if (leftChars - content[index].length > 0) {\n leftChars -= content[index].length\n\n text[index] = content[index]\n } else {\n isEllipsed = true\n text[index] = `${content[index].slice(0, leftChars)}...`\n\n break\n }\n }\n }\n } else {\n text = content\n }\n\n if (this.state.isEllipsed !== isEllipsed) setTimeout(() => this.setState({ isEllipsed }))\n\n return typeof text === 'string' ? (\n <Text {...props} content={this.getQuted(text)} />\n ) : (\n <Styled.Ul>\n {text.map((item, index) => (\n <Styled.Li key={index}>\n <Text {...props} display='inline' content={item} />\n </Styled.Li>\n ))}\n </Styled.Ul>\n )\n }\n\n getQuted = (content: string) => (this.props.quoted ? `«${content}»` : content)\n\n toggle = () => {\n this.setState({ isUnFolded: !this.state.isUnFolded })\n }\n\n render() {\n const {\n className = '',\n style,\n moreText = 'Читать полностью',\n lessText = 'Свернуть',\n showToggler = true,\n ...restProps\n } = this.props\n const { isUnFolded, isEllipsed } = this.state\n\n return (\n <div className={className} style={style}>\n {this.getContent(restProps)}\n {showToggler && isEllipsed && (\n <Spacer marginTop={16} marginBottom={1}>\n <Anchor pseudo onClick={this.toggle}>\n {isUnFolded ? lessText : moreText}\n </Anchor>\n </Spacer>\n )}\n </div>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color, ColorValue } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { TextProps } from './Text'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP: Record<Exclude<TextProps['lineHeight'], undefined>, number> = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nconst underlineLinksStyle = css`\n a {\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<TextProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'title', 'dangerouslySetInnerHTML'].includes(prop),\n})`\n line-height: inherit;\n margin: initial;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as ColorValue))}\n ${(props) =>\n props.lineHeight\n ? css`\n line-height: ${typeof props.lineHeight === 'string' && LINE_HEIGHT_MAP[props.lineHeight]\n ? LINE_HEIGHT_MAP[props.lineHeight]\n : props.lineHeight};\n `\n : null}\n ${(props) =>\n props.fontStyle\n ? css`\n font-style: ${props.fontStyle};\n `\n : null}\n ${(props) =>\n props.weight\n ? css`\n font-weight: ${typeof props.lineHeight === 'string' && WEIGHT_MAP[props.weight]\n ? WEIGHT_MAP[props.weight]\n : props.weight};\n `\n : null}\n\n a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n ${(props) => (props.underlineLinks ? underlineLinksStyle : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from '../../components/Text.Heading'\nimport { TextEllipse } from '../../components/Text.Ellipse'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface TextProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * An element type to render as (string).\n */\n as?: 'div' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'p'\n /**\n * Primary content\n */\n content?: string\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text font weight\n */\n weight?: 'lighter' | 'normal' | 'bold' | 'bolder' | number\n /**\n * Text font style\n */\n fontStyle?: 'normal' | 'italic'\n /**\n * Add underline to inline links\n */\n underlineLinks?: boolean\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right' | 'justify' | 'start' | 'end'\n /**\n * Line height\n */\n lineHeight?: 'l' | 'm' | 's' | 'xs' | number\n /**\n * Element title\n */\n title?: string\n}\n\nText.Heading = TextHeading\nText.Ellipse = TextEllipse\nText.displayName = 'Text'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Text(props: TextProps) {\n const {\n as = 'div',\n children,\n weight = 'normal',\n content,\n textAlign,\n underlineLinks,\n className: origClassName,\n style,\n lineHeight = 'm',\n fontStyle = 'normal',\n title,\n color,\n size = 'm',\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n display,\n } = props\n\n const className = useClassname(Text.displayName, origClassName)\n\n if (children) {\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n />\n )\n}\n","/* eslint-disable no-unused-vars */\nexport enum CurrencyCodes {\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYR = 'BYR',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EEK = 'EEK',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n FRF = 'FRF',\n GHC = 'GHC',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KGS = 'KGS',\n LAK = 'LAK',\n LVL = 'LVL',\n LBP = 'LBP',\n LRD = 'LRD',\n LTL = 'LTL',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n KPW = 'KPW',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUR = 'RUR',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n KRW = 'KRW',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TRL = 'TRL',\n TVD = 'TVD',\n UAH = 'UAH',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n}\n\nexport const CURRENCY_MAP: Readonly<Record<CurrencyCodes, string>> = Object.freeze({\n ALL: '\\u004C\\u0065\\u006b',\n AFN: '\\u060B',\n ARS: '\\u0024',\n AWG: '\\u0192',\n AUD: '\\u0024',\n AZN: '\\u20BC',\n BSD: '\\u0024',\n BBD: '\\u0024',\n BYR: '\\u0042\\u0072',\n BZD: '\\u0042\\u005a\\u0024',\n BMD: '\\u0024',\n BOB: '\\u0024\\u0062',\n BAM: '\\u004B\\u004d',\n BWP: '\\u0050',\n BGN: '\\u043B\\u0432',\n BRL: '\\u0052\\u0024',\n BND: '\\u0024',\n KHR: '\\u17DB',\n CAD: '\\u0043\\u0024',\n KYD: '\\u0024',\n CLP: '\\u0024',\n CNY: '\\u00A5',\n COP: '\\u0024',\n CRC: '\\u20A1',\n HRK: '\\u006B\\u006e',\n CUP: '\\u20B1',\n CZK: '\\u004B\\u010d',\n DKK: '\\u006B\\u0072',\n DOP: '\\u0052\\u0044\\u0024',\n XCD: '\\u0024',\n EGP: '\\u00A3',\n SVC: '\\u0024',\n EEK: '\\u006B\\u0072',\n EUR: '\\u20AC',\n FKP: '\\u00A3',\n FJD: '\\u0024',\n FRF: '\\u20A3',\n GHC: '\\u00A2',\n GIP: '\\u00A3',\n GTQ: '\\u0051',\n GGP: '\\u00A3',\n GYD: '\\u0024',\n HNL: '\\u004C',\n HKD: '\\u0024',\n HUF: '\\u0046\\u0074',\n ISK: '\\u006B\\u0072',\n INR: '\\u20A8',\n IDR: '\\u0052\\u0070',\n IRR: '\\uFDFC',\n IMP: '\\u00A3',\n ILS: '\\u20AA',\n JMD: '\\u004A\\u0024',\n JPY: '\\u00A5',\n JEP: '\\u00A3',\n KZT: '\\u20B8',\n KGS: '\\u004B\\u0047\\u0053',\n LAK: '\\u20AD',\n LVL: '\\u004C\\u0073',\n LBP: '\\u00A3',\n LRD: '\\u0024',\n LTL: '\\u004C\\u0074',\n MKD: '\\u0434\\u0435\\u043d',\n MYR: '\\u0052\\u004d',\n MUR: '\\u20A8',\n MXN: '\\u0024',\n MNT: '\\u20AE',\n MZN: '\\u004D\\u0054',\n NAD: '\\u0024',\n NPR: '\\u20A8',\n ANG: '\\u0192',\n NZD: '\\u0024',\n NIO: '\\u0043\\u0024',\n NGN: '\\u20A6',\n KPW: '\\u20A9',\n NOK: '\\u006B\\u0072',\n OMR: '\\uFDFC',\n PKR: '\\u20A8',\n PAB: '\\u0042\\u002f\\u002e',\n PYG: '\\u0047\\u0073',\n PEN: '\\u0053\\u002f\\u002e',\n PHP: '\\u20B1',\n PLN: '\\u007A\\u0142',\n QAR: '\\uFDFC',\n RON: '\\u006C\\u0065\\u0069',\n RUR: '\\u20BD',\n RUB: '\\u20BD',\n SHP: '\\u00A3',\n SAR: '\\uFDFC',\n RSD: '\\u0414\\u0438\\u043d\\u002e',\n SCR: '\\u20A8',\n SGD: '\\u0024',\n SBD: '\\u0024',\n SOS: '\\u0053',\n ZAR: '\\u0052',\n KRW: '\\u20A9',\n LKR: '\\u20A8',\n SEK: '\\u006B\\u0072',\n CHF: '\\u0043\\u0048\\u0046',\n SRD: '\\u0024',\n SYP: '\\u00A3',\n TWD: '\\u004E\\u0054\\u0024',\n THB: '\\u0E3F',\n TTD: '\\u0054\\u0054\\u0024',\n TRY: '\\u20A4',\n TRL: '\\u20A4',\n TVD: '\\u0024',\n UAH: '\\u20B4',\n GBP: '\\u00A3',\n USD: '\\u0024',\n UYU: '\\u0024\\u0055',\n UZS: '\\u043B\\u0432',\n VEF: '\\u0042\\u0073',\n VND: '\\u20AB',\n YER: '\\uFDFC',\n ZWD: '\\u005A\\u0024',\n})\n","import styled, { css } from 'styled-components'\nimport { AmountProps } from './Amount'\n\nconst crossedOut = css`\n text-decoration: line-through;\n`\n\nexport const Root = styled.span.withConfig<AmountProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n color: inherit;\n white-space: nowrap;\n ${(props) => (props.crossedOut ? crossedOut : null)}\n`\n","import { PureComponent } from 'react'\nimport cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text/Text'\nimport { Display } from '../../mixins/display'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Value for amount\n */\n value?: number\n /**\n * Digits after point\n */\n digitsAfterPoint?: number\n /**\n * Show zero minor part\n */\n showZeroMinorPart?: boolean\n /**\n * Separator of major and minor part of amount\n */\n separator?: string\n /**\n * International code of currency.\n */\n currency?: keyof typeof CurrencyCodes | string\n /**\n * Use Header component for display amount\n */\n isHeader?: boolean\n /**\n * Amount is not valid and will be crossed out with ```text-decoration: line-through```\n */\n crossedOut?: boolean\n /**\n * If need only currency symbol\n */\n onlyCurrency?: boolean\n}\n\nconst AMOUNT_MAJOR_PART_SIZE = 3\nconst ZERO_MINOR_PART_REGEXP = /^0+$/\nconst MINUS_SIGN_HTML_CODE = '\\u2212'\n\nfunction createSplitter(partSize: number): (_s: string) => string[] {\n const parts = (str: string): string[] => {\n const { length } = str\n\n if (length <= partSize) {\n return [str]\n }\n\n const from = length - partSize\n const to = length\n\n return [str.slice(from, to)].concat(parts(str.slice(0, from)))\n }\n\n return parts\n}\n\nfunction formatAmount(\n value: AmountProps['value'] = 0,\n digitsAfterPoint: AmountProps['digitsAfterPoint'],\n currencyCode: AmountProps['currency']\n) {\n const isNegative = value < 0\n\n const valueAbs = Math.abs(value)\n const valueAbsStr = valueAbs.toFixed(digitsAfterPoint)\n\n const numberParts = valueAbsStr.split('.')\n const majorPart = numberParts[0]\n const minorPart = numberParts[1]\n\n const amountSplitter = createSplitter(AMOUNT_MAJOR_PART_SIZE)\n\n const majorPartFormatted = amountSplitter(majorPart).reverse().join(' ')\n\n const formattedValueStr = majorPartFormatted + (minorPart ? `,${minorPart}` : '')\n\n return {\n majorPart: majorPartFormatted,\n minorPart,\n value: formattedValueStr,\n isNegative,\n currencySymbol: currencyCode ? Amount.getCurrencySymbol(currencyCode) : '',\n }\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class Amount extends PureComponent<AmountProps> {\n static displayName = 'Amount'\n static defaultProps = {\n isHeader: false,\n showZeroMinorPart: false,\n crossedOut: false,\n digitsAfterPoint: 2,\n separator: ',',\n onlyCurrency: false,\n }\n\n static getCurrencySymbol(currencyCode: keyof typeof CurrencyCodes | string) {\n return CURRENCY_MAP[currencyCode] || currencyCode\n }\n\n renderMinorPart(minorPart: string) {\n const { showZeroMinorPart, separator } = this.props\n\n let needMinorPart = false\n\n if (minorPart) {\n needMinorPart = true\n\n if (!showZeroMinorPart && ZERO_MINOR_PART_REGEXP.test(minorPart)) {\n needMinorPart = false\n }\n }\n\n if (needMinorPart) {\n return (\n <span className='minor-container'>\n <span className='separator'>{separator}</span>\n <span className='minor'>{minorPart}</span>\n </span>\n )\n }\n\n return null\n }\n\n renderCurrencySymbol = (currencySymbol: string) => (\n <span style={{ position: 'relative' }}>\n {this.props.currency === 'RUR' ? (\n <span\n style={{\n position: 'absolute',\n width: 0,\n opacity: 0,\n visibility: 'hidden',\n }}\n >\n руб.\n </span>\n ) : null}\n <span>{` ${currencySymbol}`}</span>\n </span>\n )\n\n render() {\n const { value, digitsAfterPoint, currency, isHeader, className, style, crossedOut, onlyCurrency, ...rest } =\n this.props\n\n const { majorPart, minorPart, isNegative, currencySymbol } = formatAmount(value, digitsAfterPoint, currency)\n\n const classNames = cx('amount', className)\n\n const amountInner = (\n <Styled.Root className={classNames} style={style} crossedOut={crossedOut}>\n {!onlyCurrency ? (\n <>\n <span className='major'>\n {isNegative && MINUS_SIGN_HTML_CODE}\n {majorPart}\n </span>\n {this.renderMinorPart(minorPart)}\n </>\n ) : null}\n {currency && this.renderCurrencySymbol(currencySymbol)}\n </Styled.Root>\n )\n\n const Element = isHeader ? Text.Heading : Text\n\n return (\n <Element {...rest} as='span'>\n {amountInner}\n </Element>\n )\n }\n}\n","/**\n * Возвращает цвет по строке\n *\n * @param {string} string строка имени\n * @param {Array} colors массив цветов (hex коды или имёна)\n * @return {string | null} цвет из массива цветов\n */\nexport const getColorByString = (string: string, colors: string[]) => {\n let i = string.length\n let sum = 0\n\n while (i--) {\n sum += string.charCodeAt(i)\n }\n\n return colors ? colors[sum % colors.length] : null\n}\n\nconst pattern = /^[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+$/u\n\n/**\n * Определяет является ли текст emoji\n * @param {string} text\n * @return {boolean}\n */\nfunction isEmoji(text: string) {\n return pattern.test(text)\n}\n\n/**\n * Возвращает буквы из имени\n *\n * @param {string} title\n * @return {string}\n */\nexport const getAvatarText = (title: string) => {\n if (title && title.length) {\n const trimmedTitleArray = title.trim().split(' ')\n const titleArray = trimmedTitleArray.filter((item) => !isEmoji(item))\n\n if (titleArray.length === 1) {\n return titleArray[0][0]\n } else if (titleArray.length > 1) {\n return `${titleArray[0][0]}${titleArray[1][0]}`\n }\n }\n\n return '#'\n}\n","import styled, { css } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport { AvatarProps } from './Avatar'\nimport { getColorByString } from './utils'\n\nconst SIZES: Record<Exclude<AvatarProps['size'], undefined>, number> = {\n l: 120,\n m: 68,\n sm: 52,\n s: 40,\n xs: 32,\n}\n\nconst linearGenerator = (color: string | null) => {\n if (!color) return null\n\n return css`\n background-image: linear-gradient(40deg, ${tiny(color).lighten(20).toString()}, ${color});\n `\n}\n\nconst withPlaceholder = css`\n display: inline-flex;\n overflow: hidden;\n text-align: center;\n vertical-align: middle;\n text-transform: uppercase;\n pointer-events: none;\n align-content: center;\n justify-content: center;\n align-items: center;\n color: ${(props) => props.theme.colors.white};\n line-height: 0;\n font-family: -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n`\n\nconst WITH_PH_SIZE = {\n l: 36,\n m: 24,\n}\n\nexport const Root = styled.div<AvatarProps>`\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n border-radius: 100%;\n box-sizing: border-box;\n background: ${(props) => tiny(props.theme.colors.mercury).setAlpha(0.6).toString()} center center no-repeat;\n background-size: cover;\n transition: background 0.2s ease, box-shadow 0.2s ease;\n ${(props) => (props.color ? linearGenerator(props.theme.colors[props.color]) : null)}\n ${(props) =>\n props.size\n ? css`\n width: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n height: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n `\n : null}\n ${(props) =>\n props.shadow\n ? css`\n &:not(:hover) {\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n }\n `\n : null}\n\n ${(props) =>\n props.autoColor && props.title\n ? linearGenerator(getColorByString(props.title, Object.values(props.theme.colors)))\n : null}\n ${(props) => (!props.src ? withPlaceholder : null)}\n ${(props) =>\n !props.src && props.size\n ? css`\n font-size: ${WITH_PH_SIZE[props.size] || 12}px;\n `\n : null}\n`\n","import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Title for avatar. Example user name. */\n title?: string\n /** Image source */\n src?: string\n /** Size of avatar */\n size?: 'l' | 'm' | 'sm' | 's' | 'xs' | number\n /** Shadow of avatar */\n shadow?: boolean\n /** Make ref func */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Generate color by title automatically\n *\n * `Performance Info`: Each render of component call getAvatarColor function on received title\n */\n autoColor?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n */\nexport class Avatar extends PureComponent<AvatarProps> {\n static defaultProps = {\n size: 'm',\n autoColor: false,\n }\n\n static displayName = 'Avatar'\n\n getAvatarText() {\n return getAvatarText(this.props.title || '')\n }\n\n render() {\n const { src, ref, ...restProps } = this.props\n\n const text = this.getAvatarText()\n\n if (src) {\n return (\n <Styled.Root\n {...restProps}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={\n src\n ? {\n backgroundImage: src && `url(${src})`,\n }\n : undefined\n }\n />\n )\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Styled.Root {...restProps} ref={this.props.ref as any}>\n {text}\n </Styled.Root>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { display } from '../../mixins/display'\nimport { BadgeProps } from './Badge'\n\nconst round = css`\n min-width: 16px;\n padding: 3px 4px 1px;\n border-radius: 100%;\n box-sizing: border-box;\n line-height: 0;\n\n .text {\n line-height: 12px;\n }\n`\n\nexport const Root = styled.div.withConfig<BadgeProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n background-color: currentColor;\n padding: 2px 12px 0px;\n border-radius: 3px;\n vertical-align: middle;\n text-align: center;\n\n &:not(:last-child) {\n margin-right: 8px;\n }\n\n .text {\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n }\n\n ${(props) => (props.round ? round : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text, TextProps } from './../Text/Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, Color, Display {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({\n children,\n content,\n className,\n textProps,\n round,\n display = 'inline-block',\n ...restProps\n}: BadgeProps) {\n const _className = useClassname(Badge.displayName, className)\n return (\n <Styled.Root round={round} display={display} className={_className} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color } from '../../mixins/color'\nimport { screenL, screenM, screenMaxS } from '../../mixins/screen'\nimport { ContainerProps } from './Container'\n\nexport const Root = styled.div.withConfig<ContainerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: 100%;\n max-width: ${(props) => props.theme.breakpoints.l - 100 + 2 * 50}px;\n margin: 0 auto;\n padding: 0 50px;\n box-sizing: border-box;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) =>\n props.fluid\n ? css`\n max-width: 100%;\n `\n : null}\n ${screenL()`\n padding: 0 42px;\n `}\n ${screenM()`\n padding: 0 28px;\n `}\n ${screenMaxS()`\n padding: 0 20px;\n `}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, Display, Color {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Container has no maximum width.\n */\n fluid?: boolean\n /**\n * Align container text.\n */\n textAlign?: 'left' | 'center' | 'right' | 'justified'\n}\n\nContainer.displayName = 'Container'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Container(props: ContainerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { createGlobalStyle, css } from 'styled-components'\nimport ReactModal from 'react-modal'\nimport { property, PossibleValues } from 'mixins/responsive-property'\nimport { ModalProps } from './Modal'\nimport { ReactModalAdapter } from './adapter'\n\ninterface ReactModalProps extends ReactModal.Props {\n zIndex?: ModalProps['zIndex']\n valign?: ModalProps['valign']\n}\n\nconst WIDTHS = {\n xxxs: 100,\n xxs: 200,\n xs: 300,\n s: 400,\n m: 500,\n l: 600,\n xl: 740,\n xxl: 800,\n xxxl: 900,\n}\n\nconst chooseWidthValue = (props: ModalProps): PossibleValues => {\n if (typeof props.width === 'number') return props.width\n\n if (props.width && typeof props.width === 'string' && WIDTHS[props.width]) return WIDTHS[props.width]\n\n return 'auto'\n}\n\nconst getPosition = (valign: ModalProps['valign']) => {\n switch (valign) {\n case 'top':\n return 'flex-start'\n case 'bottom':\n return 'flex-end'\n case 'center':\n return 'center'\n default:\n return 'center'\n }\n}\n\nexport const Modal = styled(ReactModalAdapter)<ReactModalProps>`\n &__overlay {\n z-index: ${(props) => props.zIndex || props.theme.zIndex.modal};\n display: flex;\n flex-direction: row;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-x: none;\n overflow-y: auto;\n ${(props) =>\n props.valign\n ? css`\n align-items: ${getPosition(props.valign)};\n `\n : null}\n &.ReactModal__Overlay--after-open {\n ${(props) => {\n if (props.overlayClassName) return null\n\n if (props.blurredOverlay) {\n return css`\n background: rgba(246, 247, 251, 0.3);\n backdrop-filter: blur(3.5px);\n `\n }\n\n return css`\n background: rgba(246, 247, 251, 0.9);\n `\n }}\n }\n &.ReactModal__Overlay--before-close {\n }\n }\n\n &__content {\n width: 100%;\n max-height: 100%;\n position: relative;\n &:focus {\n outline: 0;\n }\n ${(props) => (props.width ? property(chooseWidthValue(props), 'max-width') : null)}\n &.ReactModal__Content--after-open {\n }\n &.ReactModal__Content--before-close {\n }\n }\n`\n\nexport const ModalClose = styled.span`\n opacity: 1;\n transition: 0.3s;\n position: absolute;\n right: 20px;\n top: 20px;\n cursor: pointer;\n z-index: 10;\n svg {\n width: 18px;\n height: 18px;\n }\n &:hover {\n opacity: 0.5;\n }\n`\n\nexport const GlobalRoot = createGlobalStyle`\n .bodyOpen {\n overflow: hidden;\n }\n`\n","import ReactModal from 'react-modal'\nimport cx from 'clsx'\nimport { ModalProps } from './Modal'\n\nexport const ReactModalAdapter: React.FC<ModalProps> = ({\n className,\n isOpen,\n overlayClassName,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n style: _style,\n ...props\n}: ModalProps) => {\n const contentClassName = `${className}__content`\n const overlayClassNameLocal = `${className}__overlay`\n\n return (\n <ReactModal\n portalClassName={className}\n className={contentClassName}\n isOpen={Boolean(isOpen)}\n overlayClassName={cx(overlayClassNameLocal, overlayClassName)}\n {...props}\n />\n )\n}\n","import ReactModal, { Classes } from 'react-modal'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ModalClose } from './Close'\nimport * as Styled from './style'\n\nfunction setAppModalElement() {\n const appElement = document.body\n\n if (appElement && appElement instanceof HTMLElement) ReactModal.setAppElement(appElement)\n}\n\n// eslint-disable-next-line prettier/prettier\nif (typeof window !== 'undefined') {\n setAppModalElement()\n}\n\nexport interface ModalProps extends BaseProps, ResponsiveNamedProperty<'width'> {\n /**\n * Primary content.\n */\n /**\n * Boolean indicating if the overlay background should be blurred\n */\n blurredOverlay?: boolean\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Modal class name\n */\n className?: string\n /**\n * Number indicating the milliseconds to wait before closing the modal.\n */\n closeTimeoutMS?: number\n /**\n * String indicating how the content container should be announced to screenreaders\n */\n contentLabel?: string\n /**\n * Boolean describing if the modal should be shown or not.\n */\n isOpen?: boolean\n /**\n * Function that will be run after the modal has opened.\n */\n onAfterOpen?(): void\n /**\n * Function that will be run when the modal is requested to be closed, prior to actually closing.\n */\n onRequestClose?(): void\n /**\n * Custom overlay CSS class name\n */\n overlayClassName?: string | Classes\n /**\n * String indicating the role of the modal, allowing the 'dialog' role to be applied if desired.\n */\n role?: string\n /**\n * Boolean indicating if the overlay should close the modal\n */\n shouldCloseOnOverlayClick?: boolean\n /**\n * Vertical align\n */\n valign?: 'top' | 'center' | 'bottom'\n /**\n * z-index\n */\n zIndex?: number\n}\n\nModal.defaultProps = {\n blurredOverlay: false,\n closeTimeoutMS: 0,\n zIndex: 9000,\n contentLabel: '',\n isOpen: false,\n role: 'dialog',\n shouldCloseOnOverlayClick: true,\n width: 'm',\n valign: 'center',\n className: 'modal',\n}\n\nModal.Close = ModalClose\nModal.displayName = 'Modal'\n\n/**\n * Основан на [react-modal](https://github.com/reactjs/react-modal).\n *\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n */\nexport function Modal(props: ModalProps) {\n const {\n blurredOverlay,\n children,\n closeTimeoutMS,\n contentLabel,\n isOpen,\n onAfterOpen,\n onRequestClose,\n overlayClassName,\n role,\n shouldCloseOnOverlayClick,\n width,\n valign,\n className,\n style,\n zIndex,\n } = props\n\n return (\n <Styled.Modal\n blurredOverlay={blurredOverlay}\n closeTimeoutMS={closeTimeoutMS}\n contentLabel={contentLabel}\n isOpen={Boolean(isOpen)}\n onAfterOpen={onAfterOpen}\n onRequestClose={onRequestClose}\n portalClassName={className}\n overlayClassName={overlayClassName}\n bodyOpenClassName='modal--open'\n role={role}\n zIndex={zIndex}\n valign={valign}\n width={width}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n >\n <div style={style}>{children}</div>\n </Styled.Modal>\n )\n}\n","import { Icon } from '../../components/Icon'\nimport * as Styled from './style'\n\nexport interface ModalCloseProps {\n className?: string\n onClick?: () => void\n}\n\nexport function ModalClose({ className, onClick }: ModalCloseProps) {\n return (\n <Styled.ModalClose className={className} onClick={onClick}>\n <Icon name='tinyCross' color='#D9D9D9' />\n </Styled.ModalClose>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { PaperProps } from './Paper'\n\nconst zDepth = {\n 0: css`\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.11);\n `,\n 1: css`\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);\n `,\n 2: css`\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n `,\n 3: css`\n box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.08);\n `,\n 4: css`\n box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.14);\n `,\n}\n\nconst circle = css`\n border-radius: 50%;\n justify-content: center;\n display: flex;\n align-items: center;\n min-width: 100px;\n min-height: 100px;\n`\n\nconst rounded = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const Root = styled(Spacer)<PaperProps>`\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (typeof props.zDepth === 'number' && props.shadow ? zDepth[props.zDepth] : null)}\n ${(props) => (props.rounded ? rounded : null)}\n ${(props) => (props.circle ? circle : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { SpacerProps } from '../../components/Spacer'\nimport * as Styled from './style'\n\nexport interface PaperProps extends SpacerProps, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Set to true to generate a circlular paper container\n */\n circle?: boolean\n /**\n * Paper with rounded corners\n */\n rounded?: boolean\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: false | 0 | 1 | 2 | 3 | 4\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\nPaper.displayName = 'Paper'\n\n/**\n * Расширен:\n * - [`SpacerProps`](#/Разметка%20и%20позиционирование/Spacer)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Paper({ padding = 'm', rounded = true, shadow = true, className, ...props }: PaperProps) {\n const _className = useClassname(Paper.displayName, className)\n\n return <Styled.Root padding={padding} rounded={rounded} shadow={shadow} className={_className} {...props} />\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressSegmentedProps } from './Progress.Segmented'\n\nexport const Progress = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'percentColor'>>`\n height: 100%;\n border-radius: 10px;\n width: ${(props) => `${props.percent || 0}%`};\n ${(props) => (props.percentColor ? color(props.percentColor, 'background') : color('atlantis', 'background'))};\n`\n\nexport const Separators = styled.div`\n position: absolute;\n top: 0;\n display: flex;\n justify-content: space-between;\n width: 100%;\n height: 4px;\n z-index: 3;\n`\n\nexport const Separator = styled.div<Pick<ProgressSegmentedProps, 'separatorColor'>>`\n width: 2px;\n height: 100%;\n &:first-child,\n &:last-child {\n width: 0;\n }\n ${(props) => (props.separatorColor ? color(props.separatorColor, 'background') : color('white', 'background'))}\n`\n\nconst haveCircle = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n margin-left: 8px;\n border-radius: 0 10px 10px 0;\n & ${Progress} {\n border-radius: 0 10px 10px 0;\n }\n & ${Separator} {\n &:first-child {\n position: relative;\n &:before {\n position: absolute;\n display: block;\n content: '';\n left: -8px;\n top: -2px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: ${getColor(props.percentColor || 'atlantis', props)};\n }\n }\n }\n`\n\nconst isDone = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n & ${Separator} {\n &:last-child {\n position: relative;\n &:before {\n position: absolute;\n top: -6px;\n right: -6px;\n display: block;\n content: '';\n background: ${getColor(props.percentColor || 'atlantis', props)}\n url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjciIHZpZXdCb3g9IjAgMCA5IDciPgogICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNi45MTQgMEw4IDEuMDQ1IDIuODQ4IDYgMCAzLjI2MWwxLjA4Ni0xLjA0NUwyLjg0OCAzLjkxeiIvPgo8L3N2Zz4K')\n center no-repeat;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n }\n }\n }\n`\n\nconst isEmpty = css`\n & ${Separator} {\n &:first-child {\n &:before {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n }\n`\n\nexport const Root = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'haveCircle' | 'isActive' | 'percentColor'>>`\n position: relative;\n height: 4px;\n background: rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n ${(props) => (props.haveCircle ? haveCircle(props) : null)}\n ${(props) => (props.percent === 100 ? isDone(props) : null)}\n ${(props) => (props.percent === 0 ? isEmpty : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressSegmentedProps extends BaseProps, Color<'separatorColor'>, Color<'percentColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n /**\n * segments count\n */\n segments?: number\n /**\n * custom class\n */\n className?: string\n /**\n * circle in begin progress\n */\n haveCircle?: boolean\n /**\n * active state\n */\n isActive?: boolean\n}\n\nProgressSegmented.defaultProps = {\n percent: 0,\n percentColor: '#7fc92e',\n separatorColor: '#ffffff',\n segments: 9,\n haveCircle: true,\n}\n\nProgressSegmented.displayName = 'Progress.Segmented'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'separatorColor'>`](#/Миксины)\n * - [`Color<'percentColor'>`](#/Миксины)\n */\nexport function ProgressSegmented(props: typeof ProgressSegmented.defaultProps & ProgressSegmentedProps) {\n const { percent, segments, className, style, percentColor, separatorColor, haveCircle, isActive } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n percent={percent}\n haveCircle={haveCircle}\n percentColor={percentColor}\n isActive={isActive}\n >\n <Styled.Progress percent={percent} percentColor={percentColor} />\n <Styled.Separators>\n {Array.from(new Array(segments + 1).keys()).map((item, key) => (\n <Styled.Separator separatorColor={separatorColor} key={key} />\n ))}\n </Styled.Separators>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressCircleProps } from './Progress.Circle'\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<ProgressCircleProps, 'size' | 'resultColor' | 'strokeBGColor' | 'status'>>`\n position: relative;\n width: ${(props) => (props.size ? `${props.size}px` : '84px')};\n height: ${(props) => (props.size ? `${props.size}px` : '84px')};\n flex-shrink: 0;\n svg {\n width: 100%;\n height: 100%;\n font-size: 0px;\n }\n .line {\n fill: none;\n display: block;\n ${(props) => (props.resultColor ? color(props.resultColor, 'stroke') : null)}\n }\n .bg {\n stroke: ${(props) => (props.strokeBGColor ? getColor(props.strokeBGColor, props) : `rgba(0, 0, 0, 0.12)`)};\n fill: rgba(255, 255, 255, 0);\n &.fail {\n stroke: #f1512c;\n }\n &.success {\n stroke: #7bb909;\n }\n &.started {\n stroke: #459ff3;\n }\n }\n`\n\nexport const Content = styled.div`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n img {\n border-radius: 50%;\n }\n`\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nfunction polarToCartesian(centerX: number, centerY: number, radius: number, angleInDegrees: number) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0\n\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n }\n}\n\nfunction describeArc(x: number, y: number, radius: number, startAngle: number, endAngle: number, reverse = false) {\n const start = polarToCartesian(x, y, radius, endAngle)\n const end = polarToCartesian(x, y, radius, startAngle)\n\n const diff = endAngle - startAngle\n const angleDiff = diff < 0 ? -diff : diff\n\n const sweep = angleDiff <= 180 ? '1' : '0'\n const arcSweep = reverse ? +!+sweep : sweep\n\n return ['M', start.x, start.y, 'A', radius, radius, 0, arcSweep, 0, end.x, end.y].join(' ')\n}\n\nexport interface ProgressCircleProps extends BaseProps, Color<'resultColor'>, Color<'strokeBGColor'> {\n /**\n * status ['fail', 'success', 'started']\n */\n status?: 'fail' | 'success' | 'started'\n /**\n * progress percent\n */\n progress?: number\n /**\n * width and height\n */\n size?: number\n /**\n * center content\n */\n htmlContent?: string\n /**\n * width progress line\n */\n strokeLineWidth?: number\n /**\n * width background line\n */\n strokeBGWidth?: number\n /**\n * start angle of progress\n */\n progressStartAngle?: number\n /**\n * content inside progress circle\n */\n content?: string | number\n}\n\ninterface ProgressCircleState {\n bgAngleDiff: number\n describeArcProgress: string | null\n describeArcBg: string | null\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'resultColor'>`](#/Миксины)\n * - [`Color<'strokeBGColor'>`](#/Миксины)\n */\nexport class ProgressCircle extends PureComponent<\n typeof ProgressCircle.defaultProps & ProgressCircleProps,\n ProgressCircleState\n> {\n static displayName = 'Progress.Circle'\n static defaultProps = {\n size: 84,\n progress: 0,\n strokeLineWidth: 2,\n strokeBGWidth: 2,\n resultColor: 'accent',\n progressStartAngle: 180,\n }\n\n constructor(props: typeof ProgressCircle.defaultProps & ProgressCircleProps) {\n super(props)\n this.state = {\n bgAngleDiff: 0,\n describeArcProgress: null,\n describeArcBg: null,\n }\n }\n\n componentDidMount() {\n this.renderSvg()\n }\n\n componentDidUpdate(prevProps: ProgressCircleProps) {\n const { progress, size } = this.props\n const { progress: prevProgress, size: prevSize } = prevProps\n\n if (progress !== prevProgress || size !== prevSize) {\n this.renderSvg()\n }\n }\n\n renderSvg = () => {\n const { size, progress, strokeLineWidth, strokeBGWidth, progressStartAngle } = this.props\n\n const thickness = strokeLineWidth > strokeBGWidth ? strokeLineWidth : strokeBGWidth\n\n const center = size / 2 + thickness / 2\n const progressGap = 0.5\n const progressEndAngle = progressStartAngle - progressGap + (+progress / 100) * 360\n const bgStartAngle = progressStartAngle\n const bgEndAngle = bgStartAngle - progressGap\n\n const centerX = center - thickness / 2\n const centerY = center - thickness / 2\n const radius = center - thickness\n const diff = bgStartAngle - bgEndAngle\n\n const describeArcProgress = describeArc(centerX, centerY, radius, progressStartAngle, progressEndAngle, true)\n\n const describeArcBg = describeArc(centerX, centerY, radius, bgStartAngle, bgEndAngle)\n\n const bgAngleDiff = diff < 0 ? -diff : diff\n\n this.setState({\n describeArcProgress,\n describeArcBg,\n bgAngleDiff,\n })\n }\n\n render() {\n const {\n size,\n htmlContent,\n content,\n strokeLineWidth,\n strokeBGWidth,\n resultColor,\n strokeBGColor,\n status,\n progress,\n className,\n style,\n } = this.props\n\n const { bgAngleDiff, describeArcProgress, describeArcBg } = this.state\n\n return (\n <Styled.Root\n className={className}\n style={style}\n size={size}\n strokeBGColor={strokeBGColor}\n resultColor={resultColor}\n status={status}\n >\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <g className={'pathBox'}>\n <path\n className='bg'\n d={bgAngleDiff < 360 && describeArcBg ? describeArcBg : ''}\n fill='none'\n strokeWidth={strokeBGWidth}\n strokeLinecap='round'\n />\n <path\n className='line'\n d={Boolean(+progress) && describeArcProgress ? describeArcProgress : ''}\n strokeWidth={strokeLineWidth}\n strokeLinecap='round'\n />\n </g>\n </svg>\n {htmlContent && <Styled.Content dangerouslySetInnerHTML={{ __html: htmlContent }} />}\n {content && <Styled.Content>{content}</Styled.Content>}\n </Styled.Root>\n )\n }\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { ProgressProps } from './Progress'\n\nconst move = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst bgColor = (color: string) => css`\n background-color: ${tinycolor(color).setAlpha(0.6).toString()};\n`\n\nconst isLoading = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.4) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.4) 50%,\n rgba(255, 255, 255, 0.4) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${move} 2s linear infinite;\n`\n\nexport const Root = styled.div<Pick<ProgressProps, 'backgroundColor' | 'color'>>`\n display: block;\n height: 4px;\n border-radius: 40px;\n overflow: hidden;\n ${(props) => (props.backgroundColor ? color(props.backgroundColor, bgColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n`\n\nexport const Bar = styled.div.withConfig<{ width: number; isLoading: boolean }>({\n shouldForwardProp: () => false,\n})`\n width: 0;\n transition: width 1s ease-in-out;\n height: 100%;\n border-radius: inherit;\n color: inherit;\n background-color: currentColor;\n ${(props) => (props.isLoading ? isLoading : null)}\n ${(props) =>\n props.width\n ? css`\n width: ${props.width}%;\n `\n : css`\n width: 0%;\n `}\n`\n","import { ProgressSegmented } from '../../components/Progress.Segmented'\nimport { ProgressCircle } from '../../components/Progress.Circle'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressProps extends BaseProps, Color, Color<'backgroundColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n isLoading?: boolean\n}\n\nProgress.defaultProps = {\n percent: 0,\n color: 'green',\n backgroundColor: 'alto',\n isLoading: false,\n}\n\nProgress.Circle = ProgressCircle\nProgress.Segmented = ProgressSegmented\nProgress.displayName = 'Progress'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'backgroundColor'>`](#/Миксины)\n */\nexport function Progress(props: ProgressProps) {\n const { className, isLoading, backgroundColor, color, percent } = props\n\n let _percent: number = typeof percent === 'string' ? parseInt(percent, 10) : percent || 0\n\n if (_percent > 100) _percent = 100\n if (_percent < 0) _percent = 0\n\n return (\n <Styled.Root className={className} backgroundColor={backgroundColor} color={color}>\n <Styled.Bar width={_percent} isLoading={Boolean(isLoading)} />\n </Styled.Root>\n )\n}\n","import { PureComponent } from 'react'\nimport { Scrollbars, ScrollbarsProps } from 'rc-scrollbars'\nimport { DefaultTheme, withTheme } from 'styled-components'\n\nexport interface ScrollableProps extends Partial<ScrollbarsProps> {\n /**\n * Children react node\n */\n children: React.ReactNode[] | React.ReactNode\n /**\n * Enable auto-hide mode\n * @see See [github docs](https://github.com/sakhnyuk/rc-scrollbars) for description\n */\n autoHide?: boolean\n /**\n * Hide delay in ms.\n */\n autoHideTimeout?: number\n /**\n * Duration for hide animation in ms.\n */\n autoHideDuration?: number\n /**\n * Enable auto-height mode.\n */\n autoHeight?: boolean\n /**\n * Set a minimum height for auto-height mode\n */\n autoHeightMin?: number\n /**\n * Set a maximum height for auto-height mode\n */\n autoHeightMax?: number\n /**\n * Event handler\n */\n onScroll?(): void\n /**\n * Runs inside the animation frame.\n */\n onScrollFrame?(): void\n /**\n * Called when scrolling starts\n */\n onScrollStart?(): void\n /**\n * Called when scrolling stops\n */\n onScrollStop?(): void\n /**\n * Height of shadow\n */\n shadowHeight?: number\n /**\n * Show shadow in scrollable component\n */\n withShadow?: boolean\n /**\n * Color of shadow from #Colors\n */\n shadowColor?: string\n /**\n * Opacity of shadow\n */\n shadowOpacity?: number\n /**\n * Color of thumb\n */\n thumbColor?: string\n /**\n * Opacity of thumb\n */\n thumbOpacity?: number\n /**\n * Border radius of thumb (px)\n */\n thumbBorderRadius?: number\n /**\n /**\n * Border radius of thumb (px)\n */\n thumbWidth?: number\n /**\n * Color of track (HEX)\n */\n trackColor?: string\n /**\n * Opacity of track\n */\n trackOpacity?: number\n /**\n * Border radius of track (px)\n */\n trackBorderRadius?: number\n /**\n /**\n * Border radius of track (px)\n */\n trackWidth?: number\n /**\n * Style for scrollable container\n */\n style?: object\n /**\n * Classname of scrollable container\n */\n className?: string\n /**\n * Disable scrollbar and return div\n */\n disabled?: boolean\n /**\n * Prevent body scrolling when start|end touched\n */\n isolate?: boolean\n\n theme?: DefaultTheme\n}\n\ntype ScrollableState = {\n scrollTop: number\n scrollHeight: number\n clientHeight: number\n}\n\n// eslint-disable-next-line no-use-before-define\nclass Scrollable extends PureComponent<typeof Scrollable.defaultProps & ScrollableProps, ScrollableState> {\n static displayName = 'Scrollable'\n static defaultProps = {\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n withShadow: false,\n shadowHeight: 50,\n shadowOpacity: 0.15,\n shadowColor: 'mineShaft',\n thumbColor: 'mineShaft',\n thumbOpacity: 0.15,\n thumbBorderRadius: 1,\n thumbWidth: 4,\n trackColor: '#333333',\n trackOpacity: 0.15,\n trackBorderRadius: 1,\n trackWidth: 4,\n disabled: false,\n isolate: true,\n }\n\n scrollable: HTMLDivElement | null = null\n ts = 0\n\n state = {\n scrollTop: 0,\n scrollHeight: 0,\n clientHeight: 0,\n }\n\n componentDidMount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchstart', this.handleTouchStart, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchmove', this.handleTouchMove, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('wheel', this.handleScroll, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void,\n false\n )\n }\n\n componentWillUnmount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchstart', this.handleTouchStart)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchmove', this.handleTouchMove)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('wheel', this.handleScroll)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void\n )\n }\n\n handleTouchStart = (e: TouchEvent) => {\n this.ts = e.touches[0].clientY\n }\n\n handleTouchMove = (e: TouchEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const te = e.changedTouches[0].clientY\n const dir = this.ts > te ? -1 : 1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n Math.floor((scrollarea as HTMLDivElement).scrollTop) ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n this.ts = te\n }\n\n return true\n }\n\n handleScroll = (e: WheelEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const delta = e.deltaY || e.detail\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const dir = delta < 0 ? 1 : -1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n (scrollarea as HTMLDivElement).scrollTop ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n }\n\n return true\n }\n\n handleUpdate = (values: ScrollableState) => {\n const { scrollTop, scrollHeight, clientHeight } = values\n\n this.setState({\n scrollTop,\n scrollHeight,\n clientHeight,\n })\n }\n\n calculateShadowOffset() {\n const { scrollTop, scrollHeight, clientHeight } = this.state\n const { shadowHeight = 50 } = this.props\n\n const diffH = scrollHeight - clientHeight || 0\n\n const a = (scrollTop * 100) / (diffH <= 0 ? 1 : diffH)\n const b = (shadowHeight * a) / 100\n\n return Math.floor(-shadowHeight + b)\n }\n\n hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null\n }\n\n renderTrack = ({ style, ...props }: { style: React.CSSProperties }, dir: 'vertical' | 'horizontal') => {\n const { trackColor, trackOpacity, trackBorderRadius, trackWidth } = this.props\n\n const hex = trackColor ? this.hexToRgb(trackColor) : null\n\n const trackStyle = {\n background: hex ? `rgba(${hex.r}, ${hex.g}, ${hex.b}, ${trackOpacity})` : `rgba(255,255,255,0)`,\n borderRadius: `${trackBorderRadius}px`,\n zIndex: 14,\n ...(dir === 'vertical'\n ? {\n right: 4,\n top: 2,\n bottom: 2,\n width: `${trackWidth}px`,\n }\n : {\n bottom: 4,\n left: 2,\n right: 2,\n height: `${trackWidth}px`,\n }),\n }\n\n return (\n <div\n style={{\n ...style,\n ...trackStyle,\n }}\n {...props}\n />\n )\n }\n\n renderThumb = ({ style, ...scrollableProps }: { style: React.CSSProperties }) => {\n const { thumbColor, thumbOpacity, thumbBorderRadius, thumbWidth } = this.props\n\n const thumbStyle = {\n opacity: thumbOpacity,\n backgroundColor:\n (this.props.theme as DefaultTheme).colors[thumbColor] || (this.props.theme as DefaultTheme).colors[thumbColor],\n borderRadius: `${thumbBorderRadius}px`,\n width: `${thumbWidth}px`,\n }\n\n return <div style={{ ...style, ...thumbStyle }} {...scrollableProps} />\n }\n\n render() {\n const {\n children,\n withShadow,\n shadowHeight,\n shadowColor,\n shadowOpacity,\n className,\n thumbColor, // eslint-disable-line\n thumbOpacity, // eslint-disable-line\n thumbBorderRadius, // eslint-disable-line\n thumbWidth, // eslint-disable-line\n trackColor, // eslint-disable-line\n trackOpacity, // eslint-disable-line\n trackBorderRadius, // eslint-disable-line\n trackWidth, // eslint-disable-line\n isolate, // eslint-disable-line\n style,\n disabled,\n ...props\n } = this.props\n\n if (disabled) return <div>{children}</div>\n\n const { scrollHeight, clientHeight } = this.state\n\n const shadowOffset = this.calculateShadowOffset()\n\n return (\n <div\n style={{\n ...style,\n position: 'relative',\n }}\n className={className}\n >\n {withShadow && scrollHeight > clientHeight && shadowOffset !== -shadowHeight && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n top: `-${shadowHeight}px`,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to bottom, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n {withShadow && scrollHeight > clientHeight && shadowOffset < 0 && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to top, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n <Scrollbars\n renderTrackVertical={(nodeProps) => this.renderTrack({ ...nodeProps }, 'vertical')}\n renderTrackHorizontal={(nodeProps) => this.renderTrack({ ...nodeProps }, 'horizontal')}\n renderThumbHorizontal={this.renderThumb}\n renderThumbVertical={this.renderThumb}\n onUpdate={this.handleUpdate}\n hideTracksWhenNotNeeded\n {...props}\n >\n <div\n ref={(node) => {\n this.scrollable = node\n }}\n >\n {children}\n </div>\n </Scrollbars>\n </div>\n )\n }\n}\n\n/**\n * Scrollable component for create custom scrollable content\n *\n * Based on https://github.com/sakhnyuk/rc-scrollbars\n */\nconst withThemeScrollable = withTheme(Scrollable)\n\nwithThemeScrollable.displayName = 'Scrollable'\n\nexport { withThemeScrollable as Scrollable }\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { SectionProps } from './Section'\n\nconst zDepth = {\n 1: css`\n box-shadow: 0 15px 20px 0 rgba(27, 55, 147, 0.06);\n `,\n 2: css`\n box-shadow: rgba(0, 0, 0, 0.156863) 0px 3px 10px, rgba(0, 0, 0, 0.227451) 0px 3px 10px;\n `,\n 3: css`\n box-shadow: rgba(0, 0, 0, 0.188235) 0px 10px 30px, rgba(0, 0, 0, 0.227451) 0px 6px 10px;\n `,\n 4: css`\n box-shadow: rgba(0, 0, 0, 0.247059) 0px 14px 45px, rgba(0, 0, 0, 0.219608) 0px 10px 18px;\n `,\n 5: css`\n box-shadow: rgba(0, 0, 0, 0.298039) 0px 19px 60px, rgba(0, 0, 0, 0.219608) 0px 15px 20px;\n `,\n}\n\nexport const Root = styled(Spacer)<SectionProps>`\n display: block;\n color: #000;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (typeof props.zDepth === 'number' ? zDepth[props.zDepth] : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SectionProps extends BaseProps, Display, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: 1 | 2 | 3 | 4 | 5\n /**\n * Section content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text align\n */\n textAlign?: 'left' | 'right' | 'center'\n}\n\nSection.displayName = 'Section'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Section(props: SectionProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Text as UiText } from '../Text'\nimport { SeparatorProps } from './Separator'\n\nconst WEIGHT_MAP = {\n 1: '0.05em',\n 2: '0.1em',\n 3: '0.15em',\n 4: '0.25em',\n 5: '0.3em',\n}\n\nexport const Text = styled(UiText)`\n position: absolute;\n z-index: 1;\n display: inline-block;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 0 12px;\n background-color: ${(props) => props.theme.colors.white};\n`\n\nexport const TextRoot = styled.div`\n display: block;\n width: auto;\n position: relative;\n z-index: 0;\n text-align: center;\n`\n\nexport const Root = styled.div.withConfig<SeparatorProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: auto;\n background-color: currentColor;\n ${(props) => css`\n height: ${WEIGHT_MAP[props.weight || 1]};\n `}\n ${(props) => (props.color ? color(props.color, 'color') : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { SeparatorText } from './SeparatorText'\nimport * as Styled from './style'\n\nexport interface SeparatorProps\n extends BaseProps,\n Color,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Separator weight\n */\n weight?: 1 | 2 | 3 | 4 | 5\n}\n\nSeparator.defaultProps = {\n margin: 's',\n color: 'grey',\n weight: 1,\n}\n\nSeparator.Text = SeparatorText\nSeparator.displayName = 'Separator'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Separator(props: typeof Separator.defaultProps & SeparatorProps) {\n return <Styled.Root {...props} />\n}\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nexport function SeparatorText({ children, className, color, ...restProps }: SeparatorTextProps) {\n return (\n <Styled.TextRoot>\n <Separator className={className} color={color} {...restProps} />\n <Styled.Text color={color}>{children}</Styled.Text>\n </Styled.TextRoot>\n )\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport {\n responsiveNamedProperty,\n property,\n ResponsiveNamedProperty,\n CalcProperty,\n} from '../../mixins/responsive-property'\nimport { SpinnerProps } from './Spinner'\n\nconst SIZES = {\n l: 60,\n m: 40,\n s: 20,\n}\n\nconst spinner = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nconst fullscreen = css`\n height: 100vh;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst inline = css`\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n`\n\nconst sizeBuilder: CalcProperty = (size, sizing = 'px') => {\n if (size === 0) return null\n return css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n &:before {\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n margin-top: -${(size as number) / 2}${sizing};\n margin-left: -${(size as number) / 2}${sizing};\n }\n `\n}\n\nconst getSize = (size: ResponsiveNamedProperty<'size'>['size']): number => {\n if (!size || typeof size === 'boolean') return 0\n if (typeof size === 'number') return size\n if (SIZES[size]) return SIZES[size]\n return 0\n}\n\nexport const Root = styled.div.withConfig<SpinnerProps>({\n shouldForwardProp: (prop) => ['className', 'style'].includes(prop),\n})`\n display: block;\n position: relative;\n display: block;\n margin: 30px auto;\n &:before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n border: 2px solid #eee;\n border-top-color: #459ff3;\n animation: ${spinner} 0.6s linear infinite;\n }\n ${(props) => (props.inline ? inline : null)}\n\n ${(props) => (props.size ? property(SIZES[props.size] || props.size, sizeBuilder) : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) => {\n return responsiveNamedProperty({\n sizes: {\n sizeXS: getSize(sizeXS),\n sizeS: getSize(sizeS),\n sizeM: getSize(sizeM),\n sizeL: getSize(sizeL),\n sizeXL: getSize(sizeXL),\n },\n cssProperty: sizeBuilder,\n })\n }}\n\n ${(props) => (props.fullscreen ? fullscreen : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport { SwitcherProps } from './Switcher'\n\nconst switcherWidth = 60\nconst switcherHeight = 32\nconst borderRadius = 40\nconst dotSize = 24\nconst defaultBackground = '#eaecf3'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${switcherWidth}px;\n height: ${switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition: background 0.3s ease, background-image 0.3s ease;\n border-radius: ${borderRadius}px;\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: ${defaultBackground};\n flex: 0 0 auto;\n &:before {\n position: absolute;\n top: ${(switcherHeight - dotSize) / 2}px;\n left: ${(switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${dotSize}px;\n height: ${dotSize}px;\n content: '';\n transition: background 0.3s ease, left 0.3s ease;\n transform: translateZ(0);\n border-radius: 100%;\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);\n }\n\n &:active {\n &::before {\n box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);\n }\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n background-color: ${defaultBackground};\n box-shadow: none;\n &:before {\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: none;\n }\n }\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checked = css`\n & ${Switcher} {\n &:before {\n left: ${switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<Omit<SwitcherProps, 'onChange'>>({\n shouldForwardProp: (prop) => ['className', 'style', 'children'].includes(prop),\n})`\n line-height: ${switcherHeight}px;\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${switcherHeight}px;\n vertical-align: middle;\n justify-content: flex-start;\n align-content: center;\n align-items: center;\n max-width: 100%;\n color: inherit;\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.value ? checked : null)}\n ${(props) =>\n props.value && props.color\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.color, props)).lighten(10).toString()},\n ${getColor(props.color, props)}\n );\n }\n `\n : props.inactiveColor\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.inactiveColor, props)).lighten(10).toString()},\n ${getColor(props.inactiveColor, props)}\n );\n }\n `\n : null}\n`\n","import { createRef } from 'react'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SwitcherProps extends BaseProps, Color<'color'>, Color<'inactiveColor'> {\n /**\n * Id for swithcer\n */\n id?: string\n /**\n * Name of input\n */\n name?: string\n /**\n * Value of input\n */\n value?: boolean\n /**\n * Switcher is disabled\n */\n disabled?: boolean\n /**\n * Tabindex\n */\n tabIndex?: number\n /**\n * Label of switcher\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * onChange function\n */\n onChange?(_checked: boolean, _event: React.ChangeEvent<HTMLInputElement>): void\n}\n\nSwitcher.defaultProps = {\n value: false,\n disabled: false,\n color: 'atlantis',\n}\n\nSwitcher.displayName = 'Switcher'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'inactiveColor'>`](#/Миксины)\n */\nexport function Switcher(props: typeof Switcher.defaultProps & SwitcherProps) {\n const inputRef = createRef<HTMLInputElement>()\n const { id, value, name, children, tabIndex, onChange, ...restProps } = props\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!props.disabled && typeof onChange === 'function') {\n onChange(event.target.checked, event)\n }\n }\n\n return (\n <Styled.Root value={value} {...restProps}>\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n ref={inputRef}\n onChange={handleChange}\n />\n <Styled.Switcher htmlFor={id} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TabsProps } from './Tabs'\nimport { TabProps } from './TabsTab'\n\nconst BEFORE_AFTER_SHADOW_WIDTH = 20\n\nconst borderColor = (color: string) => css`\n border-bottom: 1px solid ${color};\n`\n\nconst getThemedCss = (theme: TabProps['theme']) => {\n switch (theme) {\n case 'compact':\n return css`\n font-weight: normal;\n & + & {\n margin-left: 20px;\n }\n `\n case 'crispyCompact':\n return css`\n text-transform: uppercase;\n font-size: 12px;\n height: 16px;\n line-height: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid ${(props) => props.theme.colors.mercury};\n & + & {\n margin-left: 18px;\n }\n `\n case 'crispy':\n return css`\n height: 35px;\n text-transform: uppercase;\n font-size: 12px;\n & + & {\n margin-left: 32px;\n }\n `\n default:\n return null\n }\n}\n\nconst activeTab = css`\n color: ${(props) => props.theme.colors.primary};\n position: relative;\n &:after {\n width: initial;\n opacity: 1;\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<TabsProps, 'noBorder' | 'borderColor' | 'color' | 'width'>>`\n color: rgba(247, 247, 247, 1);\n display: flex;\n align-items: flex-end;\n justify-content: center;\n flex-direction: row;\n ${(props) => (props.borderColor && !props.noBorder ? color(props.borderColor, borderColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${responsiveProperty('width')}\n`\n\nexport const Inner = styled.div`\n position: relative;\n display: block;\n width: auto;\n height: auto;\n padding: 0;\n margin: 0 -20px;\n box-sizing: border-box;\n background: transparent;\n overflow: visible;\n max-width: 100%;\n width: 100%;\n &::before,\n &::after {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n display: block;\n content: '';\n width: ${BEFORE_AFTER_SHADOW_WIDTH}px;\n height: 100%;\n }\n\n &::before {\n left: 0;\n background: linear-gradient(-90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n\n &::after {\n right: 0;\n background: linear-gradient(90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n`\n\nexport const Content = styled.div<Pick<TabsProps, 'noBorder'>>`\n display: block;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n box-sizing: border-box;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n color: ${(props) => props.theme.colors.mineShaft};\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n height: 0;\n background: transparent;\n visibility: hidden;\n }\n\n &::-webkit-scrollbar-thumb {\n height: 0px;\n background: transparent;\n visibility: hidden;\n }\n\n ${(props) =>\n props.noBorder\n ? css`\n display: flex;\n justify-content: space-between;\n width: 100%;\n `\n : null}\n`\n\nexport const Tab = styled.div.withConfig<TabProps & { themeKey: TabProps['theme'] }>({\n shouldForwardProp: (prop) => !['themeKey', 'color', 'borderColor', 'active'].includes(prop),\n})`\n display: inline-block;\n margin-bottom: -1px;\n flex-shrink: 0;\n font-size: 16px;\n font-weight: bold;\n line-height: 20px;\n padding-bottom: 14px;\n text-decoration: none;\n cursor: pointer;\n z-index: 2;\n transition: color 0.2s ease-out;\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.borderColor ? color(props.borderColor, borderColor) : null)}\n &:after {\n opacity: 0;\n width: 0;\n content: '';\n height: 3px;\n position: absolute;\n bottom: -1px;\n z-index: 1;\n left: 0;\n right: 0;\n background-color: currentColor;\n transition: opacity 0.2s ease-out;\n }\n &:hover {\n color: ${(props) => props.theme.colors.primary};\n }\n & + & {\n margin-left: 60px;\n }\n ${(props) => (props.themeKey ? getThemedCss(props.themeKey) : null)}\n ${(props) => (props.active ? activeTab : null)}\n &.active {\n ${activeTab}\n }\n`\n","import { NavLink } from 'react-router-dom'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends Color, Color<'borderColor'> {\n /**\n * An element type to render as (string or function).\n */\n as?: 'div' | 'a' | 'button' | 'span' | typeof NavLink\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Active tab.\n */\n active?: boolean\n /**\n * Active tab.\n */\n activeClassName?: string\n /**\n * Active tab.\n */\n theme?: 'compact' | 'crispy' | 'crispyCompact'\n className?: string\n}\n\nTabsTab.defaultProps = {\n as: 'div',\n activeClassName: 'active',\n borderColor: 'alto',\n color: 'mineShaft',\n}\n\nexport function TabsTab(props: TabProps) {\n const { as, className, children, theme, ...rest } = props\n\n const linkProps = typeof as !== 'string' ? { activeClassName: 'active' } : {}\n\n return (\n <Styled.Tab as={as} className={className} themeKey={theme} {...linkProps} {...rest}>\n {children}\n </Styled.Tab>\n )\n}\n","import { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TabsTab } from './TabsTab'\nimport * as Styled from './style'\n\nexport interface TabsProps extends BaseProps, Color, Color<'borderColor'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n className?: string\n classNameInner?: string\n classNameContent?: string\n noBorder?: boolean\n width?: ResponsiveProperty<number>\n}\n\nTabs.defaultProps = {\n borderColor: 'alto',\n color: 'rgba(247, 247, 247, 1)',\n}\n\nTabs.Tab = TabsTab\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'borderColor'>`](#/Миксины)\n */\nexport function Tabs(props: TabsProps) {\n const { children, className, classNameInner, classNameContent, borderColor, color, noBorder, style, width } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n width={width}\n borderColor={borderColor}\n color={color}\n noBorder={noBorder}\n >\n <Styled.Inner className={classNameInner}>\n <Styled.Content noBorder={noBorder} className={classNameContent}>\n {children}\n </Styled.Content>\n </Styled.Inner>\n </Styled.Root>\n )\n}\n","import { TooltipProps } from './Tooltip'\n\nconst zIndex = 100\n\nexport const tooltipStyles: TooltipProps['styles'] = {\n wrapper: {\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n WebkitFilter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 3,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 32,\n minWidth: 180,\n padding: '16px',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n borderBottom: '1px solid var(--mineShaft)',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: 18,\n marginBottom: 5,\n paddingBottom: 6,\n paddingRight: 18,\n },\n content: {\n fontSize: 12,\n lineHeight: '16px',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n color: '#fff',\n display: 'inline-flex',\n length: 6,\n position: 'absolute',\n spread: 12,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipStylesRounend: TooltipProps['styles'] = {\n wrapper: {\n cursor: 'pointer',\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 10,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 20,\n minWidth: 58,\n padding: '2px 6px 1px',\n position: 'relative',\n display: 'flex',\n textAlign: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n display: 'block',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: '12px',\n lineHeight: '17px',\n marginBottom: 0,\n paddingBottom: 0,\n paddingRight: 0,\n borderBottom: 'none',\n },\n content: {\n fontSize: '12px',\n lineHeight: '17px',\n textDecoration: 'none',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n display: 'none',\n length: 0,\n position: 'absolute',\n spread: 0,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipDisplayBlockStyles: TooltipProps['styles'] = {\n ...tooltipStyles,\n wrapper: {\n ...tooltipStyles.wrapper,\n display: 'block',\n },\n}\n","import Floater from 'react-floater'\nimport { mergeDeepRight } from 'ramda'\nimport { tooltipStyles, tooltipStylesRounend, tooltipDisplayBlockStyles } from './tooltip-styles'\n\nTooltip.defaultProps = {\n autoOpen: false,\n disableAnimation: false,\n disableFlip: false,\n disableHoverToClick: false,\n event: 'click',\n eventDelay: 0.4,\n offset: 15,\n placement: 'bottom',\n showCloseButton: false,\n styles: tooltipStyles,\n target: null,\n wrapperOptions: {\n position: false,\n },\n component: null,\n}\n\nTooltip.themes = {\n tooltipStyles,\n tooltipDisplayBlockStyles,\n tooltipStylesRounend,\n}\n\nTooltip.displayName = 'Tooltip'\n\ntype FloaterProps = Parameters<typeof Floater>[0]\n\nexport type TooltipProps = FloaterProps\n\n/**\n * Основан на [react-floater](https://github.com/gilbarbara/react-floater).\n */\nexport function Tooltip({ children, styles = {}, ...props }: TooltipProps) {\n const tooltipStyle = mergeDeepRight(tooltipStyles || {}, styles) as TooltipProps['styles']\n\n return (\n <Floater styles={tooltipStyle} {...props}>\n <span>{children}</span>\n </Floater>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { property, PossibleValues, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { Text as UiText, TextProps } from '../Text/Text'\nimport { TagProps } from './Tag'\n\nconst WIDTHS: Record<Partial<Exclude<TagProps['size'], 'auto' | undefined>>, number> = {\n l: 220,\n m: 182,\n s: 100,\n xs: 60,\n}\n\nconst chooseWidthValue = (props: TagProps): PossibleValues => {\n if (props.width === 'auto') return 'auto'\n if (typeof props.width === 'number') return props.width\n\n if (props.size && WIDTHS[props.size]) return WIDTHS[props.size]\n\n return 'auto'\n}\n\nconst active = css`\n border-color: transparent;\n background-color: currentColor;\n`\n\nexport const Text = styled(UiText)<TextProps>`\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n vertical-align: middle;\n transition: color 0.25s ease;\n`\n\nconst disabled = css`\n cursor: not-allowed;\n background-color: rgba(0, 0, 0, 0.04);\n ${Text} {\n color: rgba(0, 0, 0, 0.16);\n }\n`\n\nexport const Root = styled.button.withConfig<TagProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'className', 'style', 'onClick'].includes(prop),\n})`\n padding: 0px 16px;\n margin-bottom: 10px;\n border-radius: 3px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.whiteGray};\n box-sizing: border-box;\n vertical-align: middle;\n transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;\n cursor: pointer;\n text-align: center;\n touch-action: manipulation;\n min-width: 60px;\n\n ${(props) => (props.size ? property(chooseWidthValue(props), 'width') : null)}\n ${(props) => (props.height ? property(props.height, 'line-height') : null)}\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n ${({ heightXS, heightS, heightM, heightL, heightXL }) =>\n responsiveNamedProperty({ sizes: { heightXS, heightS, heightM, heightL, heightXL }, cssProperty: 'height' })}\n\n ${(props) => (props.width ? property(props.width, 'width') : null)}\n ${({ widthXS, widthS, widthM, widthL, widthXL }) =>\n responsiveNamedProperty({ sizes: { widthXS, widthS, widthM, widthL, widthXL }, cssProperty: 'width' })}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n\n &:not(:last-child) {\n margin-right: 20px;\n }\n\n ${(props) =>\n !props.disabled\n ? css`\n &:hover:not(:disabled) {\n border-color: currentColor;\n }\n &:active:not(:disabled) {\n ${active}\n ${Text} {\n color: ${(props) => props.theme.colors.white};\n }\n }\n `\n : null}\n\n ${(props) => (props.inverse || props.checked ? active : null)}\n\n &:disabled {\n ${disabled}\n }\n ${(props) => (props.disabled ? disabled : null)}\n`\n","import { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TextProps } from '../Text/Text'\nimport * as Styled from './style'\n\nexport interface TagProps\n extends BaseProps,\n Display,\n Color,\n ResponsiveNamedProperty<'height'>,\n ResponsiveNamedProperty<'width'> {\n as?: 'button' | 'div' | 'input' | 'label'\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Input type\n */\n inputType?: 'checkbox' | 'radio'\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * On click handler\n */\n onClick?(_e: React.MouseEvent<HTMLInputElement>): void\n /**\n * Whether or not Radio is checked\n */\n defaultChecked?: boolean\n /**\n * Value\n */\n value?: string | number\n /** Children are placed before Text */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Inner Text content */\n content?: React.ReactNode\n /** Inner Text component props */\n textProps?: TextProps\n /** Checked state */\n checked?: boolean\n /** Disabled state */\n disabled?: boolean\n /** Error state */\n error?: boolean\n /** If as = 'label' could provide for */\n htmlFor?: string\n /**\n * inverse\n */\n inverse?: boolean\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nTag.defaultProps = {\n display: 'inline-block',\n as: 'button',\n height: 40,\n}\n\nTagInput.defaultProps = {\n display: 'inline-block',\n height: 40,\n}\n\n// Prevent brakechanges\nTag.Input = TagInput\n\nTag.displayName = 'Tag'\n\nfunction TagInput(props: typeof TagInput.defaultProps & TagProps) {\n return <Tag as='input' {...props} />\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'height'>`](#/Миксины)\n */\nexport function Tag(props: typeof Tag.defaultProps & TagProps) {\n const {\n as,\n textProps,\n content,\n children,\n htmlFor,\n id,\n name,\n inputType,\n value,\n disabled,\n onChange,\n onClick,\n inverse,\n checked,\n ...restProps\n } = props\n\n const buttonProps = as === 'button' ? { type: 'button' } : {}\n const labelProps = as === 'label' ? { htmlFor } : {}\n const inputProps = as === 'input' ? { htmlFor: id || name } : {}\n\n return (\n <Styled.Root\n as={as === 'input' ? 'label' : as}\n inverse={inverse}\n checked={checked}\n disabled={disabled}\n onClick={as !== 'input' ? onClick : undefined}\n {...labelProps}\n {...buttonProps}\n {...inputProps}\n {...restProps}\n >\n {as === 'input' ? (\n <input\n id={id || name}\n name={name}\n type={inputType || 'checkbox'}\n tabIndex={0}\n onChange={(e) => {\n e.persist()\n\n return onChange && onChange(e)\n }}\n onClick={(e) => {\n e.persist()\n\n return onClick && onClick(e)\n }}\n defaultChecked={props.defaultChecked}\n checked={checked}\n value={value}\n disabled={disabled}\n hidden\n />\n ) : null}\n {children}\n <Styled.Text size={14} forwardedAs='span' color={checked && !inverse ? 'white' : 'mineShaft'} {...textProps}>\n {content}\n </Styled.Text>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const HeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n text-transform: uppercase;\n`\n\nexport const SubHeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n`\n\nexport const ControlsRoot = styled.div`\n display: flex;\n justify-content: space-between;\n border-top: 1px solid ${(props) => props.theme.colors.mercury};\n user-select: none;\n`\n\nexport const ControlsItem = styled.div`\n padding: 12px 20px;\n cursor: pointer;\n`\n\nexport const MultilevelItems = styled.div`\n max-height: 170px;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n`\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface HeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function Heading({ children, content }: HeadingProps) {\n return (\n <Styled.HeadingRoot>\n {children}\n <Text size='s' lineHeight='s' weight='bold' color='mineShaft'>\n {content}\n </Text>\n </Styled.HeadingRoot>\n )\n}\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface SubHeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function SubHeading({ children, content }: SubHeadingProps) {\n return (\n <Styled.SubHeadingRoot>\n {children}\n <Text size='s' lineHeight='s' color='mineShaft'>\n {content}\n </Text>\n </Styled.SubHeadingRoot>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport { MultiLevelControls } from './ContextMenu.Multilevel'\nimport * as Styled from './style'\n\nexport interface ControlsProps extends BaseProps {\n /** Cancel Text element props */\n cancel?: MultiLevelControls['cancel']\n /** Confirm Text element props */\n confirm?: MultiLevelControls['confirm']\n}\n\nexport function Controls({ cancel, confirm, className, style }: ControlsProps) {\n return (\n <Styled.ControlsRoot className={className} style={style}>\n {cancel ? (\n <Styled.ControlsItem className='cancel' role='button' onClick={cancel.onClick}>\n <Text size='m' lineHeight='s' content={cancel.content} color={cancel.color || 'silver'} />\n </Styled.ControlsItem>\n ) : null}\n {confirm ? (\n <Styled.ControlsItem className='confirm' role='button' onClick={confirm.onClick}>\n <Text size='m' lineHeight='s' content={confirm.content} color={confirm.color || 'accent'} />\n </Styled.ControlsItem>\n ) : null}\n </Styled.ControlsRoot>\n )\n}\n","import { PureComponent } from 'react'\nimport { ColorNames } from '../../theme/colors'\nimport { Spacer } from '../../components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { BaseProps, HEX, RGB, RGBA } from '../../shared/interfaces'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { ContextMenuProps } from './ContextMenu'\nimport { ContextMenuItemProps } from './Item'\n\nconst isOpen = css`\n &:after {\n cursor: default;\n user-select: none;\n content: '';\n display: block;\n position: fixed;\n width: 100%;\n height: 100%;\n z-index: ${(props) => props.theme.zIndex.tooltip};\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n }\n`\n\nconst disabledItem = css`\n background-color: ${(props) => props.theme.colors.alabaster};\n opacity: 0.6;\n cursor: default;\n`\n\nconst notDisabledItem = css`\n &:hover {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'style'].includes(prop),\n})<Pick<ContextMenuProps, 'isOpen' | 'hideOverlay'>>`\n display: inline-block;\n position: relative;\n [style*='cursor'] {\n cursor: default !important;\n }\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.isOpen && Boolean(props.hideOverlay) === false ? isOpen : null)}\n`\n\nexport const RootItem = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'data-id'].includes(prop),\n})<Pick<ContextMenuItemProps, 'active' | 'disabled'>>`\n display: block;\n padding: 8px 20px 7px;\n transition: background-color 0.4s ease-out;\n cursor: pointer;\n user-select: none;\n ${(props) =>\n props.active\n ? css`\n background-color: ${props.theme.colors.onahau};\n `\n : null}\n ${(props) => (props.disabled ? disabledItem : notDisabledItem)}\n`\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport * as Styled from './style'\n\nconst disabledHandler = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.preventDefault()\n e.stopPropagation()\n\n return false\n}\n\nexport interface ContextMenuItemProps extends BaseProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string\n active?: boolean\n disabled?: boolean\n onClick?: React.MouseEventHandler<HTMLDivElement>\n id?: string | number\n}\n\nContextMenuItem.displayName = 'ContextMenu.Item'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport function ContextMenuItem({\n children,\n id,\n content,\n active,\n disabled,\n onClick,\n className,\n style,\n}: ContextMenuItemProps) {\n return (\n <Styled.RootItem\n style={style}\n className={className}\n active={active}\n disabled={disabled}\n onClick={disabled ? disabledHandler : onClick}\n data-id={id}\n >\n {children}\n <Text size='s' lineHeight='s' color='mineShaft' content={content} />\n </Styled.RootItem>\n )\n}\n","/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { ContextMenuMultiLevel } from '../../components/ContextMenu.Multilevel'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Tooltip } from './../Tooltip'\nimport { ContextMenuItem } from './Item'\nimport * as Styled from './style'\nimport { tooltipStyles } from './tooltip-styles'\n\nexport interface ContextMenuProps extends BaseProps {\n /**\n * Children react node\n */\n children: React.ReactNode\n /** Indicates if button is active (e.g. when context menu is open) */\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Manually controled state */\n isOpen?: boolean\n /** On open menu callback */\n onOpen?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** On close menu callback */\n onClose?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Content */\n trigger?: React.ReactNode\n /** Properties for inner Tooltip component */\n tooltipProps?: Partial<Parameters<typeof Tooltip>[0]>\n /** Hide overlay for debug */\n hideOverlay?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenu extends PureComponent<ContextMenuProps, { isOpen: boolean }> {\n static Item = ContextMenuItem\n static MultiLevel = ContextMenuMultiLevel\n static displayName = 'ContextMenu'\n\n static defaultProps = {\n tooltipProps: {\n event: 'click',\n placement: 'left-start',\n offset: 2,\n showCloseButton: false,\n styles: tooltipStyles,\n },\n hideOverlay: false,\n }\n\n constructor(props: ContextMenuProps) {\n super(props)\n\n this.state = {\n isOpen: this.props.isOpen || false,\n }\n }\n\n getOpen = () => {\n const { isOpen } = this.props\n\n if (isOpen !== undefined) return isOpen\n\n return this.state.isOpen || false\n }\n\n openMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: true })\n\n const { onOpen } = this.props\n\n onOpen && onOpen(e)\n }\n\n closeMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: false })\n\n const { onClose } = this.props\n\n onClose && onClose(e)\n }\n\n toggleMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n const { openMenu, closeMenu } = this\n const isOpen = this.getOpen()\n\n e.persist()\n e.preventDefault()\n e.stopPropagation()\n\n isOpen ? closeMenu(e) : openMenu(e)\n\n return false\n }\n\n render() {\n const { className, tooltipProps = {}, trigger, children, hideOverlay } = this.props\n const isOpen = this.getOpen()\n\n if (children) tooltipProps.content = children\n\n return (\n <Styled.Root className={className} isOpen={isOpen} onClick={this.toggleMenu} hideOverlay={hideOverlay}>\n <Tooltip {...tooltipProps} open={isOpen}>\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\n <div onClick={this.closeMenu}>{trigger && cloneElement(trigger as any, { active: isOpen })}</div>\n </Tooltip>\n </Styled.Root>\n )\n }\n}\n","const zIndex = 100\n\nexport const tooltipStyles = {\n wrapper: {\n display: 'inline-block',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n minWidth: 200,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 99,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 4,\n border: '1px solid #E9E9E9',\n color: '#333',\n backgroundColor: '#fff',\n minHeight: 32,\n minWidth: 180,\n padding: '0',\n position: 'relative',\n display: 'block',\n overflow: 'hidden',\n },\n content: {\n display: 'block',\n },\n arrow: {\n display: 'none',\n },\n}\n","import { PossibleValues } from '../../mixins/responsive-property'\nimport { SizeInput } from '../../shared/enums/sizeInput'\n\nexport const chooseWidthValue = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && SizeInput[width]) return SizeInput[width]\n\n return 'auto'\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport InputMask from 'react-input-mask'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { chooseWidthValue } from '../../components/Input/helpers'\nimport { InputField } from '../../shared/interfaces'\nimport { InputProps } from './Input'\n\nexport const errorStyle = css`\n border: 1px solid ${(props) => props.theme.colors.pomegranate};\n background-color: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n`\n\nexport const disabledStyle = css`\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n &:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n`\n\nexport const focusStyle = css`\n &:focus {\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n`\n\nexport const roundedStyle = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const baseInputStyle = <T extends InputField>(props: T & { theme: DefaultTheme }) => css`\n box-sizing: border-box;\n display: block;\n background-color: ${props.theme.colors.white};\n border: solid 1px ${props.theme.colors.alto};\n width: auto;\n appearance: none;\n font-size: 16px;\n ${props.color ? color(props.color) : null};\n &::placeholder {\n ${props.placeholderColor ? color(props.placeholderColor) : null}\n }\n ${focusStyle}\n ${props.disabled ? disabledStyle : null}\n ${props.rounded ? roundedStyle : null}\n\n ${props.width\n ? property(chooseWidthValue(props.width), props.fluid && props.width !== 'auto' ? 'max-width' : 'width')\n : null}\n ${responsiveNamedProperty({\n sizes: {\n widthXS: props.widthXS,\n widthS: props.widthS,\n widthM: props.widthM,\n widthL: props.widthL,\n widthXL: props.widthXL,\n },\n cssProperty: props.fluid && props.width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: chooseWidthValue,\n })}\n ${props.fluid\n ? css`\n width: 100%;\n `\n : null}\n ${props.error ? errorStyle : null}\n`\n\nexport const Root = styled(InputMask).withConfig<InputProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n line-height: 24px;\n padding: 15px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import styled from 'styled-components'\nimport { baseInputStyle } from '../../components/Input/style'\nimport { TextareaProps } from './Textarea'\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype TextAreaHTMLAttributes = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'cols' | 'rows' | 'color'>\n\nexport interface TextareaProps extends BaseProps, InputField, TextAreaHTMLAttributes {\n /**\n * Specifies the visible width of a text area\n */\n cols?: number\n /**\n * Specifies the visible number of lines in a text area\n */\n rows?: number\n /**\n * Specifies the visible max number of lines in a text area\n */\n maxRows?: number\n /**\n * Specifies the maximum number of characters allowed in the text area\n */\n maxLength?: number\n /**\n * On change handler\n */\n onChange?(_event: React.ChangeEvent<HTMLTextAreaElement>): void\n /**\n * Value\n */\n value?: string\n /**\n * Autosize for textarea\n */\n autosize?: boolean\n}\n\nTextarea.defaultProps = {\n onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n rounded: true,\n color: 'mineShaft',\n placeholderColor: 'silver',\n cols: 20,\n maxRows: 30,\n rows: 2,\n autosize: true,\n}\n\nTextarea.displayName = 'Textarea'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n */\nexport function Textarea({\n cols,\n disabled,\n error,\n fluid,\n name,\n onChange,\n maxLength,\n placeholder,\n required,\n rounded,\n rows,\n tabIndex,\n value,\n className,\n style,\n children,\n autosize,\n maxRows,\n color,\n placeholderColor,\n ...props\n}: typeof Textarea.defaultProps & TextareaProps) {\n const [tRows, setRows] = useState(rows)\n const textarea = useRef() as React.MutableRefObject<HTMLTextAreaElement>\n const theme = useTheme()\n\n const { width = theme.defaultInputControlsWidth } = props\n\n const onChangeHandler: React.ChangeEventHandler<HTMLTextAreaElement> = useCallback(\n (event) => {\n const { target } = event\n\n if (target instanceof HTMLTextAreaElement && autosize) {\n const rect = target.getBoundingClientRect()\n\n if (target.scrollHeight > rect.height && tRows < maxRows) {\n setRows(tRows + 1)\n } else if (!target.value || target.value === '') {\n setRows(rows)\n }\n }\n\n if (typeof onChange === 'function') {\n onChange(event)\n }\n },\n [onChange, tRows, maxRows, autosize]\n )\n\n useEffect(() => {\n if (!textarea || !textarea.current) return\n\n const el = textarea.current\n const rect = el.getBoundingClientRect()\n if (el.scrollHeight > rect.height) {\n const lh = parseInt(getComputedStyle(el).lineHeight, 10)\n const numberOfLines = Math.floor(el.scrollHeight / lh)\n if (numberOfLines <= maxRows && numberOfLines > rows) {\n setRows(numberOfLines)\n }\n }\n }, [])\n\n return (\n <Styled.Root\n ref={textarea}\n className={className}\n style={style}\n onChange={onChangeHandler}\n cols={cols}\n disabled={disabled}\n maxLength={maxLength}\n name={name}\n placeholder={placeholder}\n required={required}\n rows={tRows}\n tabIndex={tabIndex}\n value={value}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n fluid={fluid}\n error={error}\n width={width}\n {...props}\n >\n {children}\n </Styled.Root>\n )\n}\n","export const INITIAL_MASK = '99999999999999999999'\n\nexport const DEFAULT_MASK = `+${INITIAL_MASK}`\n\nexport const RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH = 10\n\nexport const COUNTRY_DATA: [string, string, string, RegExp][] = [\n ['Россия', '7', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Россия', '8', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Украина', '380', '+999 (99) 999-99-99', /^(\\+?380)([0-9()\\-\\s]{8,20})$/],\n ['Беларусь', '375', '+999 (999) 99-99-99', /^(\\+?375)([0-9()\\-\\s]{8,20})$/],\n ['Узбекистан', '998', '+999 (99) 999-99-99', /^(\\+?998)([0-9()\\-\\s]{8,20})$/],\n ['Молдова', '373', '+999 (99) 99-99-99', /^(\\+?373)([0-9()\\-\\s]{8,20})$/],\n ['Азербайджан', '994', '+999 (99) 999-99-99', /^(\\+?994)([0-9()\\-\\s]{8,20})$/],\n ['Киргизия', '996', '+999 (999) 99-99-99', /^(\\+?996)([0-9()\\-\\s]{8,20})$/],\n ['Болгария', '359', '+999 (999) 99-99-99', /^(\\+?359)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99 (999) 99999999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['США', '1', '+9 (999) 999-99-99', /^(\\+?1)([0-9()\\-\\s]{8,20})$/],\n ['Армения', '374', '+999 (99) 99-99-99', /^(\\+?374)([0-9()\\-\\s]{8,20})$/],\n ['Израиль', '972', '+999 (99) 999-99-99', /^(\\+?972)([0-9()\\-\\s]{8,20})$/],\n ['Испания', '34', '+99 (999) 99-99-99', /^(\\+?34)([0-9()\\-\\s]{8,20})$/],\n ['Латвия', '371', '+999 (99) 999-999', /^(\\+?371)([0-9()\\-\\s]{8,20})$/],\n ['Бахрейн', '973', '+999 (99) 999-999', /^(\\+?973)([0-9()\\-\\s]{8,20})$/],\n ['Турция', '90', '+99 (999) 999-9999', /^(\\+?90)([0-9()\\-\\s]{8,20})$/],\n ['Литва', '370', '+999 (999) 99999', /^(\\+?370)([0-9()\\-\\s]{8,20})$/],\n ['Великобритания', '44', '+99 (99) 9999-9999', /^(\\+?44)([0-9()\\-\\s]{8,20})$/],\n ['Индия', '91', '+99 (99) 99-999999', /^(\\+?91)([0-9()\\-\\s]{8,20})$/],\n ['Черногория', '382', '+999 (99) 999-999', /^(\\+?382)([0-9()\\-\\s]{8,20})$/],\n ['Мексика', '52', '+99 (999) 999-99-99', /^(\\+?52)([0-9()\\-\\s]{8,20})$/],\n ['Польша', '48', '+99 999999999', /^(\\+?48)([0-9()\\-\\s]{8,20})$/],\n ['Италия', '39', '+99 (999) 999-99-99', /^(\\+?39)([0-9()\\-\\s]{8,20})$/],\n ['Таиланд', '66', '+99 999-999-999', /^(\\+?66)([0-9()\\-\\s]{8,20})$/],\n ['Грузия', '995', '+999 (999) 999-999', /^(\\+?995)([0-9()\\-\\s]{8,20})$/],\n ['Шри-Ланка', '94', '+99 (99) 9999999', /^(\\+?94)([0-9()\\-\\s]{8,20})$/],\n ['Китай', '86', '+99 (999) 9999-9999', /^(\\+?86)([0-9()\\-\\s]{8,20})$/],\n ['Кипр', '357', '+999 (99) 999999', /^(\\+?357)([0-9()\\-\\s]{8,20})$/],\n ['ОАЭ', '971', '+999 99-999-9999', /^(\\+?971)([0-9()\\-\\s]{8,20})$/],\n ['Франция', '33', '+33(999)999-999', /^(\\+?33)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99(9999)999-9999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['Япония', '81', '+99 99-9999-9999', /^(\\+?81)([0-9()\\-\\s]{8,20})$/],\n ['Австрия', '43', '+99(999)999-99999', /^(\\+?43)([0-9()\\-\\s]{8,20})$/],\n ['Южная Корея', '82', '+99(999)999-9999', /^(\\+?82)([0-9()\\-\\s]{8,20})$/],\n]\n\nexport const REGEXPS = {\n FILLED: /^\\+\\d.*$/,\n FROM_8: /^\\+?8(.*)$/,\n FROM_9: /^\\+?9(.*)$/,\n NOT_NUMBERS: /\\D/gim,\n}\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { InputState } from 'react-input-mask'\nimport { Input, InputProps } from '../Input/Input'\nimport {\n COUNTRY_DATA,\n DEFAULT_MASK,\n INITIAL_MASK,\n REGEXPS,\n RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH,\n} from './constants'\n\nconst onlyNumbers = (value = ''): string => value.replace(REGEXPS.NOT_NUMBERS, '')\n\nexport interface InputPhoneProps extends InputProps {\n /**\n * Settings for different country codes\n */\n countryData?: string[][]\n /**\n * Default field mask that is set when none of the countryData prop matches\n */\n defaultMask?: string\n /**\n * The default field mask when the phone field is empty is required to enable autocomplete in\n * the browser\n */\n initialMask?: string\n /** If event should return stripped phone value (not for redux forms) */\n stripValue?: boolean\n}\n\ninterface InputPhoneState {\n mask: string\n regexp?: RegExp | null\n}\n\n/**\n * Расширен:\n * - `InputProps`\n */\nexport class InputPhone extends PureComponent<typeof InputPhone.defaultProps & InputPhoneProps, InputPhoneState> {\n static displayName = 'Input.Phone'\n static defaultProps = {\n countryData: COUNTRY_DATA,\n defaultMask: DEFAULT_MASK,\n initialMask: INITIAL_MASK,\n placeholder: '+9 (999) 999-99-99',\n ...Input.defaultProps,\n }\n\n autocorrectOf8: boolean\n autocorrectOf9: boolean\n\n constructor(props: typeof InputPhone.defaultProps & InputPhoneProps) {\n super(props)\n\n this.autocorrectOf8 = true\n this.autocorrectOf9 = true\n\n const { mask } = this.getUpdates(props.value || '')\n\n this.state = { mask, regexp: null }\n }\n\n componentDidUpdate(nextProps: InputPhoneProps) {\n const { value } = this.props\n\n if (value !== nextProps.value) {\n this.change(value)\n }\n }\n\n getUpdates = (\n value: InputPhoneProps['value'],\n prevValue: InputPhoneProps['value'] = undefined\n ): {\n mask: string\n numbers: string\n startsFrom8: boolean\n startsFrom9: boolean\n regexp: RegExp | null\n } => {\n const { countryData, defaultMask, initialMask } = this.props\n const numbers = onlyNumbers(value as string)\n\n let mask = initialMask\n let regexp = null\n let startsFrom8 = false\n let startsFrom9 = false\n\n if (!numbers)\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n\n let isRussian = false\n\n for (let i = 0; i < countryData.length; i++) {\n if (numbers.startsWith(countryData[i][1])) {\n ;[, , mask, regexp] = countryData[i]\n isRussian = i === 0 || i === 1\n }\n }\n\n startsFrom8 = isRussian && REGEXPS.FROM_8.test(numbers) && this.autocorrectOf8\n startsFrom9 =\n (!mask || (numbers.length === RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH && prevValue === '')) &&\n this.autocorrectOf9 &&\n REGEXPS.FROM_9.test(numbers)\n\n if (startsFrom8) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf8 = false\n }\n\n if (startsFrom9) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf9 = false\n }\n\n if (!mask) {\n mask = defaultMask\n }\n\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n }\n\n change = (phone: InputPhoneProps['value']) => {\n const { mask } = this.getUpdates(phone)\n\n this.setState({ mask })\n }\n\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n e.persist()\n\n const { onChange, stripValue } = this.props\n\n if (onChange) {\n const _e = e\n if (stripValue) _e.target.value = onlyNumbers(e.target.value)\n onChange(_e)\n }\n }\n\n beforeMaskedValueChange = (newState: InputState, oldState: InputState) => {\n const { mask, numbers, startsFrom8, startsFrom9, regexp } = this.getUpdates(newState.value, oldState.value)\n\n this.setState({ mask, regexp })\n\n /**\n * For the correct caret position, when the user enters 9 in the phone field and it's replaced\n * by '+7 (9'\n */\n if (startsFrom9) {\n return {\n selection: numbers.length === 1 ? { start: 5, end: 5 } : newState.selection,\n value: newState.value.replace(REGEXPS.FROM_9, '+79$1'),\n }\n }\n\n if (startsFrom8) {\n return { selection: { start: 2, end: 2 }, value: newState.value.replace(REGEXPS.FROM_8, '+7$1') }\n }\n\n if (REGEXPS.FILLED.test(oldState.value) && numbers.length === 1) {\n return { selection: { start: 2, end: 2 }, value: newState.value }\n }\n\n if (!REGEXPS.FILLED.test(oldState.value) && REGEXPS.FILLED.test(newState.value)) {\n return {\n ...newState,\n selection: newState.selection ? { start: newState.selection.start + 1, end: newState.selection.end + 1 } : null,\n }\n }\n\n return newState\n }\n\n render() {\n const {\n /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */\n countryData,\n defaultMask,\n initialMask,\n stripValue,\n /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */\n ...props\n } = this.props\n const { mask, regexp } = this.state\n\n return (\n <Input\n {...props}\n beforeMaskedValueChange={this.beforeMaskedValueChange}\n mask={mask}\n dataset={{ 'data-regexp': `${regexp || ''}` }}\n onChange={this.handleChange}\n />\n )\n }\n}\n","import { InputState, MaskOptions } from 'react-input-mask'\nimport { useTheme } from 'styled-components'\nimport { InputPhone } from '../../components/Input.Phone'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype InputHTMLAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'color' | 'width'>\n\nexport interface InputProps extends BaseProps, InputField, InputHTMLAttributes {\n /**\n * Mask string. Format characters are:\n * * `9`: `0-9`\n * * `a`: `A-Z, a-z`\n * * `\\*`: `A-Z, a-z, 0-9`\n *\n * Any character can be escaped with backslash, which usually will appear as double backslash in JS strings.\n * For example, German phone mask with unremoveable prefix +49 will look like `mask=\"+4\\\\9 99 999 99\"` or `mask={\"+4\\\\\\\\9 99 999 99\"}`\n */\n mask?: string | Array<string | RegExp>\n /**\n * Character to cover unfilled editable parts of mask. Default character is \"_\". If set to null, unfilled parts will be empty, like in ordinary input.\n */\n maskChar?: string | null\n /**\n * Defines format characters with characters as keys and corresponding RegExp string as values. Default ones:\n * ```\n * {\n * \"9\": \"[0-9]\",\n * \"a\": \"[A-Za-z]\",\n * \"*\": \"[A-Za-z0-9]\"\n * }```\n */\n formatChars?: { [key: string]: string }\n /**\n * Show mask even in empty input without focus.\n */\n alwaysShowMask?: boolean\n /**\n * Use inputRef instead of ref if you need input node to manage focus, selection, etc.\n */\n inputRef?: React.Ref<HTMLInputElement>\n\n /**\n * In case you need to implement more complex masking behavior, you can provide\n * beforeMaskedValueChange function to change masked value and cursor position\n * before it will be applied to the input.\n */\n beforeMaskedValueChange?(\n _newState: InputState,\n _oldState: InputState,\n _userInput: string,\n _maskOptions: MaskOptions\n ): InputState\n /**\n * Input type\n */\n type?: string\n dataset?: Record<string, string>\n}\n\nInput.defaultProps = {\n rounded: true,\n type: 'text',\n color: 'mineShaft',\n mask: '',\n placeholderColor: 'silver',\n}\n\nInput.Phone = InputPhone\nInput.displayName = 'Input'\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Input(props: InputProps) {\n const theme = useTheme()\n\n const { width = theme.defaultInputControlsWidth } = props\n\n return <Styled.Root {...props} width={width} mask={props.mask || ''} />\n}\n","import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from '../../mixins/responsive-property'\nimport { display } from '../../mixins/display'\nimport { RadioGroupProps } from './Group'\nimport { RadioProps } from './Radio'\n\nconst sizeRadio = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n & > span {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n circle {\n fill: #ffeef0;\n stroke: #ffa3a3;\n }\n circle:nth-child(2) {\n fill: #ffa3a3;\n }\n }\n`\n\nexport const Root = styled.label.withConfig<RadioProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor'].includes(prop),\n})`\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n width: auto;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n circle:nth-child(2) {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n circle:nth-child(2) {\n opacity: 1;\n transform: scale(1);\n }\n ${(props) =>\n !props.error\n ? css`\n circle:not(:disabled) {\n stroke: #48a1e6;\n }\n circle:not(:disabled):last-child {\n fill: #48a1e6;\n }\n `\n : null}\n }\n }\n > span {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' ? sizeRadio(14) : null)}\n ${(props) => (props.size === 'medium' ? sizeRadio(16) : null)}\n ${(props) => (props.size === 'large' ? sizeRadio(18) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) =>\n props.fluid\n ? css`\n width: 100%;\n `\n : null}\n`\n\nexport const Group = styled.div.withConfig<RadioGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n","import cx from 'clsx'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { SizeInput } from '../../shared/enums/sizeInput'\nimport { Display } from '../../mixins/display'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'width'>\n\nexport interface RadioProps extends BaseProps, Display, RadioInputHtmlAttributes {\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Radio label\n */\n label?: string\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A Radio can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not Radio is checked\n */\n checked?: boolean\n defaultChecked?: boolean\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large'\n /**\n * Value\n */\n value?: string | number\n fluid?: boolean\n /**\n * Width of label. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n display: 'inline-flex',\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nRadio.Group = RadioGroup\nRadio.displayName = 'Radio'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Radio(props: typeof Radio.defaultProps & RadioProps) {\n const uncontrolled = props.checked === undefined\n const theme = useTheme()\n\n const {\n children,\n disabled,\n error,\n id,\n name,\n size,\n value,\n label,\n className,\n width = theme.defaultInputControlsWidth,\n style,\n fluid,\n display,\n ...anotherProps\n } = props\n\n const baseClassName = useClassname(Radio.displayName)\n const _className = cx(baseClassName, className, props.checked && !uncontrolled ? `${baseClassName}--checked` : null)\n const _labelClassName = `${baseClassName}__label`\n\n const inputProps = uncontrolled ? { defaultChecked: props.defaultChecked } : { checked: props.checked }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n error={error}\n htmlFor={id || name}\n size={size}\n width={width}\n display={display}\n fluid={fluid}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>\n <circle cx='10' cy='10' r='9' stroke='#727D8A' strokeWidth='2' fill='#fff' />\n <circle cx='10' cy='10' r='5' fill='#727D8A' />\n </svg>\n {(label || children) && <span className={_labelClassName}>{label || children}</span>}\n </Styled.Root>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { display } from '../../mixins/display'\nimport { errorStyle } from '../../components/Input/style'\nimport { responsiveProperty } from '../../mixins/responsive-property'\nimport { SelectProps } from './Select'\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\nconst spin = keyframes`\n to {\n transform: rotate(1turn);\n }\n`\n\nconst fluid = css`\n width: 100%;\n .Select {\n max-width: 100%;\n width: 100%;\n }\n`\n\nconst error = css`\n .Select-control {\n ${errorStyle}\n }\n`\n\nexport const Root = styled.span.withConfig<SelectProps>({\n shouldForwardProp: (prop) => ['children'].includes(prop),\n})`\n .Select {\n position: relative;\n }\n .Select,\n .Select div,\n .Select input,\n .Select span {\n box-sizing: border-box;\n }\n .Select.is-disabled > .Select-control {\n cursor: not-allowed;\n background-color: #f5f5f5;\n }\n .Select.is-disabled .Select-value-label {\n color: rgba(0, 0, 0, 0.16) !important;\n }\n .Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n }\n .Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n }\n .Select.is-clearable {\n .Select-placeholder,\n &.Select--single > .Select-control .Select-value {\n padding-right: 70px;\n }\n }\n .Select-control {\n background-color: ${(props) => props.theme.colors.white};\n border: solid 1px ${(props) => props.theme.colors.alto};\n border-radius: 4px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 50px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n .Select-control .Select-input:focus {\n outline: none;\n }\n .is-searchable.is-open > .Select-control {\n cursor: text;\n }\n .is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n .is-open > .Select-control .Select-arrow {\n transform: rotate(180deg);\n }\n .is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n }\n .is-focused:not(.is-open) > .Select-control {\n border: 1px solid ${(props) => props.theme.colors.accent};\n }\n .Select-placeholder,\n .Select--single > .Select-control .Select-value {\n bottom: 0;\n color: ${(props) => props.theme.colors.silver};\n left: 0;\n font-size: 16px;\n line-height: 50px;\n padding-left: 20px;\n padding-right: 35px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .has-value.Select--single > .Select-control .Select-value .Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n }\n .Select-input {\n height: 50px;\n padding-left: 20px;\n padding-right: 15px;\n vertical-align: middle;\n }\n .Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: 16px;\n margin: 0;\n outline: none;\n line-height: 30px;\n padding: 10px 0;\n -webkit-appearance: none;\n }\n .is-focused .Select-input > input {\n cursor: text;\n }\n .is-focused .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n }\n .Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n }\n .Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n }\n .Select-loading {\n animation: ${spin} 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ${(props) => props.theme.colors.alto};\n border-right-color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n position: relative;\n vertical-align: middle;\n }\n .Select-clear-zone {\n animation: ${fadeIn} 200ms;\n color: ${(props) => props.theme.colors.alto};\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n\n .Select-clear {\n position: relative;\n top: -1px;\n }\n }\n .Select-clear-zone:hover {\n color: #d0021b;\n }\n .Select-clear {\n display: inline-block;\n font-size: 0px;\n line-height: 1;\n color: transparent;\n overflow: hidden;\n width: 12px;\n height: 12px;\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz4KICA8cGF0aAogICAgZD0nTTExLjYgOS41TDE5LjIgMmMuNC0uNi40LTEuMyAwLTEuNy0uNC0uNC0xLjItLjQtMS42IDBMMTAgOCAyLjQuMkMyIDAgMS4yIDAgLjguMy40LjcuNCAxLjMuOCAybDcuNiA3LjUtOCA4Yy0uNS41LS41IDEuMiAwIDEuNy4yLjIuNC4zLjcuMy40IDAgLjcgMCAxLS4zbDgtOCA4IDhjLjMuMi42LjMgMSAuMy4yIDAgLjQgMCAuNy0uMy40LS41LjQtMS4yIDAtMS42bC04LTh6JwogICAgZmlsbD0nI0Q5RDlEOScKICAgIGZpbGxSdWxlPSdldmVub2RkJwogIC8+Cjwvc3ZnPgo=')\n no-repeat;\n background-size: cover;\n }\n .Select--multi .Select-clear-zone {\n width: 17px;\n }\n .Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n }\n .Select-arrow {\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNiOGI4YjgiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=')\n no-repeat;\n display: inline-block;\n background-size: 12px;\n height: 7px;\n width: 12px;\n position: relative;\n transition: 0.3s;\n transform: rotate(0deg);\n }\n .is-open .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n padding-left: 20px;\n }\n .Select--multi .Select-multi-value-wrapper {\n .Select-placeholder + .Select-input {\n margin-left: 0;\n }\n }\n .Select--single {\n .Select-multi-value-wrapper {\n display: block;\n width: 100%;\n }\n .Select-input .react-select-2--value {\n display: block;\n width: 100%;\n }\n }\n .Select .Select-aria-only {\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n }\n .Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.onahau};\n box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 270px;\n position: absolute;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n }\n .Select-menu {\n max-height: 226px;\n overflow-x: auto;\n overflow-y: auto;\n font-size: 16px;\n }\n .Select-option {\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n line-height: 30px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: pointer;\n display: block;\n padding: 10px 15px 10px 20px;\n transition: background 0.2s ease;\n }\n .Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n }\n .Select-option.is-selected {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-focused {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-disabled {\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n .Select-noresults {\n box-sizing: border-box;\n color: ${(props) => props.theme.colors.silver};\n cursor: default;\n display: block;\n padding: 10px 20px;\n }\n .Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n }\n .Select--multi.has-value .Select-input {\n margin-left: 5px;\n }\n .Select--multi .Select-value {\n background-color: ${(props) => props.theme.colors.nebula};\n background-color: ${(props) => tinycolor(props.theme.colors.nebula).setAlpha(0.1).toString()};\n border-radius: 4px;\n border: 1px solid ${(props) => props.theme.colors.onahau};\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 4px;\n margin-top: 4px;\n vertical-align: top;\n }\n .Select--multi .Select-value-icon,\n .Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n }\n .Select--multi .Select-value-icon {\n font-size: 1.5em;\n line-height: 100%;\n vertical-align: middle;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n\n .Select--multi .Select-value-label {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n cursor: default;\n padding: 2px 4px;\n line-height: 1;\n max-width: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .Select--multi a.Select-value-label {\n color: ${(props) => props.theme.colors.accent};\n cursor: pointer;\n text-decoration: none;\n }\n .Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n }\n .Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n border-right: 1px solid ${(props) => props.theme.colors.onahau};\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n font-size: 1.5em;\n line-height: 100%;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:hover,\n .Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n background-color: rgba(0, 113, 230, 0.08);\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n background-color: rgba(0, 126, 255, 0.24);\n }\n .Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n }\n .Select--multi.is-disabled .Select-value-icon:hover,\n .Select--multi.is-disabled .Select-value-icon:focus,\n .Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n }\n\n width: auto;\n ${(props) => (props.error ? error : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? fluid : null)}\n`\n","import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { SizeInput } from '../../shared/enums/sizeInput'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps, Display {\n fluid?: boolean\n error?: boolean\n /**\n * Width of select. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\n}\n\nSelect.defaultProps = {\n allowCreate: false,\n searchable: true,\n clearable: false,\n addLabelText: 'Добавить \"{label}\"?',\n backspaceToRemoveMessage: 'Нажмите клавишу Backspace, чтобы удалить {last label}',\n clearAllText: 'Очистить все',\n clearValueText: 'Очистить значение',\n noResultsText: 'Результатов не найдено',\n placeholder: 'Выбрать ...',\n searchPromptText: 'Введите поисковый запрос',\n loadingPlaceholder: 'Загрузка...',\n autoload: true,\n loadOptions: false,\n display: 'inline-block',\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: SelectProps) {\n const theme = useTheme()\n const {\n fluid,\n error,\n className,\n style,\n display,\n width = theme.defaultInputControlsWidth,\n ...reactSelectProps\n } = props\n const _className = useClassname(Select.displayName, className)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const SelectElement: typeof ReactSelect & typeof Creatable = props.loadOptions\n ? props.allowCreate\n ? AsyncCreatable\n : Async\n : props.allowCreate\n ? Creatable\n : ReactSelect\n\n return (\n <Styled.Root className={_className} style={style} error={error} fluid={fluid} width={width} display={display}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n","/* eslint-disable no-unused-vars */\nimport { useCallback } from 'react'\nimport { DefaultTheme, ThemeProvider as StyledThemeProvider } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\nimport { UiGlobalStyles } from './global-styled'\nimport { defaultTheme } from './themes'\n\ninterface ThemeProviderProps {\n theme: Partial<DefaultTheme> | ((topLevelTheme: DefaultTheme) => DefaultTheme)\n children: React.ReactNode\n}\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n const mergeTheme = useCallback(\n (topLevelTheme: DefaultTheme = defaultTheme): DefaultTheme => {\n const mergingTheme = props.theme\n\n if (typeof mergingTheme === 'function') {\n return mergingTheme(topLevelTheme)\n }\n\n if (typeof mergingTheme === 'object' && !Array.isArray(mergingTheme) && mergingTheme !== null) {\n return mergeDeepLeft(mergingTheme, topLevelTheme) as DefaultTheme\n }\n\n return topLevelTheme\n },\n [props.theme]\n )\n\n return (\n <StyledThemeProvider theme={mergeTheme}>\n <UiGlobalStyles />\n {props.children}\n </StyledThemeProvider>\n )\n}\n"],"names":["ColorNames","socialColors","Object","freeze","facebook","twitter","youtube","instagrammagenta","instagramblue","instagrampurple","instagramorange","instagramyellow","pinterest","googleplus","linkedin","vimeoblue","vimeogreen","vimeoorange","vimeopink","tumblr","snapchat","whatsappgreen","whatsappteal1","whatsappteal2","foursquarepink","foursquareblue","swarm","skypeblue","skypegreen","android","stumbleupon","flickrpink","flickrblue","yahoo","soundcloud","spotifygreen","spotifydarkgreen","dribbble","reddit","deviantart","pocket","quora","quorablue","slideshareorange","slideshareblue","telegram","fivehundredpx","listlyorange","listlyblue","vine","vk","ok","mailru","colors","white","black","tundora","paleSky","bostonBlue","atlantisBrightly","cinnabar","sail","bittersweet","turquoise","dodgerBlue","mantis","azure","bahamaBlue","shamrock","olive","copperRose","cyan","plum","hokeyPokey","monaLisa","mariner","heliotrope","dandelion","fruitSalad","fuchsiaBlue","persianGreen","watermelon","tropaz","lima","mintTulip","carnationPink","paleRose","deYork","peppermint","cornflowerBlue","colonialWhite","cherokee","supernova","picasso","bilobaFlower","linkWater","transparent","mineShaft","silver","alto","mercury","wildSand","whiteGray","alabaster","whiteLilac","atlantis","yellowOrange","mystic","pomegranate","oliveDrab","curious","orangePeel","nebula","seaNymph","chromeWhite","onahau","citrineWhite","coralReef","creemBrulee","frangipani","yourPink","periwinkleGray","baliHai","primary","accent","unitColors","profession","professionDark","camps","campsDark","courses","coursesDark","openLesson","openLessonDark","externat","externatDark","olympiad","olympiadDark","textbook","textbookDark","tutors","tutorsDark","training","trainingDark","mathematics","physics","informatics","chemistry","biology","english","russian","history","society","geography","developing","literature","intersubject","primarySchool","recommended","astronomy","ecology","technology","languages","art","physicalCulture","logic","businessLogic","rap","ikt","kids","fgos","blue","red","green","grey","darkgrey","lightgrey","superlightgrey","_colors","keys","map","colorName","css","_socialColors","_unitColors","UiGlobalStyles","createGlobalStyle","SizeInput","useFallbackTheme","contextTheme","useTheme","length","defaultTheme","useConfigPriority","minor","major","useMemo","minorConfig","majorConfig","Set","reduce","prioritized","key","finalVal","valid","value","Boolean","_path","_extends","assign","target","i","arguments","source","hasOwnProperty","call","apply","this","SvgArrowmodule","props","React","createElement","width","height","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","SvgChevronmodule","viewBox","DIR_MAP","top","right","bottom","left","injectDefaultTheme","config","theme","forwardedTheme","_objectSpread","default","CONDITIONS","MAX","maxWidth","breakpoints","point","MIN","minWidth","concat","RANGE","point1","point2","createMediaQuery","condition","_len","points","Array","_key","params","_len2","args","_key2","_props$theme$breakpoi","_props$theme","and","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xl","l","m","s","xs","xxs","xxxs","FONT_SIZES_LATIN","getLatinSizeMapByCssProperty","cssProperty","buildMediaQuery","property","screenQueryFunction","sizing","_sizeMap$value","sizeMap","size","o","t","includes","SCREEN_SIZE_MAP","XXS","XS","S","M","L","XL","SCREEN_SIZE_MAP_BY_DEVICE_ALIAS","desktop","tablet","mobile","getKey","endsWith","DEKSTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","desktopFirst","a","b","aKey","bKey","findIndex","el","responsiveNamedProperty","_ref","sizes","customSizeHandler","sort","undefined","filter","item","responsiveProperty","propName","_props$propName","prop","_cssProperty","isArray","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","_templateObject4","_templateObject6","_templateObject9","TRANSIENT_PROPS","SIZES","DEFAULT_SIZES","pseudoBaseStyles","defaultDisabledStyles","PRESET","filled","disabled","onColored","_ref2","outline","_ref3","_ref4","PRESET_DEFAULT","_ref5","_ref6","inverse","_ref7","extractSize","brandPresetUsed","Root","styled","button","withConfig","shouldForwardProp","attrs","componentId","borderRadius","Arrow","forwardRef","ref","_theme$components","components","onClick","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","preset","square","Icon","ArrowSvg","ChevronSvg","iconStyles","arrowDir","isMultiDir","values","rotateDeg","acc","transform","_jsx","Styled.Root","type","event","preventDefault","children","jsx","style","useClassname","componentName","originalClassName","cx","classNamePrefix","displayName","FORWARD_PROPS","PROPS_BY_SIZE","fontSize","fontSizeM","heightM","heightS","paddingLeft","paddingRight","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","getColor","color","_props$theme2","colorVal","textColor","fallbackColor","_color","STATIC_SIZES","WIDTHS","DEFAULT_ROUND_SIZES","baseStyles","display","fontWeight","lineHeight","basePadding","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","getDefaultRoundSizes","fluidStyles","background","danger","success","backgroundBefore","boxShadow","backgroundAfter","fontBold","base","clear","fontColor","tiny","saturate","lighten","toString","inverted","basic","colorFn","round","padding","paddingTop","paddingBottom","margin","marginTop","marginRight","marginBottom","marginLeft","fluid","paddingXS","paddingS","paddingM","paddingL","paddingXL","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeL","fontSizeXL","_ref12","heightXS","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","CheckIcon","Button","rounded","as","_as","_type","className","_className","content","onClickCapture","onMouseEnter","onMouseLeave","_PROPS_BY_SIZE","defaultProps","mergeDeepLeft","classNameContent","rel","_theme$utils","relBuilder","utils","_config$href","href","autoRel","to","linkProps","Link","secondary","leftIcon","rightIcon","icon","Styled.SpinnerIcon","Styled.CheckIcon","_jsxs","innerRef","evt","Styled.IconSlot","Styled.Content","_rect","_g","extraSmall","small","medium","large","extraLarge","BRAND_SIZES","inline","Input","input","Background","DefaultMask","x","y","rx","BrandMask","div","template","palette","bg","border","bgChecked","colorDisabled","borderHover","outlineFocus","templateBackground","borderChecked","bgHover","beforeBgHover","regular","error","tinycolor","setAlpha","label","Group","Checkbox","baseClassName","id","name","checked","defaultChecked","defaultInputControlsWidth","onChange","labelClassName","inputProps","htmlFor","Styled.Input","jsxs","_Fragment","Styled.Background","Styled.BrandMask","Styled.DefaultMask","Styled.Group","baseColors","zIndex","modal","tooltip","link","relStr","e","r","url","hostname","test","URL","window","location","push","join","mode","motherLightTheme","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme","vAlign","lm","pointerStyle","calcFontSize","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path2","_circle","IconNames","defaultIcons","book","blackBoard","clipRule","burger","eye","email","unsort","person","diamond","diamondFilled","diamondSolid","cy","infoInverse","list","login","logout","fire","cart","clock","clockFilled","discount","headphones","page","priceTag","phone","prof","star","settings","student","trophy","message","wallet","edit","copy","print","objective","fillRule","present","enableBackground","xmlSpace","coins","calendar","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","plusThin","play","reload","checkCircle","info","check","home","questionFilled","document","cancel","playPause","video","svg","dangerouslySetInnerHTML","__html","active","notDisabled","ActionBtn","H","PARAMS","h1","weight","h2","h3","h4","TextHeading","h","Text","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL","Spacer","wrapper","underline","pseudo","Anchor","_props$rel","_props$rel2","_props$rel3","rest","_display","_rel","_props$href","contentProps","Ul","ul","Li","li","TextEllipse","Component","constructor","super","getContent","chars","isEllipsed","state","text","isUnFolded","slice","leftChars","index","setTimeout","setState","getQuted","Styled.Ul","Styled.Li","quoted","toggle","componentDidUpdate","render","_this$props","moreText","lessText","showToggler","restProps","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","underlineLinksStyle","fontStyle","underlineLinks","textAlign","origClassName","title","CurrencyCodes","Heading","Ellipse","CURRENCY_MAP","ALL","AFN","ARS","AWG","AUD","AZN","BSD","BBD","BYR","BZD","BMD","BOB","BAM","BWP","BGN","BRL","BND","KHR","CAD","KYD","CLP","CNY","COP","CRC","HRK","CUP","CZK","DKK","DOP","XCD","EGP","SVC","EEK","EUR","FKP","FJD","FRF","GHC","GIP","GTQ","GGP","GYD","HNL","HKD","HUF","ISK","INR","IDR","IRR","IMP","ILS","JMD","JPY","JEP","KZT","KGS","LAK","LVL","LBP","LRD","LTL","MKD","MYR","MUR","MXN","MNT","MZN","NAD","NPR","ANG","NZD","NIO","NGN","KPW","NOK","OMR","PKR","PAB","PYG","PEN","PHP","PLN","QAR","RON","RUR","RUB","SHP","SAR","RSD","SCR","SGD","SBD","SOS","ZAR","KRW","LKR","SEK","CHF","SRD","SYP","TWD","THB","TTD","TRY","TRL","TVD","UAH","GBP","USD","UYU","UZS","VEF","VND","YER","ZWD","crossedOut","ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","from","Amount","PureComponent","renderCurrencySymbol","currencySymbol","position","currency","opacity","visibility","static","currencyCode","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","digitsAfterPoint","isHeader","onlyCurrency","majorPart","isNegative","numberParts","Math","abs","toFixed","split","majorPartFormatted","reverse","formattedValueStr","getCurrencySymbol","classNames","amountInner","pattern","sm","linearGenerator","withPlaceholder","WITH_PH_SIZE","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","backgroundImage","Badge","textProps","Container","Modal","isOpen","overlayClassName","contentClassName","overlayClassNameLocal","ReactModal","portalClassName","valign","blurredOverlay","ModalClose","appElement","closeTimeoutMS","contentLabel","onAfterOpen","onRequestClose","role","shouldCloseOnOverlayClick","Styled.Modal","bodyOpenClassName","body","HTMLElement","setAppElement","Close","Styled.ModalClose","zDepth","circle","Paper","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","Styled.Separator","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","radius","angleInDegrees","angleInRadians","PI","cos","sin","describeArc","startAngle","endAngle","start","end","diff","angleDiff","sweep","arcSweep","ProgressCircle","renderSvg","progress","strokeLineWidth","strokeBGWidth","progressStartAngle","thickness","center","bgStartAngle","bgEndAngle","describeArcProgress","describeArcBg","bgAngleDiff","componentDidMount","prevProps","prevProgress","prevSize","htmlContent","status","move","bgColor","isLoading","backgroundColor","Bar","_percent","parseInt","Styled.Bar","Circle","Segmented","Scrollable","scrollable","ts","scrollTop","scrollHeight","clientHeight","handleTouchStart","touches","clientY","handleTouchMove","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","floor","handleScroll","deltaY","detail","handleUpdate","hexToRgb","hex","result","exec","g","renderTrack","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","renderThumb","scrollableProps","_excluded2","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","thumbStyle","addEventListener","componentWillUnmount","removeEventListener","calculateShadowOffset","shadowHeight","diffH","withShadow","shadowColor","shadowOpacity","_excluded3","shadowOffset","Scrollbars","renderTrackVertical","nodeProps","renderTrackHorizontal","renderThumbHorizontal","renderThumbVertical","onUpdate","hideTracksWhenNotNeeded","node","autoHide","autoHideTimeout","autoHideDuration","autoHeight","withThemeScrollable","withTheme","Section","UiText","TextRoot","Styled.TextRoot","Styled.Text","spinner","fullscreen","sizeBuilder","getSize","Spinner","Label","Switcher","switcherWidth","switcherHeight","inactiveColor","inputRef","createRef","tabIndex","Styled.Switcher","Styled.Label","borderColor","activeTab","noBorder","Inner","Tab","themeKey","TabsTab","Styled.Tab","activeClassName","Tabs","classNameInner","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","close","WebkitAppearance","footer","borderTop","arrow","spread","options","tooltipDisplayBlockStyles","Tooltip","styles","tooltipStyle","mergeDeepRight","Floater","autoOpen","disableAnimation","disableFlip","disableHoverToClick","eventDelay","offset","placement","showCloseButton","wrapperOptions","component","themes","tooltipStylesRounend","cursor","textDecoration","TagInput","Tag","inputType","buttonProps","_onChange","_x","persist","_onClick","_x2","hidden","forwardedAs","HeadingRoot","SubHeadingRoot","ControlsRoot","ControlsItem","MultilevelItems","Styled.HeadingRoot","SubHeading","Styled.SubHeadingRoot","Controls","confirm","Styled.ControlsRoot","Styled.ControlsItem","ContextMenuMultiLevel","resetTimeout","onSelectItem","selectedItem","level","selectedItems","newSelectedItems","getCurrentConfig","levelId","_acc$items$find","items","find","reset","itemOnClickHandler","Error","currentTarget","dataset","preventClosing","stopPropagation","clearTimeout","tooltipProps","trigger","anotherProps","ContextMenu","onClose","heading","subheading","Styled.MultilevelItems","Item","controls","disabledItem","notDisabledItem","hideOverlay","RootItem","disabledHandler","ContextMenuItem","Styled.RootItem","getOpen","openMenu","onOpen","closeMenu","toggleMenu","open","cloneElement","MultiLevel","overflow","chooseWidthValue","errorStyle","disabledStyle","focusStyle","roundedStyle","baseInputStyle","placeholderColor","InputMask","textarea","Textarea","cols","maxLength","placeholder","required","rows","autosize","maxRows","tRows","setRows","useState","useRef","onChangeHandler","useCallback","HTMLTextAreaElement","rect","getBoundingClientRect","useEffect","current","lh","getComputedStyle","numberOfLines","console","log","DEFAULT_MASK","INITIAL_MASK","COUNTRY_DATA","REGEXPS","FILLED","FROM_8","FROM_9","NOT_NUMBERS","onlyNumbers","replace","InputPhone","_this","autocorrectOf8","autocorrectOf9","getUpdates","prevValue","countryData","defaultMask","initialMask","numbers","mask","regexp","startsFrom8","startsFrom9","isRussian","startsWith","change","handleChange","stripValue","_e","beforeMaskedValueChange","newState","oldState","selection","nextProps","Phone","sizeRadio","Radio","uncontrolled","_labelClassName","fadeIn","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","mergeTheme","topLevelTheme","mergingTheme","StyledThemeProvider"],"mappings":"+hCAGYA,EAAAA,QAAZA,gBAAAA,GAAYA,EAAAA,qBAAAA,QAAAA,oCAAAA,oBAAAA,oBAAAA,sCAAAA,gCAAAA,oCAAAA,oCAAAA,oCAAAA,wBAAAA,0BAAAA,sBAAAA,wBAAAA,0BAAAA,4BAAAA,wBAAAA,kBAAAA,sBAAAA,gCAAAA,gCAAAA,gCAAAA,kCAAAA,kCAAAA,gBAAAA,wBAAAA,0BAAAA,oBAAAA,4BAAAA,0BAAAA,0BAAAA,gBAAAA,0BAAAA,8BAAAA,sCAAAA,sBAAAA,kBAAAA,0BAAAA,kBAAAA,gBAAAA,wBAAAA,sCAAAA,kCAAAA,sBAAAA,gCAAAA,8BAAAA,0BAAAA,cAAAA,UAAAA,UAAAA,kBAAAA,gBAAAA,gBAAAA,oBAAAA,oBAAAA,0BAAAA,sCAAAA,sBAAAA,cAAAA,4BAAAA,wBAAAA,0BAAAA,kBAAAA,gBAAAA,0BAAAA,sBAAAA,gBAAAA,0BAAAA,cAAAA,cAAAA,0BAAAA,sBAAAA,oBAAAA,0BAAAA,wBAAAA,0BAAAA,4BAAAA,8BAAAA,0BAAAA,kBAAAA,cAAAA,wBAAAA,gCAAAA,sBAAAA,kBAAAA,0BAAAA,kCAAAA,gCAAAA,sBAAAA,wBAAAA,oBAAAA,8BAAAA,wBAAAA,wBAAAA,kBAAAA,cAAAA,oBAAAA,sBAAAA,wBAAAA,wBAAAA,0BAAAA,sBAAAA,8BAAAA,kBAAAA,4BAAAA,wBAAAA,oBAAAA,0BAAAA,kBAAAA,sBAAAA,4BAAAA,kBAAAA,8BAAAA,wBAAAA,4BAAAA,0BAAAA,sBAAAA,kCAAAA,oBAAAA,oBAAAA,kBAAAA,0BAAAA,kCAAAA,gBAAAA,wBAAAA,oBAAAA,4BAAAA,0BAAAA,kCAAAA,sBAAAA,8BAAAA,sBAAAA,8BAAAA,sBAAAA,8BAAAA,kBAAAA,0BAAAA,sBAAAA,8BAAAA,4BAAAA,oBAAAA,4BAAAA,wBAAAA,oBAAAA,oBAAAA,oBAAAA,oBAAAA,oBAAAA,wBAAAA,0BAAAA,0BAAAA,8BAAAA,gCAAAA,4BAAAA,wBAAAA,oBAAAA,0BAAAA,wBAAAA,YAAAA,oCAAAA,gBAAAA,gCAAAA,YAAAA,YAAAA,cAAAA,cAAAA,cAAAA,YAAAA,gBAAAA,cAAAA,sBAAAA,wBAAAA,kCA8KL,IAAMC,EAA8DC,OAAOC,OAAO,CACvFC,SAAU,UACVC,QAAS,UACTC,QAAS,UACTC,iBAAkB,UAClBC,cAAe,UACfC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,UAAW,UACXC,WAAY,UACZC,SAAU,UACVC,UAAW,UACXC,WAAY,UACZC,YAAa,UACbC,UAAW,UACXC,OAAQ,UACRC,SAAU,UACVC,cAAe,UACfC,cAAe,UACfC,cAAe,UACfC,eAAgB,UAChBC,eAAgB,UAChBC,MAAO,UACPC,UAAW,UACXC,WAAY,UACZC,QAAS,UACTC,YAAa,UACbC,WAAY,UACZC,WAAY,UACZC,MAAO,UACPC,WAAY,UACZC,aAAc,UACdC,iBAAkB,UAClBC,SAAU,UACVC,OAAQ,UACRC,WAAY,UACZC,OAAQ,UACRC,MAAO,UACPC,UAAW,UACXC,iBAAkB,UAClBC,eAAgB,UAChBC,SAAU,UACVC,cAAe,UACfC,aAAc,UACdC,WAAY,UACZC,KAAM,UACNC,GAAI,UACJC,GAAI,UACJC,OAAQ,YAGH,IAAMC,EAAwDnD,OAAOC,OAAO,CACjFmD,MAAO,UACPC,MAAO,UACPC,QAAS,UACTC,QAAS,UACTC,WAAY,UACZC,iBAAkB,UAClBC,SAAU,UACVC,KAAM,UACNC,YAAa,UACbC,UAAW,UACXC,WAAY,UACZC,OAAQ,UACRC,MAAO,UACPC,WAAY,UACZC,SAAU,UACVC,MAAO,UACPC,WAAY,UACZC,KAAM,UACNC,KAAM,UACNC,WAAY,UACZC,SAAU,UACVC,QAAS,UACTC,WAAY,UACZC,UAAW,UACXC,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,WAAY,UACZC,OAAQ,UACRC,KAAM,UACNC,UAAW,UACXC,cAAe,UACfC,SAAU,UACVC,OAAQ,UACRC,WAAY,UACZC,eAAgB,UAChBC,cAAe,UACfC,SAAU,UACVC,UAAW,UACXC,QAAS,UACTC,aAAc,UACdC,UAAW,UACXC,YAAa,cACbC,UAAW,UACXC,OAAQ,UACRC,KAAM,UACNC,QAAS,UACTC,SAAU,UACVC,UAAW,UACXC,UAAW,UACXC,WAAY,UACZC,SAAU,UACVC,aAAc,UACdC,OAAQ,UACRC,YAAa,UACbC,UAAW,UACXC,QAAS,UACTC,WAAY,UACZC,OAAQ,UACRC,SAAU,UACVC,YAAa,UACbC,OAAQ,UACRC,aAAc,UACdC,UAAW,UACXC,YAAa,UACbC,WAAY,UACZC,SAAU,UACVC,eAAgB,UAChBC,QAAS,UACTC,QAAS,UACTC,OAAQ,YAGH,IAAMC,EAA4D3H,OAAOC,OAAO,CACrF2H,WAAYzE,EAAO+B,UACnB2C,eAAgB1E,EAAO8B,KACvB6C,MAAO3E,EAAO6D,YACde,UAAW5E,EAAOoD,SAClByB,QAAS7E,EAAO8D,OAChBgB,YAAa9E,EAAOoC,eACpB2C,WAAY/E,EAAOqC,cACnB2C,eAAgBhF,EAAOsC,SACvB2C,SAAUjF,EAAOiC,SACjBiD,aAAclF,EAAOgC,cACrBmD,SAAUnF,EAAOmE,SACjBiB,aAAcpF,EAAOS,YACrB4E,SAAUrF,EAAOwC,QACjB8C,aAActF,EAAOuC,UACrBgD,OAAQvF,EAAO0C,UACf8C,WAAYxF,EAAOyC,aACnBgD,SAAUzF,EAAOmC,WACjBuD,aAAc1F,EAAOkC,OACrByD,YAAa3F,EAAO0D,WACpBkC,QAAS5F,EAAOyD,QAChBoC,YAAa7F,EAAOU,UACpBoF,UAAW9F,EAAOe,SAClBgF,QAAS/F,EAAOY,OAChBoF,QAAShG,EAAOS,YAChBwF,QAASjG,EAAOW,WAChBuF,QAASlG,EAAOc,WAChBqF,QAASnG,EAAOsE,QAChB8B,UAAWpG,EAAOiB,WAClBoF,WAAYrG,EAAOgB,MACnBsF,WAAYtG,EAAOkB,KACnBqF,aAAcvG,EAAOmB,KACrBqF,cAAexG,EAAOoB,WACtBqF,YAAazG,EAAOqB,SACpBqF,UAAW1G,EAAOsB,QAClBqF,QAAS3G,EAAOM,iBAChBsG,WAAY5G,EAAOU,UACnBmG,UAAW7G,EAAOS,YAClBqG,IAAK9G,EAAOuB,WACZwF,gBAAiB/G,EAAOgB,MACxBgG,MAAOhH,EAAOwB,UACdyF,cAAejH,EAAOyB,WACtByF,IAAKlH,EAAO0B,YACZyF,IAAKnH,EAAO2B,aACZyF,KAAMpH,EAAO4B,WACbyF,KAAMrH,EAAO6B,OACbyF,KAAMtH,EAAOuE,OACbgD,IAAKvH,EAAOuD,YACZiE,MAAOxH,EAAOoD,SACdqE,KAAMzH,EAAO6C,OACb6E,SAAU1H,EAAO4C,UACjB+E,UAAW3H,EAAO8C,KAClB8E,eAAgB5H,EAAO+C,UChWzB,IAAM8E,EAAUhL,OAAOiL,KAAK9H,GAAQ+H,KAAKC,GAAcC,EAAfA,mBAAuBD,EAAchI,EAAOgI,MACpF,IAAME,EAAgBrL,OAAOiL,KAAKlL,GAAcmL,KAAKC,GAAcC,EAAfA,mBAAuBD,EAAcpL,EAAaoL,MACtG,IAAMG,EAActL,OAAOiL,KAAKtD,GAAYuD,KAAKC,GAAcC,EAAfA,mBAAuBD,EAAcxD,EAAWwD,MAEzF,IAAMI,EAAiBC,EAAAA,kBAAH,CAAA,kDAAA,IAAA,IAAA,KAKrBR,EACAK,EACAC,GCbN,IAAYG,ECGL,SAASC,IACd,IAAMC,EAAeC,EAAAA,WAKrB,MAF0B,iBAAjBD,GAA8C,OAAjBA,GAAyB3L,OAAOiL,KAAKU,GAAcE,OAAS,EAEtEF,EAAeG,GCRtC,SAASC,EAAoCC,EAAoBC,GACtE,OAAOC,EAAOA,SAAC,KACb,IAAMC,EAAcH,MAAAA,EAAAA,EAAS,GAC7B,IAAMI,EAAcH,MAAAA,EAAAA,EAAS,GAG7B,MAFmB,IAAI,IAAII,IAAI,IAAIrM,OAAOiL,KAAKkB,MAAiBnM,OAAOiL,KAAKmB,MAE1DE,QAAAA,CAAQC,EAAaC,KACrC,IAAIC,EAKJ,OAHIC,EAAMP,EAAYK,MAAOC,EAAWN,EAAYK,IAChDE,EAAMN,EAAYI,MAAOC,EAAWL,EAAYI,IAE7CE,EAAMD,0BAAiBF,GAAvB,GAAA,CAAoCC,CAACA,GAAMC,IAAaF,IAC9D,MACF,CAACP,EAAOC,IAGb,SAASS,EAAMC,GACb,OAAOC,QAAQD,IAA2B,kBAAVA,GAAwC,iBAAVA,ECpBhE,IAAIE,EAEJ,SAASC,IAA2Q,OAA9PA,EAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,EAASQ,MAAMC,KAAML,YHDpSzB,IAAAA,EAAAA,aAAAA,EAAAA,aAAAA,EAAAA,aAAAA,EAAAA,iBAAAA,IAAAA,OGKZ,IAAI+B,EAAyCC,GACvBC,EAAMC,cAAc,MAAOb,EAAS,CACtDc,MAAO,GACPC,OAAQ,GACRC,KAAM,OACNC,MAAO,8BACNN,GAAQZ,IAAUA,EAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,0BACHC,OAAQ,eACRC,YAAa,IACbC,cAAe,QACfC,eAAgB,YCjBpB,IAAIvB,EAEJ,SAASC,IAA2Q,OAA9PA,EAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,EAASQ,MAAMC,KAAML,WAIhT,IAAImB,EAA6CZ,GAC3BC,EAAMC,cAAc,MAAOb,EAAS,CACtDiB,MAAO,6BACPH,MAAO,GACPC,OAAQ,GACRS,QAAS,mBACRb,GAAQZ,IAAUA,EAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,sECXA,IAAMO,EAAU,CACrBC,IAAK,EACLC,MAAO,GACPC,OAAQ,IACRC,KAAM,KCHD,SAASC,EACdC,GAEA,IAAMlD,EAAekD,EAAOC,MAK5B,IAAMC,EAFoB,iBAAjBpD,GAA8C,OAAjBA,GAAyB3L,OAAOiL,KAAKU,GAAcE,OAAS,EAEtDF,EAAeG,GAE3D,OAAAkD,EAAAC,QAAAD,EAAAC,QAAA,GACKJ,GADL,GAAA,CAEEC,MAAOC,ICFX,IAAMG,EAKG,CACLC,IALIC,EAAW,CAACC,EAAuCC,IACxCD,eAAAA,OAAAA,EAAYC,GAAS,IADtC,OAMEC,IAJIC,EAAW,CAACH,EAAuCC,IAAxC,eAAAG,OAAyEJ,EAAYC,GAAtG,OAKEI,MAAO,CAACL,EAAuCM,EAAgBC,cAC1DJ,EAASH,EAAaM,GAAeP,SAAAA,OAAAA,EAASC,EAAaO,KATjD,IACXR,EAEAI,EAUR,IAAMK,EACJ,SAACC,GAAD,IAAA,IAAAC,EAAA7C,UAAArB,OAAyFmE,EAAzF,IAAAC,MAAAF,EAAA,EAAAA,EAAA,EAAA,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAyFF,EAAzFE,EAAA,GAAAhD,UAAAgD,GAAA,OACCC,GACD,WAAA,IAAA,IAAAC,EAAAlD,UAAArB,OAAIwE,EAAJ,IAAAJ,MAAAG,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAID,EAAJC,GAAApD,UAAAoD,GAAA,OACC7C,IAAgC,IAAA8C,EAAAC,EAC/B,IAAMnB,EAAW,QAAG5B,EAAA,QAAAA,EAAAA,EAAMqB,aAAN,IAAA0B,SAAAA,EAAanB,uBAAhBkB,EAAAA,EAA+BzB,GAAMO,YAEtD,gBAAIc,GAAoD,mBAArBA,EAAOL,YAAAA,IAA4BK,EAAOL,UAAUrC,GAC9ErC,EAAPA,IAAA,CAAA,KAGKA,MAAP,CAAA,qBAAA,IAAA,IAAA,KACsB0E,EAAUT,KAAgBW,QAAAA,IAAWG,GAA8C,iBAAfA,EAAOM,IAAtC,OAAAhB,OAC5CU,EAAOM,KADqC,GAGrDrF,EAAAA,OAAOiF,OAQJK,IAAAA,EAAWb,EAAiBX,EAAWQ,MAAO,MAAO,MAKrDiB,IAAAA,EAAUd,EAAiBX,EAAWQ,MAAO,KAAM,KAKnDkB,IAAAA,EAAUf,EAAiBX,EAAWQ,MAAO,IAAK,KAKlDmB,IAAAA,GAAUhB,EAAiBX,EAAWQ,MAAO,IAAK,KAKlDoB,IAAAA,GAAWjB,EAAiBX,EAAWQ,MAAO,IAAK,MAKzD,IAAMqB,GAAelB,EAAiBX,EAAWC,IAAK,OAKtD,IAAM6B,GAAcnB,EAAiBX,EAAWC,IAAK,MAKrD,IAAM8B,GAAcpB,EAAiBX,EAAWK,IAAK,MAKrD,IAAM2B,GAAarB,EAAiBX,EAAWC,IAAK,KAKpD,IAAMgC,GAAatB,EAAiBX,EAAWK,IAAK,KAKpD,IAAM6B,GAAavB,EAAiBX,EAAWC,IAAK,KAKpD,IAAMkC,GAAaxB,EAAiBX,EAAWK,IAAK,KAKpD,IAAM+B,GAAazB,EAAiBX,EAAWC,IAAK,KAKpD,IAAMoC,GAAa1B,EAAiBX,EAAWK,IAAK,KAKpD,IAAMiC,GAAc3B,EAAiBX,EAAWC,IAAK,MAKrD,IAAMsC,GAAc5B,EAAiBX,EAAWK,IAAK,gBCxHrD,IAAMmC,GAAmD1R,OAAOC,OAAO,CAC5E0R,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,GACJC,IAAK,EACLC,KAAM,IAID,IAAMC,GAAwDpS,OAAOC,OAAO,CACjF0R,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM,IAGD,SAASE,GAAgCC,GAC9C,MAA2B,iBAAhBA,GAA4C,cAAhBA,EAAoCF,GACpEV,GAGF,SAASa,GACd5F,EACA6F,EAMAC,EACAC,GACwB,IAAAC,EACxB,IAAMC,EAAUP,GAA6BG,GAE7C,IAAMK,EACa,iBAAVlG,GAAuCA,QAA9CgG,EAA4BC,EAAQjG,UAAAA,IAAUA,EAAAA,EAAQA,EAExD,GAAwB,mBAAb6F,EAAyB,CAClC,IAAM7F,EAAQ6F,EAASK,EAAMH,GAC7B,OAAOtH,EAAAA,IAAP,CAAA,GAAA,IACIqH,GAAAA,+CACE9F,IAKR,OAAOvB,EAAPA,YACIqH,GAAAA,oDACED,EAAaK,EAAiC,iBAATA,EAAoB,GAAKH,MAAAA,EAAAA,EAAU,wCCXnEF,GACX,SAAC7F,EAADmG,EAAAC,GAAA,IAAwBT,+BAAxBQ,EAAAA,EAAmD,OAAnD,IAA2DJ,+BAA3DK,EAAAA,EAAmF,KAAnF,MACA,IACA,KACE,GAAqB,kBAAVpG,EACT,MAA8B,mBAAhB2F,EAA6BA,EAAY,GAAK,KAG9D,IAAMM,EAAUP,GAA6BC,GAE7C,MAA2B,mBAAhBA,EACFA,EAA6B,iBAAV3F,EAAqBA,EAAQiG,EAAQjG,IAG5C,iBAAVA,GAAsB,CAAC,OAAQ,UAAW,WAAWqG,SAASrG,GAChEvB,EAAAA,IAAP,CAAA,GAAA,IAAA,KACIkH,EAAgB3F,GAGfvB,MACHkH,CAAAA,GAAAA,IAAAA,GAAAA,KAAAA,EAAiC,iBAAV3F,GAAsBiG,EAAQjG,GAASiG,EAAQjG,GAASA,EAAQ+F,MAAAA,EAAAA,EAAU,MAIzG,IAAMO,GAA2E,CAC/EC,IAAKnC,GACLoC,GAAInC,GACJoC,EAAGlC,GACHmC,EAAGjC,GACHkC,EAAGhC,GACHiC,GAAIhC,IAGN,IAAMiC,GAA+F,CACnGC,QAASpC,GACTqC,OAAQtC,GACRuC,OAAQzC,IAmBV,IAAM0C,GAAUpH,GACVA,EAAIqH,SAAS,MAAc,KAC3BrH,EAAIqH,SAAS,KAAa,IAC1BrH,EAAIqH,SAAS,KAAa,IAC1BrH,EAAIqH,SAAS,MAAc,KAC3BrH,EAAIqH,SAAS,KAAa,IACvB,KAGT,IAAMC,GAAqB,CAAC,KAAM,IAAK,IAAK,IAAK,MACjD,IAAMC,GAAoB,CAAC,KAAM,IAAK,IAAK,IAAK,UAQnCC,GAAe,CAACC,EAAWC,KACtC,IAAMC,EAAOP,GAAOK,GACpB,IAAMG,EAAOR,GAAOM,GACpB,OAAKC,GAASC,EAECN,GAAmBO,WAAWC,GAAOA,IAAOH,IAC5CL,GAAmBO,WAAWC,GAAOA,IAAOF,KAEjC,EAAI,EALH,GA0CtB,IAAMG,GACXC,IAAA,IAA4BC,MAC1BA,EAD0BnC,YAE1BA,EAAc,OAFYI,OAG1BA,EAAS,KAHiBgC,kBAI1BA,EAJ0BC,KAK1BA,EAAOX,IALTQ,EAAA,MAOA,IACA,IACyBxU,OAAOiL,KAAKwJ,GAChCE,KAAKA,GACLzJ,KAAK2H,QACgB+B,IAAhBH,EAAM5B,GAIDN,GAFwB,mBAAtBmC,EAAmCA,EAAkBD,EAAM5B,IAAS4B,EAAM5B,GAErDP,EAhGxC,CAAoCO,GAC9BA,EAAKgB,SAAS,OACTZ,GAAgBC,IACdL,EAAKgB,SAAS,MAChBZ,GAAgBE,GACdN,EAAKgB,SAAS,KAChBZ,GAAgBG,EACdP,EAAKgB,SAAS,KAChBZ,GAAgBI,EACdR,EAAKgB,SAAS,KAChBZ,GAAgBK,EAEhBL,GAAgBM,GAZ3B,CAgGgFV,GAAOH,GAExE,OAERmC,OAAOjI,SACP1B,KACE4J,GACC1J,MACI0J,CAAAA,GAAAA,IAAAA,UAeDC,GACX,SAACC,EAADlC,EAAAC,GAAA,IAAmBT,+BAAnBQ,EAAAA,EAAgD,KAAhD,IAAsDJ,+BAAtDK,EAAAA,EAA8E,KAA9E,MACA,IAECtF,IAAe,IAAAwH,EACd,IAAMC,UAAkCzH,EAAAA,EAAMuH,UAAAA,QAAa,KAC3D,IAAMG,EAAe7C,MAAAA,EAAAA,EAAe0C,EACpC,IAAKE,EAAM,OAAO,KAElB,GAAIjF,MAAMmF,QAAQF,IAAyB,IAAhBA,EAAKrJ,OAAc,CAC5C,IAAO4H,EAASC,EAAQC,GAAUuB,EAClC,OAAO9J,EAAPA,IAAA,CAAA,GAAA,IAAA,IAAA,IACIoI,GAAgCC,SAAhCD,CADJ6B,KAAAA,GAAAC,UAAA,CAAA,eAAA,KAAA,iBAEMH,EAAoC,iBAAZ1B,EAAP,GAAAhE,OAAiCgE,GAAUf,OAAAA,MAAAA,EAAAA,EAAU,IAAOe,GAE/ED,GAAgCE,QAAhCF,CAJJ+B,KAAAA,GAAAD,EAAArG,QAAA,CAAA,eAAA,KAAA,iBAKMkG,EAAmC,iBAAXzB,EAAP,GAAAjE,OAAgCiE,GAAhCjE,OAAyCiD,MAAAA,EAAAA,EAAU,IAAOgB,GAE7EF,GAAgCG,QAAhCH,CAPJgC,KAAAA,GAAAF,EAAArG,QAAA,CAAA,eAAA,KAAA,iBAQMkG,EAAmC,iBAAXxB,YAAyBA,GAAhClE,OAAyCiD,MAAAA,EAAAA,EAAU,IAAOiB,IAKnF,GAAI1D,MAAMmF,QAAQF,IAAyB,IAAhBA,EAAKrJ,QAAwC,iBAAjBsJ,EAA2B,CAChF,IAAOtD,EAAIC,EAAGC,EAAGC,EAAGC,EAAIC,GAAOgD,EAC/B,OAAO9J,EAAPA,IAAA,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IACI6H,GAAgBM,IAAhBN,CADJwC,KAAAA,GAAAH,EAAArG,QAAA,CAAA,iBAAA,KAAA,mBAEQkG,EAA+B,iBAAPtD,YAAqBA,GAA5BpC,OAAiCiD,MAAAA,EAAAA,EAAU,IAAOb,GAEvEoB,GAAgBK,GAAhBL,CACIkC,KAAAA,GAAAA,EAAAA,QAAAA,CAAAA,iBAAAA,KAAAA,mBAAAA,EAA8B,iBAANrD,EAAoBA,GAAAA,OAAAA,GAAIY,OAAAA,MAAAA,EAAAA,EAAU,IAAOZ,GAEnEmB,GAAgBI,GAAhBJ,CAPNyC,KAAAA,GAAAJ,EAAArG,QAAA,CAAA,iBAAA,KAAA,mBAQQkG,EAA8B,iBAANpD,EAAP,GAAAtC,OAA2BsC,GAA3BtC,OAA+BiD,MAAAA,EAAAA,EAAU,IAAOX,GAEnEkB,GAAgBG,GAAhBH,6DACEkC,EAA8B,iBAANnD,EAAoBA,GAAAA,OAAAA,UAAIU,MAAAA,EAAAA,EAAU,IAAOV,GAEnEiB,GAAgBE,IAAhBF,CACEkC,KAAAA,GAAAA,UAAAA,CAAAA,iBAAAA,KAAAA,mBAAAA,EAA+B,iBAAPlD,EAAqBA,GAAAA,OAAAA,GAAKS,OAAAA,MAAAA,EAAAA,EAAU,IAAOT,GAErEgB,GAAgBC,KAAhBD,CAhBN0C,KAAAA,GAAAL,UAAA,CAAA,iBAAA,KAAA,mBAiBQH,EAAgC,iBAARjD,YAAsBA,GAA7BzC,OAAmCiD,MAAAA,EAAAA,EAAU,IAAOR,IAK/E,MAAoB,iBAATgD,EACF9J,EAAAA,IAAP,CAAA,GAAA,IAAA,GAAA,KACI+J,EAAiBD,EAAOxC,MAAAA,EAAAA,EAAU,MAIpB,iBAATwC,EACF9J,EAAAA,IAAP,CAAA,GAAA,IAAA,KACI+J,EAAiBD,GAIhB,OC1QJ,IAAMU,GAAwC,CACnD,SACA,SACA,YACA,OACA,MACA,QACA,QACA,SACA,OACA,UACA,UACA,eACA,mBCRF,IAAMC,GAAyC,CAAE/D,EAAG,GAAIC,EAAG,GAAIE,GAAI,IAEnE,IAAM6D,GAAiD,CAAEhE,EAAG,GAAIC,EAAG,GAAIE,GAAI,IA6B3E,IAAM8D,GAAN,oFAOA,IAAMC,GAAN,6LASA,IAAMC,GAAS,CACbC,OAAQ,CACNjH,QAAS7D,EAAAA,IACL,CAAA,GAAA,KAAAoJ,IAAA,IAAC1F,MAAEA,EAAFqH,SAASA,GAAV3B,EAAA,MAAA,+BAAA/E,OACoB0G,EAAWrH,EAAM3L,OAAO,qBAAuB2L,EAAM3L,OAAO,sBACvEgT,sBAAAA,OAAAA,EAAWrH,EAAM3L,OAAO,oBAAsB2L,EAAM3L,OAAO,0BAEhE4S,sCAAAA,OAAAA,GAEkBjH,yDAAAA,OAAAA,EAAM3L,OAAO,oBAI/B4S,wDAAAA,OAAAA,GAEwBjH,+DAAAA,OAAAA,EAAM3L,OAAO,oBAGvCgT,0BAAAA,OAAAA,EACI,mBAYsBrH,+SAAAA,OAAAA,EAAM3L,OAAO,iCACxB2L,8BAAAA,OAAAA,EAAM3L,OAAO,2BA7B9B,oCAAA,eAmCJiT,UAAWhL,EAAAA,IACP,CAAA,GAAA,KAAAiL,IAAA,IAACvH,MAAEA,EAAFqH,SAASA,GAAVE,EAAA,MACoBvH,+BAAAA,OAAAA,EAAM3L,OAAO,sBADjC,sBAAAsM,OAES0G,EAAWrH,EAAM3L,OAAO,oBAAsB2L,EAAM3L,OAAO,yEAEhE4S,GAJJ,yDAAAtG,OAMsBX,EAAM3L,OAAO,2EAG/B4S,GATJ,+DAAAtG,OAW4BX,EAAM3L,OAAO,qDAGvCgT,EACI,mBAfN,+KAAA,gBA4BNG,QAAS,CACPrH,QAAS7D,EAAAA,IACL,CAAA,GAAA,KAAAmL,IAAA,IAACzH,MAAEA,EAAFqH,SAASA,GAAVI,EAAA,MAAA,6DAAA9G,OAES0G,EAAWrH,EAAM3L,OAAO,mBAAqB2L,EAAM3L,OAAO,0BAE/D4S,sCAAAA,OAAAA,GAGAI,mEAAAA,OAAAA,EAAWrH,EAAM3L,OAAO,mBAAqB2L,EAAM3L,OAAO,0BAI1D4S,gDAAAA,OAAAA,GAEwBjH,+DAAAA,OAAAA,EAAM3L,OAAO,oBAGvCgT,0BAAAA,OAAAA,EACI,mBAMsBrH,+IAAAA,OAAAA,EAAM3L,OAAO,sBAMb2L,mKAAAA,OAAAA,EAAM3L,OAAO,iCACxB2L,8BAAAA,OAAAA,EAAM3L,OAAO,2BA9B9B,oCAAA,eAoCJiT,UAAWhL,EAAAA,IACP,CAAA,GAAA,KAAAoL,IAAA,IAAC1H,MAAEA,EAAFqH,SAASA,GAAVK,EAAA,MAAA,6DAAA/G,OAES0G,EAAWrH,EAAM3L,OAAO,2BAA6B2L,EAAM3L,OAAO,2BAF3E,sCAAAsM,OAIIsG,GAJJ,mEAAAtG,OAOI0G,EAAWrH,EAAM3L,OAAO,2BAA6B2L,EAAM3L,OAAO,0BAPtE,gDAAAsM,OAWIsG,GAXJ,+DAAAtG,OAa4BX,EAAM3L,OAAO,oBAGvCgT,0BAAAA,OAAAA,EACI,mBAMsBrH,+IAAAA,OAAAA,EAAM3L,OAAO,sBAP/B,8BAAAsM,OAQOX,EAAM3L,OAAO,4BAxB9B,mHAAA,iBAoCR,IAAMsT,GAAiB,CACrBP,OAAQ9K,EAAAA,IACJ,CAAA,GAAA,KAAAsL,IAAA,IAAC5H,MAAEA,EAAFqH,SAASA,GAAVO,EAAA,MAAA,6BAAAjH,OACoBX,EAAM3L,OAAOC,MADjC,sFAAAqM,OAIUX,EAAM3L,OAAOuE,OAJvB,2DAAA+H,OAOsBX,EAAM3L,OAAOuE,OAPnC,iEAAA+H,OAUYX,EAAM3L,OAAOC,MAVzB,uHAAAqM,OAgBE0G,EAAWH,GAAwB,GAhBrC,aAmBJM,QAASlL,EAAAA,IACL,CAAA,GAAA,KAAAuL,IAAA,IAAC7H,MAAEA,EAAFqH,SAASA,GAAVQ,EAAA,MAAA,6EAAAlH,OAE8BX,EAAM3L,OAAO8C,KAF3C,oCAAAwJ,OAIUX,EAAM3L,OAAO8C,KAJvB,2DAAAwJ,OAOsBX,EAAM3L,OAAOuE,OAPnC,iEAAA+H,OAUYX,EAAM3L,OAAOC,MAVzB,uHAAAqM,OAgBE0G,EAAWH,GAAwB,GAhBrC,aAmBJY,QAASxL,EAAAA,IACL,CAAA,GAAA,KAAAyL,IAAA,IAAC/H,MAAEA,EAAFqH,SAASA,GAAVU,EAAA,MAAA,6EAAApH,OAE8BX,EAAM3L,OAAOC,MAF3C,oCAAAqM,OAIUX,EAAM3L,OAAOC,MAJvB,2DAAAqM,OAOsBX,EAAM3L,OAAOC,MAPnC,iEAAAqM,OAUYX,EAAM3L,OAAOuE,OAVzB,wGAAA+H,OAgBE0G,EAAWH,GAAwB,GAhBrC,cAqBN,IAAMc,GAAc,CAACrJ,EAAwD6E,KAC3E,IAAMzD,EAASpB,EAAMsJ,gBAAkBlB,GAAQC,GAE/C,MAAO,CAAC,IAAK,IAAK,MAAM9C,SAA0BvF,EAAMoF,MAAjD,GAAApD,OACA6C,EADA,MAAA7C,OACgBZ,EAAwBpB,EAAMoF,MACjDkC,OAAAA,GAAmB,OAAQzC,IAkB1B,IAAM0E,GAAOC,EAAAA,QAAOC,OACxBC,WAAW,CACVC,kBAAoBlC,IACVU,GAAgB5C,SAA6BkC,KAGxDmC,MAAMzI,GANQuI,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IA/QjB,qdAgQuBxJ,GACjBA,EAAMsJ,gBACJtJ,EAAM6I,SAAW7I,EAAM2I,UAAkBH,GAAOK,QAAQF,UACxD3I,EAAM6I,UAAY7I,EAAM2I,UAAkBH,GAAOK,QAAQrH,SACxDxB,EAAM6I,SAAW7I,EAAM2I,UAAkBH,GAAOC,OAAOE,UAErDH,GAAOC,OAAOjH,QAGnBxB,EAAMmJ,QAAgBH,GAAeG,QACrCnJ,EAAM6I,QAAgBG,GAAeH,QAElCG,GAAeP,SAYnBzI,GAAUqJ,GAAYrJ,EAAO,YAC7BA,GAAUqJ,GAAYrJ,EAAO,WAC7BA,GAAD,kBAAAgC,OAA6BhC,EAAM8J,aAAnC,iCCtREC,IAAAA,GAAQC,EAAUA,YAAAA,CAAiChK,EAAOiK,KAAQ,IAAAC,EACtE,IAAM7I,EAAQpD,IAEd,IAAgDK,EAAAA,UAA8B+C,EAAAA,EAAM8I,kBAAAA,aAAND,EAAkBH,MAAO/J,IAAjGoF,KAAEA,EAAO,IAATgF,QAAcA,GAApBC,EAAgCC,EAAhCC,EAAA/I,QAAA6I,EAAAG,IAEA,IAAIlB,EAAmC,UAAjBjI,EAAMoJ,OACM,iBAAvBH,EAAYG,SAAqBnB,EAAyC,UAAvBgB,EAAYG,QAE1E,IAAMX,EAAeQ,EAAYI,OAAS,MAAQ,MAClD,IAAMC,EAAOrB,EAAkBsB,EAAWC,EAC1C,IAAMC,EPhBD,CAAyF/D,IAAA,IAA/DhG,IAAEA,EAAFC,MAAOA,EAAPC,OAAcA,EAAdC,KAAsBA,GAAyC6F,EAC9F,IAAMgE,EAAW,CACfhK,IAAKA,IAAQE,EACbD,MAAOA,IAAUE,EACjBD,OAAQA,IAAWF,EACnBG,KAAMA,IAASF,GAGjB,IAAMgK,EAAazY,OAAO0Y,OAAOF,GAAU3D,QAAQlI,IAAoB,IAAVA,IAAgBd,OAAS,EAEtF,IAAM8M,EACJ3Y,OAAOiL,KAAKuN,GAAUlM,QAAAA,CAAQsM,EAAKpM,IAASgM,EAAShM,GAAOoM,EAAMrK,EAAQ/B,GAAOoM,GAAM,IAAMH,EAAa,EAAI,GAEhH,MAAO,CACLI,2BAAqBF,EAAZ,QAAAlJ,OAA4BgJ,EAAa,oBAAsB,MAdrE,COgB+BV,GAUpC,OACEe,EAAAA,IAACC,0BACKhB,GADN,GAAA,CAEEL,IAAKA,EACLsB,KAAK,SACLnG,KAAMA,EACN0E,aAAcA,EACdR,gBAAiBA,EACjBc,QAhBiBoB,IACnBA,EAAMC,iBAEDnB,EAAY5B,UAA+B,mBAAZ0B,GAClCA,EAAQoB,IAKVE,SASEL,EAAAM,IAAA,OAAA,CAAAD,SAAOL,MAACV,EAAD,CAAMiB,MAAOd,YC1CnB,SAASe,GAAaC,EAAuBC,GAClD,IAAM1K,EAAQpD,IACd,OAAO+N,oBAAM3K,EAAM4K,gBAAmBH,KAAAA,OAAAA,GAAiBC,GD6CzDhC,GAAMmC,YAxCiB,QERhB,IAAMC,GAAqC,CAChD,KACA,KACA,SACA,MACA,MACA,OACA,OACA,WACA,YACA,QACA,OACA,UACA,iBACA,eACA,eACA,YAGK,IAAMC,GAAoE,CAC/E/H,EAAG,CACDgI,SAAU,IACVC,UAAW,IACXlM,OAAQ,GACRmM,QAAS,GACTC,QAAS,GACTC,YAAa,GACbC,aAAc,GACdC,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBxI,EAAG,CACD+H,SAAU,IACVjM,OAAQ,GACRqM,YAAa,GACbC,aAAc,GACdC,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBvI,EAAG,CACD8H,SAAU,IACVjM,OAAQ,GACRqM,YAAa,GACbC,aAAc,GACdC,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBtI,GAAI,CACF6H,SAAU,IACVjM,OAAQ,GACRqM,YAAa,GACbC,aAAc,GACdC,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,KC/CZ,IAAMC,GAAW,CAACC,EAAmBhN,IACrB,iBAAVgN,IAAuBA,EAAMzH,SAAS,MAAQyH,EAAMzH,SAAS,QAAgByH,EAEpFhN,EAAMqB,MAAM3L,OAAOsX,GAAehN,EAAMqB,MAAM3L,OAAOsX,GAElDA,EAGIA,IAAAA,GACX,SAACA,EAAD3H,GAAA,IAAqBR,+BAArBQ,EAAAA,EAAqD,QAArD,MACA,IACCrF,IAAmC,IAAA+C,EAAAkK,EAClC,IAAMC,EAAWF,IAAShN,MAAAA,GAAA,QAAAA,EAAAA,EAAOqB,aAAP,IAAA0B,SAAAA,EAAcoK,aAAanN,MAAAA,GAApC,QAAAiN,EAAoCjN,EAAOqB,iBAA3C4L,OAAAA,EAAoCA,EAAcG,eACnE,IAAMC,EAASN,GAASG,EAAwBlN,GAEhD,MAA2B,mBAAhB6E,EACFA,EAAYwI,GAGd1P,EAAAA,IAAP,CAAA,GAAA,IAAA,KACIkH,EAAgBwI,KCpCxB,IAAIjO,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCUhT,IAAM2I,GAA0C,CAC9C/D,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,IAGN,IAAM8I,GAAmC,CAAC,IAAK,IAAK,IAAK,MAEzD,IAAMC,GAA2C,CAC/ClJ,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,GAAI,KAGN,IAAMgJ,GAAwD,CAC5DnJ,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,IAGN,IAAMiJ,GAAa9P,EAAHA,IAAA,CAAA,GAAA,KACXqC,GACUA,kBAAAA,OAAAA,EAAM0N,uCACF1N,EAAM2N,WAFrB,0BAAA3L,OAGiBhC,EAAM8J,aACR9J,wBAAAA,OAAAA,EAAM4N,WACV5N,oBAAAA,OAAAA,EAAM6N,YALjB,qmBAAA7L,OA+BiBhC,EAAM8N,UAAY,OAAS,wBAKhD,IAAMC,GAAUC,EAAHA,UAAb,CAAA,qEASA,IAAMC,GAAOD,EAAHA,UAAV,CAAA,oCAMA,IAAME,GAAuBvQ,EAAHA,IAAA,CAAA,4NAAA,wCAYXoQ,IAIf,IAAMI,GAAYhO,GACF,SAAVA,EAAyB,OACR,iBAAVA,GACU,kBAAVA,EAD2BA,EAGlCA,GAASoN,GAAOpN,GAAeoN,GAAOpN,GAEnC,OAGT,IAAMiO,GAAqC,SAAChJ,EAADC,GAAA,IAAOJ,+BAAPI,EAAAA,EAAgB,KAAhB,OAAyB1H,EAAzBA,uFAChCyH,EAAiBH,EAChBG,EAAiBH,EACd,IAAQG,EAAkBH,EACxB,IAAQG,EAAkBH,EAC9B,IAAQG,EAAkBH,IAGvC,IAAMoJ,GAA4B,IAAM1Q,EAAAA,IAAxC,CAAA,kCAKA,IAAM2K,GAAN,oFAOA,IAAME,GAAS,CACbC,OAAQ,CACNjH,QAAS7D,EAAAA,IACJqC,CAAAA,GAAAA,KAAAA,IACD,IAAIsO,EAAatO,EAAMqB,MAAM3L,OAAO,0BAChCsK,EAAMpK,QAAO0Y,EAAatO,EAAMqB,MAAM3L,OAAO,uBAC7CsK,EAAMuO,SAAQD,EAAatO,EAAMqB,MAAM3L,OAAO,uBAC9CsK,EAAMwO,UAASF,EAAatO,EAAMqB,MAAM3L,OAAO,yBAC/CsK,EAAM0I,WAAU4F,EAAatO,EAAMqB,MAAM3L,OAAO,sBAEpD,IAAIsX,EAAQhN,EAAMqB,MAAM3L,OAAO,2BAC3BsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,qBAE/C,IAAI+Y,EAAmBzO,EAAMqB,MAAM3L,OAAO,oBAG1C,OAFIsK,EAAMpK,QAAUoK,EAAMuO,SAAQE,EAAmBzO,EAAMqB,MAAM3L,OAAO,wBAExE,iCAAAsM,OACsBsM,EADtB,wBAAAtM,OAEWgL,EAFX,4CAAAhL,OAKMsG,GACkBmG,oCAAAA,OAAAA,EAIlBnG,+EAAAA,OAAAA,0DAC8BtI,EAAMqB,MAAM3L,OAAO,oBAXvD,yDAAAsM,OAgBKhC,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QASxC,8NAzBR,iBA8BJpF,UAAWhL,EAAAA,IACNqC,CAAAA,GAAAA,KAAAA,IACD,IAAIsO,EAAatO,EAAMqB,MAAM3L,OAAO,sBAChCsK,EAAM0I,WAAU4F,EAAatO,EAAMqB,MAAM3L,OAAO,wBAEpD,IAAIsX,EAAQhN,EAAMqB,MAAM3L,OAAO,4BAI/B,OAHIsK,EAAMwO,UAASxB,EAAQhN,EAAMqB,MAAM3L,OAAO,kBAC1CsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,6BAE/C,iCAAAsM,OACsBsM,EACXtB,wBAAAA,OAAAA,+DAGL1E,GALN,oCAAAtG,OAMwBhC,EAAMqB,MAAM3L,OAAO,0GAIrC4S,GAVN,gDAAAtG,OAWoChC,EAAMqB,MAAM3L,OAAO,oFAKlDsK,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QASxC,8NAzBR,kBA+BNlF,QAAS,CACPrH,QAAS7D,EAAAA,IACJqC,CAAAA,GAAAA,KAAAA,IACD,IAAIsO,EAAa,eACbtO,EAAM+N,SAAY/N,EAAMwO,SAAYxO,EAAMpK,OAAUoK,EAAMuO,SAC5DD,EAAatO,EAAMqB,MAAM3L,OAAO,2BAC9BsK,EAAM+N,UAAY/N,EAAMwO,SAAWxO,EAAMpK,QAAO0Y,EAAatO,EAAMqB,MAAM3L,OAAO,uBAChFsK,EAAM+N,UAAY/N,EAAMwO,SAAWxO,EAAMuO,SAAQD,EAAatO,EAAMqB,MAAM3L,OAAO,uBACjFsK,EAAMwO,UAASF,EAAatO,EAAMqB,MAAM3L,OAAO,yBAC/CsK,EAAM0I,WAAU4F,EAAatO,EAAMqB,MAAM3L,OAAO,sBAEpD,IAAIsX,EAAQhN,EAAMqB,MAAM3L,OAAO,yBAC3BsK,EAAMpK,QAAOoX,EAAQhN,EAAMqB,MAAM3L,OAAO,4BACxCsK,EAAMuO,SAAQvB,EAAQhN,EAAMqB,MAAM3L,OAAO,iBACzCsK,EAAMwO,SAAWxO,EAAM+N,WAASf,EAAQhN,EAAMqB,MAAM3L,OAAO,4BAC3DsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,qBAE/C,IAAIgZ,EAAoB1O,EAAMqB,MAAM3L,OAAO,wBACvCsK,EAAMpK,QAAO8Y,EAAY1O,EAAMqB,MAAM3L,OAAO,2BAC5CsK,EAAMuO,SAAQG,EAAY1O,EAAMqB,MAAM3L,OAAO,uBAC7CsK,EAAM+N,UAAY/N,EAAMwO,UAASE,EAAY,eAC7C1O,EAAMwO,UAASE,EAAY1O,EAAMqB,MAAM3L,OAAO,yBAC9CsK,EAAM0I,WAAUgG,EAAY1O,EAAMqB,MAAM3L,OAAO,sBAEnD,IAAI+Y,EAAmBzO,EAAMqB,MAAM3L,OAAO,0BACtCsK,EAAMpK,QAAO6Y,EAAmBzO,EAAMqB,MAAM3L,OAAO,uBACnDsK,EAAMuO,SAAQE,EAAmBzO,EAAMqB,MAAM3L,OAAO,uBAExD,IAAIiZ,EAAkB3O,EAAMqB,MAAM3L,OAAO,oBAGzC,OAFIsK,EAAMpK,QAAUoK,EAAMuO,SAAQI,EAAkB3O,EAAMqB,MAAM3L,OAAO,wBAGjD4Y,iCAAAA,OAAAA,EACXtB,wBAAAA,OAAAA,EACiBhN,yCAAAA,OAAAA,EAAM4O,SAAW,EAAI,EAHjD,OAAA5M,OAGwD0M,EAGlDpG,4CAAAA,OAAAA,GACkBmG,oCAAAA,OAAAA,EAIlBnG,+EAAAA,OAAAA,GACkBqG,oCAAAA,OAAAA,EACY3O,iDAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,oBAKjD,2DAAAsM,OAAChC,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QAaxC,mBAVW/N,6DAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,2BAHlC,yQAlBN,iBAoCJiT,UAAWhL,EAAAA,IACNqC,CAAAA,GAAAA,KAAAA,IACD,IAAIsO,EAAa,eACbtO,EAAMwO,SAAWxO,EAAM+N,WAASO,EAAatO,EAAMqB,MAAM3L,OAAO,uBAChEsK,EAAM0I,WAAU4F,EAAatO,EAAMqB,MAAM3L,OAAO,wBAEpD,IAAIsX,EAAQhN,EAAMqB,MAAM3L,OAAO,2BAC3BsK,EAAM+N,UAAY/N,EAAMwO,UAASxB,EAAQhN,EAAMqB,MAAM3L,OAAO,6BAC5DsK,EAAMwO,UAASxB,EAAQhN,EAAMqB,MAAM3L,OAAO,kBAC1CsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,6BAE/C,IAAIgZ,EAAoB1O,EAAMqB,MAAM3L,OAAO,0BAG3C,OAFIsK,EAAM0I,WAAUgG,EAAY,eAEhC,iCAAA1M,OACsBsM,EADtB,wBAAAtM,OAEWgL,EAFX,yCAAAhL,OAG4BhC,EAAM4O,SAAW,EAAI,EAHjD,OAAA5M,OAGwD0M,EAHxD,4CAAA1M,OAMMsG,GANN,oCAAAtG,OAOwBhC,EAAMqB,MAAM3L,OAAO,sBAIrC4S,+EAAAA,OAAAA,GAC8BtI,gDAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,oBAZvD,yDAAAsM,OAiBKhC,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QAaxC,mBAVW/N,yDAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,4BAHlC,uPAjBJ,kBAoCNmZ,KAAM,CACJrN,QAAS7D,EAAAA,IACJqC,CAAAA,GAAAA,KAAAA,IACD,IAAIsO,EAAatO,EAAMqB,MAAM3L,OAAO,sBAChCsK,EAAMwO,UAASF,EAAatO,EAAMqB,MAAM3L,OAAO,yBAC/CsK,EAAM0I,WAAU4F,EAAatO,EAAMqB,MAAM3L,OAAO,sBAEpD,IAAIsX,EAAQhN,EAAMqB,MAAM3L,OAAO,yBAM/B,OALIsK,EAAMpK,QAAOoX,EAAQhN,EAAMqB,MAAM3L,OAAO,4BACxCsK,EAAMuO,SAAQvB,EAAQhN,EAAMqB,MAAM3L,OAAO,gBACzCsK,EAAMwO,UAASxB,EAAQhN,EAAMqB,MAAM3L,OAAO,4BAC1CsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,qBAE/C,iCAAAsM,OACsBsM,EACXtB,wBAAAA,OAAAA,qDAGL1E,GALN,oCAAAtG,OAMwBhC,EAAMqB,MAAM3L,OAAO,0GAIrC4S,GAVN,gDAAAtG,OAWoChC,EAAMqB,MAAM3L,OAAO,oFAKlDsK,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QASxC,gNAzBR,iBA8BJpF,UAAWhL,EAAAA,IACNqC,CAAAA,GAAAA,KAAAA,IACD,IAAIsO,EAAatO,EAAMqB,MAAM3L,OAAO,wBAChCsK,EAAMwO,UAASF,EAAatO,EAAMqB,MAAM3L,OAAO,uBAC/CsK,EAAM0I,WAAU4F,EAAatO,EAAMqB,MAAM3L,OAAO,wBAEpD,IAAIsX,EAAQhN,EAAMqB,MAAM3L,OAAO,2BAI/B,OAHIsK,EAAMwO,UAASxB,EAAQhN,EAAMqB,MAAM3L,OAAO,kBAC1CsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,6BAE/C,iCAAAsM,OACsBsM,EACXtB,wBAAAA,OAAAA,qDAGL1E,GALN,oCAAAtG,OAMwBhC,EAAMqB,MAAM3L,OAAO,0GAIrC4S,GAVN,gDAAAtG,OAWoChC,EAAMqB,MAAM3L,OAAO,oFAKlDsK,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QASxC,gNAzBR,kBA+BNe,MAAO,CACLtN,QAAS7D,EAAAA,IACJqC,CAAAA,GAAAA,KAAAA,IACD,IAAIgN,EAAQhN,EAAMqB,MAAM3L,OAAO,yBAM/B,OALIsK,EAAMpK,QAAOoX,EAAQhN,EAAMqB,MAAM3L,OAAO,4BACxCsK,EAAMuO,SAAQvB,EAAQhN,EAAMqB,MAAM3L,OAAO,gBACzCsK,EAAMwO,UAASxB,EAAQhN,EAAMqB,MAAM3L,OAAO,kBAC1CsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,qBAE/C,gEAAAsM,OAEWgL,EAGL1E,4CAAAA,OAAAA,GACkBtI,oCAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,oBAN3C,+EAAAsM,OAUMsG,GAC8BtI,gDAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,oBAXvD,yDAAAsM,OAgBKhC,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QASxC,gNAzBR,iBA8BJpF,UAAWhL,EAAAA,IACNqC,CAAAA,GAAAA,KAAAA,IACD,IAAIgN,EAAQhN,EAAMqB,MAAM3L,OAAO,2BAG/B,OAFIsK,EAAM0I,WAAUsE,EAAQhN,EAAMqB,MAAM3L,OAAO,6BAE/C,gEAAAsM,OAEWgL,EAGL1E,4CAAAA,OAAAA,GACkBtI,oCAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,uBAN3C,+EAAAsM,OAUMsG,GAC8BtI,gDAAAA,OAAAA,EAAMqB,MAAM3L,OAAO,uBAXvD,yDAAAsM,OAgBKhC,EAAM0I,UAAa1I,EAAMwO,SAAYxO,EAAM+N,QASxC,gNAzBR,mBAiCR,IAAM/E,GAAiB,CACrBxH,QAAS7D,EAAFA,IACFqC,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GACGA,EAAM0I,UAAY1I,EAAM+N,QAAgB,GAE5C,wIAAA/L,OAKahC,EAAM+O,UALnB,mCAAA/M,OAMwBgN,EAAIxN,QAACxB,EAAMqB,MAAM3L,OAAOsK,EAAMgN,QAAQiC,UAAU,GAAGC,SAAS,GAAGC,WAGnFnP,0BAAAA,OAAAA,EAAMoP,UAAYpP,EAAMqP,OAASrP,EAAM6I,QAGX7I,0EAAAA,OAAAA,EAAMqB,MAAM3L,OAAOsK,EAAMgN,OAGzBhN,yFAAAA,OAAAA,EAAMqB,MAAM3L,OAAOsK,EAAMgN,gDAGjD,GAlBR,cAuBChN,GAAWA,EAAM+N,QAAUG,GAAuB,KAElDlO,IACD,IAAI6E,EAAc,mBAGlB,OAFI7E,EAAMoP,UAAYpP,EAAMqP,OAASrP,EAAM6I,WAAShE,EAAc,SAE3DyK,GAAQtP,EAAMgN,MAAOnI,MAG3B7E,IACD,IAAI6E,EAAc,QAGlB,OAFI7E,EAAMoP,UAAYpP,EAAMqP,OAASrP,EAAM6I,WAAShE,EAAc,oBAE3DyK,GAAQtP,EAAM+O,UAAWlK,MAG/B7E,GACIA,EAAM0I,SAEX,6DAAA1G,OAEsBhC,EAAMqB,MAAM3L,OAAO+C,QAC9BuH,sBAAAA,OAAAA,EAAMqB,MAAM3L,OAAO6C,OAH9B,aAF4B,KAS3ByH,GAAWA,EAAMqP,OAASrP,EAAM6I,QAAU,iCAAmC,MAoC7E,IAAMU,GAAOC,EAAAA,QAAOC,OACxBC,WAAW,CACVC,kBAAoBlC,GACX0E,GAAc5G,SAA4BkC,IAASA,EAAKlC,SAAS,UAG3EqE,MAAMzI,GANQuI,WAAA,CAAAG,YAAA,wBAAGL,CAOhBiE,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAvCmBzN,GACjBA,EAAMsJ,iBACJtJ,EAAM8O,OAAU9O,EAAM6O,MAAS7O,EAAM6I,SAAY7I,EAAM2I,UACvD3I,EAAM8O,QAAU9O,EAAM6O,OAAS7O,EAAM6I,SAAW7I,EAAM2I,UAAkBH,GAAOsG,MAAMnG,WAErF3I,EAAM6O,MAAS7O,EAAM8O,OAAU9O,EAAM6I,SAAY7I,EAAM2I,UACvD3I,EAAM6O,OAAS7O,EAAM8O,QAAU9O,EAAM6I,SAAW7I,EAAM2I,UAAkBH,GAAOqG,KAAKlG,WAEpF3I,EAAM6I,SAAY7I,EAAM8O,OAAU9O,EAAM6O,MAAS7O,EAAM2I,UACvD3I,EAAM6I,UAAY7I,EAAM8O,QAAU9O,EAAM6O,MAAQ7O,EAAM2I,UAAkBH,GAAOK,QAAQF,UAEpF3I,EAAM2I,UAAYH,GAAOC,OAAOE,UAAYH,GAAOC,OAAOjH,QAHYgH,GAAOK,QAAQrH,QAHfgH,GAAOqG,KAAKrN,QAHZgH,GAAOsG,MAAMtN,QAYrFwH,GAAexH,UAGFxB,GACfA,EAAMsJ,gBAEJgE,GAAa/H,SAA2BvF,EAAMoF,2BACnCgD,GAAwBpI,EAAMoF,MAC5CkC,OAAAA,GAAmB,OAAQ,aAJI,KAOHtH,GAC5BA,EAAMsJ,kBAAoBtJ,EAAMuP,MAAc,GAC7CjC,GAAa/H,SAA2BvF,EAAMoF,MAE5CL,GAASyI,GAAsCxN,EAAMoF,MAAOgJ,IAFF,KAiB9DpO,GAAWA,EAAMwP,QAAUzK,GAAS/E,EAAMwP,QAAS,WAAa,OAChExP,GAAWA,EAAMyP,WAAa1K,GAAS/E,EAAMyP,WAAY,eAAiB,OAC1EzP,GAAWA,EAAM0M,aAAe3H,GAAS/E,EAAM0M,aAAc,iBAAmB,OAChF1M,GAAWA,EAAM0P,cAAgB3K,GAAS/E,EAAM0P,cAAe,kBAAoB,OACnF1P,GAAWA,EAAMyM,YAAc1H,GAAS/E,EAAMyM,YAAa,gBAAkB,OAE7EzM,GAAWA,EAAM2P,OAAS5K,GAAS/E,EAAM2P,OAAQ,UAAY,OAC7D3P,GAAWA,EAAM4P,UAAY7K,GAAS/E,EAAM4P,UAAW,cAAgB,OACvE5P,GAAWA,EAAM6P,YAAc9K,GAAS/E,EAAM6P,YAAa,gBAAkB,OAC7E7P,GAAWA,EAAM8P,aAAe/K,GAAS/E,EAAM8P,aAAc,iBAAmB,OAChF9P,GAAWA,EAAM+P,WAAahL,GAAS/E,EAAM+P,WAAY,eAAiB,OAE1E/P,GAAWA,EAAMqM,SAAWtH,GAAS/E,EAAMqM,SAAU,aAAe,OAEpErM,GAAWA,EAAMI,OAAS2E,GAAS/E,EAAMI,OAAQ,UAAY,OAE7DJ,IACD,IAAM6E,EAAc7E,EAAMgQ,OAAyB,SAAhBhQ,EAAMG,MAAmB,YAAc,QAC1E,OAAOH,EAAMG,MAAQ4E,GAASoJ,GAASnO,EAAMG,OAAQ0E,GAAe,QAGpEkC,IAA4D,IAA3DkJ,UAAEA,EAAFC,SAAaA,EAAbC,SAAuBA,EAAvBC,SAAiCA,EAAjCC,UAA2CA,GAAgBtJ,EAC5D,OAAOD,GAAwB,CAC7BE,MAAO,CAAEiJ,UAAAA,EAAWC,SAAAA,EAAUC,SAAAA,EAAUC,SAAAA,EAAUC,UAAAA,GAClDxL,YAAa,eAGf+D,IAA2E,IAA1E0H,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAmB9H,EAC3E,OAAO9B,GAAwB,CAC7BE,MAAO,CAAEsJ,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9D7L,YAAa,mBAGfiE,IAAqF,IAApF6H,eAAEA,EAAF7D,cAAkBA,EAAlBF,cAAiCA,EAAjCgE,cAAgDA,EAAhDC,eAA+DA,GAAqB/H,EACrF,OAAOhC,GAAwB,CAC7BE,MAAO,CAAE2J,eAAAA,EAAgB7D,cAAAA,EAAeF,cAAAA,EAAegE,cAAAA,EAAeC,eAAAA,GACtEhM,YAAa,qBAGfkE,IAA0F,IAAzF+H,gBAAEA,EAAFC,eAAmBA,EAAnBC,eAAmCA,EAAnCC,eAAmDA,EAAnDC,gBAAmEA,GAAsBnI,EAC1F,OAAOjC,GAAwB,CAC7BE,MAAO,CAAE8J,gBAAAA,EAAiBC,eAAAA,EAAgBC,eAAAA,EAAgBC,eAAAA,EAAgBC,gBAAAA,GAC1ErM,YAAa,sBAGfoE,IAAgF,IAA/EkI,cAAEA,EAAFtE,aAAiBA,EAAjBF,aAA+BA,EAA/ByE,aAA6CA,EAA7CC,cAA2DA,GAAoBpI,EAChF,OAAOnC,GAAwB,CAC7BE,MAAO,CAAEmK,cAAAA,EAAetE,aAAAA,EAAcF,aAAAA,EAAcyE,aAAAA,EAAcC,cAAAA,GAClExM,YAAa,oBAIfqE,IAAuD,IAAtDoI,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAexI,EACvD,OAAOpC,GAAwB,CAAEE,MAAO,CAAEsK,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAAY7M,YAAa,cAExGuE,IAAsE,IAArEuI,YAAEA,EAAFC,WAAeA,EAAfC,WAA2BA,EAA3BC,WAAuCA,EAAvCC,YAAmDA,GAAkB3I,EACtE,OAAOtC,GAAwB,CAC7BE,MAAO,CAAE2K,YAAAA,EAAaC,WAAAA,EAAYC,WAAAA,EAAYC,WAAAA,EAAYC,YAAAA,GAC1DlN,YAAa,kBAGfmN,IAAgF,IAA/EC,cAAEA,EAAFC,aAAiBA,EAAjBC,aAA+BA,EAA/BC,aAA6CA,EAA7CC,cAA2DA,GAAoBL,EAChF,OAAOlL,GAAwB,CAC7BE,MAAO,CAAEiL,cAAAA,EAAeC,aAAAA,EAAcC,aAAAA,EAAcC,aAAAA,EAAcC,cAAAA,GAClExN,YAAa,oBAGfyN,IAAqF,IAApFC,eAAEA,EAAFC,cAAkBA,EAAlBC,cAAiCA,EAAjCC,cAAgDA,EAAhDC,eAA+DA,GAAqBL,EACrF,OAAOxL,GAAwB,CAC7BE,MAAO,CAAEuL,eAAAA,EAAgBC,cAAAA,EAAeC,cAAAA,EAAeC,cAAAA,EAAeC,eAAAA,GACtE9N,YAAa,qBAGf+N,IAA2E,IAA1EC,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAmBL,EAC3E,OAAO9L,GAAwB,CAC7BE,MAAO,CAAE6L,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9DpO,YAAa,mBAIfqO,IAAiE,IAAhEC,WAAEA,EAAFC,UAAcA,EAAd9G,UAAyBA,EAAzB+G,UAAoCA,EAApCC,WAA+CA,GAAiBJ,EACjE,OAAOpM,GAAwB,CAC7BE,MAAO,CAAEmM,WAAAA,EAAYC,UAAAA,EAAW9G,UAAAA,EAAW+G,UAAAA,EAAWC,WAAAA,GACtDzO,YAAa,iBAIf0O,IAAuD,IAAtDC,SAAEA,EAAFhH,QAAYA,EAAZD,QAAqBA,EAArBkH,QAA8BA,EAA9BC,SAAuCA,GAAeH,EACvD,OAAOzM,GAAwB,CAC7BE,MAAO,CAAEwM,SAAAA,EAAUhH,QAAAA,EAASD,QAAAA,EAASkH,QAAAA,EAASC,SAAAA,GAC9C7O,YAAa,cAIf8O,IAAgE,IAA/DC,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,EAAnChE,MAA4CA,EAA5C7P,MAAmDA,GAAYwT,EAChE,OAAO7M,GAAwB,CAC7BE,MAAO,CAAE4M,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAC1CnP,YAAamL,GAAmB,SAAV7P,EAAmB,YAAc,QACvD8G,kBAAmBkH,QAIpBnO,GAAWA,EAAMgQ,MAAQjL,GAAS/E,EAAMgQ,MAAO3B,IAAe,OAC/D4F,IAAkD,IAAjDC,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,GAAcL,EAClD,OAAOnN,GAAwB,CAC7BE,MAAO,CAAEkN,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAC1CzP,YAAawJ,QAKZ,IAAMkG,GAAW/K,EAAAA,QAAOgL,KAAV9K,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,GAAA,KAKhBxJ,GAOcA,4IAAAA,OAAAA,EAAM+P,WAAa,QAAU,EAC5B/P,yBAAAA,OAAAA,EAAM6P,YAAc,QAAU,aAI3C,IAAM4E,GAAUjL,EAAAA,QAAOgL,KAAV9K,WAAA,CAAAG,YAAA,wBAAGL,CAAhB,CAAA,iCAKA,IAAMkL,GAAclL,EAAMhI,SDttBgBxB,GAC3BC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTR,KAAM,OACNC,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,iIACHC,OAAQ,eACRC,YAAa,IACbC,cAAe,QACfC,eAAgB,cC4sBI+I,WAAA,CAAAG,YAAA,wBAAGL,CAEZyE,CAAAA,wBAAAA,2BAAAA,IAAAA,IACVjO,GAAD,uCAAAgC,OAEkBhC,EAAMS,8BAKrB,IAAMkU,GAAYnL,EAAMhI,SFhuBcxB,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTR,KAAM,OACNC,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,6BACHC,OAAQ,eACRC,YAAa,EACbC,cAAe,QACfC,eAAgB,cEstBE+I,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,cAAA,KAEjBxJ,GAEiBA,uCAAAA,OAAAA,EAAMS,+MCztBtBmU,IAAAA,GAAS5K,EAAUA,YAAAA,CAA4BhK,EAAOiK,KAAQ,IAAAC,EAClE,IAAM7I,EAAQpD,IAEd,IAkBIK,EAAAA,UAA+B+C,EAAAA,EAAM8I,kBAAAA,aAAND,EAAkB0K,OAAQ5U,IAlBzD0N,QACFA,EAAU,cADRtI,KAEFA,EAAO,IAFL2J,UAGFA,EAAY,QAHV/B,MAIFA,EAAQ,SAJNtE,SAKFA,GAAW,EALTmM,QAMFA,GAAU,EANR1U,MAOFA,EAAQ,OACR2U,GAAIC,EAAM,SACVxJ,KAAMyJ,EACNC,UAAWC,EAVTxJ,SAWFA,EAXEyJ,QAYFA,EAZE/K,QAaFA,EAbEgL,eAcFA,EAdEC,aAeFA,EAfEC,aAgBFA,GAhBFjL,EAiBKC,EAjBLC,EAAA/I,QAAA6I,EAAAG,IAoBA,IAAIlB,EAAmC,UAAjBjI,EAAMoJ,OAG5B,GAFkC,iBAAvBH,EAAYG,SAAqBnB,EAAyC,UAAvBgB,EAAYG,SAErEnB,IAAoBgB,EAAYiF,MAAO,CAAA,IAAAgG,EAC1C,IAAMC,EAAY,UAAGpJ,GAAchH,UAAAA,IAAjBmQ,EAAAA,EAA8CnJ,GAAc9H,EAC9EgG,EAAcmL,EAAaA,cAACnL,EAAakL,GAG3C,IAAMP,EAAYpJ,GApCG,SAoC0BqJ,GAC/C,IAAMQ,EAAmB7J,GArCJ,UAsCrB,IAAM8J,EC/CD,EAAwBtU,EAAqBD,KAAqB,IAAAwU,EACvE,IAAMC,EAAU,QAAGxU,EAAAA,EAAMyU,aAAT,IAAAF,SAAGA,EAAaC,WAEhC,IAAIF,EAKsE,IAAAI,EAK1E,OARI3U,EAAO4U,QACTL,EAAMvU,EAAOuU,MAEDE,GAAczU,EAAO6U,UAAY7U,EAAO4U,MAAQ5U,EAAO8U,MACjEP,EAAME,EAAU,QAACzU,EAAAA,EAAO4U,YAAAA,IAARD,EAAAA,EAAgB3U,EAAO8U,GAAI9U,EAAO7B,SAI/CoW,GAbF,CD+CsBtU,EAAOiJ,GAClC,IAAM6L,EChCD,EAA8BpB,EAAwBrM,EAAmBtH,KAC9E,IAAIpB,EAAQ,GAEZ,YAAA,IAAI+U,GAAqBrM,IAEb,MAARqM,EACF/U,EAAQ,CAAEgW,KAAM5U,EAAO4U,MAAQ5U,EAAO8U,GAAI3W,OAAQ6B,EAAO7B,QACjC,iBAARwV,IAChB/U,EAAQ,CAAEkW,GAAI9U,EAAO8U,IAAM9U,EAAO4U,QALMhW,GAHrC,CDgCkC+U,EAAKrM,EAAU4B,GAElDA,EAAY0L,OAAMjB,EAAM,KACxBzK,EAAY4L,KAAInB,EAAMqB,QAEtB9L,EAAYtQ,UAASgT,EAAQ,WAC7B1C,EAAY+L,YAAWrJ,EAAQ,YAEnC,IAAIW,EAAwCrE,EAAkB,IAAM,IAChEgB,EAAYqD,aAAYA,EAAarD,EAAYqD,YAErD,IAAMiB,EAAkC,iBAAfjB,GAA2BA,GAAc,KAAuB,SAAfA,EAE1E,IAAI7D,EAAe,MACf+K,IAAS/K,EAAeR,EAAkB,OAAS,OACnDgB,EAAYiF,QAAOzF,EAAe,OAEtC,IAAI+D,EAAcvE,EAAkB,cAAgB,MAChDA,GAAmBgB,EAAYiF,QAAO1B,EAAc,OAExD,IAAKyI,EAAUC,GAAa/T,MAAMmF,QAAQ2C,EAAYkM,MAAQlM,EAAYkM,KAAO,CAAClM,EAAYkM,MAwB9F,OAtBIlN,GAAmBgB,EAAYyD,UAAYzD,EAAYkE,UAAY9F,IACrE4N,EAAWjL,EAAAM,IAAC8K,GAAD,CAAoBhW,YAAamO,EAAW,IAAM,MAC7D2H,EAAY,MAEVjM,EAAYkE,UACd8H,EAAWjL,EAAAM,IAAC+K,GAAD,CAAkBjW,YAAamO,EAAW,EAAI,MACzD2H,EAAY,MAiBZI,OAACrL,GACKhB,EAAAA,QAAAA,UAAAA,EAAAA,QAAAA,GAAAA,GACA6L,GAFN,GAAA,CAGElB,UAAWA,EACXH,GAAIC,EACJ/H,MAAOA,EACP+B,UAAWA,EACXrG,SAAUA,EACViN,IAAKA,EACLjI,QAASA,EACTmH,QAASA,EACTzP,KAAMA,EACNuI,WAAYA,EACZ7D,aAAcA,EACd+D,YAAaA,EACbe,SAAUA,EACVtF,gBAAiBA,EACjBW,IAAKA,MAAAA,EAAAA,EAAOK,EAAYsM,SACxBrL,KAAc,WAARwJ,EAAmBC,OAAQ7N,EACjCyG,WAAYtE,EAAkB,IAAM,EACpCnJ,MAAOmK,EAAYiF,aAAoBpP,EACvCiK,QAnCyCyM,IACtCnO,GAAa4B,EAAYyD,SAAS3D,MAAAA,GAAAA,EAAUyM,IAmC/CzB,eAjCuDyB,IACpDnO,GAAa4B,EAAYyD,SAASqH,MAAAA,GAAAA,EAAiByB,IAiCtDxB,aA/BmDwB,IAChDnO,GAAa4B,EAAYyD,SAASsH,MAAAA,GAAAA,EAAewB,IA+BpDvB,aA7BmDuB,IAChDnO,GAAa4B,EAAYyD,SAASuH,MAAAA,GAAAA,EAAeuB,IAItDnL,SAAA,CA0BG4K,GACCjL,EAACM,IAAAmL,GAAD,CAAiB7B,UAAU,OAAOpF,aAAcvF,EAAYiF,MAA5D7D,SACG4K,KAGHnB,GAAWzJ,IACXL,EAAAA,IAAC0L,GAAD,CAAgB9B,UAAS,GAAAjT,OAAK0T,EAA9B,aAAAhK,SAA4DyJ,GAAWzJ,IAExE6K,IAAcjM,EAAYiF,OACzBlE,EAAAA,IAACyL,GAAD,CAAiB7B,UAAU,OAAOlF,YAAlC,EAAArE,SACG6K,WEpIX,IAAIS,GAAOC,GAEX,SAAS5X,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,kBHyIhTmV,GAAO1I,YA/HgB,SIHvB,IAAM7D,GAAoD,CACxD6O,WAAY,GACZ1S,GAAI,GACJ2S,MAAO,GACP5S,EAAG,GACH6S,OAAQ,GACR9S,EAAG,GACH+S,MAAO,GACPhT,EAAG,GACHiT,WAAY,GACZlT,GAAI,IAGN,IAAMmT,GAAkD,CACtDL,WAAY,GACZ1S,GAAI,GACJ2S,MAAO,GACP5S,EAAG,GACH6S,OAAQ,GACR9S,EAAG,GACH+S,MAAO,GACPhT,EAAG,GACHiT,WAAY,GACZlT,GAAI,IAGN,IAAMkJ,GAAqC,CACzC,aACA,KACA,QACA,IACA,SACA,IACA,QACA,IACA,aACA,MAGF,IAAMG,GAAa9P,EAAAA,IAAH,CAAA,GAAA,KACXqC,GAOUA,0HAAAA,OAAAA,EAAMsO,WAAa,GAAK,EAPnC,sBAAAtM,OAQWhC,EAAMwX,OAAS,cAAgB,OAR1C,8GAiBG,IAAMC,GAAQjO,EAAAA,QAAOkO,MAAVhO,WAAA,CAAAG,YAAA,uBAAGL,CAAd,CAAA,kEASA,IAAMmO,GAAanO,EAAAA,QAAOgL,KAAV9K,WAAA,CAAAG,YAAA,uBAAGL,CAAnB,CAAA,2SAsBA,IAAMoO,GAAcpO,EAAMhI,SF3F0BxB,GACrCC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,8BACNN,GAAQgX,KAAUA,GAAqB/W,EAAMC,cAAc,OAAQ,CACpE2X,EAAG,KACHC,EAAG,KACH3X,MAAO,OACPC,OAAQ,OACR2X,GAAI,EACJ1X,KAAM,OACNG,OAAQ,aACLyW,KAAOA,GAAkBhX,EAAMC,cAAc,IAAK,CACrDG,KAAM,QACQJ,EAAMC,cAAc,OAAQ,CAC1CG,KAAM,UACNF,MAAO,GACPC,OAAQ,GACR2X,GAAI,IACW9X,EAAMC,cAAc,OAAQ,CAC3CM,OAAQ,OACRC,YAAa,EACbF,EAAG,0BEqEiBmJ,WAAA,CAAAG,YAAA,uBAAGL,CAApB,CAAA,6GAYA,IAAMwO,GAAYxO,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAlB,CAAA,2QAgBA,IAAMmL,GAAYnL,EAAMhI,SDvHcxB,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,WACTR,KAAM,OACNC,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,8BACHC,OAAQ,eACRC,YAAa,IACbC,cAAe,QACfC,eAAgB,cC6GE+I,WAAA,CAAAG,YAAA,uBAAGL,CAAlB,CAAA,yBAKA,IAAMiL,GAAUjL,EAAAA,QAAOgL,KAAV9K,WAAA,CAAAG,YAAA,uBAAGL,CAAhB,CAAA,wCAKP,IAAM0O,GAAYC,GACV1D,WAAAA,OAAAA,GACK0D,mBAAAA,OAAAA,EAAQpJ,UAEbiJ,kBAAAA,OAAAA,GACgBG,8BAAAA,OAAAA,EAAQC,GACnBD,kBAAAA,OAAAA,EAAQnL,MACDmL,yBAAAA,OAAAA,EAAQE,OAEpBZ,kBAAAA,OAAAA,GAAmBO,eAAAA,OAAAA,GAEHG,8DAAAA,OAAAA,EAAQG,UAExBb,kBAAAA,OAAAA,GAAmBO,eAAAA,OAAAA,GAAerD,OAAAA,OAAAA,GAGlC8C,oCAAAA,OAAAA,GAAoBhD,gBAAAA,OAAAA,GACf0D,mBAAAA,OAAAA,EAAQI,cAEPP,wBAAAA,OAAAA,GACMG,0BAAAA,OAAAA,EAAQK,YAKpBf,wDAAAA,OAAAA,GAAyBO,qBAAAA,OAAAA,GACRG,+BAAAA,OAAAA,EAAQM,aA1BjC,sCA+BA,IAAMC,GAAsBP,qBACpBR,GADmB,8BAAA3V,OAEHmW,EAAQC,GACZD,yBAAAA,OAAAA,EAAQE,OAHD,kBAAArW,OAKnByV,GAAmBE,eAAAA,OAAAA,wCACHQ,EAAQG,UANL,yBAAAtW,OAOPmW,EAAQQ,6CAEdhB,GATa,8BAAA3V,OAUHmW,EAAQS,wCACZT,EAAQK,YAEdb,wBAAAA,OAAAA,gDACUQ,EAAQU,cAdhC,6BAmBA,IAAMrQ,GAAS,CACbhH,QAAS,CACPsX,QAASnb,EAAFA,IAAA,CAAA,GAAA,IAAA,KACFqC,GACDkY,GAAS,CACPnJ,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,+BAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,0BAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,wBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,wBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,wBAEnCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,uBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,+BAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,wBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,wBAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,oBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,+BAChCmjB,cAAe,gBAEjB,OAERE,MAAOpb,EAAFA,IAAA,CAAA,GAAA,IAAA,KACAqC,GACDkY,GAAS,CACPnJ,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,sBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,sBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,eAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,eACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,wBAEnCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,sBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,eAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,eAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,sBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,eAChCmjB,cAAe,gBAEjB,OAERrK,QAAS7Q,EAAFA,IAAA,CAAA,GAAA,IAAA,KACFqC,GACDkY,GAAS,CACPnJ,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,wBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,wBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,wBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,iBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,iBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,wBAEnCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,wBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,iBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,wBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,iBAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,wBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,iBAChCmjB,cAAe,gBAEjB,OAERnQ,SAAU/K,EAAFA,IAAA,CAAA,eAAA,IAAA,KAEHqC,GACDkY,GAAS,CACPnJ,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,mBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,mBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,mBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,wBAEnCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,mBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,qBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,sBAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,qBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,mBAChCmjB,cAAe,gBAEjB,QAGVlQ,UAAW,CACTmQ,QAASnb,EAAAA,IAAF,CAAA,GAAA,IAAA,KACFqC,GAEGkY,GADJlY,EAAMsO,WACO,CACPS,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,+BAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,0BAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,wBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,wBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,6BAE3B,CACPqZ,UAAW/O,EAAMqB,MAAM3L,OAAO,2BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,yBAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,+BAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,wBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,2BACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,gCAEvCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,uBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,+BAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,qBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,+BAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,uBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,+BAChCmjB,cAAe7Y,EAAMqB,MAAM3L,OAAO,sBAEpC,OAERqjB,MAAOpb,EAAAA,IAAF,CAAA,GAAA,IAAA,KACAqC,GAEGkY,GADJlY,EAAMsO,WACO,CACPS,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,sBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,sBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,eAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,eACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,6BAE3B,CACPqZ,UAAW/O,EAAMqB,MAAM3L,OAAO,2BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,sBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,sBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,eAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,eACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,gCAEvCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,sBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,sBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,eAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,sBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,eAChCmjB,cAAe7Y,EAAMqB,MAAM3L,OAAO,sBAEpC,OAER8Y,QAAS7Q,EAAAA,IAAF,CAAA,GAAA,IAAA,KACFqC,GAEGkY,GADJlY,EAAMsO,WACO,CACPS,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,wBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,wBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,wBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,iBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,iBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,6BAE3B,CACPqZ,UAAW/O,EAAMqB,MAAM3L,OAAO,2BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,wBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,wBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,wBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,iBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,iBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,gCAEvCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,wBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,wBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,wBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,iBAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,wBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,iBAChCmjB,cAAe7Y,EAAMqB,MAAM3L,OAAO,sBAEpC,OAERgT,SAAU/K,EAAAA,IAAF,CAAA,eAAA,IAAA,KAEHqC,GAEGkY,GADJlY,EAAMsO,WACO,CACPS,UAAW/O,EAAMqB,MAAM3L,OAAO,0BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,mBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,mBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,mBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,qBAE3B,CACPqZ,UAAW/O,EAAMqB,MAAM3L,OAAO,2BAC9B0iB,GAAIpY,EAAMqB,MAAM3L,OAAO,qBACvBsX,MAAOhN,EAAMqB,MAAM3L,OAAO,2BAC1B2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,mBAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,sBAC9B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,mBAChC+iB,aAAczY,EAAMqB,MAAM3L,OAAO,mBACjC6iB,cAAevY,EAAMqB,MAAM3L,OAAO,gCAEvCsK,GACDA,EAAMsO,WACFoK,GAAmB,CACjBN,GAAIpY,EAAMqB,MAAM3L,OAAO,uBACvB2iB,OAAQrY,EAAMqB,MAAM3L,OAAO,2BAC3B4iB,UAAWtY,EAAMqB,MAAM3L,OAAO,uBAC9BijB,cAAe3Y,EAAMqB,MAAM3L,OAAO,2BAClCkjB,QAAS5Y,EAAMqB,MAAM3L,OAAO,uBAC5B8iB,YAAaxY,EAAMqB,MAAM3L,OAAO,2BAChCmjB,cAAe,gBAEjB,SAKZ,IAAM7P,GAAiB,CACrBxH,QAAS7D,EAAAA,IACJqC,CAAAA,GAAAA,IAAAA,KAAAA,GACDA,EAAM+Y,MAEInB,mBAAAA,OAAAA,GACIoB,kCAAAA,OAAAA,EAAAA,QAAUhZ,EAAMqB,MAAM3L,OAAOuD,aAAaggB,SAAS,IAAK9J,WACtDnP,2BAAAA,OAAAA,EAAMqB,MAAM3L,OAAOuD,YAEzB2e,oCAAAA,OAAAA,GACI5X,mCAAAA,OAAAA,EAAMqB,MAAM3L,OAAOuD,YAG7B,4BAAA,OAEH+G,GACQA,kBAAAA,OAAAA,EAAM0I,SAAW1I,EAAMqB,MAAM3L,OAAO8C,KAAOwH,EAAMqB,MAAM3L,OAAO4C,UADvE,qBAAA0J,OAEUhC,EAAM0I,SAAW,cAAgB,UAF3C,mBAAA1G,OAIMyV,GAJN,eAAAzV,OAIyB4V,GAJzB,kDAAA5V,OAOMyV,GAPN,gBAAAzV,OAO0B4V,GAP1B,6BAAA5V,OAQUhC,EAAMqB,MAAM3L,OAAOC,MAR7B,uBAAAqM,OASYhC,EAAMqB,MAAM3L,OAAOyH,KAT/B,0BAAA6E,OAWMyV,GAXN,wBAAAzV,OAWkC4V,GAXlC,+BAAA5V,OAYUhC,EAAMqB,MAAM3L,OAAO8C,KAZ7B,4EAAAwJ,OAiBMyV,GAjBN,qBAAAzV,OAiB+B4V,GAjB/B,mCAAA5V,OAkBuBhC,EAAMqB,MAAM3L,OAAOuE,OAhCvC,qDAgEF,IAAMsP,GAAOC,EAAAA,QAAO0P,MACxBxP,WAAW,CACVC,kBAAoBlC,GAAS,CAAC,WAAY,UAAW,SAASlC,SAASkC,KAExEmC,MAAMzI,GAJQuI,WAAA,CAAAG,YAAA,uBAAGL,CAKhBiE,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IA9BmBzN,GACjBA,EAAMsJ,gBACJtJ,EAAM0I,WAAa1I,EAAM2I,UAAkBH,GAAOhH,QAAQkH,SAC1D1I,EAAM0I,UAAY1I,EAAM2I,UAAkBH,GAAOG,UAAUD,UAE3D1I,EAAM+Y,OAAU/Y,EAAMwO,SAAYxO,EAAM2I,UACxC3I,EAAM+Y,QAAU/Y,EAAMwO,SAAWxO,EAAM2I,UAAkBH,GAAOG,UAAUoQ,OAE1E/Y,EAAMwO,SAAYxO,EAAM+Y,OAAU/Y,EAAM2I,UACxC3I,EAAMwO,UAAYxO,EAAM+Y,OAAS/Y,EAAM2I,UAAkBH,GAAOG,UAAU6F,QAEvExO,EAAM2I,UAAYH,GAAOG,UAAUmQ,QAAUtQ,GAAOhH,QAAQsX,QAHLtQ,GAAOhH,QAAQgN,QAHfhG,GAAOhH,QAAQuX,MASxE/P,GAAexH,UAGFxB,IACpB,IAAMoI,EAAQpI,EAAMsJ,gBAAkBiO,GAAclP,GAEpD,OAAOiF,GAAa/H,SAA6BvF,EAAMoF,2BACrCgD,EAA0BpI,EAAMoF,MAC9CkC,OAAAA,GAAmB,OAAQ,gBAY5BtH,GACDsH,GACE,QACAtH,EAAMgQ,OAAyB,SAAhBhQ,EAAMG,QAAqBqC,MAAMmF,QAAQ3H,EAAMG,OAAS,YAAc,WAEtFH,GAAWA,EAAMgQ,MAAQ,eAAiB,OAGxC,IAAMmJ,GAAQ3P,EAAAA,QAAOyO,IAAIvO,WAA+B,CAC7DC,kBAAoBlC,GAAkB,WAATA,IADbiC,WAAA,CAAAG,YAAA,uBAAGL,CAGhBxJ,CAAAA,GAAAA,KAAAA,GACDA,EAAMwX,OACF7Z,EADJA,IAIU4L,CAAAA,qCAAAA,iCAAAA,wCAAAA,IAAAA,GAGAA,GAGF9F,IAAAA,CAEI8F,KAAAA,GAAAA,EAAAA,QAAAA,CAAAA,wDAAAA,8EAAAA,qHAAAA,GAGAA,0FASFA,GAxBV,sGAAAvH,OA4BUuH,GA5BV,wUChgBE6P,IAAAA,GAAWpP,EAAUA,aAAmChK,EAAOiK,KAAQ,IAAAC,EAC3E,IAAM7I,EAAQpD,IACd,IAAMob,EAAgBxN,GAJD,YAMrB,IAsBIvN,EAAAA,UAAiC+C,EAAAA,EAAM8I,+BAAND,EAAkBkP,SAAUpZ,IAtB3DyK,OACJA,EADImB,MAEJA,EAFI0N,GAGJA,EAHIC,KAIJA,EAJIra,MAKJA,EALIwJ,SAMJA,EANIqQ,MAOJA,EAPIvK,QAQJA,EARIwB,MASJA,EATItE,SAUJA,EAVIwN,MAWJA,EAXIM,QAYJA,EAZIC,eAaJA,EAbInL,WAcJA,EAdI3F,UAeJA,EAfIvD,KAgBJA,EAAO,IAhBHoS,OAiBJA,GAAS,EAjBLrX,MAkBJA,EAAQkB,EAAMqY,0BACdzE,UAAWC,EAnBPyE,SAoBJA,EAAW,UApBbtP,EAqBKC,EArBLC,EAAA/I,QAAA6I,EAAAG,IAwBA,IAAIlB,EAAmC,UAAjBjI,EAAMoJ,OACN,iBAAXA,IAAqBnB,EAA6B,UAAXmB,GAElD,IAAMwK,EAAYjJ,EAAAA,QAAGqN,EAAenE,EAAYsE,GAAO,GAAAxX,OAAOqX,EAAP,cACvD,IAAMO,EAAoBP,GAAAA,OAAAA,EAA1B,WACA,IAAMQ,OAAyB1S,IAAZqS,EAAwB,CAAEC,eAAAA,GAAmB,CAAED,QAAAA,GAElE,OACE7C,EAAAA,KAACrL,GAAD,CACErB,IAAKA,EACLgL,UAAWA,EACXrJ,MAAOA,EACPoE,MAAOA,EACPtH,SAAUA,EACVoR,QAASR,GAAMC,EACfnU,KAAMA,EACNoS,OAAQA,EACRrX,MAAOA,EACP4Y,MAAOA,EACPvK,QAASA,EACTF,WAAYA,EACZ3F,UAAWA,EACXW,gBAAiBA,EAdnBoC,SAAA,CAgBEL,EAAAA,IAAC0O,GACKzP,EAAAA,QAAAA,EAAAA,QAAAA,UAAAA,GAAAA,GACAuP,GAFN,GAAA,CAGEP,GAAIA,GAAMC,EACVA,KAAMA,EACNhO,KAAK,WACLrM,MAAOA,EACPwJ,SAAUA,EACViR,SAAUA,KAEXrQ,EACCqN,EAAAqD,KAAAC,WAAA,CAAAvO,SACG4C,CAAAA,GAAcjD,EAAAM,IAACuO,GAAD,IACf7O,EAAAM,IAACwO,GAAD,CAAAzO,SACEL,EAAAA,IAACqL,GAAD,SAIJrL,EAAAA,IAAC+O,GAlCL,KAoCIlB,GAASxN,IAAaL,EAACM,IAAAoL,GAAD,CAAgB9B,UAAW2E,EAA3BlO,SAA4CwN,GAASxN,UAKnF0N,GAASD,MCtFapS,IAAgD,IAA/C2E,SAAEA,GAA6C3E,EAAhC/G,EAAgCuK,EAAA/I,QAAAuF,EAAAyD,IACpE,OAAOa,EAAAA,IAACgP,0BAAiBra,GAAlB,GAAA,CAAA0L,SAA0BA,MDuFnC0N,GAASlN,YAjFc,WERhB,IAAMoO,GAAyD,CACpE,yBAA0B,UAC1B,2BAA4B,UAC5B,0BAA2B,UAC3B,0BAA2B,UAC3B,4BAA6B,YAC7B,2BAA4B,YAC5B,2BAA4B,UAC5B,0BAA2B,UAC3B,mBAAoB,UACpB,2BAA4B,YAC5B,wBAAyB,YACzB,uBAAwB,YACxB,mBAAoB,UACpB,eAAgB,UAChB,8BAA+B,UAC/B,8BAA+B,UAC/B,yBAA0B,UAC1B,yBAA0B,UAC1B,kBAAmB,UACnB,0BAA2B,YAC3B,iBAAkB,UAClB,oBAAqB,UACrB,sBAAuB,UACvB,qBAAsB,UACtB,oBAAqB,UACrB,qBAAsB,UACtB,oBAAqB,UACrB,qBAAsB,UACtB,uBAAwB,YACxB,sBAAuB,YACvB,oBAAqB,UACrB,oBAAqB,UACrB,qBAAsB,UACtB,qBAAsB,UACtB,mBAAoB,YACpB,sBAAuB,YACvB,sBAAuB,YACvB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,qBAAsB,UACtB,qBAAsB,UACtB,qBAAsB,UACtB,gBAAiB,UACjB,gBAAiB,UACjB,cAAe,WCxCV,IAAMjc,GAA6B,CACxCuD,YCZyBrP,OAAOC,OAAO,CACvC4R,GAAI,KACJC,EAAG,KACHC,EAAG,KACHC,EAAG,IACHC,GAAI,IACJC,IAAK,MDOL/O,OACKA,EAAAA,QAAAA,EAAAA,QAAAA,EAAAA,QAAAA,EAAAA,QAAAA,EAAAA,QAAAA,GAAAA,GACApD,GACA4H,GEd+D,CACpE,yBAA0B,UAC1B,2BAA4B,YAC5B,0BAA2B,YAC3B,0BAA2B,UAC3B,4BAA6B,YAC7B,2BAA4B,YAC5B,0BAA2B,UAC3B,2BAA4B,UAC5B,mBAAoB,UACpB,2BAA4B,YAC5B,wBAAyB,YACzB,uBAAwB,YACxB,mBAAoB,UACpB,eAAgB,UAChB,8BAA+B,UAC/B,8BAA+B,UAC/B,yBAA0B,UAC1B,kBAAmB,UACnB,0BAA2B,YAC3B,yBAA0B,UAC1B,iBAAkB,UAClB,oBAAqB,UACrB,sBAAuB,UACvB,qBAAsB,UACtB,oBAAqB,UACrB,qBAAsB,UACtB,oBAAqB,UACrB,qBAAsB,UACtB,uBAAwB,YACxB,sBAAuB,YACvB,mBAAoB,YACpB,oBAAqB,UACrB,oBAAqB,UACrB,qBAAsB,UACtB,sBAAuB,YACvB,qBAAsB,UACtB,sBAAuB,YACvB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,qBAAsB,UACtB,qBAAsB,UACtB,qBAAsB,UACtB,gBAAiB,UACjB,gBAAiB,UACjB,cAAe,YAGuD,CACtE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cF3D9B4P,aAAc,MACdqD,UAAW,YACXC,cAAe,YACfmN,OAAQ,CACNC,MAAO,IACPC,QAAS,IAEXxO,gBAAiB,MACjByN,0BAA2B1b,EAAUqG,EACrCyR,MAAO,CACLD,WG1BG,CAAoB6E,EAAenb,KACxC,GAAKmb,EAAL,CAEA,IAAMC,EAAS,GAOf,GAdF,SAAAC,EAAAC,GAA4D,IAArCC,+BAAvBF,EAAAA,EAA6B,GAA+B,IAA3BG,EAA2Btb,UAAArB,OAAA,EAA5Dyc,OAA4D1T,EAC1D,MAAO,uBAAuB6T,KAAKF,KAAS,IAAIG,IAAIH,GAAKC,SAAS3U,SAAS2U,GAD7E,CASoBL,EAAMQ,OAAOC,SAASJ,YACvB,WAAXxb,GAAqBob,EAAOS,KAAK,YACrCT,EAAOS,KAAK,aAGQ,IAAlBT,EAAOvc,OAEX,OAAOuc,EAAOU,KAAK,QHgBnBC,KAAM,QACN7Q,OAAQ,UACR8O,KAAM,SACNpP,WAAY,CACVJ,MAAS,CACP3E,KAAM,KAERwP,OAAU,CACRxP,KAAM,KAERgU,SAAY,CACVhU,KAAM,OAKL,IAAMmW,GAA8Bha,EAAAC,QAAAD,EAAAC,QAAA,GACtCnD,IADsC,GAAA,CAEzCoM,OAAQ,UAGH,IAAM+Q,GAA6Bja,EAAAC,QAAAD,EAAAC,QAAA,GACrCnD,IADqC,GAAA,CAExC3I,OACK2I,EAAAA,QAAAA,EAAAA,QAAAA,UAAAA,GAAAA,GAAa3I,QACb+lB,IDHiE,CACtE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cCnB9BH,KAAM,OACN7Q,OAAQ,UAGH,IAAMiR,GAA4Bna,EAAAC,QAAAD,EAAAC,QAAA,GACpCnD,IADoC,GAAA,CAEvC3I,OAAM6L,EAAAC,QAAAD,UAAA,GACDlD,GAAa3I,QEekD,CACpE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cFrC9B+U,OAAQ,QACR8O,KAAM,SAGD,IAAMoC,GAA2Bpa,EAAAC,QAAAD,EAAAC,QAAA,GACnCnD,IADmC,GAAA,CAEtC3I,OACK2I,EAAAA,QAAAA,EAAAA,QAAAA,UAAAA,GAAAA,GAAa3I,QACb+lB,IDI+D,CACpE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cC1B9BH,KAAM,OACN7Q,OAAQ,QACR8O,KAAM,SAGD,IAAMqC,GAA4Bra,EAAAC,QAAAD,EAAAC,QAAA,GACpCnD,IADoC,GAAA,CAEvC3I,OAAM6L,EAAAC,QAAAD,UAAA,GACDlD,GAAa3I,QEqBkD,CACpE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cF3C9B+U,OAAQ,QACR8O,KAAM,SAGD,IAAMsC,GAA2Bta,EAAAC,QAAAD,EAAAC,QAAA,GACnCnD,IADmC,GAAA,CAEtC3I,OACK2I,EAAAA,QAAAA,EAAAA,QAAAA,UAAAA,GAAAA,GAAa3I,QACb+lB,IDU+D,CACpE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cChC9BH,KAAM,OACN7Q,OAAQ,QACR8O,KAAM,SAGD,IAAMuC,GAA6Bva,EAAAC,QAAAD,EAAAC,QAAA,GACrCnD,IADqC,GAAA,CAExC3I,OAAM6L,EAAAC,QAAAD,UAAA,GACDlD,GAAa3I,QE2BmD,CACrE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cFjD9B+U,OAAQ,QACR8O,KAAM,UAGD,IAAMwC,GAA4Bxa,EAAAC,QAAAD,EAAAC,QAAA,GACpCnD,IADoC,GAAA,CAEvC3I,OACK2I,EAAAA,QAAAA,EAAAA,QAAAA,UAAAA,GAAAA,GAAa3I,QACb+lB,IDgBgE,CACrE,wBAAyB,UACzB,0BAA2B,UAC3B,uBAAwB,UACxB,yBAA0B,UAC1B,6BAA8B,YAC9B,8BAA+B,UAC/B,yBAA0B,UAC1B,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,uBAAwB,UACxB,2BAA4B,UAC5B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,yBAA0B,UAC1B,wBAAyB,UACzB,wBAAyB,UACzB,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,0BAA2B,UAC3B,gCAAiC,UACjC,8BAA+B,UAC/B,6BAA8B,cCtC9BH,KAAM,OACN7Q,OAAQ,QACR8O,KAAM,UIzHD,IAAMyC,GAAUA,GAAkFre,EAAnFA,IAAA,CAAA,kBAAA,KACFqe,GCDpB,IAAM5T,GAAQ,CACZlE,KAAM,GACNC,IAAK,GACLC,GAAI,GACJ6X,GAAI,GACJ5X,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM,IAGR,IAAMwX,GAAeve,EAAHA,IAAlB,CAAA,oBAIA,IAAMwe,GAAgB/W,GACG,iBAATA,EAAoBgD,GAAMhD,GAAQA,EAG3C,IAAMmE,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAsB,CACnDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,QAAS,2BAA2BlC,SAASkC,KADrFiC,WAAA,CAAAG,YAAA,uBAAGL,CAcfxJ,CAAAA,+IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GAAWA,EAAMoc,QAAUF,GAAe,OAC1Clc,GAAWA,EAAMgc,OAASA,GAAOhc,EAAMgc,QAAU,OACjDhc,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,OAC9ChN,GAAWA,EAAMoF,KAAOL,GAASoX,GAAanc,EAAMoF,MAAO,aAAe,OAC3E2B,IAAA,IAACsV,OAAEA,EAAFC,MAAUA,EAAVC,MAAiBA,EAAjBC,MAAwBA,EAAxBC,OAA+BA,GAAhC1V,EAAA,OACAD,GAAwB,CACtBE,MAAO,CAAEqV,OAAAA,EAAQC,MAAAA,EAAOC,MAAAA,EAAOC,MAAAA,EAAOC,OAAAA,GACtC5X,YAAa,YACboC,kBAAmBkV,QCjDzB,IAAI/c,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAAOsd,GAEX,SAASrd,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAAOsd,GAEX,SAASrd,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIkd,GAASvd,GAEb,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAAOud,GAEX,SAAStd,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAAOsd,GAEX,SAASrd,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAAOsd,GAEX,SAASrd,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAAA,IAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,OAA+BC,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCFhT,SAASJ,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WCAhT,IAAIL,GAEJ,SAASC,KAA2Q,OAA9PA,GAAW9M,OAAO+M,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUrB,OAAQoB,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIT,KAAOW,GAAcnN,IAAiBoN,eAAeC,KAAKF,EAAQX,KAAQQ,EAAOR,GAAOW,EAAOX,IAAY,OAAOQ,GAAkBF,GAASQ,MAAMC,KAAML,WC0ChT,IAAYmd,IAAAA,IAAAA,cAAAA,0BAAAA,kBAAAA,YAAAA,gBAAAA,cAAAA,kBAAAA,kBAAAA,oBAAAA,gCAAAA,8BAAAA,4BAAAA,cAAAA,gBAAAA,kBAAAA,cAAAA,gBAAAA,cAAAA,gBAAAA,4BAAAA,oBAAAA,sBAAAA,sBAAAA,0BAAAA,cAAAA,sBAAAA,gBAAAA,cAAAA,cAAAA,sBAAAA,oBAAAA,kBAAAA,sBAAAA,kBAAAA,oBAAAA,kBAAAA,cAAAA,cAAAA,gBAAAA,wBAAAA,oBAAAA,gBAAAA,sBAAAA,oCAAAA,4BAAAA,wBAAAA,8BAAAA,4BAAAA,gBAAAA,kBAAAA,gCAAAA,8BAAAA,cAAAA,8BAAAA,oBAAAA,kBAAAA,4BAAAA,8BAAAA,oCAAAA,kBAAAA,gBAAAA,wBAAAA,0BAAAA,cAAAA,sBAAAA,cAAAA,kBAAAA,4BAAAA,cAAAA,gBAAAA,cAAAA,kCAAAA,sBAAAA,kBAAAA,wBAAAA,kBAAAA,KAAAA,QAiFL,IAAMC,GAAwC,CACnDC,K1CxHyC9c,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,4Z0CmHLwc,WzCzHqD/c,GACjCC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,0DACAmc,KAAWA,GAAsBzc,EAAMC,cAAc,OAAQ,CAChE8c,SAAU,UACVzc,EAAG,yFyCiHL0c,OxC1H6Cjd,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,kDwCsHL2c,IvC3HuCld,GACnBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,gBACHF,KAAM,UACHqc,KAAWA,GAAsBzc,EAAMC,cAAc,OAAQ,CAChEK,EAAG,qZuCoHL4c,MtC5H2Cnd,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,qEsCwHL2G,KrC7HyClH,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDc,MAAO,GACPC,OAAQ,GACRE,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,0EqCsHL6c,OpC9H6Cpd,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDc,MAAO,GACPC,OAAQ,GACRE,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,iDoCuHL8c,OnC/H6Crd,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,6NmC2HL+c,QlChI+Ctd,GAC3BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,mFkC4HLgd,cjCjI2Dvd,GACvCC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,uCiC4HLid,ahClIyDxd,GACrCC,EAAMC,cAAc,MAAOb,GAAS,CACtDgB,KAAM,OACNQ,QAAS,YACTP,MAAO,8BACNN,GAAQ2c,KAAYA,GAAuB1c,EAAMC,cAAc,SAAU,CAC1E8L,GAAI,GACJyR,GAAI,GACJ5C,EAAG,MACAzb,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CAC9DK,EAAG,mCACHC,OAAQ,OACRC,YAAa,MgCuHfid,Y/BnIuD1d,GACnCC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,qI+B+HLod,K9BpIyC3d,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,6F8B8HLqd,M7BrI2C5d,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTR,KAAM,OACNC,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,oI6B+HLsd,O5BtI6C7d,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,kH4BgILud,K3BvIyC9d,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,gO2BiILlG,M1BxI2C2F,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,iG0BoILwd,KzBzIyC/d,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDc,MAAO,GACPC,OAAQ,GACRE,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,8JyBkILyd,MxB1I2Che,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,wIwBsIL0d,YvB3IuDje,GACnCC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,oFACHF,KAAM,cuBqIR9F,QtB5I+CyF,GAC3BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,oEsBwIL2d,SrB7IiDle,GAC7BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,uXqByIL5F,SpB9IiDqF,GAC7BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,uGoB0IL4d,WnB/IqDne,GACjCC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,uImB2IL6d,KLhJyCpe,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDgB,KAAM,OACNQ,QAAS,YACTP,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,iCACAmc,KAAWA,GAAsBzc,EAAMC,cAAc,OAAQ,CAChEK,EAAG,+CKyIL8d,SlBjJiDre,GAC7BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,iTkB6IL+d,MhBlJ2Cte,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,2pBgB4ILge,KjBnJyCve,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,iGiB+ILie,KfpJyCxe,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,4PegJLke,SdrJiDze,GAC7BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,+aciJLme,QbtJ+C1e,GAC3BC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,yjBaiJLhB,OZvJ6CS,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,4dYmJLxF,SXxJiDiF,GAC7BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,+FWoJLoe,OVzJ6C3e,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,iOUqJLqe,QT1J+C5e,GAC3BC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,sOSsJLse,OR3J6C7e,GACzBC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,+HACAoc,KAAYA,GAAuB1c,EAAMC,cAAc,SAAU,CACpE8L,GAAI,GACJyR,GAAI,GACJ5C,EAAG,MQmJLiE,KP5JyC9e,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,2GOsJLwe,KN7JyC/e,GACrBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTR,KAAM,OACNC,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,mCACAmc,KAAWA,GAAsBzc,EAAMC,cAAc,OAAQ,CAChE8c,SAAU,UACVzc,EAAG,qCMqJLye,MJ9J2Chf,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTP,MAAO,6BACPD,KAAM,QACLL,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEK,EAAG,qIIyJL0e,UH/JmDjf,GAC/BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,aACRb,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpEgf,SAAU,UACV3e,EAAG,yGACHyc,SAAU,cGyJZmC,QFlK+Cnf,GAC3BC,EAAMC,cAAc,MAAOb,GAAS,CACtDiB,MAAO,6BACPO,QAAS,YACT+K,MAAO,CACLwT,iBAAkB,iBAEpBC,SAAU,YACTrf,GAAqBC,EAAMC,cAAc,OAAQ,CAClDK,EAAG,idACHqL,MAAO,CACLsT,SAAU,UACVlC,SAAU,cEuJdsC,MDjK2Ctf,GACvBC,EAAMC,cAAc,MAAOb,GAAS,CACtDwB,QAAS,YACTR,KAAM,OACNC,MAAO,8BACNN,GAAQZ,KAAUA,GAAqBa,EAAMC,cAAc,OAAQ,CACpE8c,SAAU,UACVzc,EAAG,+LC2JLgf,SAAU,IACR5I,EAAAqD,KAAA,MAAA,CAAK1Z,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,mOACR8K,EAAAM,IAAA,OAAA,CAAMpL,EAAE,wKAGZif,gBAAiB,IACfnU,EAAAM,IAAA,MAAA,CAAKxL,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,kEAGZkf,YAAa,IACXpU,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,kOAGZmf,UAAW,IACTrU,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,gOAGZof,aAAc,IACZtU,EAAAM,IAAA,MAAA,CAAKxL,MAAM,IAAIC,OAAO,KAAKS,QAAQ,WAAWR,KAAK,OAAOC,MAAM,6BAAhEoL,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,6EAGZqf,YAAa,IACXvU,EAAAM,IAAA,MAAA,CAAKxL,MAAM,IAAIC,OAAO,KAAKS,QAAQ,WAAWR,KAAK,OAAOC,MAAM,6BAAhEoL,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,6EAGZsf,MAAO,IACLxU,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,oRAGZuf,OAAQ,IACNzU,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,4hCAGZwf,cAAe,IACb1U,EAAAM,IAAA,MAAA,CAAKxL,MAAM,KAAKC,OAAO,IAAIS,QAAQ,WAAnC6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,gQAGZyf,aAAc,IACZrJ,EAAAqD,KAAA,MAAA,CAAK1Z,MAAM,6BAA6BO,QAAQ,YAAYue,iBAAiB,gBAA7E1T,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMsJ,UAAU,MAAM1U,EAAE,kBAAkB0f,YAAY,MACtD5U,EAAAM,IAAA,OAAA,CAAMsJ,UAAU,MAAM1U,EAAE,wFAG5B2f,KAAM,IACJ7U,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,0gBAGZ4f,aAAc,IACZ9U,EAAAM,IAAA,MAAA,CAAKxL,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,sGAGZ6f,QAAS,IACP/U,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,4kBAGZ8f,OAAQ,IACNhV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,+KAGZ+f,YAAa,IACXjV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,q7DAGZggB,aAAc,IACZlV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACT3e,EAAE,iLAIRigB,gBAAiB,IACfnV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACT3e,EAAE,6HAIRkgB,OAAQ,IACNpV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,uPAGZmgB,MAAO,IACL/J,EAAAqD,KAAA,MAAA,CAAK1Z,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,8PACR8K,EAAAM,IAAA,OAAA,CAAMpL,EAAE,sIAGZogB,UAAW,IACTtV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACT3e,EAAE,6NAIRqgB,WAAY,IACVvV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BO,QAAQ,YAAhD6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,6HAGZsgB,KAAM,IACJxV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEiL,EAAAqD,KAAA,IAAA,CAAGkF,SAAS,UAAZxT,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMxL,MAAM,KAAKC,OAAO,IAAI0X,EAAE,IAAIC,GAAG,QACrC1M,EAAAM,IAAA,OAAA,CAAMxL,MAAM,KAAKC,OAAO,IAAI0X,EAAE,IAAIC,GAAG,MAAM3M,UAAU,0BAI3D0V,SAAU,IACRzV,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMuT,SAAS,UAAU3e,EAAE,4EAG/BwgB,KAAM,IACJ1V,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,idAGZygB,OAAQ,IACN3V,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,IAAA,CAAGuT,SAAS,UAAZxT,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,2yBAId0gB,YAAa,IACX5V,EAAAM,IAAA,MAAA,CAAKvL,OAAO,KAAKS,QAAQ,YAAYV,MAAM,KAAKG,MAAM,6BAAtDoL,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,kOAGZ2gB,KAAM,IACJ7V,EAAAM,IAAA,MAAA,CAAKrL,MAAM,6BAA6BH,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAvE6K,SACEL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACT3e,EAAE,ubAIR4gB,MAAO,IACL9V,EAAAM,IAAA,MAAA,CAAKxL,MAAM,OAAOC,OAAO,OAAOS,QAAQ,YAAYP,MAAM,6BAA1DoL,SACEL,EAAAM,IAAA,IAAA,CAAGnL,OAAO,OAAOC,YAAY,IAAIJ,KAAK,OAAO6e,SAAS,UAAtDxT,SACEL,EAAAM,IAAA,IAAA,CAAGP,UAAU,uCAAuC/K,KAAK,UAAzDqL,SACEL,EAAAM,IAAA,IAAA,CAAGP,UAAU,qCAAbM,SACEL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,6VAMlB6gB,KAAM,IACJ/V,EAAAM,IAAA,MAAA,CAAKxL,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACEiL,EAAAqD,KAAA,IAAA,CAAAtO,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMxL,MAAM,KAAKC,OAAO,KAAKC,KAAK,QAAQ4f,YAAY,MACtD5U,EAAAM,IAAA,OAAA,CACE2N,GAAG,UACH4F,SAAS,UACTlC,SAAS,UACTzc,EAAE,4FAKV8gB,eAAgB,IACd1K,EAAAqD,KAAA,MAAA,CAAK1Z,MAAM,6BAA6BO,QAAQ,YAAYue,iBAAiB,gBAA7E1T,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMsJ,UAAU,MAAMgL,YAAY,IAAI1f,EAAE,oBACxC8K,EAAAM,IAAA,OAAA,CACEsJ,UAAU,MACV1U,EAAE,wSAIR+gB,SAAU,IACR3K,EAAAqD,KAAA,MAAA,CAAK7Z,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACE,CAAAL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACTlC,SAAS,UACTzc,EAAE,uMAEJ8K,EAAAM,IAAA,OAAA,CAAMpL,EAAE,wCAGZghB,OAAQ,IACN5K,EAAAqD,KAAA,MAAA,CAAK7Z,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMpL,EAAE,oKACR8K,EAAAM,IAAA,OAAA,CAAMpL,EAAE,wMAGZihB,UAAW,IACTnW,EAAAM,IAAA,MAAA,CAAKxL,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACEL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACTlC,SAAS,UACTzc,EAAE,oKAIRkhB,MAAO,IACLpW,EAAAM,IAAA,MAAA,CAAKxL,MAAM,KAAKC,OAAO,KAAKS,QAAQ,YAAYR,KAAK,OAAOC,MAAM,6BAAlEoL,SACEL,EAAAM,IAAA,OAAA,CACEuT,SAAS,UACTlC,SAAS,UACTzc,EAAE,0ICxVH,SAASoK,GAAK3K,GACnB,IAAMuZ,KACJA,EADI/C,KAEJA,EAFIkL,IAGJA,EAHItF,QAIJA,EAJIpP,MAKJA,EALI5H,KAMJA,EANIiX,OAOJA,EAPIC,MAQJA,EARIC,MASJA,EATIC,MAUJA,EAVIC,OAWJA,EAXIxH,UAYJA,EAZIrJ,MAaJA,EAbIoQ,OAcJA,EAdItQ,SAeJA,GACE1L,EAEJ,IAAMkV,EAAarJ,GAAalB,GAAKuB,YAAa+I,GAElD,OAAIsE,GAAQsD,GAAatD,GAGrB5C,EAAAA,KAACrL,GAAD,CACE0Q,OAAQA,EACRhP,MAAOA,EACPoP,QAASA,EACTnH,UAAWC,EACX9P,KAAMA,EACNiX,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACR7Q,MAAOA,EAXTF,SAAA,CAaEL,EAACM,IAfQkR,GAAatD,GAExB,IAcG7N,KAKHgW,EAEArW,EAAAA,IAACC,GAAD,CACE0Q,OAAQA,EACRhP,MAAOA,EACPoP,QAASA,EACTnH,UAAWC,EACX9P,KAAMA,EACNiX,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACR7Q,MAAOA,EACP+V,wBAAyB,CAAEC,OAAQF,GAAO,IAZ5ChW,SAcG8K,GAAQ,OAMbG,EAAAA,KAACrL,GAAD,CACE0Q,OAAQA,EACRhP,MAAOA,EACPoP,QAASA,EACTnH,UAAWC,EACX9P,KAAMA,EACNiX,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACR7Q,MAAOA,EAXTF,SAAA,CAaG8K,GAAQ,KACR9K,KAzFPf,GAAKuB,YAAc,OC1BZ,IAAMwB,GACVA,GAA8G,IAC7G/P,EAD6GA,IAEhG+P,CAAAA,WAAAA,KAAAA,GCLjB,IAAMmU,GAASlkB,EAAHA,IAAA,CAAA,cAAA,UAAA,MACKqC,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAClCwG,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAGzC,IAAM6nB,GAAcnkB,EAAAA,IAAH,CAAA,sBAAA,cAAA,MAEEqC,GAAUA,EAAMqB,MAAM3L,OAAO+C,SAG1CopB,IAIN,IAAMnZ,GAAW/K,EAAHA,IAAd,CAAA,gCAKO,IAAM4L,GAAOC,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAGRxJ,CAAAA,4CAAAA,mIAAAA,IAAAA,IAAAA,KAAAA,GAAUA,EAAMqB,MAAM3L,OAAO6C,SAQpCyH,GAAWA,EAAM0I,SAAWA,GAAWoZ,KACvC9hB,GAAWA,EAAM6hB,OAASA,GAAS,OACnC7hB,GACDA,EAAM0N,QACFA,GAAQ1N,EAAM0N,SACd/P,EAAAA,IAFJ,CAAA,4BCZG,SAASokB,GAAmGhb,GAAA,IAAzFyP,KAAEA,EAAF9N,SAAQA,GAAAA,EAAR0B,QAA0BA,EAA1BsB,SAAmCA,EAAnCuJ,UAA6CA,EAA7C4M,OAAwDA,EAAxDjW,MAAgEA,GAAyB7E,EACjH,IAAMmO,EAAarJ,GAAakW,GAAU7V,YAAa+I,GAEvD,OACE0B,EAAAA,KAACrL,GAAD,CAAa2J,UAAWC,EAAYtJ,MAAOA,EAAOlD,SAAUA,EAAUmZ,OAAQA,EAAQzX,QAASA,EAA/FsB,SACG8K,CAAAA,GAAQnL,EAAAM,IAAChB,GAAD,CAAMvF,KAAM,GAAImU,KAAM/C,IAC9B9K,KAbPqW,GAAU7V,YAAc,6BCfnB8V,IAAAA,IAAAA,EAAAA,aAAAA,EAAAA,aAAAA,EAAAA,aAAAA,EAAAA,eAAAA,KAAAA,QAQL,IAAMC,GAAqD,CACzDC,GAAI,CACF9c,KAAM,GACNmX,MAAO,GACP3O,WAAY,IACZuU,OAAQ,QAEVC,GAAI,CACFhd,KAAM,GACNmX,MAAO,GACP3O,WAAY,IACZuU,OAAQ,QAEVE,GAAI,CACFjd,KAAM,GACNwI,WAAY,IACZuU,OAAQ,QAEVG,GAAI,CACFld,KAAM,GACNwI,WAAY,IACZuU,OAAQ,SAcL,SAASI,GAAsDxb,GAAA,IAA1Cyb,EAAEA,EAAI,MAAoCzb,EAA3B/G,EAA2BuK,EAAA/I,QAAAuF,EAAAyD,IAGpE,OAAOa,MAACoX,GAADlhB,EAAAC,QAAAD,UAAA,CAAMuT,GAAI0N,GAFQP,GAAOO,IAEcxiB,IALhDuiB,GAAYrW,YAAc,eCvCnB,IAAM3C,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAwB,CACrDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,QAAS,WAAWlC,SAASkC,IAASA,EAAKlC,SAAS,WAD5FmE,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAGZxJ,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OAGpD1N,GAAWA,EAAMwP,QAAUzK,GAAS/E,EAAMwP,QAAS,WAAa,OAChExP,GAAWA,EAAMyP,WAAa1K,GAAS/E,EAAMyP,WAAY,eAAiB,OAC1EzP,GAAWA,EAAM0M,aAAe3H,GAAS/E,EAAM0M,aAAc,iBAAmB,OAChF1M,GAAWA,EAAM0P,cAAgB3K,GAAS/E,EAAM0P,cAAe,kBAAoB,OACnF1P,GAAWA,EAAMyM,YAAc1H,GAAS/E,EAAMyM,YAAa,gBAAkB,OAI7EzM,GAAWA,EAAM2P,OAAS5K,GAAS/E,EAAM2P,OAAQ,UAAY,OAC7D3P,GAAWA,EAAM4P,UAAY7K,GAAS/E,EAAM4P,UAAW,cAAgB,OACvE5P,GAAWA,EAAM6P,YAAc9K,GAAS/E,EAAM6P,YAAa,gBAAkB,OAC7E7P,GAAWA,EAAM8P,aAAe/K,GAAS/E,EAAM8P,aAAc,iBAAmB,OAChF9P,GAAWA,EAAM+P,WAAahL,GAAS/E,EAAM+P,WAAY,eAAiB,OAI3EhJ,IAAA,IAACkJ,UAAEA,EAAFC,SAAaA,EAAbC,SAAuBA,EAAvBC,SAAiCA,EAAjCC,UAA2CA,GAA5CtJ,EAAA,OACAD,GAAwB,CAAEE,MAAO,CAAEiJ,UAAAA,EAAWC,SAAAA,EAAUC,SAAAA,EAAUC,SAAAA,EAAUC,UAAAA,GAAaxL,YAAa,eACtG+D,IAAA,IAAC0H,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAxD9H,EAAA,OACA9B,GAAwB,CACtBE,MAAO,CAAEsJ,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9D7L,YAAa,mBAEfiE,IAAA,IAAC6H,eAAEA,EAAF7D,cAAkBA,EAAlBF,cAAiCA,EAAjCgE,cAAgDA,EAAhDC,eAA+DA,GAAhE/H,EAAA,OACAhC,GAAwB,CACtBE,MAAO,CAAE2J,eAAAA,EAAgB7D,cAAAA,EAAeF,cAAAA,EAAegE,cAAAA,EAAeC,eAAAA,GACtEhM,YAAa,qBAEfkE,IAAA,IAAC+H,gBAAEA,EAAFC,eAAmBA,EAAnBC,eAAmCA,EAAnCC,eAAmDA,EAAnDC,gBAAmEA,GAApEnI,EAAA,OACAjC,GAAwB,CACtBE,MAAO,CAAE8J,gBAAAA,EAAiBC,eAAAA,EAAgBC,eAAAA,EAAgBC,eAAAA,EAAgBC,gBAAAA,GAC1ErM,YAAa,sBAEfoE,IAAA,IAACkI,cAAEA,EAAFtE,aAAiBA,EAAjBF,aAA+BA,EAA/ByE,aAA6CA,EAA7CC,cAA2DA,GAA5DpI,EAAA,OACAnC,GAAwB,CACtBE,MAAO,CAAEmK,cAAAA,EAAetE,aAAAA,EAAcF,aAAAA,EAAcyE,aAAAA,EAAcC,cAAAA,GAClExM,YAAa,oBAKfqE,IAAA,IAACoI,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAxCxI,EAAA,OACApC,GAAwB,CAAEE,MAAO,CAAEsK,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAAY7M,YAAa,cACjGuE,IAAA,IAACuI,YAAEA,EAAFC,WAAeA,EAAfC,WAA2BA,EAA3BC,WAAuCA,EAAvCC,YAAmDA,GAApD3I,EAAA,OACAtC,GAAwB,CACtBE,MAAO,CAAE2K,YAAAA,EAAaC,WAAAA,EAAYC,WAAAA,EAAYC,WAAAA,EAAYC,YAAAA,GAC1DlN,YAAa,kBAEfmN,IAAA,IAACC,cAAEA,EAAFC,aAAiBA,EAAjBC,aAA+BA,EAA/BC,aAA6CA,EAA7CC,cAA2DA,GAA5DL,EAAA,OACAlL,GAAwB,CACtBE,MAAO,CAAEiL,cAAAA,EAAeC,aAAAA,EAAcC,aAAAA,EAAcC,aAAAA,EAAcC,cAAAA,GAClExN,YAAa,oBAEfyN,IAAA,IAACC,eAAEA,EAAFC,cAAkBA,EAAlBC,cAAiCA,EAAjCC,cAAgDA,EAAhDC,eAA+DA,GAAhEL,EAAA,OACAxL,GAAwB,CACtBE,MAAO,CAAEuL,eAAAA,EAAgBC,cAAAA,EAAeC,cAAAA,EAAeC,cAAAA,EAAeC,eAAAA,GACtE9N,YAAa,qBAEf+N,IAAA,IAACC,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAxDL,EAAA,OACA9L,GAAwB,CACtBE,MAAO,CAAE6L,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9DpO,YAAa,mBAId7E,GAAWA,EAAMe,IAAMgE,GAAS/E,EAAMe,IAAK,eAAiB,OAC5Df,GAAWA,EAAMgB,MAAQ+D,GAAS/E,EAAMgB,MAAO,iBAAmB,OAClEhB,GAAWA,EAAMiB,OAAS8D,GAAS/E,EAAMiB,OAAQ,kBAAoB,OACrEjB,GAAWA,EAAMkB,KAAO6D,GAAS/E,EAAMkB,KAAM,gBAAkB,OAEhEgS,IAAA,IAACwP,MAAEA,EAAFC,KAASA,EAATC,KAAeA,EAAfC,KAAqBA,EAArBC,MAA2BA,GAA5B5P,EAAA,OACApM,GAAwB,CAAEE,MAAO,CAAE0b,MAAAA,EAAOC,KAAAA,EAAMC,KAAAA,EAAMC,KAAAA,EAAMC,MAAAA,GAASje,YAAa,mBAClF0O,IAAA,IAACwP,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,GAApC5P,EAAA,OACAzM,GAAwB,CAAEE,MAAO,CAAE+b,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAAWte,YAAa,qBAC5F8O,IAAA,IAACyP,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAxC7P,EAAA,OACA7M,GAAwB,CACtBE,MAAO,CAAEoc,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAC9C3e,YAAa,sBAEfoP,IAAA,IAACwP,OAAEA,EAAFC,MAAUA,EAAVC,MAAiBA,EAAjBC,MAAwBA,EAAxBC,OAA+BA,GAAhC5P,EAAA,OACAnN,GAAwB,CAAEE,MAAO,CAAEyc,OAAAA,EAAQC,MAAAA,EAAOC,MAAAA,EAAOC,MAAAA,EAAOC,OAAAA,GAAUhf,YAAa,oBCtCpF,SAASif,GAAO9jB,GACrB,OAAOqL,EAAAA,IAACC,GAAD/J,EAAAA,QAAA,GAAiBvB,IAtB1B8jB,GAAO5X,YAAc,SC1BrB,IAAM6X,GAAUpmB,EAAHA,IAAb,CAAA,uFAUA,IAAMqmB,GAAYrmB,EAAHA,IAAf,CAAA,+BAIA,IAAMsmB,GAAStmB,EAAHA,IAAA,CAAA,8BAAA,4CAEAqC,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAIlC,IAAMsP,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAwB,CACrDC,kBAAoBlC,IACjB,CAAC,UAAW,YAAa,SAAU,UAAW,SAASlC,SAASkC,KAAUA,EAAKlC,SAAS,UAF5EmE,WAAA,CAAAG,YAAA,wBAAGL,CAIRxJ,CAAAA,SAAAA,sEAAAA,KAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAK3B+F,GAAUA,EAAMqB,MAAM3L,OAAOsE,UAEtCgG,GAAWA,EAAMgkB,UAAYA,GAAY,OACzChkB,GAAWA,EAAMikB,OAASA,GAAS,OACnCjkB,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OACpD1N,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,OAC9ChN,GAAWA,EAAMoF,KAAOL,GAAS/E,EAAMoF,KAAM,aAAe,OAC5DpF,GAAWA,EAAM+jB,QAAUA,GAAU,OACtChd,IAAA,IAACsV,OAAEA,EAAFC,MAAUA,EAAVC,MAAiBA,EAAjBC,MAAwBA,EAAxBC,OAA+BA,GAAhC1V,EAAA,OACAD,GAAwB,CAAEE,MAAO,CAAEqV,OAAAA,EAAQC,MAAAA,EAAOC,MAAAA,EAAOC,MAAAA,EAAOC,OAAAA,GAAU5X,YAAa,gMC0BpF,SAASqf,GAAOlkB,GAAiD,IAAAmkB,EAAAC,EAAAC,EACtE,IAAMvP,GACJA,EADIoB,GAEJA,EAFIF,KAGJA,EAHI+N,QAIJA,EAJI9O,UAKJA,EALIrJ,MAMJA,EANIF,SAOJA,EAPIyJ,QAQJA,EARI8O,OASJA,EATID,UAUJA,EAVIhX,MAWJA,EAXIU,QAYJA,EAZItI,KAaJA,EAbIiX,OAcJA,EAdIC,MAeJA,EAfIC,MAgBJA,EAhBIC,MAiBJA,EAjBIC,OAkBJA,EAlBIxG,QAmBJA,MAEEjW,EADCskB,YACDtkB,EArBJwK,IAuBA,IAAM0K,EAAarJ,GAAaqY,GAAOhY,YAAa+I,GACpD,IAAM5T,EAAQlD,EAAAA,WAEd,IAAIomB,EACJ,IAAMC,EAAO/lB,EAAAA,SAAAA,KAAc,IAAAmX,EAAA6O,EACzB,OAAOxO,GAAO,QAAAL,EAAIvU,EAAMyU,iBAAVF,GAAIA,EAAaC,WAAaxU,EAAMyU,MAAMD,WAAZ,QAAA4O,EAAuBzkB,EAAMgW,YAAAA,IAA7ByO,EAAAA,EAAqCzkB,EAAMkW,GAAIlW,EAAMT,QAAUS,EAAM2V,MAChH,CAACM,EAASjW,EAAM2V,IAAK3V,EAAMgW,KAAMhW,EAAMkW,GAAIlW,EAAMT,SAG/CglB,EADM,QAAPzP,GAAiBpH,EACLA,EADyB,QAGzC,IAAIgX,EAAe,GASnB,OAPIvP,IACFuP,yBACKA,GADO,GAAA,CAEV/C,wBAAyB,CAAEC,OAAQzM,MAMnC9J,EAACM,IAAAL,GAFDwJ,EAEAvT,EAAAC,QAAAD,EAAAC,QAAAD,UAAA,CACEuT,GAAIA,EACJmP,OAAQA,EACRF,QAASA,EACTC,UAAWA,EACXhO,KAAMA,EACNf,UAAWC,EACXtJ,MAAOA,EACPoB,MAAOA,EACP5H,KAAMA,EACNsI,QAAS6W,EACTlI,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJ6H,GACAI,GAjBN,GAAA,CAkBE/O,IAAY,MAAPb,EAAA,QAAAqP,EAAankB,EAAM2V,WAAnB,IAAAwO,EAAAA,EAA0BK,OAAAA,EAlBjC9Y,SAoBGA,IAIHuY,EAEA1iB,EAAAC,QAAAD,EAAAC,QAAAD,UAAA,CACEuT,GAAG,MACHmP,OAAQA,EACRF,QAASA,EACTC,UAAWA,EACXhO,KAAMA,EACNf,UAAWC,EACXlI,MAAOA,EACPpB,MAAOA,EACPxG,KAAMA,EACNsI,QAAS6W,EACTlI,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJ6H,GACAI,GAjBN,GAAA,CAAAhZ,SAmBGA,IAGEwK,EAEL3U,EAAAA,QAAAA,EAAAC,QAAAD,UAAA,CACEuT,GAAIsB,EADNA,KAEEF,GAAIA,EACJ+N,OAAQA,EACRF,QAASA,EACTC,UAAWA,EACX/O,UAAWC,EACXlI,MAAOA,EACP5H,KAAMA,EACNwG,MAAOA,EACP8B,QAAS6W,EACTlI,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJ6H,GACAI,GAjBN,GAAA,CAkBE/O,YAAK3V,EAAAA,EAAM2V,WAAAA,QAAO6O,EAlBpB9Y,SAoBGA,IAKHnK,EAAAC,QAAAD,EAAAC,QAAAD,UAAA,CACEuT,GAAG,IACHkB,KAAMA,EACNiO,OAAQA,EACRF,QAASA,EACTC,UAAWA,EACX/O,UAAWC,EACXlI,MAAOA,EACP5H,KAAMA,EACNwG,MAAOA,EACP8B,QAAS6W,EACTlI,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,GACJiI,GACAJ,GAjBN,GAAA,CAkBE3O,YAAK3V,EAAAA,EAAM2V,mBAAO6O,EAlBpB9Y,SAoBGA,KAzJTwY,GAAOhY,YAAc,SACrBgY,GAAO1O,aAAe,CACpB9H,QAAS,gBC1DJ,IAAMiX,GAAKnb,EAAAA,QAAOob,GAAVlb,WAAA,CAAAG,YAAA,wBAAGL,CAAX,CAAA,mDAMA,IAAMqb,GAAKrb,EAAAA,QAAOsb,GAAVpb,WAAA,CAAAG,YAAA,wBAAGL,CAAX,CAAA,4FC2BA,MAAMub,WAAoBC,EAAAA,UAG/BC,YAAYjlB,GACVklB,MAAMllB,GAD6BF,KAerCqlB,WAAcnlB,IACZ,IAAMmV,QAAEA,EAAFiQ,MAAWA,EAAQ,GAAMtlB,KAAKE,MAEpC,IAAKmV,EAAS,MAAO,GAErB,IAAIkQ,WAAEA,GAAevlB,KAAKwlB,MAC1B,IAAIC,EAA6C,iBAAZpQ,EAAuB,GAAK,GAEjE,GAAKrV,KAAKwlB,MAAME,WAsBdD,EAAOpQ,OArBP,GAAoB,iBAAToQ,EAGTA,GAFAF,EAAuB,IAAVD,GAAejQ,EAAQ/W,OAASgnB,IAEd,IAAVA,EAAiBjQ,GAAAA,OAAAA,EAAQsQ,MAAM,EAAGL,UAAcjQ,MAChE,CACL,IAAIuQ,EAAYN,EAEhB,IAAK,IAAIO,EAAQ,EAAGA,EAAQxQ,EAAQ/W,OAAQunB,IAAS,CACnD,KAAID,EAAYvQ,EAAQwQ,GAAOvnB,OAAS,GAIjC,CACLinB,KACAE,EAAKI,GAAL,GAAA3jB,OAAiBmT,EAAQwQ,GAAOF,MAAM,EAAGC,GAAzC,OAEA,MAPAA,GAAavQ,EAAQwQ,GAAOvnB,OAE5BmnB,EAAKI,GAASxQ,EAAQwQ,IAe9B,OAFI7lB,KAAKwlB,MAAMD,aAAeA,GAAYO,YAAAA,IAAiB9lB,KAAK+lB,SAAS,CAAER,WAAAA,MAEpD,iBAATE,EACZla,EAAAA,IAACoX,0BAASziB,GAAV,GAAA,CAAiBmV,QAASrV,KAAKgmB,SAASP,MAExCla,EAAAM,IAACoa,GAAD,CAAAra,SACG6Z,EAAK9nB,KAAAA,CAAK4J,EAAMse,IACfta,EAAAM,IAACqa,GAAD,CAAAta,SACEL,EAAAA,IAACoX,GAADlhB,EAAAC,QAAAD,EAAAC,QAAA,GAAUxB,GAAV,GAAA,CAAiB0N,QAAQ,SAASyH,QAAS9N,MAD7Bse,QAvDa7lB,KA+DrCgmB,SAAY3Q,GAAqBrV,KAAKE,MAAMimB,OAAX,IAAAjkB,OAAwBmT,EAAxB,KAAqCA,EA/DjCrV,KAiErComB,OAAS,KACPpmB,KAAK+lB,SAAS,CAAEL,YAAa1lB,KAAKwlB,MAAME,cA/DxC1lB,KAAKwlB,MAAQ,CACXE,cACAH,YAAAA,GAIJc,mBAAkDpf,GAAA,IAA/BoO,QAAEA,GAA6BpO,EAC5CoO,IAAYrV,KAAKE,MAAMmV,SAAWrV,KAAKwlB,MAAME,YAC/C1lB,KAAKomB,SA0DTE,SACE,IAAAC,EAOIvmB,KAAKE,OAPHiV,UACJA,EAAY,GADRrJ,MAEJA,EAFI0a,SAGJA,EAAW,mBAHPC,SAIJA,EAAW,WAJPC,YAKJA,GAAc,GALhBH,EAMKI,EANLlc,EAAA/I,QAAA6kB,EAAA7b,IAQA,IAAMgb,WAAEA,EAAFH,WAAcA,GAAevlB,KAAKwlB,MAExC,OACE3O,EAAAA,KAAA,MAAA,CAAK1B,UAAWA,EAAWrJ,MAAOA,EAAlCF,SACG,CAAA5L,KAAKqlB,WAAWsB,GAChBD,GAAenB,GACdha,EAAAM,IAACmY,GAAD,CAAQlU,UAAW,GAAIE,aAAc,EAArCpE,SACEL,MAAC6Y,GAAD,CAAQD,UAAO7Z,QAAStK,KAAKomB,OAA7Bxa,SACG8Z,EAAae,EAAWD,UAzF1BvB,GACJ7Y,YAAc,eC9BvB,IAAMwa,GAAa,CACjBC,QAAS,IACTC,OAAQ,IACRC,KAAM,IACNC,OAAQ,KAGV,IAAMC,GAA+E,CACnF1iB,EAAG,IACHC,EAAG,IACHC,EAAG,KACHC,GAAI,GAGN,IAAMwiB,GAAsBrpB,EAAHA,IAAzB,CAAA,gEASO,IAAM4L,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAsB,CACnDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,QAAS,QAAS,2BAA2BlC,SAASkC,KAD9FiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,sCAAA,IAAA,IAAA,IAAA,IAAA,0DAAA,IAAA,IAAA,IAAA,KAKZxJ,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OACpD1N,GAAyBgN,GAAdhN,EAAMgN,MAAchN,EAAMgN,MAAehN,EAAMqB,MAAM8L,aAChEnN,GACDA,EAAM4N,WACFjQ,EAAAA,IACiB,CAAA,eAAA,KAA4B,iBAArBqC,EAAM4N,YAA2BmZ,GAAgB/mB,EAAM4N,YACzEmZ,GAAgB/mB,EAAM4N,YACtB5N,EAAM4N,YAEZ,OACH5N,GACDA,EAAMinB,UACFtpB,EAAAA,IADJ,CAAA,cAAA,KAEoBqC,EAAMinB,WAEtB,OACHjnB,GACDA,EAAMmiB,OACFxkB,EADJA,IAEqB,CAAA,eAAA,KAA4B,iBAArBqC,EAAM4N,YAA2B8Y,GAAW1mB,EAAMmiB,QACpEuE,GAAW1mB,EAAMmiB,QACjBniB,EAAMmiB,QAEZ,OASHniB,GAAWA,EAAMknB,eAAiBF,GAAsB,OACxDhnB,GACDA,EAAMmnB,UACFxpB,MADJ,CAAA,cAAA,KAEoBqC,EAAMmnB,WAEtB,OAEHnnB,GAAWA,EAAMoF,KAAOL,GAAS/E,EAAMoF,KAAM,aAAe,OAC7D2B,IAAA,IAACsV,OAAEA,EAAFC,MAAUA,EAAVC,MAAiBA,EAAjBC,MAAwBA,EAAxBC,OAA+BA,GAAhC1V,EAAA,OACAD,GAAwB,CAAEE,MAAO,CAAEqV,OAAAA,EAAQC,MAAAA,EAAOC,MAAAA,EAAOC,MAAAA,EAAOC,OAAAA,GAAU5X,YAAa,iBCdpF,SAAS4d,GAAKziB,GACnB,IAAM8U,GACJA,EAAK,MADDpJ,SAEJA,EAFIyW,OAGJA,EAAS,SAHLhN,QAIJA,EAJIgS,UAKJA,EALID,eAMJA,EACAjS,UAAWmS,EAPPxb,MAQJA,EARIgC,WASJA,EAAa,IATTqZ,UAUJA,EAAY,SAVRI,MAWJA,EAXIra,MAYJA,EAZI5H,KAaJA,EAAO,IAbHiX,OAcJA,EAdIC,MAeJA,EAfIC,MAgBJA,EAhBIC,MAiBJA,EAjBIC,OAkBJA,EAlBI/O,QAmBJA,GACE1N,EAEJ,IAAMiV,EAAYpJ,GAAa4W,GAAKvW,YAAakb,GAEjD,OAEI/b,EAAAA,IAACC,GAFDI,EAEA,CACEoJ,GAAIA,EACJ9H,MAAOA,EACPiI,UAAWA,EACXoS,MAAOA,EACPlF,OAAQA,EACRvU,WAAYA,EACZuZ,UAAWA,EACXF,UAAWA,EACXC,eAAgBA,EAChB9hB,KAAMA,EACNiX,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACR/O,QAASA,EACT9B,MAAOA,EAjBTF,SAmBGA,GAML,CACEoJ,GAAIA,EACJ9H,MAAOA,EACPiI,UAAWA,EACXoS,MAAOA,EACPlF,OAAQA,EACRvU,WAAYA,EACZuZ,UAAWA,EACXF,UAAWA,EACXC,eAAgBA,EAChB9hB,KAAMA,EACNiX,OAAQA,EACRC,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACR/O,QAASA,EACT9B,MAAOA,EACP+V,wBAAyB,CAAEC,OAAQzM,GAAW,UCnIxCmS,GDkDZ7E,GAAK8E,QAAUhF,GACfE,GAAK+E,QAAUzC,GACftC,GAAKvW,YAAc,OCpDPob,QAAZA,sBAAYA,GAAAA,wBAAAA,QAAAA,6BAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,aAAAA,iBAsHCG,GAAwDl1B,OAAOC,OAAO,CACjFk1B,IAAK,MACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,MACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,MACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,MACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,MACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,MACLC,IAAK,KACLC,IAAK,MACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,MACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,OACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,MACLC,IAAK,IACLC,IAAK,IACLC,IAAK,MACLC,IAAK,IACLC,IAAK,MACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,OCvOP,IAAMC,GAAalxB,EAAHA,IAAhB,CAAA,kCAIO,IAAM4L,GAAOC,EAAAA,QAAOgL,KAAK9K,WAAwB,CACtDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,SAASlC,SAASkC,KAD1DiC,WAAA,CAAAG,YAAA,uBAAGL,CAKfxJ,CAAAA,oCAAAA,KAAAA,GAAWA,EAAM6uB,WAAaA,GAAa,iHCkChD,IAAMC,GAAyB,OAG/B,SAASC,GAAeC,GACtB,IAAMC,EAASC,IACb,IAAM9wB,OAAEA,GAAW8wB,EAEnB,GAAI9wB,GAAU4wB,EACZ,MAAO,CAACE,GAGV,IAAMC,EAAO/wB,EAAS4wB,EAGtB,MAAO,CAACE,EAAIzJ,MAAM0J,EAFP/wB,IAEkB4D,OAAOitB,EAAMC,EAAIzJ,MAAM,EAAG0J,MAGzD,OAAOF,EAsCF,MAAMG,WAAeC,EAAAA,cAA2BpK,cAAAC,SAAAzlB,WAAAK,KAwCrDwvB,qBAAwBC,GACtB5Y,EAAAA,KAAA,OAAA,CAAM/K,MAAO,CAAE4jB,SAAU,YAAzB9jB,SAAA,CAC2B,QAAxB5L,KAAKE,MAAMyvB,SACVpkB,EAAAM,IAAA,OAAA,CACEC,MAAO,CACL4jB,SAAU,WACVrvB,MAAO,EACPuvB,QAAS,EACTC,WAAY,UALhBjkB,SAAA,SAUE,KACJL,EAAAM,IAAA,OAAA,CAAAD,SAAA,IAAA1J,OAAWutB,QA3CSK,yBAACC,GACvB,OAAOpI,GAAaoI,IAAiBA,EAGvCC,gBAAgBC,GACd,IAAMC,kBAAEA,EAAFC,UAAqBA,GAAcnwB,KAAKE,MAE9C,IAAIkwB,GAAgB,EAUpB,OARIH,IACFG,GAAAA,GAEKF,GAAqBlB,GAAuB9T,KAAK+U,KACpDG,GAAAA,IAIAA,EAEAvZ,EAAAA,KAAA,OAAA,CAAM1B,UAAU,kBAAhBvJ,SACE,CAAAL,EAAAM,IAAA,OAAA,CAAMsJ,UAAU,YAAhBvJ,SAA6BukB,IAC7B5kB,EAAAM,IAAA,OAAA,CAAMsJ,UAAU,QAAhBvJ,SAAyBqkB,OAKxB,KAqBT3J,SACE,IAAAC,EACEvmB,KAAKE,OADDd,MAAEA,EAAFixB,iBAASA,EAATV,SAA2BA,EAA3BW,SAAqCA,EAArCnb,UAA+CA,EAA/CrJ,MAA0DA,EAA1DijB,WAAiEA,EAAjEwB,aAA6EA,GAAnFhK,EAAoG/B,EAApG/Z,EAAA/I,QAAA6kB,EAAA7b,IAGA,IAAM8lB,UAAEA,EAAFP,UAAaA,EAAbQ,WAAwBA,EAAxBhB,eAAoCA,GAjG9C,SAAA3U,EAAAC,EAAAxV,GAIE,IAHAnG,+BADF0b,EAAAA,EACgC,EAG9B,IAFAuV,EAEA1wB,UAAArB,OAAA,EAJFyc,SAIE,IADAgV,EACApwB,UAAArB,OAAA,EAJFiH,OAAA,EAKE,IAAMkrB,EAAarxB,EAAQ,EAK3B,IAAMsxB,EAHWC,KAAKC,IAAIxxB,GACGyxB,QAAQR,GAELS,MAAM,KACtC,IAAMN,EAAYE,EAAY,GAC9B,IAAMT,EAAYS,EAAY,GAI9B,IAAMK,EAFiB9B,GAnCM,EAmCNA,CAEmBuB,GAAWQ,UAAUzV,KAAK,KAEpE,IAAM0V,EAAoBF,GAAsBd,EAAgBA,IAAAA,OAAAA,GAAc,IAE9E,MAAO,CACLO,UAAWO,EACXd,UAAAA,EACA7wB,MAAO6xB,EACPR,WAAAA,EACAhB,eAAgBM,EAAeT,GAAO4B,kBAAkBnB,GAAgB,IAzB5E,CAiG8E3wB,EAAOixB,EAAkBV,GAEnG,IAAMwB,EAAajlB,EAAAA,QAAG,SAAUiJ,GAEhC,IAAMic,EACJva,EAACqD,KAAA1O,GAAD,CAAa2J,UAAWgc,EAAYrlB,MAAOA,EAAOijB,WAAYA,EAA9DnjB,SACG,CAAC2kB,EAQE,KAPF1Z,EAAAA,KAAAsD,EAAAA,SAAA,CAAAvO,SACE,CAAAiL,EAAAqD,KAAA,OAAA,CAAM/E,UAAU,QAAhBvJ,SAAA,CACG6kB,GA7Hc,IA8HdD,KAEFxwB,KAAKgwB,gBAAgBC,MAGzBN,GAAY3vB,KAAKwvB,qBAAqBC,MAM3C,OACElkB,EAAAA,IAHc+kB,EAAW3N,GAAK8E,QAAU9E,GAGxClhB,EAAAC,QAAAD,EAAAC,QAAA,GAAa8iB,GAAb,GAAA,CAAmBxP,GAAG,OAAtBpJ,SACGwlB,MArFI9B,GACJljB,YAAc,SADVkjB,GAEJ5Z,aAAe,CACpB4a,YACAJ,mBAAAA,EACAnB,YAAY,EACZsB,iBAAkB,EAClBF,UAAW,IACXI,cAAc,GC3FlB,IAAMc,GAAU,kJCbhB,IAAM/oB,GAAiE,CACrE/D,EAAG,IACHC,EAAG,GACH8sB,GAAI,GACJ7sB,EAAG,GACHC,GAAI,IAGN,IAAM6sB,GAAmBrkB,GAClBA,EAEErP,EAAPA,IAAA,CAAA,0CAAA,IAAA,MAC6CqR,EAAIxN,QAACwL,GAAOkC,QAAQ,IAAIC,WAAenC,GAHjE,KAOrB,IAAMskB,GAAkB3zB,EAAHA,IAAA,CAAA,iMAAA,iOAUTqC,GAAUA,EAAMqB,MAAM3L,OAAOC,QAMzC,IAAM47B,GAAe,CACnBltB,EAAG,GACHC,EAAG,IAGE,IAAMiF,GAAOC,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,gHAAA,uGAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAMAxJ,GAAUgP,EAAIxN,QAACxB,EAAMqB,MAAM3L,OAAO+C,SAASwgB,SAAS,IAAK9J,aAGrEnP,GAAWA,EAAMgN,MAAQqkB,GAAgBrxB,EAAMqB,MAAM3L,OAAOsK,EAAMgN,QAAU,OAC5EhN,GACDA,EAAMoF,KACFzH,EADJA,IAEe,CAAA,SAAA,aAAA,OAAsB,iBAAfqC,EAAMoF,MAAqBgD,GAAMpI,EAAMoF,MAAQgD,GAAMpI,EAAMoF,MAAQpF,EAAMoF,KACzD,iBAAfpF,EAAMoF,MAAqBgD,GAAMpI,EAAMoF,MAAQgD,GAAMpI,EAAMoF,MAAQpF,EAAMoF,MAE5F,OACHpF,GACDA,EAAMwxB,OACF7zB,mEAKA,OAEHqC,GACDA,EAAMyxB,WAAazxB,EAAMqnB,MACrBgK,GD/DwB,EAACK,EAAgBh8B,KAC/C,IAAI8J,EAAIkyB,EAAOtzB,OACf,IAAIuzB,EAAM,EAEV,KAAOnyB,KACLmyB,GAAOD,EAAOE,WAAWpyB,GAG3B,OAAO9J,EAASA,EAAOi8B,EAAMj8B,EAAO0I,QAAU,MARhB,CC+DS4B,EAAMqnB,MAAO90B,OAAO0Y,OAAOjL,EAAMqB,MAAM3L,UACxE,OACHsK,GAAYA,EAAM6xB,IAAwB,KAAlBP,KACxBtxB,IACAA,EAAM6xB,KAAO7xB,EAAMoF,KAChBzH,EADJA,IAAA,CAAA,aAAA,OAEmB4zB,GAAavxB,EAAMoF,OAAS,IAE3C,4BC5CD,MAAM0sB,WAAezC,EAAAA,cAQ1B0C,gBACE,MFR0B1K,CAAAA,IAC5B,GAAIA,GAASA,EAAMjpB,OAAQ,CAEzB,IAAM4zB,EADoB3K,EAAM4K,OAAOrB,MAAM,KACRxpB,QAAQC,IAZxC8pB,GAAQnW,KAYkD3T,KAE/D,GAA0B,IAAtB2qB,EAAW5zB,OACb,OAAO4zB,EAAW,GAAG,GAChB,GAAIA,EAAW5zB,OAAS,EAC7B,MAAA,GAAA4D,OAAUgwB,EAAW,GAAG,IAAKA,OAAAA,EAAW,GAAG,IAI/C,MAAO,KAZqB3K,CEQLvnB,KAAKE,MAAMqnB,OAAS,IAG3CjB,SACE,IAAAC,EAAmCvmB,KAAKE,OAAlC6xB,IAAEA,EAAF5nB,IAAOA,GAAboc,EAAqBI,EAArBlc,EAAA/I,QAAA6kB,EAAA7b,IAEA,IAAM+a,EAAOzlB,KAAKiyB,gBAElB,OAEI1mB,EAAAA,IAACC,0BACKmb,GADN,GAFAoL,EAEA,CAGE5nB,IAAKA,EACL2B,MACEimB,EACI,CACEK,gBAAiBL,GAAG,OAAA7vB,OAAW6vB,EAAX,WAEtB1qB,GAQV,CAA4B8C,IAAKnK,KAAKE,MAAMiK,IAA5CyB,SACG6Z,MArCIuM,GACJtc,aAAe,CACpBpQ,KAAM,IACNqsB,cAHSK,GAMJ5lB,YAAc,SCnCvB,IAAMqD,GAAQ5R,EAAHA,IAAX,CAAA,uHAYO,IAAM4L,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAuB,CACpDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,SAASlC,SAASkC,KAD1DiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,gRAAA,IAAA,IAAA,KAsBZxJ,GAAWA,EAAMuP,MAAQA,GAAQ,OACjCvP,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,MAAO,oBAAsB,OAClEhN,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,+ECflD,SAASykB,GAQDprB,GAAA,IARO2E,SACpBA,EADoByJ,QAEpBA,EAFoBF,UAGpBA,EAHoBmd,UAIpBA,EAJoB7iB,MAKpBA,EALoB7B,QAMpBA,EAAU,gBAEG3G,EADV0f,EACUlc,EAAA/I,QAAAuF,EAAAyD,IACb,IAAM0K,EAAarJ,GAAasmB,GAAMjmB,YAAa+I,GACnD,OACE5J,MAACC,GAAD/J,EAAAC,QAAAD,UAAA,CAAagO,MAAOA,EAAO7B,QAASA,EAASuH,UAAWC,GAAgBuR,GAAxE,GAAA,CAAA/a,SACEL,MAACoX,GAADlhB,EAAAA,QAAAA,EAAAA,QAAA,CACE0T,UAAU,OACV7P,KAAMmK,EAAQ,GAAK,GACnB4S,OAAQ5S,EAAQ,SAAW,SAC3B3B,WAAW,IACXuH,QAA4B,iBAAZA,EAAuBA,OAAAA,GACnCid,GANN,GAAA,CAAA1mB,SAQGA,GAAYyJ,qBA5BrBgd,GAAMjmB,YAAc,QCZb,IAAM3C,GAAOC,EAAAA,QAAOyO,IAAIvO,WAA2B,CACxDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,SAASlC,SAASkC,KAD1DiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,sCAAA,yDAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAKDxJ,GAAUA,EAAMqB,MAAMO,YAAYyC,EAAI,IAAM,MAIvDrE,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OACpD1N,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,MAAO,oBAAsB,OAClEhN,GACDA,EAAMmnB,UACFxpB,EADJA,wBAEoBqC,EAAMmnB,WAEtB,OACHnnB,GACDA,EAAMgQ,MACFrS,MAGA,CAAA,oBAAA,MACJyF,IAAAA,CAGAD,KAAAA,GAAAA,EAAAA,QAAAA,CAAAA,iCAAAA,GAAAA,CAGAM,KAAAA,GAAAA,EAAAA,QAAAA,CAAAA,iCAAAA,IAAAA,CA7BGsE,KAAAA,GAAAF,EAAArG,QAAA,CAAA,kCCyBA,SAAS6wB,GAAUryB,GACxB,OAAOqL,EAAAA,IAACC,GAAD/J,EAAAA,QAAA,GAAiBvB,IAT1BqyB,GAAUnmB,YAAc,qECZxB,IAAMqB,GAAS,CACb7I,KAAM,IACND,IAAK,IACLD,GAAI,IACJD,EAAG,IACHD,EAAG,IACHD,EAAG,IACHD,GAAI,IACJD,IAAK,IACLD,KAAM,KAwBD,IAAMouB,GAAQ9oB,EAAMhI,SCxC4BuF,IAOrC,IAPsCkO,UACtDA,EADsDsd,OAEtDA,EAFsDC,iBAGtDA,GAIgBzrB,EADb/G,EACauK,EAAA/I,QAAAuF,EAAAyD,IAChB,IAAMioB,EAAsBxd,GAAAA,OAAAA,EAA5B,aACA,IAAMyd,EAA2Bzd,GAAAA,OAAAA,EAAjC,aAEA,OACE5J,MAACsnB,EAADnxB,QAAAD,UAAA,CACEqxB,gBAAiB3d,EACjBA,UAAWwd,EACXF,OAAQpzB,QAAQozB,GAChBC,iBAAkBxmB,EAAAA,QAAG0mB,EAAuBF,IACxCxyB,ODuBQ0J,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,sBAAA,wIAAA,sCAAA,qHAAA,+EAEFxJ,GAAUA,EAAMua,QAAUva,EAAMqB,MAAMkZ,OAAOC,QAWtDxa,GACDA,EAAM6yB,OACFl1B,EADJA,IAAA,CAAA,eAAA,KA3Bek1B,CAAAA,IACnB,OAAQA,GACN,IAAK,MACH,MAAO,aACT,IAAK,SACH,MAAO,WAGT,QACE,MAAO,WATQA,CA6BkB7yB,EAAM6yB,SAEnC,OAED7yB,GACGA,EAAMwyB,iBAAyB,KAG1B70B,EAAPA,IADEqC,EAAM8yB,eACR,CAAA,iEAMF,CAAA,wCAgBD9yB,GAAWA,EAAMG,MAAQ4E,GAnEN/E,CAAAA,GACG,iBAAhBA,EAAMG,MAA2BH,EAAMG,MAE9CH,EAAMG,OAAgC,iBAAhBH,EAAMG,OAAsBoN,GAAOvN,EAAMG,OAAeoN,GAAOvN,EAAMG,OAExF,OALiBH,CAmEgCA,GAAQ,aAAe,OAQ1E,IAAM+yB,GAAavpB,EAAAA,QAAOgL,KAAV9K,WAAA,CAAAG,YAAA,wBAAGL,CAAnB,CAAA,gJE5FP,IACQwpB,GA2FD,SAASV,GAAMtyB,GACpB,IAAM8yB,eACJA,EADIpnB,SAEJA,EAFIunB,eAGJA,EAHIC,aAIJA,EAJIX,OAKJA,EALIY,YAMJA,EANIC,eAOJA,EAPIZ,iBAQJA,EARIa,KASJA,EATIC,0BAUJA,EAVInzB,MAWJA,EAXI0yB,OAYJA,EAZI5d,UAaJA,EAbIrJ,MAcJA,EAdI2O,OAeJA,GACEva,EAEJ,OACEqL,EAAAA,IAACkoB,GAAD,CACET,eAAgBA,EAChBG,eAAgBA,EAChBC,aAAcA,EACdX,OAAQpzB,QAAQozB,GAChBY,YAAaA,EACbC,eAAgBA,EAChBR,gBAAiB3d,EACjBud,iBAAkBA,EAClBgB,kBAAkB,cAClBH,KAAMA,EACN9Y,OAAQA,EACRsY,OAAQA,EACR1yB,MAAOA,EACPmzB,0BAA2BA,EAd7B5nB,SAgBEL,EAAAM,IAAA,MAAA,CAAKC,MAAOA,EAAZF,SAAoBA,MFnBA3N,EAAHA,kBAAhB,CAAA,gCEtGe,oBAAXmd,SANH8X,GAAa1R,SAASmS,OAEVT,cAAsBU,aAAaf,EAAAA,QAAWgB,cAAcX,IAkEhFV,GAAM9c,aAAe,CACnBsd,gBAAAA,EACAG,eAAgB,EAChB1Y,OAAQ,IACR2Y,aAAc,GACdX,QAAQ,EACRc,KAAM,SACNC,2BAAAA,EACAnzB,MAAO,IACP0yB,OAAQ,SACR5d,UAAW,SAGbqd,GAAMsB,MChF8D7sB,IAAA,IAAzCkO,UAAEA,EAAF7K,QAAaA,GAA4BrD,EAClE,OACEsE,EAAAA,IAACwoB,GAAD,CAAmB5e,UAAWA,EAAW7K,QAASA,EAAlDsB,SACEL,MAACV,GAAD,CAAM4O,KAAK,YAAYvM,MAAM,eD8EnCslB,GAAMpmB,YAAc,QEpFpB,IAAM4nB,GAAS,CACb,EAAGn2B,EAAAA,IADU,CAAA,2CAIb,EAAGA,EAAAA,IAJU,CAAA,6CAOb,EAAGA,EAAAA,IAPU,CAAA,6CAUb,EAAGA,EAAAA,IAVU,CAAA,+CAab,EAAGA,EAAAA,IAAH,CAAA,gDAKF,IAAMo2B,GAASp2B,EAAHA,IAAZ,CAAA,+GASA,IAAMkX,GAAUlX,EAAAA,IACIqC,CAAAA,iBAAAA,MAAAA,GAAUA,EAAMqB,MAAMyI,eAGnC,IAAMP,GAAOC,EAAMhI,QAACsiB,IAAVpa,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,0CAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAEMxJ,GAAUA,EAAMqB,MAAM3L,OAAOC,QAC/CqK,GACDA,EAAMmnB,UACFxpB,EAAAA,IACgBqC,CAAAA,cAAAA,KAAAA,EAAMmnB,WAEtB,OACHnnB,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,MAAO,oBAAsB,OAClEhN,GAAmC,iBAAjBA,EAAM8zB,QAAuB9zB,EAAMwxB,OAASsC,GAAO9zB,EAAM8zB,QAAU,OACrF9zB,GAAWA,EAAM6U,QAAUA,GAAU,OACrC7U,GAAWA,EAAM+zB,OAASA,GAAS,yDCXjC,SAASC,GAAyFjtB,GAAA,IAAnFyI,QAAEA,EAAU,IAAZqF,QAAiBA,GAAAA,EAAjB2c,OAAiCA,GAAAA,EAAjCvc,UAAgDA,GAAmClO,EAArB/G,EAAqBuK,EAAA/I,QAAAuF,EAAAyD,IACvG,IAAM0K,EAAarJ,GAAamoB,GAAM9nB,YAAa+I,GAEnD,OAAO5J,EAAAM,IAACL,GAAD/J,UAAA,CAAaiO,QAASA,EAASqF,QAASA,EAAS2c,OAAQA,EAAQvc,UAAWC,GAAgBlV,IAXrGg0B,GAAM9nB,YAAc,QCzBb,IAAM+nB,GAAWzqB,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,wCAAA,IAAA,MAGTxJ,GAAD,GAAAgC,OAAchC,EAAMk0B,SAAW,EAA/B,OACNl0B,GAAgCgN,GAArBhN,EAAMm0B,aAAqBn0B,EAAMm0B,aAAoC,WAAtB,gBAGxD,IAAMC,GAAa5qB,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAAnB,CAAA,wGAUA,IAAM6qB,GAAY7qB,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAOpBxJ,CAAAA,6DAAAA,KAAAA,GAAkCgN,GAAvBhN,EAAMs0B,eAAuBt0B,EAAMs0B,eAAsC,QAAtB,gBAgDnE,IAAMC,GAAU52B,EAAHA,IAAA,CAAA,KAAA,0DACP02B,IASC,IAAM9qB,GAAOC,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,8EAAA,IAAA,IAAA,KAKZxJ,GAAWA,EAAMw0B,WA5DFx0B,CAAAA,GAAkFrC,EAAnFA,IAGbs2B,CAAAA,iDAAAA,mCAAAA,6JAAAA,QAAAA,GAGAI,GAYgBtnB,GAAS/M,EAAMm0B,cAAgB,WAAYn0B,IAlB7CA,CA4D0BA,GAAS,OAClDA,GAA6B,MAAlBA,EAAMk0B,QArCNl0B,CAAAA,GAAkFrC,EAAAA,IAAnF,CAAA,KAAA,sHAAA,oWACT02B,GASgBtnB,GAAS/M,EAAMm0B,cAAgB,WAAYn0B,IAVjDA,CAqC+BA,GAAS,OACnDA,GAA6B,IAAlBA,EAAMk0B,QAAgBK,GAAU,OClDzC,SAASE,GAAkBz0B,GAChC,IAAMk0B,QAAEA,EAAFQ,SAAWA,EAAXzf,UAAqBA,EAArBrJ,MAAgCA,EAAhCuoB,aAAuCA,EAAvCG,eAAqDA,EAArDE,WAAqEA,EAArEG,SAAiFA,GAAa30B,EAEpG,OACE2W,EAAAA,KAACrL,GAAD,CACE2J,UAAWA,EACXrJ,MAAOA,EACPsoB,QAASA,EACTM,WAAYA,EACZL,aAAcA,EACdQ,SAAUA,EANZjpB,SAQE,CAAAL,EAAAM,IAACipB,GAAD,CAAiBV,QAASA,EAASC,aAAcA,IACjD9oB,EAAAM,IAACkpB,GAAD,CAAAnpB,SACGlJ,MAAM2sB,KAAK,IAAI3sB,MAAMkyB,EAAW,GAAGl3B,QAAQC,KAAI,CAAC4J,EAAMtI,IACrDsM,EAAAA,IAACypB,GAAD,CAAkBR,eAAgBA,GAAqBv1B,UA/BjE01B,GAAkBjf,aAAe,CAC/B0e,QAAS,EACTC,aAAc,UACdG,eAAgB,UAChBI,SAAU,EACVF,YAAAA,GAGFC,GAAkBvoB,YAAc,qBC/BzB,IAAM3C,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAW,CACxCC,kBAAoBlC,GAAkB,aAATA,IADdiC,WAAA,CAAAG,YAAA,uBAAGL,CAIRxJ,CAAAA,2BAAAA,WAAAA,0FAAAA,eAAAA,2GAAAA,GAAWA,EAAMoF,KAAUpF,GAAAA,OAAAA,EAAMoF,KAAW,MAAA,SAC3CpF,GAAWA,EAAMoF,KAAN,GAAApD,OAAgBhC,EAAMoF,KAAtB,MAAiC,SAUlDpF,GAAWA,EAAM+0B,YAAc/nB,GAAMhN,EAAM+0B,YAAa,UAAY,OAG5D/0B,GAAWA,EAAMg1B,cAAgBjoB,GAAS/M,EAAMg1B,cAAeh1B,GAApD,wBAcnB,IAAMyU,GAAUjL,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAhB,CAAA,yIC9BP,SAASyrB,GAAiBC,EAAiBC,EAAiBC,EAAgBC,GAC1E,IAAMC,GAAmBD,EAAiB,IAAM5E,KAAK8E,GAAM,IAE3D,MAAO,CACL1d,EAAGqd,EAAUE,EAAS3E,KAAK+E,IAAIF,GAC/Bxd,EAAGqd,EAAUC,EAAS3E,KAAKgF,IAAIH,IAInC,SAASI,GAAY7d,EAAWC,EAAWsd,EAAgBO,EAAoBC,EAA/EpvB,GAAkH,IAAjBsqB,+BAAjGtqB,GAAAA,EACE,IAAMqvB,EAAQZ,GAAiBpd,EAAGC,EAAGsd,EAAQQ,GAC7C,IAAME,EAAMb,GAAiBpd,EAAGC,EAAGsd,EAAQO,GAE3C,IAAMI,EAAOH,EAAWD,EACxB,IAAMK,EAAYD,EAAO,GAAKA,EAAOA,EAErC,IAAME,EAAQD,GAAa,IAAM,IAAM,IACvC,IAAME,EAAWpF,KAAamF,EAAQA,EAEtC,MAAO,CAAC,IAAKJ,EAAMhe,EAAGge,EAAM/d,EAAG,IAAKsd,EAAQA,EAAQ,EAAGc,EAAU,EAAGJ,EAAIje,EAAGie,EAAIhe,GAAGuD,KAAK,KAkDlF,MAAM8a,WAAuB9G,EAAAA,cAclCpK,YAAYjlB,GACVklB,MAAMllB,GADqEF,KAsB7Es2B,UAAY,KACV,IAAMhxB,KAAEA,EAAFixB,SAAQA,EAARC,gBAAkBA,EAAlBC,cAAmCA,EAAnCC,mBAAkDA,GAAuB12B,KAAKE,MAEpF,IAAMy2B,EAAYH,EAAkBC,EAAgBD,EAAkBC,EAEtE,IAAMG,EAAStxB,EAAO,EAAIqxB,EAAY,EAGtC,IAAME,EAAeH,EACrB,IAAMI,EAAaD,EAHC,GAKpB,IAAMzB,EAAUwB,EAASD,EAAY,EACrC,IAAMtB,EAAUuB,EAASD,EAAY,EACrC,IAAMrB,EAASsB,EAASD,EACxB,IAAMV,EAAOY,EAAeC,EAE5B,IAAMC,EAAsBnB,GAAYR,EAASC,EAASC,EAAQoB,EATzCA,EADL,KAC0CH,EAAW,IAAO,KASwB,GAExG,IAAMS,EAAgBpB,GAAYR,EAASC,EAASC,EAAQuB,EAAcC,GAI1E92B,KAAK+lB,SAAS,CACZgR,oBAAAA,EACAC,cAAAA,EACAC,YALkBhB,EAAO,GAAKA,EAAOA,KAxCvCj2B,KAAKwlB,MAAQ,CACXyR,YAAa,EACbF,oBAAqB,KACrBC,cAAe,MAInBE,oBACEl3B,KAAKs2B,YAGPjQ,mBAAmB8Q,GACjB,IAAMZ,SAAEA,EAAFjxB,KAAYA,GAAStF,KAAKE,MAChC,IAAQq2B,SAAUa,EAAc9xB,KAAM+xB,GAAaF,EAE/CZ,IAAaa,GAAgB9xB,IAAS+xB,GACxCr3B,KAAKs2B,YAiCThQ,SACE,IAAMhhB,KACJA,EADIgyB,YAEJA,EAFIjiB,QAGJA,EAHImhB,gBAIJA,EAJIC,cAKJA,EALIxB,YAMJA,EANIC,cAOJA,EAPIqC,OAQJA,EARIhB,SASJA,EATIphB,UAUJA,EAVIrJ,MAWJA,GACE9L,KAAKE,MAET,IAAM+2B,YAAEA,EAAFF,oBAAeA,EAAfC,cAAoCA,GAAkBh3B,KAAKwlB,MAEjE,OACE3O,EAAAA,KAACrL,GAAD,CACE2J,UAAWA,EACXrJ,MAAOA,EACPxG,KAAMA,EACN4vB,cAAeA,EACfD,YAAaA,EACbsC,OAAQA,EANV3rB,SAQE,CAAAL,EAAAM,IAAA,MAAA,CAAKxL,MAAOiF,EAAMhF,OAAQgF,EAAMvE,QAAgBuE,OAAAA,OAAAA,EAAQA,KAAAA,OAAAA,GAAxDsG,SACEiL,EAAAqD,KAAA,IAAA,CAAG/E,UAAW,UAAdvJ,SACE,CAAAL,EAAAM,IAAA,OAAA,CACEsJ,UAAU,KACV1U,EAAGw2B,EAAc,KAAOD,EAAgBA,EAAgB,GACxDz2B,KAAK,OACLI,YAAa81B,EACb71B,cAAc,UAEhB2K,EAAAM,IAAA,OAAA,CACEsJ,UAAU,OACV1U,EAAGpB,SAASk3B,IAAaQ,EAAsBA,EAAsB,GACrEp2B,YAAa61B,EACb51B,cAAc,eAInB02B,GAAe/rB,EAACM,IAAAoL,GAAD,CAAgB4K,wBAAyB,CAAEC,OAAQwV,KAClEjiB,GAAW9J,EAACM,IAAAoL,GAAD,CAAArL,SAAiByJ,QA7GxBghB,GAIJjqB,YAAc,kBAJViqB,GAKJ3gB,aAAe,CACpBpQ,KAAM,GACNixB,SAAU,EACVC,gBAAiB,EACjBC,cAAe,EACfxB,YAAa,SACbyB,mBAAoB,KCjFxB,IAAMc,GAAOtpB,EAAHA,UAAV,CAAA,qEASA,IAAMupB,GAAWvqB,GAAkBrP,EAAAA,8BACbqb,UAAUhM,GAAOiM,SAAS,IAAK9J,YAGrD,IAAMqoB,GAAY75B,EAAHA,IAAA,CAAA,4NAAA,wBAYA25B,IAGR,IAAM/tB,GAAOC,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,+DAAA,IAAA,KAKZxJ,GAAWA,EAAMy3B,gBAAkBzqB,GAAMhN,EAAMy3B,gBAAiBF,IAAW,OAC3Ev3B,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,OAG5C,IAAM0qB,GAAMluB,EAAAA,QAAOyO,IAAIvO,WAAkD,CAC9EC,kBAAmB,KAAA,IADLD,WAAA,CAAAG,YAAA,wBAAGL,CASdxJ,CAAAA,yHAAAA,IAAAA,KAAAA,GAAWA,EAAMw3B,UAAYA,GAAY,OACzCx3B,GACDA,EAAMG,MACFxC,EADJA,IAEeqC,CAAAA,SAAAA,MAAAA,EAAMG,OAEjBxC,EAAAA,IAJJ,CAAA,gBCtBG,SAASs2B,GAASj0B,GACvB,IAAMiV,UAAEA,EAAFuiB,UAAaA,EAAbC,gBAAwBA,EAAxBzqB,MAAyCA,EAAzCknB,QAAgDA,GAAYl0B,EAElE,IAAI23B,EAAsC,iBAAZzD,EAAuB0D,SAAS1D,EAAS,IAAMA,GAAW,EAKxF,OAHIyD,EAAW,MAAKA,EAAW,KAC3BA,EAAW,IAAGA,EAAW,GAG3BtsB,EAAAA,IAACC,GAAD,CAAa2J,UAAWA,EAAWwiB,gBAAiBA,EAAiBzqB,MAAOA,EAA5EtB,SACEL,EAAAM,IAACksB,GAAD,CAAY13B,MAAOw3B,EAAUH,UAAWr4B,QAAQq4B,OA3BtDvD,GAASze,aAAe,CACtB0e,QAAS,EACTlnB,MAAO,QACPyqB,gBAAiB,OACjBD,WAAAA,GAGFvD,GAAS6D,OAAS3B,GAClBlC,GAAS8D,UAAYtD,GACrBR,GAAS/nB,YAAc,sRCwGvB,MAAM8rB,WAAmB3I,EAAAA,cAAiFpK,cAAAC,SAAAzlB,WAAAK,KAuBxGm4B,WAAoC,KAvBoEn4B,KAwBxGo4B,GAAK,EAxBmGp4B,KA0BxGwlB,MAAQ,CACN6S,UAAW,EACXC,aAAc,EACdC,aAAc,GA7BwFv4B,KAuDxGw4B,iBAAoB1d,IAClB9a,KAAKo4B,GAAKtd,EAAE2d,QAAQ,GAAGC,SAxD+E14B,KA2DxG24B,gBAAmB7d,IACjB,IAAK9a,KAAKE,MAAM04B,UAAY54B,KAAKm4B,WAAY,OAAO,EAEpD,IAAMU,EAAa74B,KAAKm4B,WAAWW,WAEnC,GAAKD,EAAL,CAEA,IAAME,EAAKje,EAAEke,eAAe,GAAGN,QAC/B,IAAMO,EAAMj5B,KAAKo4B,GAAKW,GAAM,EAAI,EAEhC,IAAMG,EAAkB,IAARD,GAA0D,IAA5CJ,EAA8BR,UAC5D,IAAMc,GACK,IAATF,GACAtI,KAAKyI,MAAOP,EAA8BR,aACvCQ,EAA8BP,aAAgBO,EAA8BN,aAOjF,OALIW,GAAWC,KACbre,EAAEnP,iBACF3L,KAAKo4B,GAAKW,IAAAA,IA7E0F/4B,KAmFxGq5B,aAAgBve,IACd,IAAK9a,KAAKE,MAAM04B,UAAY54B,KAAKm4B,WAAY,OAAO,EAIpD,IAAMU,EAAa74B,KAAKm4B,WAAWW,WAEnC,GAAKD,EAAL,CAEA,IAAMI,GANQne,EAAEwe,QAAUxe,EAAEye,QAMR,EAAI,GAAK,EAY7B,OAVwB,IAARN,GAA0D,IAA5CJ,EAA8BR,YAEjD,IAATY,GACCJ,EAA8BR,YAC5BQ,EAA8BP,aAAgBO,EAA8BN,eAG/Ezd,EAAEnP,kBAAAA,IArGkG3L,KA2GxGw5B,aAAgBruB,IACd,IAAMktB,UAAEA,EAAFC,aAAaA,EAAbC,aAA2BA,GAAiBptB,EAElDnL,KAAK+lB,SAAS,CACZsS,UAAAA,EACAC,aAAAA,EACAC,aAAAA,KAjHoGv4B,KAiIxGy5B,SAAYC,IACV,IAAMC,EAAS,4CAA4CC,KAAKF,GAEhE,OAAOC,EACH,CACE5e,EAAG+c,SAAS6B,EAAO,GAAI,IACvBE,EAAG/B,SAAS6B,EAAO,GAAI,IACvBhzB,EAAGmxB,SAAS6B,EAAO,GAAI,KAEzB,MA1IkG35B,KA6IxG85B,YAAc,CAAsDb,EAAAA,KAAmC,IAAxFntB,MAAEA,GAAsF7E,EAA5E/G,EAA4EuK,EAAA/I,QAAAuF,EAAAyD,IACrG,IAAMqvB,WAAEA,EAAFC,aAAcA,EAAdC,kBAA4BA,EAA5BC,WAA+CA,GAAel6B,KAAKE,MAEzE,IAAMw5B,EAAMK,EAAa/5B,KAAKy5B,SAASM,GAAc,KAErD,IAAMI,EAAU14B,EAAAA,QAAA,CACd+M,WAAYkrB,EAAG,QAAAx3B,OAAWw3B,EAAI3e,EAAM2e,MAAAA,OAAAA,EAAIG,eAAMH,EAAI/yB,EAAnC,MAAAzE,OAAyC83B,EAD1C,KAAA,sBAEdhwB,aAAY,GAAA9H,OAAK+3B,EAFH,MAGdxf,OAAQ,IACI,aAARwe,EACA,CACE/3B,MAAO,EACPD,IAAK,EACLE,OAAQ,EACRd,gBAAU65B,EAAL,OAEP,CACE/4B,OAAQ,EACRC,KAAM,EACNF,MAAO,EACPZ,iBAAW45B,EAAL,QAId,OACE3uB,EAAAM,IAAA,MAAApK,UAAA,CACEqK,MAAKrK,EAAAC,QAAAD,EAAAC,QAAA,GACAoK,GACAquB,IAEDj6B,KA3K8FF,KAgLxGo6B,YAActxB,IAAmE,IAAlEgD,MAAEA,GAAgEhD,EAAtDuxB,EAAsD5vB,EAAA/I,QAAAoH,EAAAwxB,IAC/E,IAAMC,WAAEA,EAAFC,aAAcA,EAAdC,kBAA4BA,EAA5BC,WAA+CA,GAAe16B,KAAKE,MAEzE,IAAMy6B,EAAa,CACjB/K,QAAS4K,EACT7C,gBACG33B,KAAKE,MAAMqB,MAAuB3L,OAAO2kC,IAAgBv6B,KAAKE,MAAMqB,MAAuB3L,OAAO2kC,GACrGvwB,aAAY,GAAA9H,OAAKu4B,EAJA,MAKjBp6B,gBAAUq6B,EAAL,OAGP,OAAOnvB,EAAAM,IAAA,MAAApK,UAAA,CAAKqK,MAAKrK,EAAAC,QAAAD,EAAAC,QAAA,GAAOoK,GAAU6uB,IAAkBN,KA3JtDnD,oBACOl3B,KAAKm4B,YAAen4B,KAAKm4B,WAAWW,aACvC94B,KAAKm4B,WAAWW,WAA8B8B,iBAAiB,aAAc56B,KAAKw4B,kBAAkB,GACpGx4B,KAAKm4B,WAAWW,WAA8B8B,iBAAiB,YAAa56B,KAAK24B,oBACjF34B,KAAKm4B,WAAWW,WAA8B8B,iBAAiB,QAAS56B,KAAKq5B,cAAAA,GAC7Er5B,KAAKm4B,WAAWW,WAA8B8B,iBAC9C,SACA56B,KAAKq5B,cACL,IAIJwB,uBACO76B,KAAKm4B,YAAen4B,KAAKm4B,WAAWW,aACvC94B,KAAKm4B,WAAWW,WAA8BgC,oBAAoB,aAAc96B,KAAKw4B,kBACrFx4B,KAAKm4B,WAAWW,WAA8BgC,oBAAoB,YAAa96B,KAAK24B,iBACpF34B,KAAKm4B,WAAWW,WAA8BgC,oBAAoB,QAAS96B,KAAKq5B,cAChFr5B,KAAKm4B,WAAWW,WAA8BgC,oBAC9C,SACA96B,KAAKq5B,eAkET0B,wBACE,IAAM1C,UAAEA,EAAFC,aAAaA,EAAbC,aAA2BA,GAAiBv4B,KAAKwlB,MACvD,IAAMwV,aAAEA,EAAe,IAAOh7B,KAAKE,MAEnC,IAAM+6B,EAAQ3C,EAAeC,GAAgB,EAK7C,OAAO5H,KAAKyI,MAFD4B,GADY,IAAZ3C,GAAoB4C,GAAS,EAAI,EAAIA,IACjB,IAEZD,GAgErB1U,SACE,IAAAC,EAmBIvmB,KAAKE,OAnBH0L,SACJA,EADIsvB,WAEJA,EAFIF,aAGJA,EAHIG,YAIJA,EAJIC,cAKJA,EALIjmB,UAMJA,EANIrJ,MAgBJA,EAhBIlD,SAiBJA,GAjBF2d,EAkBKrmB,EAlBLuK,EAAA/I,QAAA6kB,EAAA8U,IAqBA,GAAIzyB,EAAU,OAAO2C,EAAAM,IAAA,MAAA,CAAAD,SAAMA,IAE3B,IAAM0sB,aAAEA,EAAFC,aAAgBA,GAAiBv4B,KAAKwlB,MAE5C,IAAM8V,EAAet7B,KAAK+6B,wBAE1B,OACElkB,EAAAA,KAAA,MAAA,CACE/K,6BACKA,GADA,GAAA,CAEH4jB,SAAU,aAEZva,UAAWA,EALbvJ,SAOGsvB,CAAAA,GAAc5C,EAAeC,GAAgB+C,KAAkBN,GAC9DzvB,EAAAM,IAAA,MAAA,CACEC,MAAO,CACL4jB,SAAU,WACV9hB,QAAS,QACTtN,OAAM,GAAA4B,OAAK84B,EAHN,MAIL55B,KAAM,EACNF,MAAO,EACPD,IAAG,IAAAiB,OAAM84B,EANJ,MAOLpL,QAASwL,EACThJ,gBAAe,8BAAAlwB,OACZlC,KAAKE,MAAMqB,MAAuB3L,OAAOulC,GATvC,sCAWL7vB,UAAyB0vB,cAAAA,OAAAA,EAAeM,EAXnC,OAYL7gB,OAAQ,MAKbygB,GAAc5C,EAAeC,GAAgB+C,EAAe,GAC3D/vB,EAAAM,IAAA,MAAA,CACEC,MAAO,CACL4jB,SAAU,WACV9hB,QAAS,QACTtN,OAAM,GAAA4B,OAAK84B,EAHN,MAIL55B,KAAM,EACNF,MAAO,EACPC,OAAQ,EACRyuB,QAASwL,EACThJ,gBAAe,2BAAAlwB,OACZlC,KAAKE,MAAMqB,MAAuB3L,OAAOulC,GATvC,sCAWL7vB,UAAyB0vB,cAAAA,OAAAA,EAAeM,EAXnC,OAYL7gB,OAAQ,MAKdlP,MAACgwB,aAAD95B,EAAAA,QAAAA,EAAAA,QAAA,CACE+5B,oBAAsBC,GAAcz7B,KAAK85B,YAAiB2B,EAAAA,QAAAA,GAAAA,GAAa,YACvEC,sBAAwBD,GAAcz7B,KAAK85B,YAAiB2B,EAAAA,QAAAA,GAAAA,GAAa,cACzEE,sBAAuB37B,KAAKo6B,YAC5BwB,oBAAqB57B,KAAKo6B,YAC1ByB,SAAU77B,KAAKw5B,aACfsC,yBAAuB,GACnB57B,GAPN,GAAA,CAAA0L,SASEL,EAAAM,IAAA,MAAA,CACE1B,IAAM4xB,IACJ/7B,KAAKm4B,WAAa4D,GAFtBnwB,SAKGA,WAtRPssB,GACG9rB,YAAc,aADjB8rB,GAEGxiB,aAAe,CACpBsmB,YACAC,gBAAiB,IACjBC,iBAAkB,IAClBC,cACAjB,YAAAA,EACAF,aAAc,GACdI,cAAe,IACfD,YAAa,YACbZ,WAAY,YACZC,aAAc,IACdC,kBAAmB,EACnBC,WAAY,EACZX,WAAY,UACZC,aAAc,IACdC,kBAAmB,EACnBC,WAAY,EACZtxB,UAAAA,EACAgwB,SAAS,GA+Qb,IAAMwD,GAAsBC,EAASA,UAACnE,IAEtCkE,GAAoBhwB,YAAc,aC/ZlC,IAAM4nB,GAAS,CACb,EAAGn2B,EAAAA,IADU,CAAA,mDAIb,EAAGA,EAAAA,IAJU,CAAA,oFAOb,EAAGA,EAAAA,IAPU,CAAA,qFAUb,EAAGA,EAAAA,IAVU,CAAA,sFAab,EAAGA,EAAAA,IAAH,CAAA,uFAKK,IAAM4L,GAAOC,EAAMhI,QAACsiB,IAAVpa,WAAA,CAAAG,YAAA,wBAAGL,CAGGxJ,CAAAA,6CAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GAAUA,EAAMqB,MAAM3L,OAAOC,QAC/CqK,GACDA,EAAMmnB,UACFxpB,MACgBqC,CAAAA,cAAAA,KAAAA,EAAMmnB,WAEtB,OACHnnB,GAAmC,iBAAjBA,EAAM8zB,OAAsBA,GAAO9zB,EAAM8zB,QAAU,OACrE9zB,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,MAAO,oBAAsB,OCGhE,SAASovB,GAAQp8B,GACtB,OAAOqL,EAAAA,IAACC,GAAD/J,EAAAA,QAAA,GAAiBvB,IAV1Bo8B,GAAQlwB,YAAc,UCtBtB,IAAMwa,GAAa,CACjB,EAAG,SACH,EAAG,QACH,EAAG,SACH,EAAG,SACH,EAAG,SAGE,IAAMjE,GAAOjZ,EAAMhI,QAAC66B,IAAV3yB,WAAA,CAAAG,YAAA,uBAAGL,CAQGxJ,CAAAA,oIAAAA,MAAAA,GAAUA,EAAMqB,MAAM3L,OAAOC,QAG7C,IAAM2mC,GAAW9yB,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAjB,CAAA,4EAQA,IAAMD,GAAOC,EAAAA,QAAOyO,IAAIvO,WAA2B,CACxDC,kBAAoBlC,GAAS,CAAC,WAAY,YAAa,SAASlC,SAASkC,KAD1DiC,WAAA,CAAAG,YAAA,uBAAGL,CAMfxJ,CAAAA,0DAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GAAUrC,EAAAA,IAAX,CAAA,UAAA,KACU+oB,GAAW1mB,EAAMmiB,QAAU,MAEpCniB,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,MAAO,SAAW,OAGvDhN,GAAWA,EAAMwP,QAAUzK,GAAS/E,EAAMwP,QAAS,WAAa,OAChExP,GAAWA,EAAMyP,WAAa1K,GAAS/E,EAAMyP,WAAY,eAAiB,OAC1EzP,GAAWA,EAAM0M,aAAe3H,GAAS/E,EAAM0M,aAAc,iBAAmB,OAChF1M,GAAWA,EAAM0P,cAAgB3K,GAAS/E,EAAM0P,cAAe,kBAAoB,OACnF1P,GAAWA,EAAMyM,YAAc1H,GAAS/E,EAAMyM,YAAa,gBAAkB,OAI7EzM,GAAWA,EAAM2P,OAAS5K,GAAS/E,EAAM2P,OAAQ,UAAY,OAC7D3P,GAAWA,EAAM4P,UAAY7K,GAAS/E,EAAM4P,UAAW,cAAgB,OACvE5P,GAAWA,EAAM6P,YAAc9K,GAAS/E,EAAM6P,YAAa,gBAAkB,OAC7E7P,GAAWA,EAAM8P,aAAe/K,GAAS/E,EAAM8P,aAAc,iBAAmB,OAChF9P,GAAWA,EAAM+P,WAAahL,GAAS/E,EAAM+P,WAAY,eAAiB,OAI3EhJ,IAAA,IAACkJ,UAAEA,EAAFC,SAAaA,EAAbC,SAAuBA,EAAvBC,SAAiCA,EAAjCC,UAA2CA,GAA5CtJ,EAAA,OACAD,GAAwB,CAAEE,MAAO,CAAEiJ,UAAAA,EAAWC,SAAAA,EAAUC,SAAAA,EAAUC,SAAAA,EAAUC,UAAAA,GAAaxL,YAAa,eACtG+D,IAAA,IAAC0H,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAxD9H,EAAA,OACA9B,GAAwB,CACtBE,MAAO,CAAEsJ,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9D7L,YAAa,mBAEfiE,IAAA,IAAC6H,eAAEA,EAAF7D,cAAkBA,EAAlBF,cAAiCA,EAAjCgE,cAAgDA,EAAhDC,eAA+DA,GAAhE/H,EAAA,OACAhC,GAAwB,CACtBE,MAAO,CAAE2J,eAAAA,EAAgB7D,cAAAA,EAAeF,cAAAA,EAAegE,cAAAA,EAAeC,eAAAA,GACtEhM,YAAa,qBAEfkE,IAAA,IAAC+H,gBAAEA,EAAFC,eAAmBA,EAAnBC,eAAmCA,EAAnCC,eAAmDA,EAAnDC,gBAAmEA,GAApEnI,EAAA,OACAjC,GAAwB,CACtBE,MAAO,CAAE8J,gBAAAA,EAAiBC,eAAAA,EAAgBC,eAAAA,EAAgBC,eAAAA,EAAgBC,gBAAAA,GAC1ErM,YAAa,sBAEfoE,IAAA,IAACkI,cAAEA,EAAFtE,aAAiBA,EAAjBF,aAA+BA,EAA/ByE,aAA6CA,EAA7CC,cAA2DA,GAA5DpI,EAAA,OACAnC,GAAwB,CACtBE,MAAO,CAAEmK,cAAAA,EAAetE,aAAAA,EAAcF,aAAAA,EAAcyE,aAAAA,EAAcC,cAAAA,GAClExM,YAAa,oBAKfqE,IAAA,IAACoI,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAxCxI,EAAA,OACApC,GAAwB,CAAEE,MAAO,CAAEsK,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAAY7M,YAAa,cACjGuE,IAAA,IAACuI,YAAEA,EAAFC,WAAeA,EAAfC,WAA2BA,EAA3BC,WAAuCA,EAAvCC,YAAmDA,GAApD3I,EAAA,OACAtC,GAAwB,CACtBE,MAAO,CAAE2K,YAAAA,EAAaC,WAAAA,EAAYC,WAAAA,EAAYC,WAAAA,EAAYC,YAAAA,GAC1DlN,YAAa,kBAEfmN,IAAA,IAACC,cAAEA,EAAFC,aAAiBA,EAAjBC,aAA+BA,EAA/BC,aAA6CA,EAA7CC,cAA2DA,GAA5DL,EAAA,OACAlL,GAAwB,CACtBE,MAAO,CAAEiL,cAAAA,EAAeC,aAAAA,EAAcC,aAAAA,EAAcC,aAAAA,EAAcC,cAAAA,GAClExN,YAAa,oBAEfyN,IAAA,IAACC,eAAEA,EAAFC,cAAkBA,EAAlBC,cAAiCA,EAAjCC,cAAgDA,EAAhDC,eAA+DA,GAAhEL,EAAA,OACAxL,GAAwB,CACtBE,MAAO,CAAEuL,eAAAA,EAAgBC,cAAAA,EAAeC,cAAAA,EAAeC,cAAAA,EAAeC,eAAAA,GACtE9N,YAAa,qBAEf+N,IAAA,IAACC,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAxDL,EAAA,OACA9L,GAAwB,CACtBE,MAAO,CAAE6L,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9DpO,YAAa,mBAId7E,GAAWA,EAAMe,IAAMgE,GAAS/E,EAAMe,IAAK,eAAiB,OAC5Df,GAAWA,EAAMgB,MAAQ+D,GAAS/E,EAAMgB,MAAO,iBAAmB,OAClEhB,GAAWA,EAAMiB,OAAS8D,GAAS/E,EAAMiB,OAAQ,kBAAoB,OACrEjB,GAAWA,EAAMkB,KAAO6D,GAAS/E,EAAMkB,KAAM,gBAAkB,OAEhEgS,IAAA,IAACwP,MAAEA,EAAFC,KAASA,EAATC,KAAeA,EAAfC,KAAqBA,EAArBC,MAA2BA,GAA5B5P,EAAA,OACApM,GAAwB,CAAEE,MAAO,CAAE0b,MAAAA,EAAOC,KAAAA,EAAMC,KAAAA,EAAMC,KAAAA,EAAMC,MAAAA,GAASje,YAAa,mBAClF0O,IAAA,IAACwP,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,GAApC5P,EAAA,OACAzM,GAAwB,CAAEE,MAAO,CAAE+b,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAAWte,YAAa,qBAC5F8O,IAAA,IAACyP,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAxC7P,EAAA,OACA7M,GAAwB,CACtBE,MAAO,CAAEoc,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAC9C3e,YAAa,sBAEfoP,IAAA,IAACwP,OAAEA,EAAFC,MAAUA,EAAVC,MAAiBA,EAAjBC,MAAwBA,EAAxBC,OAA+BA,GAAhC5P,EAAA,OACAnN,GAAwB,CAAEE,MAAO,CAAEyc,OAAAA,EAAQC,MAAAA,EAAOC,MAAAA,EAAOC,MAAAA,EAAOC,OAAAA,GAAUhf,YAAa,4DCnEpF,SAASwvB,GAAUr0B,GACxB,OAAOqL,EAAAA,IAACC,GAAD/J,EAAAA,QAAA,GAAiBvB,IA9B1Bq0B,GAAU7e,aAAe,CACvB7F,OAAQ,IACR3C,MAAO,OACPmV,OAAQ,GAGVkS,GAAU5R,KCvBsF1b,IAAA,IAAlE2E,SAAEA,EAAFuJ,UAAYA,EAAZjI,MAAuBA,GAA2CjG,EAAjC0f,EAAiClc,EAAA/I,QAAAuF,EAAAyD,IAC9F,OACEmM,EAAAA,KAAC4lB,GAAD,CAAA7wB,SAAA,CACEL,EAAAA,IAACgpB,GAAD9yB,UAAA,CAAW0T,UAAWA,EAAWjI,MAAOA,GAAWyZ,IACnDpb,EAACM,IAAA6wB,GAAD,CAAaxvB,MAAOA,EAApBtB,SAA4BA,QDoBlC2oB,GAAUnoB,YAAc,YE3BxB,IAAM9D,GAAQ,CACZ/D,EAAG,GACHC,EAAG,GACHC,EAAG,IAGL,IAAMk4B,GAAUzuB,EAAHA,UAAb,CAAA,kCAMA,IAAM0uB,GAAa/+B,EAAHA,IAAhB,CAAA,uFAQA,IAAM6Z,GAAS7Z,EAAHA,IAAZ,CAAA,yDAMA,IAAMg/B,GAA4B,SAACv3B,EAADC,GAAyB,IAAlBJ,+BAAPI,EAAAA,EAAgB,KAChD,OAAa,IAATD,EAAmB,KAChBzH,EAAPA,IAAA,CAAA,SAAA,GAAA,WAAA,GAAA,mBAAA,GAAA,WAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,MACWyH,EAAiBH,EAChBG,EAAiBH,EAEhBG,EAAiBH,EAChBG,EAAiBH,EACXG,EAAkB,EAAIH,EACrBG,EAAkB,EAAIH,IAK7C,IAAM23B,GAAWx3B,GACVA,GAAwB,kBAATA,EACA,iBAATA,EAA0BA,EACjCgD,GAAMhD,GAAcgD,GAAMhD,GACvB,EAHwC,EAM1C,IAAMmE,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAyB,CACtDC,kBAAoBlC,GAAS,CAAC,YAAa,SAASlC,SAASkC,KAD9CiC,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,0NAAA,0BAAA,IAAA,IAAA,IAAA,IAgBAizB,IAEZz8B,GAAWA,EAAMwX,OAASA,GAAS,OAEnCxX,GAAWA,EAAMoF,KAAOL,GAASqD,GAAMpI,EAAMoF,OAASpF,EAAMoF,KAAMu3B,IAAe,OAClF51B,IAA6C,IAA5CsV,OAAEA,EAAFC,MAAUA,EAAVC,MAAiBA,EAAjBC,MAAwBA,EAAxBC,OAA+BA,GAAa1V,EAC7C,OAAOD,GAAwB,CAC7BE,MAAO,CACLqV,OAAQugB,GAAQvgB,GAChBC,MAAOsgB,GAAQtgB,GACfC,MAAOqgB,GAAQrgB,GACfC,MAAOogB,GAAQpgB,GACfC,OAAQmgB,GAAQngB,IAElB5X,YAAa83B,QAId38B,GAAWA,EAAM08B,WAAaA,GAAa,4BC3DzC,SAASG,GAA6E91B,GAAA,IAArEkO,UAAEA,GAAmElO,EAArD/G,EAAqDuK,EAAA/I,QAAAuF,EAAAyD,IAC3F,IAAM0K,EAAarJ,GAAagxB,GAAQ3wB,YAAa+I,GAErD,OAAO5J,EAAAM,IAACL,GAAD/J,UAAA,CAAa0T,UAAWC,GAAgBlV,IAdjD68B,GAAQrnB,aAAe,CACrBpQ,KAAM,KAGRy3B,GAAQ3wB,YAAc,UCbf,IAAMuL,GAAQjO,EAAAA,QAAOkO,MAAVhO,WAAA,CAAAG,YAAA,uBAAGL,CAAd,CAAA,uFAUA,IAAMszB,GAAQtzB,EAAAA,QAAO0P,MAAVxP,WAAA,CAAAG,YAAA,uBAAGL,CAAd,CAAA,gIAUA,IAAMuzB,GAAWvzB,EAAAA,QAAO0P,MAAVxP,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,+DAAA,aAAA,+GAAA,qEAAA,iDAAA,WAAA,0BAAA,aAAA,4HAAA,wGA1BC,GACC,GACF,GAEK,UAqCf,EACC,EAvCI,GAAA,IA+CSxJ,GAAUA,EAAMqB,MAAM3L,OAAOC,QAWtD,IAAM+S,GAAW/K,EAAHA,gLAIRo/B,GA7DoB,WAkEC/8B,GAAUA,EAAMqB,MAAM3L,OAAOC,OAIlDmnC,IAKN,IAAMtjB,GAAU7b,EAAAA,IACVo/B,CAAAA,KAAAA,kBAAAA,SAAAA,GAEQC,IAKP,IAAMzzB,GAAOC,EAAAA,QAAOyO,IAAIvO,WAA4C,CACzEC,kBAAoBlC,GAAS,CAAC,YAAa,QAAS,YAAYlC,SAASkC,KAD1DiC,WAAA,CAAAG,YAAA,uBAAGL,CAGHyzB,CAAAA,eAAAA,4FAAAA,4HAAAA,IAAAA,IAAAA,IAzFM,GAAA,IAqGlBj9B,GAAWA,EAAM0I,SAAWA,GAAW,OACvC1I,GAAWA,EAAMd,MAAQsa,GAAU,OACnCxZ,GACDA,EAAMd,OAASc,EAAMgN,MACjBrP,EADJA,IAEUo/B,CAAAA,KAAAA,+CAAAA,IAAAA,QAAAA,GAGE/jB,EAASxX,QAACuL,GAAS/M,EAAMgN,MAAOhN,IAAQkP,QAAQ,IAAIC,WACpDpC,GAAS/M,EAAMgN,MAAOhN,IAI9BA,EAAMk9B,cACNv/B,EADAA,qEAEMo/B,GAGE/jB,EAASxX,QAACuL,GAAS/M,EAAMk9B,cAAel9B,IAAQkP,QAAQ,IAAIC,WAC5DpC,GAAS/M,EAAMk9B,cAAel9B,IAItC,qEC7ED,SAAS+8B,GAAS/8B,GACvB,IAAMm9B,EAAWC,EAAAA,YACjB,IAAM9jB,GAAEA,EAAFpa,MAAMA,EAANqa,KAAaA,EAAb7N,SAAmBA,EAAnB2xB,SAA6BA,EAA7B1jB,SAAuCA,GAA2B3Z,EAAdymB,YAAczmB,EAAxEwK,IAQA,OACEmM,OAACrL,GAAD/J,EAAAC,QAAAD,UAAA,CAAarC,MAAOA,GAAWunB,GAA/B,GAAA,CAAA/a,SACE,CAAAL,EAAAM,IAACoO,GAAD,CACET,GAAIA,EACJC,KAAMA,EACNC,QAASta,EACTqM,KAAK,WACL8xB,SAAUA,EACVpzB,IAAKkzB,EACLxjB,SAf4DnO,IAC3DxL,EAAM0I,UAAgC,mBAAbiR,GAC5BA,EAASnO,EAAMjM,OAAOia,QAAShO,MAe/BH,EAAAM,IAAC2xB,GAAD,CAAiBxjB,QAASR,IACzB5N,EAAWL,EAACM,IAAA4xB,GAAD,CAAczjB,QAASR,EAAvB5N,SAA4BA,IAA2B,SApCzEqxB,GAASvnB,aAAe,CACtBtW,SACAwJ,UAAAA,EACAsE,MAAO,YAGT+vB,GAAS7wB,YAAc,WCrCvB,IAAMsxB,GAAexwB,GAAkBrP,MAAnB,CAAA,2BAAA,KACSqP,GAsC7B,IAAMywB,GAAY9/B,EAAHA,IAAA,CAAA,SAAA,yDACHqC,GAAUA,EAAMqB,MAAM3L,OAAOsE,UAQlC,IAAMuP,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAW,CACxCC,kBAAoBlC,GAAkB,aAATA,IADdiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,yGAAA,IAAA,IAAA,KAQZxJ,GAAWA,EAAMw9B,cAAgBx9B,EAAM09B,SAAW1wB,GAAMhN,EAAMw9B,YAAaA,IAAe,OAC1Fx9B,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,MAC/C1F,GAAmB,UAGhB,IAAMq2B,GAAQn0B,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,wQAAA,+MA/DgB,IAkG3B,IAAMiL,GAAUjL,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,2JAAA,iLAAA,KASRxJ,GAAUA,EAAMqB,MAAM3L,OAAO4C,YAepC0H,GACDA,EAAM09B,SACF//B,EAAAA,IADJ,CAAA,2DAMI,OAGD,IAAMigC,GAAMp0B,EAAAA,QAAOyO,IAAIvO,WAAuD,CACnFC,kBAAoBlC,IAAU,CAAC,WAAY,QAAS,cAAe,UAAUlC,SAASkC,KADxEiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,2MAAA,IAAA,yLAAA,6BAAA,IAAA,aAAA,MAcXxJ,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,OAC9ChN,GAAWA,EAAMw9B,YAAcxwB,GAAMhN,EAAMw9B,YAAaA,IAAe,OAe9Dx9B,GAAUA,EAAMqB,MAAM3L,OAAOsE,UAKtCgG,GAAWA,EAAM69B,SAjKAx8B,CAAAA,IACpB,OAAQA,GACN,IAAK,UACH,OAAO1D,EAAPA,IAAA,CAAA,gDAMF,IAAK,gBACH,OAAOA,EAAPA,IAM8BqC,CAAAA,mHAAAA,8BAAAA,GAAUA,EAAMqB,MAAM3L,OAAO+C,UAK7D,IAAK,SACH,OAAOkF,EAAPA,IAAA,CAAA,iFAQF,QACE,OAAO,OA/BS0D,CAiKwBrB,EAAM69B,UAAY,OAC3D79B,GAAWA,EAAM6hB,OAAS4b,GAAY,MAErCA,iDC1IC,SAASK,GAAQ99B,GACtB,IAAM8U,GAAEA,EAAFG,UAAMA,EAANvJ,SAAiBA,EAAjBrK,MAA2BA,GAAmBrB,EAATskB,YAAStkB,EAApDwK,IAIA,OACEa,EAAAM,IAACoyB,GAADx8B,UAAAA,EAAAA,QAAAA,EAAAA,QAAA,CAAYuT,GAAIA,EAAIG,UAAWA,EAAW4oB,SAAUx8B,GAHtB,iBAAPyT,EAAkB,CAAEkpB,gBAAiB,UAAa,IAGK1Z,GAA9E,GAAA,CAAA5Y,SACGA,KCXA,SAASuyB,GAAKj+B,GACnB,IAAM0L,SAAEA,EAAFuJ,UAAYA,EAAZipB,eAAuBA,EAAvBxoB,iBAAuCA,EAAvC8nB,YAAyDA,EAAzDxwB,MAAsEA,EAAtE0wB,SAA6EA,EAA7E9xB,MAAuFA,EAAvFzL,MAA8FA,GAAUH,EAE9G,OACEqL,EAAAA,IAACC,GAAD,CACE2J,UAAWA,EACXrJ,MAAOA,EACPzL,MAAOA,EACPq9B,YAAaA,EACbxwB,MAAOA,EACP0wB,SAAUA,EANZhyB,SAQEL,EAAAM,IAACwyB,GAAD,CAAclpB,UAAWipB,EAAzBxyB,SACEL,EAAAM,IAACoL,GAAD,CAAgB2mB,SAAUA,EAAUzoB,UAAWS,EAA/ChK,SACGA,QDjBXoyB,GAAQtoB,aAAe,CACrBV,GAAI,MACJkpB,gBAAiB,SACjBR,YAAa,OACbxwB,MAAO,aCdTixB,GAAKzoB,aAAe,CAClBgoB,YAAa,OACbxwB,MAAO,0BAGTixB,GAAKL,IAAME,GCtBJ,IAAMM,GAAwC,CACnDra,QAAS,CACPrW,QAAS,cACT2wB,cAAe,SACf9jB,OANW,KAQb+jB,gBAAiB,CACfp9B,MAAO,IACPsuB,SAAU,WACVzuB,KAAM,IACN4uB,WAAY,UAEd4O,QAAS,CACP7wB,QAAS,eACTtG,OAAQ,4CACRo3B,aAAc,4CACd78B,SAAU,IACV+tB,QAAS,EACTF,SAAU,WACViP,WAAY,eACZ9O,WAAY,SACZpV,OAAQ,KAEVmkB,eAAgB,CACdhP,QAAS,EACTC,WAAY,WAEdgP,qBAAsB,CACpBjP,QAAS,EACT+O,WAAY,+BACZ9O,WAAY,WAEdiP,eAAgB,CACdlP,QAAS,EACTC,WAAY,WAEdkP,gBAAiB,CACf39B,KAAM,MACNsuB,SAAU,QACVzuB,IAAK,MACLqK,UAAW,yBAEb0zB,UAAW,CACTC,UAAW,aACXj1B,aAAc,EACd2tB,gBAAiB,OACjBzqB,MAAO,mBACPgyB,UAAW,GACXj9B,SAAU,IACVyN,QAAS,OACTggB,SAAU,WACV9hB,QAAS,OACT2wB,cAAe,SACfY,eAAgB,UAElB5X,MAAO,CACL6X,aAAc,6BACdlyB,MAAO,mBACPW,WAAY,OACZtB,SAAU,GACVyD,aAAc,EACdJ,cAAe,EACfhD,aAAc,IAEhByI,QAAS,CACP9I,SAAU,GACVuB,WAAY,QAEduxB,MAAO,CACL1H,gBAAiB,cACjBpf,OAAQ,EACRvO,aAAc,EACdkD,MAAO,mBACPX,SAAU,GACVjM,OAAQ,GACRwN,WAAY,OACZ/E,QAAS,OACT2G,QAAS,EACTggB,SAAU,WACVxuB,MAAO,MACPmmB,UAAW,SACXpmB,IAAK,MACLq+B,iBAAkB,OAClBj/B,MAAO,IAETk/B,OAAQ,CACNC,UAAW,6BACXjzB,SAAU,GACVuD,UAAW,GACXH,WAAY,GAEd8vB,MAAO,CACLvyB,MAAO,OACPU,QAAS,cACTtP,OAAQ,EACRoxB,SAAU,WACVgQ,OAAQ,IAEVC,QAAS,CACPllB,OArGW,MAoNR,IAAMmlB,GAAiDn+B,EAAAC,QAAAD,EAAAC,QAAA,GACzD48B,IADyD,GAAA,CAE5Dra,QAAOxiB,EAAAC,QAAAD,UAAA,GACF68B,GAAcra,SADZ,GAAA,CAELrW,QAAS,yCCrLN,SAASiyB,GAA2D54B,GAAA,IAAnD2E,SAAEA,EAAFk0B,OAAYA,EAAS,IAA8B74B,EAAvB/G,EAAuBuK,EAAA/I,QAAAuF,EAAAyD,IACzE,IAAMq1B,EAAeC,EAAcA,eAAC1B,IAAiB,GAAIwB,GAEzD,OACEv0B,MAAC00B,EAAAA,QAADx+B,EAAAC,QAAAD,UAAA,CAASq+B,OAAQC,GAAkB7/B,GAAnC,GAAA,CAAA0L,SACEL,EAAAM,IAAA,OAAA,CAAAD,SAAOA,OAtCbi0B,GAAQnqB,aAAe,CACrBwqB,UAAAA,EACAC,kBAAkB,EAClBC,eACAC,qBAAAA,EACA30B,MAAO,QACP40B,WAAY,GACZC,OAAQ,GACRC,UAAW,SACXC,mBACAX,OAAQxB,GACR7+B,OAAQ,KACRihC,eAAgB,CACdhR,aAEFiR,UAAW,MAGbd,GAAQe,OAAS,eACftC,GACAsB,0BAAAA,GACAiB,qBDkF0D,CAC1D5c,QAAS,CACP6c,OAAQ,UACRlzB,QAAS,cACT2wB,cAAe,SACf9jB,OA9GW,KAgHb+jB,gBAAiB,CACfp9B,MAAO,IACPsuB,SAAU,WACVzuB,KAAM,IACN4uB,WAAY,UAEd4O,QAAS,CACP7wB,QAAS,eACTtG,OAAQ,+CACRo3B,aAAc,+CACd78B,SAAU,IACV+tB,QAAS,EACTF,SAAU,WACViP,WAAY,eACZ9O,WAAY,SACZpV,OAAQ,KAEVmkB,eAAgB,CACdhP,QAAS,EACTC,WAAY,WAEdgP,qBAAsB,CACpBjP,QAAS,EACT+O,WAAY,+BACZ9O,WAAY,WAEdiP,eAAgB,CACdlP,QAAS,EACTC,WAAY,WAEdkP,gBAAiB,CACf39B,KAAM,MACNsuB,SAAU,QACVzuB,IAAK,MACLqK,UAAW,yBAEb0zB,UAAW,CACTC,UAAW,aACXj1B,aAAc,GACd2tB,gBAAiB,OACjBzqB,MAAO,mBACPgyB,UAAW,GACXj9B,SAAU,GACVyN,QAAS,cACTggB,SAAU,WACV9hB,QAAS,OACTyZ,UAAW,SACXkX,cAAe,SACfY,eAAgB,UAElB5X,MAAO,CACL3Z,QAAS,QACTV,MAAO,mBACPW,WAAY,OACZtB,SAAU,OACVuB,WAAY,OACZkC,aAAc,EACdJ,cAAe,EACfhD,aAAc,EACdwyB,aAAc,QAEhB/pB,QAAS,CACP9I,SAAU,OACVuB,WAAY,OACZizB,eAAgB,QAElB1B,MAAO,CACL1H,gBAAiB,cACjBpf,OAAQ,EACRvO,aAAc,EACdkD,MAAO,mBACPX,SAAU,GACVjM,OAAQ,GACRwN,WAAY,OACZ/E,QAAS,OACT2G,QAAS,EACTggB,SAAU,WACVxuB,MAAO,MACPmmB,UAAW,SACXpmB,IAAK,MACLq+B,iBAAkB,OAClBj/B,MAAO,IAETk/B,OAAQ,CACNC,UAAW,6BACXjzB,SAAU,GACVuD,UAAW,GACXH,WAAY,GAEd8vB,MAAO,CACL7xB,QAAS,OACTtP,OAAQ,EACRoxB,SAAU,WACVgQ,OAAQ,GAEVC,QAAS,CACPllB,OAhNW,OC0BfolB,GAAQzzB,YAAc,UCrBtB,IAAMqB,GAAiF,CACrFlJ,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,GAAI,IAYN,IAAMqd,GAASlkB,EAAHA,IAAZ,CAAA,4DAKO,IAAM8kB,GAAOjZ,EAAMhI,QAAC66B,IAAV3yB,WAAA,CAAAG,YAAA,uBAAGL,CAAb,CAAA,2KAWP,IAAMd,GAAW/K,EAAHA,IAAA,CAAA,wDAAA,6BAGV8kB,IAKG,IAAMlZ,GAAOC,EAAAA,QAAOC,OAAOC,WAAqB,CACrDC,kBAAoBlC,GAAS,CAAC,WAAY,UAAW,YAAa,QAAS,WAAWlC,SAASkC,KADhFiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,0EAAA,qBAAA,oMAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,0CAAA,IAAA,eAAA,IAAA,KAMMxJ,GAAUA,EAAMqB,MAAM3L,OAAOC,QAC7BqK,GAAUA,EAAMqB,MAAM3L,OAAOiD,YAS/CqH,GAAWA,EAAMoF,KAAOL,GAjDH/E,CAAAA,GACJ,SAAhBA,EAAMG,MAAyB,OACR,iBAAhBH,EAAMG,MAA2BH,EAAMG,MAE9CH,EAAMoF,MAAQmI,GAAOvN,EAAMoF,MAAcmI,GAAOvN,EAAMoF,MAEnD,OANiBpF,CAiD6BA,GAAQ,SAAW,OACrEA,GAAWA,EAAMI,OAAS2E,GAAS/E,EAAMI,OAAQ,eAAiB,OAClEJ,GAAWA,EAAMI,OAAS2E,GAAS/E,EAAMI,OAAQ,UAAY,OAC9D2G,IAAA,IAACyM,SAAEA,EAAFhH,QAAYA,EAAZD,QAAqBA,EAArBkH,QAA8BA,EAA9BC,SAAuCA,GAAxC3M,EAAA,OACAD,GAAwB,CAAEE,MAAO,CAAEwM,SAAAA,EAAUhH,QAAAA,EAASD,QAAAA,EAASkH,QAAAA,EAASC,SAAAA,GAAY7O,YAAa,cAEhG7E,GAAWA,EAAMG,MAAQ4E,GAAS/E,EAAMG,MAAO,SAAW,OACzDyI,IAAA,IAACgL,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,GAApCpL,EAAA,OACF9B,GAAwB,CAAEE,MAAO,CAAE4M,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAAWnP,YAAa,aAE3F7E,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OACpD1N,GAAWA,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,OAM9ChN,GACAA,EAAM0I,SAYH,KAXA/K,EADJA,IAAA,CAAA,6EAAA,IAAA,UAAA,OAMUkkB,GACAY,IACUziB,GAAUA,EAAMqB,MAAM3L,OAAOC,UAMhDqK,GAAWA,EAAMmJ,SAAWnJ,EAAMwZ,QAAUqI,GAAS,MAGpDnZ,IAED1I,GAAWA,EAAM0I,SAAWA,GAAW,oJCf5C,SAASo4B,GAAS9gC,GAChB,OAAOqL,MAAC01B,GAADx/B,UAAA,CAAKuT,GAAG,SAAY9U,IAWtB,SAAS+gC,GAAI/gC,GAClB,IAAM8U,GACJA,EADIsd,UAEJA,EAFIjd,QAGJA,EAHIzJ,SAIJA,EAJIoO,QAKJA,EALIR,GAMJA,EANIC,KAOJA,EAPIynB,UAQJA,EARI9hC,MASJA,EATIwJ,SAUJA,EAVIiR,SAWJA,EAXIvP,QAYJA,EAZIjB,QAaJA,EAbIqQ,QAcJA,GAEExZ,EADCymB,YACDzmB,EAhBJwK,IAkBA,IAAMy2B,EAAqB,WAAPnsB,EAAkB,CAAEvJ,KAAM,UAAa,GAE3D,IAAMsO,EAAoB,UAAP/E,EAAiB,CAAEgF,QAASR,GAAMC,GAAS,GAE9D,OACE5C,EAAAA,KAACrL,GAAD/J,EAAAC,QAAAD,EAAAC,QAAAD,EAAAC,QAAAD,EAAAC,QAAAD,UAAA,CACEuT,GAAW,UAAPA,EAAiB,QAAUA,EAC/B3L,QAASA,EACTqQ,QAASA,EACT9Q,SAAUA,EACV0B,QAAgB,UAAP0K,EAAiB1K,UATJ,UAAP0K,EAAiB,CAAEgF,QAAAA,GAAY,IAW1CmnB,GACApnB,GACA4M,GATN,GAAA,CAAA/a,SAWGoJ,CAAO,UAAPA,EACCzJ,EAAAA,IAAA,QAAA,CACEiO,GAAIA,GAAMC,EACVA,KAAMA,EACNhO,KAAMy1B,GAAa,WACnB3D,SAAU,EACV1jB,SAAQ,SAAAunB,GAAA,SAAAvnB,EAAAwnB,GAAA,OAAAD,EAAArhC,MAAAC,KAAAL,WAAA,OAAAka,EAAAxK,SAAA,IAAA+xB,EAAA/xB,WAAAwK,EAAA,EAAGiB,IACTA,EAAEwmB,UAEKznB,GAAYA,EAASiB,MAE9BxQ,QAAO,SAAAi3B,GAAA,SAAAj3B,EAAAk3B,GAAA,OAAAD,EAAAxhC,MAAAC,KAAAL,WAAA,OAAA2K,EAAA+E,SAAA,IAAAkyB,EAAAlyB,WAAA/E,EAAA,EAAGwQ,IACRA,EAAEwmB,UAEKh3B,GAAWA,EAAQwQ,MAE5BnB,eAAgBzZ,EAAMyZ,eACtBD,QAASA,EACTta,MAAOA,EACPwJ,SAAUA,EACV64B,QAAM,IAEN,KACH71B,EACDL,EAACM,IAAA6wB,GAADj7B,EAAAC,QAAAD,UAAA,CAAa6D,KAAM,GAAIo8B,YAAY,OAAOx0B,MAAOwM,IAAYrQ,EAAU,QAAU,aAAiBipB,GAAlG,GAAA,CAAA1mB,SACGyJ,SAxFT4rB,GAAIvrB,aAAe,CACjB9H,QAAS,eACToH,GAAI,SACJ1U,OAAQ,IAGV0gC,GAAStrB,aAAe,CACtB9H,QAAS,eACTtN,OAAQ,IAIV2gC,GAAItpB,MAAQqpB,GAEZC,GAAI70B,YAAc,MCjFX,IAAMu1B,GAAcj4B,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAApB,CAAA,mFAOA,IAAMk4B,GAAiBl4B,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAvB,CAAA,0DAMA,IAAMm4B,GAAen4B,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAGDxJ,CAAAA,mEAAAA,uBAAAA,GAAUA,EAAMqB,MAAM3L,OAAO+C,UAIjD,IAAMmpC,GAAep4B,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAArB,CAAA,sCAKA,IAAMq4B,GAAkBr4B,EAAAA,QAAOyO,IAAVvO,WAAA,CAAAG,YAAA,uBAAGL,CAAxB,CAAA,qEChBA,SAAS+d,GAA6CxgB,GAAA,IAArC2E,SAAEA,EAAFyJ,QAAYA,GAAyBpO,EAC3D,OACE4P,EAAAA,KAACmrB,GAAD,CAAAp2B,SACGA,CAAAA,EACDL,EAAAM,IAAC8W,GAAD,CAAMrd,KAAK,IAAIwI,WAAW,IAAIuU,OAAO,OAAOnV,MAAM,YAAlDtB,SACGyJ,OCLF,SAAS4sB,GAAmDh7B,GAAA,IAAxC2E,SAAEA,EAAFyJ,QAAYA,GAA4BpO,EACjE,OACE4P,EAAAA,KAACqrB,GAAD,CAAAt2B,SACGA,CAAAA,EACDL,EAAAM,IAAC8W,GAAD,CAAMrd,KAAK,IAAIwI,WAAW,IAAIZ,MAAM,YAApCtB,SACGyJ,OCJF,SAAS8sB,GAA+Dl7B,GAAA,IAAtDwa,OAAEA,EAAF2gB,QAAUA,EAAVjtB,UAAmBA,EAAnBrJ,MAA8BA,GAAwB7E,EAC7E,OACE4P,EAAAA,KAACwrB,GAAD,CAAqBltB,UAAWA,EAAWrJ,MAAOA,EAAlDF,SAAA,CACG6V,EACClW,EAACM,IAAAy2B,GAAD,CAAqBntB,UAAU,SAASoe,KAAK,SAASjpB,QAASmX,EAAOnX,QAAtEsB,SACEL,MAACoX,GAAD,CAAMrd,KAAK,IAAIwI,WAAW,IAAIuH,QAASoM,EAAOpM,QAASnI,MAAOuU,EAAOvU,OAAS,aAE9E,KACHk1B,EACC72B,EAAAA,IAAC+2B,GAAD,CAAqBntB,UAAU,UAAUoe,KAAK,SAASjpB,QAAS83B,EAAQ93B,QAAxEsB,SACEL,MAACoX,GAAD,CAAMrd,KAAK,IAAIwI,WAAW,IAAIuH,QAAS+sB,EAAQ/sB,QAASnI,MAAOk1B,EAAQl1B,OAAS,aAEhF,uGCoCH,MAAMq1B,WAA8BhT,EAAAA,cAOzCpK,YAAYjlB,GACVklB,MAAMllB,GADuCF,KAN/CwiC,oBAM+CxiC,KAY/CyiC,aAAgBC,IACd,IAAMlpB,GAAEA,EAAFmpB,MAAMA,GAAUD,EAEtB,IAAME,cAAEA,GAAkB5iC,KAAKwlB,MAC/B,IAAMqd,EAAmB,IAAID,EAAcjd,MAAM,EAAGgd,GAAQnpB,GAE5DxZ,KAAK+lB,SAAS,CAAE6c,cAAeC,IAEQ,mBAA5B7iC,KAAKE,MAAMuiC,cAA6BziC,KAAKE,MAAMuiC,aAAaC,EAAcC,IApB5C3iC,KAuB/C8iC,iBAAmB,KACjB,IAAMxhC,OAAEA,GAAWtB,KAAKE,MACxB,IAAM0iC,cAAEA,GAAkB5iC,KAAKwlB,MAE/B,IAAKlkB,EAAQ,OAAO,KAEpB,IAAKshC,EAActkC,OAAQ,OAAOgD,EAElC,IAKE,OAJsBshC,EAAc7jC,QAAO,CAACsM,EAAK03B,KAAY,IAAAC,EAC3D,OAAO33B,EAAI43B,kBAAQ53B,EAAI43B,MAAMC,MAAM37B,GAASA,EAAKiS,KAAOupB,0BAAUzhC,SAAe,KAChFA,GAGH,MAAO2X,GACP,OAAO,OAtCoCjZ,KA0C/CmjC,MAAQ,KAENnjC,KAAKwiC,aAAe1c,YAAAA,IAAiB9lB,KAAK+lB,SAAS,CAAE6c,cAAe,MAAO,MA5C9B5iC,KA+C/CojC,mBAA+DtoB,IAC7D,IAAMxZ,EAAStB,KAAK8iC,mBACpB,IAAKxhC,EAAQ,MAAM,IAAI+hC,MAAM,oBAE7B,IAAMJ,MAAEA,EAAQ,IAAO3hC,EACvB,IAAMgiC,cAAEA,GAAkBxoB,EAE1B,IAAMtB,GAAEA,EAAK,MAAS8pB,EAAcC,QAEpC,GAAW,OAAP/pB,EAAa,MAAM,IAAI6pB,MAAM,8BAEjC,IAAM97B,EAAO07B,EAAMC,MAAM37B,GAAS,GAAArF,OAAGqF,EAAKiS,MAASA,IAEnD,IAAKjS,EAAM,MAAM,IAAI87B,MAAM,mBAEvB97B,EAAKjG,QAAUiG,EAAKi8B,kBACtB1oB,EAAEnP,iBACFmP,EAAE2oB,mBAGAl8B,EAAKjG,QAEPtB,KAAKyiC,aAAal7B,GAGQ,mBAAjBA,EAAK+C,SACd/C,EAAK+C,QAAQ/C,IAtEfvH,KAAKwlB,MAAQ,CACXod,cAAe,IAInB/H,uBACE6I,aAAa1jC,KAAKwiC,cAoEpBlc,SACE,IAAAC,EAAgFvmB,KAAKE,OAA/E0L,SAAEA,EAAFuJ,UAAYA,EAAZwuB,aAAuBA,EAAvBlR,OAAqCA,EAArCmR,QAA6CA,GAAnDrd,EAA+Dsd,EAA/Dp5B,EAAA/I,QAAA6kB,EAAA7b,IACA,IAAMk4B,cAAEA,GAAkB5iC,KAAKwlB,MAC/B,IAAMlkB,EAAStB,KAAK8iC,mBAGd,IAAmDnc,YAAckd,EAAvEvJ,IAEA,OACEzjB,OAACitB,GAADriC,EAAAC,QAAAD,UAAA,CACE0T,UAAWA,EACXwuB,aAAcA,EACdlR,OAAQA,EACRsR,QAAS/jC,KAAKmjC,MACdS,QAASA,GACLjd,GANN,GAAA,CAAA/a,SAAA,CAQGA,EACDiL,EAAAqD,KAAAC,WAAA,CAAAvO,SAAA,CACEL,MAACyY,GAAD,CAAQ/iB,IAAK,IACZK,MAAAA,GAAAA,EAAQ0iC,QAAUz4B,EAAAM,IAAC4b,GAAD,CAASpS,QAAS/T,EAAO0iC,UAAc,KACzD1iC,MAAAA,GAAAA,EAAQ2iC,WAAa14B,MAAC02B,GAAD,CAAY5sB,QAAS/T,EAAO2iC,aAAiB,KAClE3iC,MAAAA,GAAAA,EAAQ2hC,MACP13B,EAACM,IAAAq4B,GAAD,CAAAt4B,SACGtK,EAAO2hC,MAAMtlC,KAAK4J,GACjBgE,EAAAM,IAACi4B,GAAYK,KAAb,CAEE3qB,GAAIjS,EAAKiS,GACTnE,QAAS9N,EAAK8N,QACd0M,OAASxa,EAAKo7B,OAAStjC,QAAQujC,EAAcr7B,EAAKo7B,SAAWp7B,EAAKiS,KAAQjS,EAAKwa,OAC/EzX,QAAStK,KAAKojC,oBAJT77B,EAAKiS,QAQd,KACHlY,MAAAA,GAAAA,EAAQ8iC,SAAW74B,EAAAM,IAACs2B,GAAa7gC,EAAAA,QAAAA,GAAAA,EAAO8iC,WAAe74B,EAAAM,IAACmY,GAAD,CAAQ/iB,IAAK,YAvHlEshC,GAEJn2B,YAAc,yBAFVm2B,GAGJ7sB,aAAe,CACpBpU,OAAQ,IC5DZ,IAAMmxB,GAAS50B,EAAHA,IAAA,CAAA,kHAAA,qCASIqC,GAAUA,EAAMqB,MAAMkZ,OAAOE,UAQ7C,IAAM0pB,GAAexmC,EAAHA,IAAA,CAAA,oBAAA,iCACKqC,GAAUA,EAAMqB,MAAM3L,OAAOkD,YAKpD,IAAMwrC,GAAkBzmC,EAAHA,IAAA,CAAA,4BAAA,OAEIqC,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAI/C,IAAM+P,GAAOC,EAAAA,QAAOyO,IAAIvO,WAAW,CACxCC,kBAAoBlC,GAAS,CAAC,YAAa,UAAW,WAAY,SAASlC,SAASkC,KADrEiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,+GAAA,KAWZxJ,GAAWA,EAAMuyB,SAAyC,IAA/BpzB,QAAQa,EAAMqkC,aAAyB9R,GAAS,OAGzE,IAAM+R,GAAW96B,EAAAA,QAAOyO,IAAIvO,WAAW,CAC5CC,kBAAoBlC,GAAS,CAAC,YAAa,UAAW,WAAY,WAAWlC,SAASkC,KADnEiC,WAAA,CAAAG,YAAA,uBAAGL,CAQnBxJ,CAAAA,gHAAAA,IAAAA,KAAAA,GACDA,EAAM6hB,OACFlkB,MACsBqC,CAAAA,oBAAAA,KAAAA,EAAMqB,MAAM3L,OAAO8D,QAEzC,OACHwG,GAAWA,EAAM0I,SAAWy7B,GAAeC,KCzDhD,IAAMG,GAAmB3pB,IACvBA,EAAEnP,iBACFmP,EAAEnP,iBACFmP,EAAE2oB,sBAuBG,SAASiB,GASSz9B,GAAA,IATO2E,SAC9BA,EAD8B4N,GAE9BA,EAF8BnE,QAG9BA,EAH8B0M,OAI9BA,EAJ8BnZ,SAK9BA,EAL8B0B,QAM9BA,EAN8B6K,UAO9BA,EAP8BrJ,MAQ9BA,GACuB7E,EACvB,OACE4P,EAAAA,KAAC8tB,GAAD,CACE74B,MAAOA,EACPqJ,UAAWA,EACX4M,OAAQA,EACRnZ,SAAUA,EACV0B,QAAS1B,EAAW67B,GAAkBn6B,EACtC,UAASkP,EANX5N,SAQGA,CAAAA,EACDL,EAAAM,IAAC8W,GAAD,CAAMrd,KAAK,IAAIwI,WAAW,IAAIZ,MAAM,YAAYmI,QAASA,OA1B/DqvB,GAAgBt4B,YAAc,mBCUvB,MAAM03B,WAAoBvU,EAAAA,cAgB/BpK,YAAYjlB,GACVklB,MAAMllB,GAD6BF,KAQrC4kC,QAAU,KACR,IAAMnS,OAAEA,GAAWzyB,KAAKE,MAExB,YAAA,IAAIuyB,EAA6BA,EAE1BzyB,KAAKwlB,MAAMiN,SAAAA,GAbiBzyB,KAgBrC6kC,SAAY/pB,IACV9a,KAAK+lB,SAAS,CAAE0M,QAAQ,IAExB,IAAMqS,OAAEA,GAAW9kC,KAAKE,MAExB4kC,GAAUA,EAAOhqB,IArBkB9a,KAwBrC+kC,UAAajqB,IACX9a,KAAK+lB,SAAS,CAAE0M,QAAAA,IAEhB,IAAMsR,QAAEA,GAAY/jC,KAAKE,MAEzB6jC,GAAWA,EAAQjpB,IA7BgB9a,KAgCrCglC,WAAclqB,IACZ,IAAM+pB,SAAEA,EAAFE,UAAYA,GAAc/kC,KAChC,IAAMyyB,EAASzyB,KAAK4kC,UAQpB,OANA9pB,EAAEwmB,UACFxmB,EAAEnP,iBACFmP,EAAE2oB,kBAEFhR,EAASsS,EAAUjqB,GAAK+pB,EAAS/pB,IAE1B,GAvCP9a,KAAKwlB,MAAQ,CACXiN,OAAQzyB,KAAKE,MAAMuyB,YAyCvBnM,SACE,IAAMnR,UAAEA,EAAFwuB,aAAaA,EAAe,GAA5BC,QAAgCA,EAAhCh4B,SAAyCA,EAAzC24B,YAAmDA,GAAgBvkC,KAAKE,MAC9E,IAAMuyB,EAASzyB,KAAK4kC,UAIpB,OAFIh5B,IAAU+3B,EAAatuB,QAAUzJ,GAGnCL,EAAAA,IAACC,GAAD,CAAa2J,UAAWA,EAAWsd,OAAQA,EAAQnoB,QAAStK,KAAKglC,WAAYT,YAAaA,EAA1F34B,SACEL,EAAAA,IAACs0B,GAADp+B,EAAAC,QAAAD,EAAAC,QAAA,GAAaiiC,GAAb,GAAA,CAA2BsB,KAAMxS,EAAjC7mB,SAEEL,EAAAM,IAAA,MAAA,CAAKvB,QAAStK,KAAK+kC,UAAnBn5B,SAA+Bg4B,GAAWsB,EAAYA,aAACtB,EAAgB,CAAE7hB,OAAQ0Q,YAvE9EqR,GACJK,KAAOO,GADHZ,GAEJqB,WAAa5C,GAFTuB,GAGJ13B,YAAc,cAHV03B,GAKJpuB,aAAe,CACpBiuB,aAAc,CACZj4B,MAAO,QACP80B,UAAW,aACXD,OAAQ,EACRE,iBAAAA,EACAX,OC3CuB,CAC3B7b,QAAS,CACPrW,QAAS,eACT6M,OALW,KAOb+jB,gBAAiB,CACfp9B,MAAO,IACPsuB,SAAU,WACVzuB,KAAM,IACN4uB,WAAY,UAEd4O,QAAS,CACP7wB,QAAS,eACTtG,OAAQ,+CACRo3B,aAAc,+CACd78B,SAAU,IACVI,SAAU,IACV2tB,QAAS,EACTF,SAAU,WACViP,WAAY,eACZ9O,WAAY,SACZpV,OAAQ,IAEVmkB,eAAgB,CACdhP,QAAS,EACTC,WAAY,WAEdgP,qBAAsB,CACpBjP,QAAS,EACT+O,WAAY,+BACZ9O,WAAY,WAEdiP,eAAgB,CACdlP,QAAS,EACTC,WAAY,WAEdkP,gBAAiB,CACf39B,KAAM,MACNsuB,SAAU,QACVzuB,IAAK,MACLqK,UAAW,yBAEb0zB,UAAW,CACTC,UAAW,aACXj1B,aAAc,EACduO,OAAQ,oBACRrL,MAAO,OACPyqB,gBAAiB,OACjBuH,UAAW,GACXj9B,SAAU,IACVyN,QAAS,IACTggB,SAAU,WACV9hB,QAAS,QACTw3B,SAAU,UAEZ/vB,QAAS,CACPzH,QAAS,SAEX6xB,MAAO,CACL7xB,QAAS,UDdT22B,aAAAA,GE5CG,IAAMc,GAAoBhlC,GACjB,SAAVA,EAAyB,OACR,iBAAVA,GACU,kBAAVA,EAD2BA,EAGlCA,GAASnC,EAAUmC,GAAenC,EAAUmC,GAEzC,OCDF,IAAMilC,GAAaznC,EAAAA,oDACHqC,GAAUA,EAAMqB,MAAM3L,OAAOuD,cAC7B+G,GAAUgZ,UAAUhZ,EAAMqB,MAAM3L,OAAOuD,aAAaggB,SAAS,IAAK9J,aAGlF,IAAMk2B,GAAgB1nC,EAAHA,IAAnB,CAAA,qOAaA,IAAM2nC,GAAa3nC,EAAHA,qDAEEqC,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAK/C,IAAMsrC,GAAe5nC,EAAAA,IACRqC,CAAAA,iBAAAA,MAAAA,GAAUA,EAAMqB,MAAMyI,eAGnC,IAAM07B,GAAwCxlC,GAAuCrC,EAAAA,IAA9D,CAAA,wDAAA,qBAAA,8CAAA,mBAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAGRqC,EAAMqB,MAAM3L,OAAOC,MACnBqK,EAAMqB,MAAM3L,OAAO8C,KAIrCwH,EAAMgN,MAAQA,GAAMhN,EAAMgN,OAAS,KAEjChN,EAAMylC,iBAAmBz4B,GAAMhN,EAAMylC,kBAAoB,KAE3DH,GACAtlC,EAAM0I,SAAW28B,GAAgB,KACjCrlC,EAAM6U,QAAU0wB,GAAe,KAE/BvlC,EAAMG,MACJ4E,GAASogC,GAAiBnlC,EAAMG,OAAQH,EAAMgQ,OAAyB,SAAhBhQ,EAAMG,MAAmB,YAAc,SAC9F,KACF2G,GAAwB,CACxBE,MAAO,CACL4M,QAAS5T,EAAM4T,QACfC,OAAQ7T,EAAM6T,OACdC,OAAQ9T,EAAM8T,OACdC,OAAQ/T,EAAM+T,OACdC,QAAShU,EAAMgU,SAEjBnP,YAAa7E,EAAMgQ,OAAyB,SAAhBhQ,EAAMG,MAAmB,YAAc,QACnE8G,kBAAmBk+B,KAEnBnlC,EAAMgQ,MACJrS,EAAAA,IADF,CAAA,gBAIE,KACFqC,EAAM+Y,MAAQqsB,GAAa,MAGxB,IAAM77B,GAAOC,EAAMhI,QAACkkC,WAAWh8B,WAAuB,CAC3DC,kBAAoBlC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASlC,SAASkC,KAAUA,EAAKlC,SAAS,WAFhFmE,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,2CAAA,KAMZxJ,GAAUwlC,GAAexlC,KC9EvB,IAAMuJ,GAAOC,EAAAA,QAAOm8B,SAASj8B,WAA0B,CAC5DC,kBAAoBlC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASlC,SAASkC,KAAUA,EAAKlC,SAAS,WAFhFmE,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,uDAAA,KAOZxJ,GAAUwlC,GAAexlC,0NC8CvB,SAAS4lC,GAsBiC7+B,GAAA,IAtBxB8+B,KACvBA,EADuBn9B,SAEvBA,EAFuBqQ,MAGvBA,EAHuB/I,MAIvBA,EAJuBuJ,KAKvBA,EALuBI,SAMvBA,EANuBmsB,UAOvBA,EAPuBC,YAQvBA,EARuBC,SASvBA,EATuBnxB,QAUvBA,EAVuBoxB,KAWvBA,EAXuB5I,SAYvBA,EAZuBn+B,MAavBA,EAbuB+V,UAcvBA,EAduBrJ,MAevBA,EAfuBF,SAgBvBA,EAhBuBw6B,SAiBvBA,EAjBuBC,QAkBvBA,EAlBuBn5B,MAmBvBA,EAnBuBy4B,iBAoBvBA,GAE+C1+B,EAD5C/G,EAC4CuK,EAAA/I,QAAAuF,EAAAyD,IAC/C,IAAO47B,EAAOC,GAAWC,EAAQA,SAACL,GAClC,IAAMN,EAAWY,EAAAA,SACjB,IAAMllC,EAAQlD,EAAAA,WAEd,IAAMgC,MAAEA,EAAQkB,EAAMqY,2BAA8B1Z,EAEpD,IAAMwmC,EAAiEC,EAAWA,aAC/Ej7B,IACC,IAAMjM,OAAEA,GAAWiM,EAEnB,GAAIjM,aAAkBmnC,qBAAuBR,EAAU,CACrD,IAAMS,EAAOpnC,EAAOqnC,wBAEhBrnC,EAAO64B,aAAeuO,EAAKvmC,QAAUgmC,EAAQD,EAC/CE,EAAQD,EAAQ,GACN7mC,EAAOL,OAA0B,KAAjBK,EAAOL,OACjCmnC,EAAQJ,GAIY,mBAAbtsB,GACTA,EAASnO,KAGb,CAACmO,EAAUysB,EAAOD,EAASD,IAiB7B,OAdAW,EAAAA,gBACE,GAAKlB,GAAaA,EAASmB,QAA3B,CAEA,IAAMjgC,EAAK8+B,EAASmB,QACpB,IAAMH,EAAO9/B,EAAG+/B,wBAChB,GAAI//B,EAAGuxB,aAAeuO,EAAKvmC,OAAQ,CACjC,IAAM2mC,EAAKnP,SAASoP,iBAAiBngC,GAAI+G,WAAY,IACrD,IAAMq5B,EAAgBxW,KAAKyI,MAAMryB,EAAGuxB,aAAe2O,GAC/CE,GAAiBd,GAAWc,EAAgBhB,GAC9CI,EAAQY,OAGX,IAGD57B,MAACC,GAAD/J,EAAAC,QAAAD,UAAA,CACE0I,IAAK07B,EACL1wB,UAAWA,EACXrJ,MAAOA,EACP+N,SAAU6sB,EACVX,KAAMA,EACNn9B,SAAUA,EACVo9B,UAAWA,EACXvsB,KAAMA,EACNwsB,YAAaA,EACbC,SAAUA,EACVC,KAAMG,EACN/I,SAAUA,EACVn+B,MAAOA,EACP8N,MAAOA,EACP6H,QAASA,EACT4wB,iBAAkBA,EAClBz1B,MAAOA,EACP+I,MAAOA,EACP5Y,MAAOA,GACHH,GApBN,GAAA,CAAA0L,SAsBGA,KA1GPk6B,GAASpwB,aAAe,CACtBmE,SAAWiB,GAA8CssB,QAAQC,IAAIvsB,EAAGA,EAAErb,OAAOL,OACjF2V,SAAAA,EACA7H,MAAO,YACPy4B,iBAAkB,SAClBI,KAAM,GACNM,QAAS,GACTF,KAAM,EACNC,UAAAA,GAGFN,GAAS15B,YAAc,WC/CVk7B,IAAAA,GAAmBC,IAAAA,OAFJ,4BAMfC,GAAmD,CAC9D,CAAC,SAAU,IAAK,qBAAsB,iCACtC,CAAC,SAAU,IAAK,qBAAsB,iCACtC,CAAC,UAAW,MAAO,sBAAuB,iCAC1C,CAAC,WAAY,MAAO,sBAAuB,iCAC3C,CAAC,aAAc,MAAO,sBAAuB,iCAC7C,CAAC,UAAW,MAAO,qBAAsB,iCACzC,CAAC,cAAe,MAAO,sBAAuB,iCAC9C,CAAC,WAAY,MAAO,sBAAuB,iCAC3C,CAAC,WAAY,MAAO,sBAAuB,iCAC3C,CAAC,WAAY,KAAM,qBAAsB,gCACzC,CAAC,MAAO,IAAK,qBAAsB,+BACnC,CAAC,UAAW,MAAO,qBAAsB,iCACzC,CAAC,UAAW,MAAO,sBAAuB,iCAC1C,CAAC,UAAW,KAAM,qBAAsB,gCACxC,CAAC,SAAU,MAAO,oBAAqB,iCACvC,CAAC,UAAW,MAAO,oBAAqB,iCACxC,CAAC,SAAU,KAAM,qBAAsB,gCACvC,CAAC,QAAS,MAAO,mBAAoB,iCACrC,CAAC,iBAAkB,KAAM,qBAAsB,gCAC/C,CAAC,QAAS,KAAM,qBAAsB,gCACtC,CAAC,aAAc,MAAO,oBAAqB,iCAC3C,CAAC,UAAW,KAAM,sBAAuB,gCACzC,CAAC,SAAU,KAAM,gBAAiB,gCAClC,CAAC,SAAU,KAAM,sBAAuB,gCACxC,CAAC,UAAW,KAAM,kBAAmB,gCACrC,CAAC,SAAU,MAAO,qBAAsB,iCACxC,CAAC,YAAa,KAAM,mBAAoB,gCACxC,CAAC,QAAS,KAAM,sBAAuB,gCACvC,CAAC,OAAQ,MAAO,mBAAoB,iCACpC,CAAC,MAAO,MAAO,mBAAoB,iCACnC,CAAC,UAAW,KAAM,kBAAmB,gCACrC,CAAC,WAAY,KAAM,oBAAqB,gCACxC,CAAC,SAAU,KAAM,mBAAoB,gCACrC,CAAC,UAAW,KAAM,oBAAqB,gCACvC,CAAC,cAAe,KAAM,mBAAoB,iCAGrC,IAAMC,GAAU,CACrBC,OAAQ,WACRC,OAAQ,aACRC,OAAQ,aACRC,YAAa,yECpCf,IAAMC,GAAc,SAAAhtB,GAAA,IAAC1b,+BAAD0b,EAAAA,EAAS,GAAT,OAAwB1b,EAAM2oC,QAAQN,GAAQI,YAAa,KA6BxE,MAAMG,WAAmBzY,EAAAA,cAa9BpK,YAAYjlB,GAAyD,IAAA+nC,EACnE7iB,MAAMllB,GAD6D+nC,EAAAjoC,KAAAA,KAHrEkoC,oBAGqE,EAAAloC,KAFrEmoC,oBAEqE,EAAAnoC,KAmBrEooC,WAAa,SACXhpC,EADWmG,GASR,IAPH8iC,+BAFW9iC,EAAAA,SAUX,IAAM+iC,YAAEA,EAAFC,YAAeA,EAAfC,YAA4BA,GAAgBP,EAAK/nC,MACvD,IAAMuoC,EAAUX,GAAY1oC,GAE5B,IAAIspC,EAAOF,EACX,IAAIG,EAAS,KACb,IAAIC,GAAAA,EACJ,IAAIC,GAAAA,EAEJ,IAAKJ,EACH,MAAO,CACLC,KAAAA,EACAD,QAAAA,EACAG,YAAAA,EACAC,YAAAA,EACAF,OAAAA,GAGJ,IAAIG,GAAY,EAEhB,IAAK,IAAIppC,EAAI,EAAGA,EAAI4oC,EAAYhqC,OAAQoB,IAClC+oC,EAAQM,WAAWT,EAAY5oC,GAAG,OACnC,CAAA,CAAKgpC,EAAMC,GAAUL,EAAY5oC,GAClCopC,EAAkB,IAANppC,GAAiB,IAANA,GA4B3B,OAxBAkpC,EAAcE,GAAarB,GAAQE,OAAOzsB,KAAKutB,IAAYR,EAAKC,eAChEW,IACIH,GD3GgD,KC2GvCD,EAAQnqC,QAAqE,KAAd+pC,IAC1EJ,EAAKE,gBACLV,GAAQG,OAAO1sB,KAAKutB,GAElBG,IAEFF,EAAOlB,GAAa,GAAG,GAEvBS,EAAKC,gBAAiB,GAGpBW,IAEFH,EAAOlB,GAAa,GAAG,GAEvBS,EAAKE,gBAAiB,GAGnBO,IACHA,EAAOH,GAGF,CACLG,KAAAA,EACAD,QAAAA,EACAG,YAAAA,EACAC,YAAAA,EACAF,OAAAA,IApFiE3oC,KAwFrEgpC,OAAUxqB,IACR,IAAMkqB,KAAEA,GAAS1oC,KAAKooC,WAAW5pB,GAEjCxe,KAAK+lB,SAAS,CAAE2iB,KAAAA,KA3FmD1oC,KA8FrEipC,aAA4DnuB,IAC1DA,EAAEwmB,UAEF,IAAMznB,SAAEA,EAAFqvB,WAAYA,GAAelpC,KAAKE,MAEtC,GAAI2Z,EAAU,CACZ,IAAMsvB,EAAKruB,EACPouB,IAAYC,EAAG1pC,OAAOL,MAAQ0oC,GAAYhtB,EAAErb,OAAOL,QACvDya,EAASsvB,KAtGwDnpC,KA0GrEopC,wBAA0B,CAACC,EAAsBC,KAC/C,IAAMZ,KAAEA,EAAFD,QAAQA,EAARG,YAAiBA,EAAjBC,YAA8BA,EAA9BF,OAA2CA,GAAW3oC,KAAKooC,WAAWiB,EAASjqC,MAAOkqC,EAASlqC,OAQrG,OANAY,KAAK+lB,SAAS,CAAE2iB,KAAAA,EAAMC,OAAAA,IAMlBE,EACK,CACLU,UAA8B,IAAnBd,EAAQnqC,OAAe,CAAEy3B,MAAO,EAAGC,IAAK,GAAMqT,EAASE,UAClEnqC,MAAOiqC,EAASjqC,MAAM2oC,QAAQN,GAAQG,OAAQ,UAI9CgB,EACK,CAAEW,UAAW,CAAExT,MAAO,EAAGC,IAAK,GAAK52B,MAAOiqC,EAASjqC,MAAM2oC,QAAQN,GAAQE,OAAQ,SAGtFF,GAAQC,OAAOxsB,KAAKouB,EAASlqC,QAA6B,IAAnBqpC,EAAQnqC,OAC1C,CAAEirC,UAAW,CAAExT,MAAO,EAAGC,IAAK,GAAK52B,MAAOiqC,EAASjqC,QAGvDqoC,GAAQC,OAAOxsB,KAAKouB,EAASlqC,QAAUqoC,GAAQC,OAAOxsB,KAAKmuB,EAASjqC,OACvEqC,EAAAC,QAAAD,EAAAC,QAAA,GACK2nC,GADL,GAAA,CAEEE,UAAWF,EAASE,UAAY,CAAExT,MAAOsT,EAASE,UAAUxT,MAAQ,EAAGC,IAAKqT,EAASE,UAAUvT,IAAM,GAAM,OAIxGqT,GAtIPrpC,KAAKkoC,gBAAiB,EACtBloC,KAAKmoC,gBAAiB,EAEtB,IAAQO,KAAAA,GAAS1oC,KAAKooC,WAAWloC,EAAMd,OAAS,IAEhDY,KAAKwlB,MAAQ,CAAEkjB,KAAAA,EAAMC,OAAQ,MAG/BtiB,mBAAmBmjB,GACjB,IAAMpqC,MAAEA,GAAUY,KAAKE,MAEnBd,IAAUoqC,EAAUpqC,OACtBY,KAAKgpC,OAAO5pC,GA6HhBknB,SACE,IAOKpmB,EAPLuK,EAAAA,QAQIzK,KAAKE,MARTwK,IASA,IAAMg+B,KAAEA,EAAFC,OAAQA,GAAW3oC,KAAKwlB,MAE9B,OACEja,EAAAA,IAACoM,GAADlW,EAAAC,QAAAD,EAAAC,QAAA,GACMxB,GADN,GAAA,CAEEkpC,wBAAyBppC,KAAKopC,wBAC9BV,KAAMA,EACNnF,QAAS,CAAE,cAAkBoF,GAAAA,OAAAA,GAAU,KACvC9uB,SAAU7Z,KAAKipC,iBCxIhB,SAAStxB,GAAMzX,GACpB,IAAMqB,EAAQlD,EAAAA,WAEd,IAAMgC,MAAEA,EAAQkB,EAAMqY,2BAA8B1Z,EAEpD,OAAOqL,EAAAA,IAACC,0BAAgBtL,GAAjB,GAAA,CAAwBG,MAAOA,EAAOqoC,KAAMxoC,EAAMwoC,MAAQ,aDxCtDV,GACJ57B,YAAc,cADV47B,GAEJtyB,wBACL4yB,YAAad,GACbe,YAAajB,GACbkB,YD9CwB,uBC+CxBvC,YAAa,sBACVtuB,GAAMjC,cCYbiC,GAAMjC,aAAe,CACnBX,SAAAA,EACAtJ,KAAM,OACNyB,MAAO,YACPw7B,KAAM,GACN/C,iBAAkB,UAGpBhuB,GAAM8xB,MAAQzB,GACdrwB,GAAMvL,YAAc,QC9DpB,IAAMs9B,GAAY,SAAA5uB,GAAA,IAACxV,+BAADwV,EAAAA,EAAQ,GAAR,OAAejd,EAAfA,IACHyH,CAAAA,aAAAA,gBAAAA,aAAAA,QAAAA,EAEFA,EACCA,IAId,IAAMsD,GAAW/K,EAAHA,IAAd,CAAA,8IAgBA,IAAMob,GAAQpb,EAAHA,IAAX,CAAA,gFAYO,IAAM4L,GAAOC,EAAAA,QAAO0P,MAAMxP,WAAuB,CACtDC,kBAAoBlC,GAAS,CAAC,WAAY,WAAWlC,SAASkC,KAD/CiC,WAAA,CAAAG,YAAA,wBAAGL,CAAH,CAAA,qSAAA,6CAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KA2BRxJ,GACAA,EAAM+Y,MASH,KARApb,MAQA,CAAA,4FAOPqC,GAA0B,UAAfA,EAAMoF,KAAmBokC,GAAU,IAAM,OACpDxpC,GAA0B,WAAfA,EAAMoF,KAAoBokC,GAAU,IAAM,OACrDxpC,GAA0B,UAAfA,EAAMoF,KAAmBokC,GAAU,IAAM,OACpDxpC,GAAWA,EAAM0I,SAAWA,GAAW,OACvC1I,GAAWA,EAAM+Y,MAAQA,GAAQ,OACjC/Y,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OACpD1N,GACDsH,GACE,QACAtH,EAAMgQ,OAAyB,SAAhBhQ,EAAMG,QAAqBqC,MAAMmF,QAAQ3H,EAAMG,OAAS,YAAc,WAEtFH,GACDA,EAAMgQ,MACFrS,EADJA,IAAA,CAAA,gBAII,OAGD,IAAMwb,GAAQ3P,EAAAA,QAAOyO,IAAIvO,WAA4B,CAC1DC,kBAAoBlC,GAAkB,WAATA,IADbiC,WAAA,CAAAG,YAAA,wBAAGL,CAMfD,CAAAA,2DAAAA,wDAAAA,IAAAA,IAMDvJ,GACDA,EAAMwX,OACF7Z,EAAAA,IADJ,CAAA,4BAAA,oBAAA,MAAA,sBAAA,IAGc4L,GAGJA,GAAUA,GAGZ9F,IAAAA,CATRmE,KAAAA,GAAAC,EAAAA,QAAA,CAAA,8HAAA,MAAA,mGAcY0B,GAAUA,KAMlB,mJC/DD,SAASkgC,GAAMzpC,GACpB,IAAM0pC,OAAiCviC,IAAlBnH,EAAMwZ,QAC3B,IAAMnY,EAAQlD,EAAAA,WAEd,IAAMuN,SACJA,EADIhD,SAEJA,EAFIqQ,MAGJA,EAHIO,GAIJA,EAJIC,KAKJA,EALInU,KAMJA,EANIlG,MAOJA,EAPIga,MAQJA,EARIjE,UASJA,EATI9U,MAUJA,EAAQkB,EAAMqY,0BAVV9N,MAWJA,EAXIoE,MAYJA,EAZItC,QAaJA,GAEE1N,EADC2jC,YACD3jC,EAfJwK,IAiBA,IAAM6O,EAAgBxN,GAAa49B,GAAMv9B,aACzC,IAAMgJ,EAAalJ,EAAExK,QAAC6X,EAAepE,EAAWjV,EAAMwZ,UAAYkwB,YAAkBrwB,EAApC,aAA+D,MAC/G,IAAMswB,EAAqBtwB,GAAAA,OAAAA,EAA3B,WAEA,IAAMQ,EAAa6vB,EAAe,CAAEjwB,eAAgBzZ,EAAMyZ,gBAAmB,CAAED,QAASxZ,EAAMwZ,SAE9F,OACE7C,EAAAA,KAACrL,GAAD,CACE2J,UAAWC,EACXtJ,MAAOA,EACPlD,SAAUA,EACVqQ,MAAOA,EACPe,QAASR,GAAMC,EACfnU,KAAMA,EACNjF,MAAOA,EACPuN,QAASA,EACTsC,MAAOA,EATTtE,SAAA,CAWEL,qCACMs4B,GADN,GAAA,CAEErqB,GAAIA,GAAMC,EACVA,KAAMA,EACNhO,KAAK,QACLrM,MAAOA,EACPwJ,SAAUA,GACNmR,IAENlD,EAAAqD,KAAA,MAAA,CAAK1Z,MAAM,6BAA6BO,QAAQ,YAAhD6K,SACE,CAAAL,EAAAM,IAAA,SAAA,CAAQK,GAAG,KAAKyR,GAAG,KAAK5C,EAAE,IAAIra,OAAO,UAAUC,YAAY,IAAIJ,KAAK,SACpEgL,EAAAM,IAAA,SAAA,CAAQK,GAAG,KAAKyR,GAAG,KAAK5C,EAAE,IAAIxa,KAAK,gBAEnC6Y,GAASxN,IAAaL,EAAAA,IAAA,OAAA,CAAM4J,UAAW00B,EAAjBj+B,SAAmCwN,GAASxN,OAnE1E+9B,GAAMj0B,aAAe,CACnB9M,UAAAA,EACAtD,KAAM,SACNsI,QAAS,cACTiM,SAAWiB,GAA2CssB,QAAQC,IAAIvsB,EAAGA,EAAErb,OAAOL,QAGhFuqC,GAAMtwB,MC5D8DpS,IAAA,IAAzC2E,SAAEA,GAAuC3E,EAA1B/G,EAA0BuK,EAAA/I,QAAAuF,EAAAyD,IAClE,OAAOa,EAAAA,IAACgP,0BAAiBra,GAAlB,GAAA,CAAA0L,SAA0BA,MD4DnC+9B,GAAMv9B,YAAc,QE9DpB,IAAM09B,GAAS57B,EAAHA,UAAZ,CAAA,mCASA,IAAMC,GAAOD,EAAHA,UAAV,CAAA,iCAMA,IAAMgC,GAAQrS,EAAHA,IAAX,CAAA,mDAQA,IAAMob,GAAQpb,EAAHA,IAAA,CAAA,mBAAA,KAELynC,IAIC,IAAM77B,GAAOC,EAAAA,QAAOgL,KAAK9K,WAAwB,CACtDC,kBAAoBlC,GAAS,CAAC,YAAYlC,SAASkC,KADpCiC,WAAA,CAAAG,YAAA,uBAAGL,CAAH,CAAA,uiBAAA,qBAAA,4BAAA,+VAAA,yNAAA,wFAAA,8WAAA,w7FAAA,0GAAA,uBAAA,+FAAA,gBAAA,o+JAAA,qBAAA,yTAAA,2BAAA,kOAAA,gDAAA,yHAAA,yOAAA,qBAAA,uCAAA,gDAAA,sWAAA,gPAAA,+OAAA,iIAAA,0JAAA,+MAAA,wSAAA,IAAA,IAAA,IAAA,KAkCQxJ,GAAUA,EAAMqB,MAAM3L,OAAOC,QAC7BqK,GAAUA,EAAMqB,MAAM3L,OAAO8C,OAExCwH,GAAUA,EAAMqB,MAAM3L,OAAO4C,YAoBlB0H,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAU7B+F,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAKxC+F,GAAUA,EAAMqB,MAAM3L,OAAO6C,SAgB7ByH,GAAUA,EAAMqB,MAAM3L,OAAO4C,WA0D1B2V,IAKQjO,GAAUA,EAAMqB,MAAM3L,OAAO8C,OAC3BwH,GAAUA,EAAMqB,MAAM3L,OAAO4C,WAMvCsxC,IACH5pC,GAAUA,EAAMqB,MAAM3L,OAAO8C,OAuFlBwH,GAAUA,EAAMqB,MAAM3L,OAAOC,QAC7BqK,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAmB7BwG,GAAUA,EAAMqB,MAAM3L,OAAOC,QAExCqK,GAAUA,EAAMqB,MAAM3L,OAAO4C,YAWlB0H,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAG7BwG,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAQxCwG,GAAUA,EAAMqB,MAAM3L,OAAO6C,SAclByH,GAAUA,EAAMqB,MAAM3L,OAAO2D,SAC7B2G,GAAUgZ,EAASxX,QAACxB,EAAMqB,MAAM3L,OAAO2D,QAAQ4f,SAAS,IAAK9J,aAE7DnP,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAExCwG,GAAUA,EAAMqB,MAAM3L,OAAO4C,YAmB7B0H,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAc7B+F,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAWZ+F,GAAUA,EAAMqB,MAAM3L,OAAO8D,SAM9CwG,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAM7B+F,GAAUA,EAAMqB,MAAM3L,OAAOuE,SAS7B+F,GAAUA,EAAMqB,MAAM3L,OAAO4C,YAatC0H,GAAWA,EAAM+Y,MAAQA,GAAQ,OACjC/Y,GAAWA,EAAM0N,QAAUA,GAAQ1N,EAAM0N,SAAW,OACpD1N,GACDsH,GACE,QACAtH,EAAMgQ,OAAyB,SAAhBhQ,EAAMG,QAAqBqC,MAAMmF,QAAQ3H,EAAMG,OAAS,YAAc,WAEtFH,GAAWA,EAAMgQ,MAAQA,GAAQ,sECpY/B,SAAS65B,GAAO7pC,GACrB,IAAMqB,EAAQlD,EAAAA,WACd,IAAM6R,MACJA,EADI+I,MAEJA,EAFI9D,UAGJA,EAHIrJ,MAIJA,EAJI8B,QAKJA,EALIvN,MAMJA,EAAQkB,EAAMqY,2BAEZ1Z,EADC8pC,YACD9pC,EARJwK,IASA,IAAM0K,EAAarJ,GAAag+B,GAAO39B,YAAa+I,GAYpD,OACE5J,EAAAA,IAACC,GAAD,CAAa2J,UAAWC,EAAYtJ,MAAOA,EAAOmN,MAAOA,EAAO/I,MAAOA,EAAO7P,MAAOA,EAAOuN,QAASA,EAArGhC,SACEL,EAAAA,IAVyDrL,EAAM+pC,YAC/D/pC,EAAMgqC,YACJC,iBACAC,EAAAA,MACFlqC,EAAMgqC,YACNG,EAAAA,UACAC,EAAAA,QAIA7oC,EAAAC,QAAAD,EAAAC,QAAA,GAAmBsoC,GAAnB,GAAA,CAAqCO,kBAAoBnxB,GAAD,cAAAlX,OAAgCkX,EAAhC,WAjD9D2wB,GAAOr0B,aAAe,CACpBw0B,aAAa,EACbM,cACAC,WAAAA,EACAC,aAAc,sBACdC,yBAA0B,wDAC1BC,aAAc,eACdC,eAAgB,oBAChBC,cAAe,yBACf7E,YAAa,cACb8E,iBAAkB,2BAClBC,mBAAoB,cACpBC,UAAAA,EACAhB,aAAa,EACbr8B,QAAS,gBAGXm8B,GAAO39B,YAAc,qSPnCO,iWQYElM,IAC5B,IAAMgrC,EAAavE,EAAAA,aAAAA,SACjB7rB,GAA8D,IAA7DqwB,+BAADrwB,EAAAA,EAA+Bvc,GAC7B,IAAM6sC,EAAelrC,EAAMqB,MAE3B,MAA4B,mBAAjB6pC,EACFA,EAAaD,GAGM,iBAAjBC,GAA8B1oC,MAAMmF,QAAQujC,IAAkC,OAAjBA,EAIjED,EAHEx1B,EAAaA,cAACy1B,EAAcD,KAKvC,CAACjrC,EAAMqB,QAGT,OACEsV,EAAAA,KAACw0B,EAAAA,cAAD,CAAqB9pC,MAAO2pC,EAA5Bt/B,SAAA,CACEL,EAAAA,IAACvN,EAAD,IACCkC,EAAM0L,kR5I2Gc,CAAClF,EAAWC,KACrC,IAAMC,EAAOP,GAAOK,GACpB,IAAMG,EAAOR,GAAOM,GACpB,OAAKC,GAASC,EAECL,GAAkBM,WAAWC,GAAOA,IAAOH,IAC3CJ,GAAkBM,WAAWC,GAAOA,IAAOF,KAEhC,EAAI,EALH,icFdD,WAAA,OAAsEhJ,EAAAA,IAAtE,CAAA,qEAAA,KAEtBA"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/theme/colors.ts","../../src/theme/global-styled.ts","../../src/shared/enums/sizeInput.ts","../../src/hooks/use-theme.ts","../../src/hooks/use-config-priority.ts","../../src/components/Arrow/images/arrow.module.svg","../../src/components/Arrow/images/chevron.module.svg","../../src/components/Arrow/utils.ts","../../src/shared/utils/inject-theme.ts","../../src/mixins/screen.ts","../../src/mixins/shared.ts","../../src/mixins/responsive-property.ts","../../src/components/Arrow/constants.ts","../../src/components/Arrow/style.ts","../../src/components/Arrow/Arrow.tsx","../../src/hooks/useClassname.ts","../../src/components/Button/constants.ts","../../src/mixins/color.ts","../../src/components/Button/images/check.module.svg","../../src/components/Button/images/spinner.module.svg","../../src/components/Button/style.ts","../../src/components/Button/Button.tsx","../../src/components/Button/hooks.ts","../../src/components/Checkbox/images/check-default.module.svg","../../src/components/Checkbox/images/check.module.svg","../../src/components/Checkbox/style.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/Group.tsx","../../src/theme/colors-dark.ts","../../src/theme/themes.ts","../../src/theme/breakpoints.ts","../../src/theme/colors-light.ts","../../src/shared/utils/rel-builder.ts","../../src/mixins/vAlign.ts","../../src/components/Icon/style.ts","../../src/components/Icon/images/book.module.svg","../../src/components/Icon/images/blackBoard.module.svg","../../src/components/Icon/images/burger.module.svg","../../src/components/Icon/images/eye.module.svg","../../src/components/Icon/images/email.module.svg","../../src/components/Icon/images/sort.module.svg","../../src/components/Icon/images/unsort.module.svg","../../src/components/Icon/images/person.module.svg","../../src/components/Icon/images/diamond.module.svg","../../src/components/Icon/images/diamondFilled.module.svg","../../src/components/Icon/images/diamondSolid.module.svg","../../src/components/Icon/images/infoInverse.module.svg","../../src/components/Icon/images/list.module.svg","../../src/components/Icon/images/login.module.svg","../../src/components/Icon/images/logout.module.svg","../../src/components/Icon/images/fire.module.svg","../../src/components/Icon/images/camps.module.svg","../../src/components/Icon/images/cart.module.svg","../../src/components/Icon/images/clock.module.svg","../../src/components/Icon/images/clockFilled.module.svg","../../src/components/Icon/images/courses.module.svg","../../src/components/Icon/images/discount.module.svg","../../src/components/Icon/images/externat.module.svg","../../src/components/Icon/images/headphones.module.svg","../../src/components/Icon/images/priceTag.module.svg","../../src/components/Icon/images/prof.module.svg","../../src/components/Icon/images/phone.module.svg","../../src/components/Icon/images/star.module.svg","../../src/components/Icon/images/settings.module.svg","../../src/components/Icon/images/student.module.svg","../../src/components/Icon/images/target.module.svg","../../src/components/Icon/images/textbook.module.svg","../../src/components/Icon/images/trophy.module.svg","../../src/components/Icon/images/message.module.svg","../../src/components/Icon/images/wallet.module.svg","../../src/components/Icon/images/edit.module.svg","../../src/components/Icon/images/copy.module.svg","../../src/components/Icon/images/page.module.svg","../../src/components/Icon/images/print.module.svg","../../src/components/Icon/images/objective.module.svg","../../src/components/Icon/images/present.module.svg","../../src/components/Icon/images/coins.module.svg","../../src/components/Icon/icons.tsx","../../src/components/Icon/Icon.tsx","../../src/mixins/display.ts","../../src/components/ActionBtn/style.ts","../../src/components/ActionBtn/ActionBtn.tsx","../../src/components/Text.Heading/Text.Heading.tsx","../../src/components/Spacer/style.ts","../../src/components/Spacer/Spacer.tsx","../../src/components/Anchor/style.ts","../../src/components/Anchor/Anchor.tsx","../../src/components/Text.Ellipse/style.ts","../../src/components/Text.Ellipse/Text.Ellipse.tsx","../../src/components/Text/style.ts","../../src/components/Text/Text.tsx","../../src/components/Amount/data/index.ts","../../src/components/Amount/style.ts","../../src/components/Amount/Amount.tsx","../../src/components/Avatar/utils/index.ts","../../src/components/Avatar/style.ts","../../src/components/Avatar/Avatar.tsx","../../src/components/Badge/style.ts","../../src/components/Badge/Badge.tsx","../../src/components/Container/style.ts","../../src/components/Container/Container.tsx","../../src/components/Modal/style.ts","../../src/components/Modal/adapter.tsx","../../src/components/Modal/Modal.tsx","../../src/components/Modal/Close.tsx","../../src/components/Paper/style.ts","../../src/components/Paper/Paper.tsx","../../src/components/Progress.Segmented/style.ts","../../src/components/Progress.Segmented/Progress.Segmented.tsx","../../src/components/Progress.Circle/style.ts","../../src/components/Progress.Circle/Progress.Circle.tsx","../../src/components/Progress/style.ts","../../src/components/Progress/Progress.tsx","../../src/components/Scrollable/Scrollable.tsx","../../src/components/Section/style.ts","../../src/components/Section/Section.tsx","../../src/components/Separator/style.ts","../../src/components/Separator/Separator.tsx","../../src/components/Separator/SeparatorText.tsx","../../src/components/Spinner/style.ts","../../src/components/Spinner/Spinner.tsx","../../src/components/Switcher/style.ts","../../src/components/Switcher/Switcher.tsx","../../src/components/Tabs/style.ts","../../src/components/Tabs/TabsTab.tsx","../../src/components/Tabs/Tabs.tsx","../../src/components/Tooltip/tooltip-styles.ts","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tag/style.ts","../../src/components/Tag/Tag.tsx","../../src/components/ContextMenu.Multilevel/style.ts","../../src/components/ContextMenu.Multilevel/Heading.tsx","../../src/components/ContextMenu.Multilevel/SubHeading.tsx","../../src/components/ContextMenu.Multilevel/Controls.tsx","../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx","../../src/components/ContextMenu/style.ts","../../src/components/ContextMenu/Item.tsx","../../src/components/ContextMenu/ContextMenu.tsx","../../src/components/ContextMenu/tooltip-styles.ts","../../src/components/Input/helpers.ts","../../src/components/Input/style.ts","../../src/components/Textarea/style.ts","../../src/components/Textarea/Textarea.tsx","../../src/components/Input.Phone/constants.ts","../../src/components/Input.Phone/Input.Phone.tsx","../../src/components/Input/Input.tsx","../../src/components/Radio/style.ts","../../src/components/Radio/Radio.tsx","../../src/components/Radio/Group.tsx","../../src/components/Select/style.ts","../../src/components/Select/Select.tsx","../../src/theme/theme-provider.tsx"],"sourcesContent":["import { HEX, RGB, RGBA } from '../shared/interfaces'\n\n/* eslint-disable no-unused-vars */\nexport enum ColorNames {\n facebook = 'facebook',\n twitter = 'twitter',\n youtube = 'youtube',\n instagrammagenta = 'instagrammagenta',\n instagramblue = 'instagramblue',\n instagrampurple = 'instagrampurple',\n instagramorange = 'instagramorange',\n instagramyellow = 'instagramyellow',\n pinterest = 'pinterest',\n googleplus = 'googleplus',\n linkedin = 'linkedin',\n vimeoblue = 'vimeoblue',\n vimeogreen = 'vimeogreen',\n vimeoorange = 'vimeoorange',\n vimeopink = 'vimeopink',\n tumblr = 'tumblr',\n snapchat = 'snapchat',\n whatsappgreen = 'whatsappgreen',\n whatsappteal1 = 'whatsappteal1',\n whatsappteal2 = 'whatsappteal2',\n foursquarepink = 'foursquarepink',\n foursquareblue = 'foursquareblue',\n swarm = 'swarm',\n skypeblue = 'skypeblue',\n skypegreen = 'skypegreen',\n android = 'android',\n stumbleupon = 'stumbleupon',\n flickrpink = 'flickrpink',\n flickrblue = 'flickrblue',\n yahoo = 'yahoo',\n soundcloud = 'soundcloud',\n spotifygreen = 'spotifygreen',\n spotifydarkgreen = 'spotifydarkgreen',\n dribbble = 'dribbble',\n reddit = 'reddit',\n deviantart = 'deviantart',\n pocket = 'pocket',\n quora = 'quora',\n quorablue = 'quorablue',\n slideshareorange = 'slideshareorange',\n slideshareblue = 'slideshareblue',\n telegram = 'telegram',\n fivehundredpx = 'fivehundredpx',\n listlyorange = 'listlyorange',\n listlyblue = 'listlyblue',\n vine = 'vine',\n vk = 'vk',\n ok = 'ok',\n mailru = 'mailru',\n white = 'white',\n black = 'black',\n tundora = 'tundora',\n paleSky = 'paleSky',\n bostonBlue = 'bostonBlue',\n atlantisBrightly = 'atlantisBrightly',\n cinnabar = 'cinnabar',\n sail = 'sail',\n bittersweet = 'bittersweet',\n turquoise = 'turquoise',\n dodgerBlue = 'dodgerBlue',\n mantis = 'mantis',\n azure = 'azure',\n bahamaBlue = 'bahamaBlue',\n shamrock = 'shamrock',\n olive = 'olive',\n copperRose = 'copperRose',\n cyan = 'cyan',\n plum = 'plum',\n hokeyPokey = 'hokeyPokey',\n monaLisa = 'monaLisa',\n mariner = 'mariner',\n heliotrope = 'heliotrope',\n dandelion = 'dandelion',\n fruitSalad = 'fruitSalad',\n fuchsiaBlue = 'fuchsiaBlue',\n persianGreen = 'persianGreen',\n watermelon = 'watermelon',\n tropaz = 'tropaz',\n lima = 'lima',\n mintTulip = 'mintTulip',\n carnationPink = 'carnationPink',\n paleRose = 'paleRose',\n deYork = 'deYork',\n peppermint = 'peppermint',\n cornflowerBlue = 'cornflowerBlue',\n colonialWhite = 'colonialWhite',\n cherokee = 'cherokee',\n supernova = 'supernova',\n picasso = 'picasso',\n bilobaFlower = 'bilobaFlower',\n linkWater = 'linkWater',\n mineShaft = 'mineShaft',\n silver = 'silver',\n alto = 'alto',\n mercury = 'mercury',\n wildSand = 'wildSand',\n whiteGray = 'whiteGray',\n alabaster = 'alabaster',\n whiteLilac = 'whiteLilac',\n atlantis = 'atlantis',\n yellowOrange = 'yellowOrange',\n mystic = 'mystic',\n pomegranate = 'pomegranate',\n oliveDrab = 'oliveDrab',\n curious = 'curious',\n orangePeel = 'orangePeel',\n nebula = 'nebula',\n seaNymph = 'seaNymph',\n chromeWhite = 'chromeWhite',\n onahau = 'onahau',\n citrineWhite = 'citrineWhite',\n coralReef = 'coralReef',\n creemBrulee = 'creemBrulee',\n frangipani = 'frangipani',\n yourPink = 'yourPink',\n periwinkleGray = 'periwinkleGray',\n baliHai = 'baliHai',\n primary = 'primary',\n accent = 'accent',\n profession = 'profession',\n professionDark = 'professionDark',\n camps = 'camps',\n campsDark = 'campsDark',\n courses = 'courses',\n coursesDark = 'coursesDark',\n openLesson = 'openLesson',\n openLessonDark = 'openLessonDark',\n externat = 'externat',\n externatDark = 'externatDark',\n olympiad = 'olympiad',\n olympiadDark = 'olympiadDark',\n textbook = 'textbook',\n textbookDark = 'textbookDark',\n tutors = 'tutors',\n tutorsDark = 'tutorsDark',\n training = 'training',\n trainingDark = 'trainingDark',\n mathematics = 'mathematics',\n physics = 'physics',\n informatics = 'informatics',\n chemistry = 'chemistry',\n biology = 'biology',\n english = 'english',\n russian = 'russian',\n history = 'history',\n society = 'society',\n geography = 'geography',\n developing = 'developing',\n literature = 'literature',\n intersubject = 'intersubject',\n primarySchool = 'primarySchool',\n recommended = 'recommended',\n astronomy = 'astronomy',\n ecology = 'ecology',\n technology = 'technology',\n languages = 'languages',\n art = 'art',\n physicalCulture = 'physicalCulture',\n logic = 'logic',\n businessLogic = 'businessLogic',\n rap = 'rap',\n ikt = 'ikt',\n kids = 'kids',\n fgos = 'fgos',\n blue = 'blue',\n red = 'red',\n green = 'green',\n grey = 'grey',\n darkgrey = 'darkgrey',\n lightgrey = 'lightgrey',\n superlightgrey = 'superlightgrey',\n}\n\nexport const socialColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n facebook: '#0561af',\n twitter: '#00bff3',\n youtube: '#ff0000',\n instagrammagenta: '#c32aa3',\n instagramblue: '#4c5fd7',\n instagrampurple: '#7232bd',\n instagramorange: '#f46f30',\n instagramyellow: '#ffdc7d',\n pinterest: '#cb2027',\n googleplus: '#df4a32',\n linkedin: '#007bb6',\n vimeoblue: '#45bbff',\n vimeogreen: '#aad450',\n vimeoorange: '#f7b42c',\n vimeopink: '#f27490',\n tumblr: '#2c4762',\n snapchat: '#fffc00',\n whatsappgreen: '#25d366',\n whatsappteal1: '#075e54',\n whatsappteal2: '#128c7e',\n foursquarepink: '#fc4575',\n foursquareblue: '#2d5be3',\n swarm: '#ffb000',\n skypeblue: '#00aff0',\n skypegreen: '#7fba00',\n android: '#a4c639',\n stumbleupon: '#eb4924',\n flickrpink: '#f40083',\n flickrblue: '#006add',\n yahoo: '#430297',\n soundcloud: '#ff5500',\n spotifygreen: '#1ed760',\n spotifydarkgreen: '#1db954',\n dribbble: '#ea4c89',\n reddit: '#ff5700',\n deviantart: '#4a5d4e',\n pocket: '#ee4056',\n quora: '#aa2200',\n quorablue: '#2b6dad',\n slideshareorange: '#f7941e',\n slideshareblue: '#1191d0',\n telegram: '#0088cc',\n fivehundredpx: '#0099e5',\n listlyorange: '#df6d46',\n listlyblue: '#52b1b3',\n vine: '#00b489',\n vk: '#4d75a2',\n ok: '#ee8208',\n mailru: '#158DE2',\n})\n\nexport const colors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n white: '#ffffff',\n black: '#000000',\n tundora: '#4a4a4a',\n paleSky: '#697389',\n bostonBlue: '#0060d0',\n atlantisBrightly: '#99cc33',\n cinnabar: '#e00000',\n sail: '#a9dbf8',\n bittersweet: '#ff6666',\n turquoise: '#33cccc',\n dodgerBlue: '#33ccff',\n mantis: '#66cc66',\n azure: '#336699',\n bahamaBlue: '#006699',\n shamrock: '#33cc99',\n olive: '#999900',\n copperRose: '#996666',\n cyan: '#3399ff',\n plum: '#993399',\n hokeyPokey: '#cc9933',\n monaLisa: '#ff9999',\n mariner: '#3366cc',\n heliotrope: '#cc33ff',\n dandelion: '#ffce03',\n fruitSalad: '#49a15d',\n fuchsiaBlue: '#8d58bc',\n persianGreen: '#009999',\n watermelon: '#ff4679',\n tropaz: '#2863a8',\n lima: '#5fd0da',\n mintTulip: '#bfecf0',\n carnationPink: '#ffa6ce',\n paleRose: '#ffdcec',\n deYork: '#82d180',\n peppermint: '#cdedcc',\n cornflowerBlue: '#62aee9',\n colonialWhite: '#fdedd2',\n cherokee: '#fbd291',\n supernova: '#ffce03',\n picasso: '#ffeb9a',\n bilobaFlower: '#9fafe9',\n linkWater: '#d8dff6',\n transparent: 'transparent',\n mineShaft: '#333333',\n silver: '#b8b8b8',\n alto: '#d4d4d4',\n mercury: '#e9e9e9',\n wildSand: '#f6f6f6',\n whiteGray: '#eaeaea',\n alabaster: '#f8f8f8',\n whiteLilac: '#F6F7FB',\n atlantis: '#7fc92e',\n yellowOrange: '#ffb334',\n mystic: '#dcdfea',\n pomegranate: '#f94b28',\n oliveDrab: '#6ca82a',\n curious: '#007CEE',\n orangePeel: '#ff9900',\n nebula: '#d8e6e2',\n seaNymph: '#7ca79b',\n chromeWhite: '#daefc9',\n onahau: '#c6e6ff',\n citrineWhite: '#faf3dd',\n coralReef: '#c9c1a6',\n creemBrulee: '#ffe89e',\n frangipani: '#ffdcb5',\n yourPink: '#ffc2c2',\n periwinkleGray: '#d4d9ee',\n baliHai: '#8890b4',\n primary: '#ff732b',\n accent: '#1A96F6',\n})\n\nexport const unitColors: Partial<Record<ColorNames, HEX | RGB | RGBA>> = Object.freeze({\n profession: colors.mintTulip,\n professionDark: colors.lima,\n camps: colors.chromeWhite,\n campsDark: colors.atlantis,\n courses: colors.onahau,\n coursesDark: colors.cornflowerBlue,\n openLesson: colors.colonialWhite,\n openLessonDark: colors.cherokee,\n externat: colors.paleRose,\n externatDark: colors.carnationPink,\n olympiad: colors.yourPink,\n olympiadDark: colors.bittersweet,\n textbook: colors.picasso,\n textbookDark: colors.supernova,\n tutors: colors.linkWater,\n tutorsDark: colors.bilobaFlower,\n training: colors.peppermint,\n trainingDark: colors.deYork,\n mathematics: colors.orangePeel,\n physics: colors.curious,\n informatics: colors.turquoise,\n chemistry: colors.shamrock,\n biology: colors.mantis,\n english: colors.bittersweet,\n russian: colors.dodgerBlue,\n history: colors.bahamaBlue,\n society: colors.primary,\n geography: colors.copperRose,\n developing: colors.olive,\n literature: colors.cyan,\n intersubject: colors.plum,\n primarySchool: colors.hokeyPokey,\n recommended: colors.monaLisa,\n astronomy: colors.mariner,\n ecology: colors.atlantisBrightly,\n technology: colors.turquoise,\n languages: colors.bittersweet,\n art: colors.heliotrope,\n physicalCulture: colors.olive,\n logic: colors.dandelion,\n businessLogic: colors.fruitSalad,\n rap: colors.fuchsiaBlue,\n ikt: colors.persianGreen,\n kids: colors.watermelon,\n fgos: colors.tropaz,\n blue: colors.accent,\n red: colors.pomegranate,\n green: colors.atlantis,\n grey: colors.silver,\n darkgrey: colors.mineShaft,\n lightgrey: colors.alto,\n superlightgrey: colors.mercury,\n})\n","import { createGlobalStyle, css } from 'styled-components'\nimport { colors, socialColors, unitColors } from './colors'\n\nconst _colors = Object.keys(colors).map((colorName) => css`--${colorName}: ${colors[colorName]};`)\nconst _socialColors = Object.keys(socialColors).map((colorName) => css`--${colorName}: ${socialColors[colorName]};`)\nconst _unitColors = Object.keys(unitColors).map((colorName) => css`--${colorName}: ${unitColors[colorName]};`)\n\nexport const UiGlobalStyles = createGlobalStyle`\n #react-floater-portal {\n position: relative;\n }\n :root {\n ${_colors}\n ${_socialColors}\n ${_unitColors}\n }\n`\n","/* eslint-disable no-unused-vars */\nexport enum SizeInput {\n l = 380,\n m = 300,\n s = 220,\n xs = 140,\n}\n","import { useTheme } from 'styled-components'\nimport type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../theme/themes'\n\nexport function useFallbackTheme(): DefaultTheme {\n const contextTheme = useTheme()\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n return shouldForwardTheme ? contextTheme : defaultTheme\n}\n","import { useMemo } from 'react'\n\nexport function useConfigPriority<T extends object>(minor?: Partial<T>, major?: Partial<T>): Partial<T> {\n return useMemo(() => {\n const minorConfig = minor ?? {}\n const majorConfig = major ?? {}\n const uniqueKeys = [...new Set([...Object.keys(minorConfig), ...Object.keys(majorConfig)])]\n\n return uniqueKeys.reduce((prioritized, key) => {\n let finalVal\n\n if (valid(minorConfig[key])) finalVal = minorConfig[key]\n if (valid(majorConfig[key])) finalVal = majorConfig[key]\n\n return valid(finalVal) ? { ...prioritized, [key]: finalVal } : prioritized\n }, {} as Partial<T>)\n }, [minor, major])\n}\n\nfunction valid(value: unknown): boolean {\n return Boolean(value) || typeof value === 'boolean' || typeof value === 'number'\n}\n","<svg width=\"14\" height=\"16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 1v14M7 1l6 6M7 1 1 7\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 4.233 4.233\"><path d=\"M.76 3.175l-.363-.369 1.72-1.748 1.72 1.748-.363.369-1.357-1.38z\" /></svg>\n","import type { ArrowProps } from './types'\n\nexport const DIR_MAP = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n}\n\nexport function getArrowRotation({ top, right, bottom, left }: ArrowProps): React.CSSProperties {\n const arrowDir = {\n top: top && !bottom,\n right: right && !left,\n bottom: bottom && !top,\n left: left && !right,\n }\n\n const isMultiDir = Object.values(arrowDir).filter((value) => value === true).length > 1\n\n const rotateDeg =\n Object.keys(arrowDir).reduce((acc, key) => (arrowDir[key] ? acc + DIR_MAP[key] : acc), 0) / (isMultiDir ? 2 : 1)\n\n return {\n transform: `rotate(${rotateDeg}deg)${isMultiDir ? ' translateY(-3px)' : ''}`,\n }\n}\n","import type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../../theme/themes'\n\nexport function injectDefaultTheme(\n config: { theme: DefaultTheme | void } & Record<string, unknown>\n): { theme: DefaultTheme } & Record<string, unknown> {\n const contextTheme = config.theme\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n const forwardedTheme = shouldForwardTheme ? contextTheme : defaultTheme\n\n return {\n ...config,\n theme: forwardedTheme,\n }\n}\n","import { css, CSSObject, SimpleInterpolation } from 'styled-components'\nimport { theme } from '../theme'\n\ntype StyledComponentProps = {\n theme?: { breakpoints?: typeof theme.breakpoints }\n}\n\ntype MediaQueryParams = {\n and?: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n condition?: (_props: any) => boolean\n}\n\nconst CONDITIONS = (() => {\n const maxWidth = (breakpoints: typeof theme.breakpoints, point: string) =>\n `(max-width: ${breakpoints[point] - 0.02}px)`\n const minWidth = (breakpoints: typeof theme.breakpoints, point: string) => `(min-width: ${breakpoints[point]}px)`\n\n return {\n MAX: maxWidth,\n MIN: minWidth,\n RANGE: (breakpoints: typeof theme.breakpoints, point1: string, point2: string) =>\n `${minWidth(breakpoints, point1)} and ${maxWidth(breakpoints, point2)}`,\n }\n})()\n\nconst createMediaQuery =\n (condition: (_breakpoints: typeof theme.breakpoints, ..._points: string[]) => string, ...points: string[]) =>\n (params?: MediaQueryParams) =>\n (...args: [CSSObject | TemplateStringsArray, ...SimpleInterpolation[]]) =>\n (props: StyledComponentProps) => {\n const breakpoints = props.theme?.breakpoints ?? theme.breakpoints\n\n if (params !== undefined && typeof params.condition === 'function' && params.condition(props) === false) {\n return css``\n }\n\n return css`\n @media screen and ${condition(breakpoints, ...points)} ${params !== undefined && typeof params.and === 'string'\n ? `and ${params.and}`\n : ``} {\n ${css(...args)}\n }\n `\n }\n\n/**\n * @return `@media screen and (min-width: 320px) and (max-width: 374px) { ...args }`\n */\nexport const screenXs = createMediaQuery(CONDITIONS.RANGE, 'xxs', 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) and (max-width: 767px) { ...args }`\n */\nexport const screenS = createMediaQuery(CONDITIONS.RANGE, 'xs', 's')\n\n/**\n * @return `@media screen and (min-width: 768) and (max-width: 1023px) { ...args }`\n */\nexport const screenM = createMediaQuery(CONDITIONS.RANGE, 's', 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) and (max-width: 1279px) { ...args }`\n */\nexport const screenL = createMediaQuery(CONDITIONS.RANGE, 'm', 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) and (max-width: 1439px) { ...args }`\n */\nexport const screenXl = createMediaQuery(CONDITIONS.RANGE, 'l', 'xl')\n\n/**\n * @return `@media screen and (max-width: 319px) { ...args }`\n */\nexport const screenMaxXxs = createMediaQuery(CONDITIONS.MAX, 'xxs')\n\n/**\n * @return `@media screen and (max-width: 374px) { ...args }`\n */\nexport const screenMaxXs = createMediaQuery(CONDITIONS.MAX, 'xs')\n\n/**\n * @return `@media screen and (min-width: 375px) { ...args }`\n */\nexport const screenMinXs = createMediaQuery(CONDITIONS.MIN, 'xs')\n\n/**\n * @return `@media screen and (max-width: 767px) { ...args }`\n */\nexport const screenMaxS = createMediaQuery(CONDITIONS.MAX, 's')\n\n/**\n * @return `@media screen and (min-width: 768px) { ...args }`\n */\nexport const screenMinS = createMediaQuery(CONDITIONS.MIN, 's')\n\n/**\n * @return `@media screen and (max-width: 1023px) { ...args }`\n */\nexport const screenMaxM = createMediaQuery(CONDITIONS.MAX, 'm')\n\n/**\n * @return `@media screen and (min-width: 1024px) { ...args }`\n */\nexport const screenMinM = createMediaQuery(CONDITIONS.MIN, 'm')\n\n/**\n * @return `@media screen and (max-width: 1279px) { ...args }`\n */\nexport const screenMaxL = createMediaQuery(CONDITIONS.MAX, 'l')\n\n/**\n * @return `@media screen and (min-width: 1280px) { ...args }`\n */\nexport const screenMinL = createMediaQuery(CONDITIONS.MIN, 'l')\n\n/**\n * @return `@media screen and (max-width: 1439px) { ...args }`\n */\nexport const screenMaxXl = createMediaQuery(CONDITIONS.MAX, 'xl')\n\n/**\n * @return `@media screen and (min-width: 1440px) { ...args }`\n */\nexport const screenMinXl = createMediaQuery(CONDITIONS.MIN, 'xl')\n\n/**\n * @return `@media -webkit-min-device-pixel-ratio: 2 and (min-resolution: 192dpi) { ...args }`\n */\nexport const screenRetina = (...args: [CSSObject | TemplateStringsArray, SimpleInterpolation]) => css`\n @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\n ${css(...args)}\n }\n`\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from '../shared/enums/sizeLatin'\nimport { screenXs } from './screen'\n\nexport const SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 44,\n xxl: 40,\n xl: 36,\n l: 28,\n m: 24,\n s: 20,\n xs: 16,\n xxs: 8,\n xxxs: 4,\n})\n\n// eslint-disable-next-line no-unused-vars\nexport const FONT_SIZES_LATIN: Readonly<Record<SizeLatin, number>> = Object.freeze({\n xxxl: 24,\n xxl: 22,\n xl: 20,\n l: 18,\n m: 16,\n s: 14,\n xs: 12,\n xxs: 10,\n xxxs: 8,\n})\n\nexport function getLatinSizeMapByCssProperty<T>(cssProperty: T) {\n if (typeof cssProperty === 'string' && cssProperty === 'font-size') return FONT_SIZES_LATIN\n return SIZES_LATIN\n}\n\nexport function buildMediaQuery(\n value: number | keyof typeof SizeLatin | 'auto' | 'initial' | 'inherit' | boolean,\n property:\n | string\n | ((\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n ) => FlattenSimpleInterpolation | null),\n screenQueryFunction: typeof screenXs,\n sizing: null | string\n): ReturnType<typeof css> {\n const sizeMap = getLatinSizeMapByCssProperty(property)\n\n const size: number | 'auto' | 'initial' | 'inherit' | boolean =\n typeof value === 'string' ? sizeMap[value] ?? value : value\n\n if (typeof property === 'function') {\n const value = property(size, sizing)\n return css`\n ${screenQueryFunction()`\n ${value}\n `}\n `\n }\n\n return css`\n ${screenQueryFunction()`\n ${property}: ${size as string}${typeof size === 'string' ? '' : sizing ?? ''};\n `}\n `\n}\n","import { css, FlattenSimpleInterpolation } from 'styled-components'\nimport { SizeLatin } from '../shared/enums/sizeLatin'\nimport { screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMinL, screenMaxXxs, screenMinM } from './screen'\nimport { buildMediaQuery, getLatinSizeMapByCssProperty } from './shared'\n\n/**\n * Value for breakpoint\n */\nexport type PossibleValues = number | keyof typeof SizeLatin | 'auto' | 'initial' | 'inherit' | boolean\n\ntype PropsProperties =\n | 'size'\n | 'fontSize'\n | 'height'\n | 'width'\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'padding'\n | 'paddingTop'\n | 'paddingRight'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'margin'\n | 'marginTop'\n | 'marginRight'\n | 'marginBottom'\n | 'marginLeft'\n | 'fluid'\n\nexport type CalcProperty = (\n _size: number | 'auto' | 'initial' | 'inherit' | boolean,\n _sizing?: null | string\n) => FlattenSimpleInterpolation | null\ntype CssProperty = string | CalcProperty\ntype ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL'\n\nexport type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = {\n /**\n * Size for breakpoint\n */\n [key in `${T}${ResponsiveKeys}`]?: V // eslint-disable-line no-unused-vars\n}\n\nexport type ResponsiveProperty<V = number | keyof typeof SizeLatin> =\n | V\n | [desktop: V, tablet: V, mobile: V]\n | [xl: V, l: V, m: V, s: V, xs: V, xxs: V]\n\nexport const property =\n (value: PossibleValues, cssProperty: CssProperty = 'size', sizing: null | string = 'px') =>\n () =>\n () => {\n if (typeof value === 'boolean') {\n return typeof cssProperty === 'function' ? cssProperty(1) : null\n }\n\n const sizeMap = getLatinSizeMapByCssProperty(cssProperty)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(typeof value === 'number' ? value : sizeMap[value])\n }\n\n if (typeof value === 'string' && ['auto', 'initial', 'inherit'].includes(value))\n return css`\n ${cssProperty}: ${value};\n `\n\n return css`\n ${cssProperty}: ${typeof value === 'string' && sizeMap[value] ? sizeMap[value] : value}${sizing ?? ''};\n `\n }\n\nconst SCREEN_SIZE_MAP: Record<Exclude<ResponsiveKeys, ''>, typeof screenMaxXs> = {\n XXS: screenMaxXxs,\n XS: screenMaxXs,\n S: screenMaxS,\n M: screenMaxM,\n L: screenMaxL,\n XL: screenMinL,\n}\n\nconst SCREEN_SIZE_MAP_BY_DEVICE_ALIAS: Record<'desktop' | 'tablet' | 'mobile', typeof screenMaxXs> = {\n desktop: screenMinM,\n tablet: screenMaxM,\n mobile: screenMaxS,\n}\n\nfunction getScreenFnByResponsiveKey(size: string) {\n if (size.endsWith('XXS')) {\n return SCREEN_SIZE_MAP.XXS\n } else if (size.endsWith('XS')) {\n return SCREEN_SIZE_MAP.XS\n } else if (size.endsWith('S')) {\n return SCREEN_SIZE_MAP.S\n } else if (size.endsWith('M')) {\n return SCREEN_SIZE_MAP.M\n } else if (size.endsWith('L')) {\n return SCREEN_SIZE_MAP.L\n } else {\n return SCREEN_SIZE_MAP.XL\n }\n}\n\nconst getKey = (key: string): 'xs' | 's' | 'm' | 'l' | 'xl' | null => {\n if (key.endsWith('XS')) return 'xs' // first check XS\n if (key.endsWith('S')) return 's'\n if (key.endsWith('M')) return 'm'\n if (key.endsWith('XL')) return 'xl' // first check XL\n if (key.endsWith('L')) return 'l'\n return null\n}\n\nconst DEKSTOP_FIRST_KEYS = ['xl', 'l', 'm', 's', 'xs']\nconst MOBILE_FIRST_KEYS = ['xs', 's', 'm', 'l', 'xl']\n\n/**\n * Sort keys as desktop first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const desktopFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = DEKSTOP_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\n/**\n * Sort keys as mobile first\n * @param a key a\n * @param b key b\n * @returns number\n */\nexport const mobileFirst = (a: string, b: string): number => {\n const aKey = getKey(a)\n const bKey = getKey(b)\n if (!aKey || !bKey) return 0\n\n const aIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === aKey)\n const bIndex = MOBILE_FIRST_KEYS.findIndex((el) => el === bKey)\n\n return aIndex < bIndex ? -1 : 1\n}\n\ninterface ResponsiveNamedPropertyPayload<T extends PropsProperties> {\n sizes: ResponsiveNamedProperty<T>\n cssProperty: CssProperty\n sizing?: null | 'px' | 'rem' | 'em' | '%'\n customSizeHandler?: (_value: PossibleValues) => PossibleValues\n sort?: (_a: string, _b: string) => number\n}\n\n/**\n * Миксин для генерации media запросов\n *\n * @param obj.sizes Объект, в качестве ключей брэйкпоинт, в качестве значений - величина\n * @param obj.cssProperty CSS свойство, может быть функцией, возвращающей css`` из styled-components\n * @param obj.sizing значение величины, по умолчанию `px`\n * @param obj.customSizeHandler функция для вычисления кастомных значений величин\n * @returns строки медиазапросов\n */\nexport const responsiveNamedProperty =\n <T extends PropsProperties>({\n sizes,\n cssProperty = 'size',\n sizing = 'px',\n customSizeHandler,\n sort = desktopFirst,\n }: ResponsiveNamedPropertyPayload<T>) =>\n () =>\n () => {\n const mediaCssStrArr = Object.keys(sizes)\n .sort(sort)\n .map((size) => {\n if (sizes[size] !== undefined) {\n const _size: PossibleValues =\n typeof customSizeHandler === 'function' ? customSizeHandler(sizes[size]) : sizes[size]\n\n return buildMediaQuery(_size, cssProperty, getScreenFnByResponsiveKey(size), sizing)\n }\n return null\n })\n .filter(Boolean)\n .map(\n (item) =>\n css`\n ${item}\n `\n )\n\n return mediaCssStrArr\n }\n\n/**\n * Миксин для генерации media запросов\n *\n * @param propName имя пропсы\n * @param cssProperty имя css свойства\n * @param sizing значение величины, по умолчанию `px`\n * @returns строки медиазапросов\n */\nexport const responsiveProperty =\n (propName: string, cssProperty: string | null = null, sizing: null | string = 'px') =>\n () =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (props: any) => {\n const prop: ResponsiveProperty | null = props[propName] ?? null\n const _cssProperty = cssProperty ?? propName\n if (!prop) return null\n\n if (Array.isArray(prop) && prop.length === 3) {\n const [desktop, tablet, mobile] = prop\n return css`\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.desktop()`\n ${_cssProperty}: ${typeof desktop === 'number' ? `${desktop}${sizing ?? ''}` : desktop};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.tablet()`\n ${_cssProperty}: ${typeof tablet === 'number' ? `${tablet}${sizing ?? ''}` : tablet};\n `}\n ${SCREEN_SIZE_MAP_BY_DEVICE_ALIAS.mobile()`\n ${_cssProperty}: ${typeof mobile === 'number' ? `${mobile}${sizing ?? ''}` : mobile};\n `}\n `\n }\n\n if (Array.isArray(prop) && prop.length === 6 && typeof _cssProperty === 'string') {\n const [xl, l, m, s, xs, xxs] = prop\n return css`\n ${SCREEN_SIZE_MAP.XL()`\n ${_cssProperty}: ${typeof xl === 'number' ? `${xl}${sizing ?? ''}` : xl};\n `}\n ${SCREEN_SIZE_MAP.L()`\n ${_cssProperty}: ${typeof l === 'number' ? `${l}${sizing ?? ''}` : l};\n `}\n ${SCREEN_SIZE_MAP.M()`\n ${_cssProperty}: ${typeof m === 'number' ? `${m}${sizing ?? ''}` : m};\n `}\n ${SCREEN_SIZE_MAP.S()`\n ${_cssProperty}: ${typeof s === 'number' ? `${s}${sizing ?? ''}` : s};\n `}\n ${SCREEN_SIZE_MAP.XS()`\n ${_cssProperty}: ${typeof xs === 'number' ? `${xs}${sizing ?? ''}` : xs};\n `}\n ${SCREEN_SIZE_MAP.XXS()`\n ${_cssProperty}: ${typeof xxs === 'number' ? `${xxs}${sizing ?? ''}` : xxs};\n `}\n `\n }\n\n if (typeof prop === 'number') {\n return css`\n ${_cssProperty}: ${prop}${sizing ?? null};\n `\n }\n\n if (typeof prop === 'string') {\n return css`\n ${_cssProperty}: ${prop};\n `\n }\n\n return null\n }\n","import type { ArrowTransientProp } from './types'\n\nexport const TRANSIENT_PROPS: ArrowTransientProp[] = [\n 'preset',\n 'square',\n 'onColored',\n 'size',\n 'top',\n 'theme',\n 'right',\n 'bottom',\n 'left',\n 'inverse',\n 'outline',\n 'borderRadius',\n 'brandPresetUsed',\n]\n","import styled, { css } from 'styled-components'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TRANSIENT_PROPS } from './constants'\nimport type { ArrowRootProps, ArrowStaticSize, ArrowTransientProp } from './types'\n\nconst SIZES: Record<ArrowStaticSize, number> = { l: 48, m: 44, xs: 40 }\n\nconst DEFAULT_SIZES: Record<ArrowStaticSize, number> = { l: 40, m: 28, xs: 20 }\n\nconst baseStyles = `\n &,\n & > span {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n position: relative;\n flex-shrink: 0;\n padding: 0;\n border: 0;\n line-height: 1;\n cursor: pointer;\n overflow: hidden;\n transition-property: background-color, box-shadow;\n &::before, \n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst defaultDisabledStyles = `\n cursor: not-allowed;\n -webkit-filter: grayscale(100%);\n -moz-filter: grayscale(100%);\n -ms-filter: grayscale(100%);\n -o-filter: grayscale(100%);\n filter: grayscale(100%);\n`\n\nconst PRESET = {\n filled: {\n default: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: ${disabled ? theme.colors['bg-disabled-large'] : theme.colors['bg-onmain-tertiary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n \n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::before {\n opacity: 0;\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${disabled ? theme.colors['content-disabled'] : theme.colors['content-oncolor-constant']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 0;\n background-color: ${theme.colors['bg-oncolor-hover']};\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n outline: {\n default: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-disabled'] : theme.colors['content-onmain-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-disabled'] : theme.colors['border-onmain-contrast']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-onmain-tertiary']};\n }\n &:active::after {\n opacity: 1;\n }\n &:active {\n background-color: ${theme.colors['bg-brand-primary-basic-active']};\n color: ${theme.colors['content-oncolor-primary']};\n }\n `\n }\n `}\n `,\n onColored: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent; \n color: ${disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['content-oncolor-primary']};\n &::before {\n ${pseudoBaseStyles}\n opacity: 1;\n box-shadow: inset 0 0 0 1px ${\n disabled ? theme.colors['border-oncolor-disabled'] : theme.colors['border-oncolor-default']\n };\n }\n &::after {\n ${pseudoBaseStyles}\n opacity: 0;\n box-shadow: inset 0 4px ${theme.colors['bg-oncolor-hover']};\n }\n ${\n disabled\n ? 'cursor: default;'\n : `\n &:hover::before {\n opacity: 0;\n }\n &:hover {\n background-color: ${theme.colors['bg-oncolor-primary']};\n color: ${theme.colors['content-oncolor-constant']};\n }\n &:active::after {\n opacity: 1;\n }\n `\n }\n `}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n filled: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: ${theme.colors.white};\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\n & svg {\n fill: ${theme.colors.accent};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n outline: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.alto};\n & svg {\n fill: ${theme.colors.alto};\n }\n &:hover {\n background-color: ${theme.colors.accent};\n box-shadow: none;\n svg {\n fill: ${theme.colors.white};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 rgba(5, 108, 188, 0.5);\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n inverse: css<ArrowRootProps>`\n ${({ theme, disabled }) => `\n background-color: transparent;\n box-shadow: inset 0 0 0 2px ${theme.colors.white};\n & svg {\n fill: ${theme.colors.white};\n }\n &:hover {\n background-color: ${theme.colors.white};\n box-shadow: none;\n svg {\n fill: ${theme.colors.accent};\n }\n }\n &:active {\n box-shadow: inset 0 4px 0 #eaecf3;\n }\n ${disabled ? defaultDisabledStyles : ''}\n `}\n `,\n}\n\nconst extractSize = (props: ThemedStyledProps<ArrowRootProps, DefaultTheme>, cssProperty: 'height' | 'width') => {\n const config = props.brandPresetUsed ? SIZES : DEFAULT_SIZES\n\n return ['l', 'm', 'xs'].includes(<ArrowStaticSize>props.size)\n ? `${cssProperty}: ${config[<ArrowStaticSize>props.size]}px;`\n : responsiveProperty('size', cssProperty)\n}\n\nconst extractStyles = (props: ThemedStyledProps<ArrowRootProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.outline && props.onColored) return PRESET.outline.onColored\n if (props.outline && !props.onColored) return PRESET.outline.default\n if (!props.outline && props.onColored) return PRESET.filled.onColored\n\n return PRESET.filled.default\n }\n\n if (props.inverse) return PRESET_DEFAULT.inverse\n if (props.outline) return PRESET_DEFAULT.outline\n\n return PRESET_DEFAULT.filled\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return !TRANSIENT_PROPS.includes(<ArrowTransientProp>prop)\n },\n })\n .attrs(injectDefaultTheme)<ArrowRootProps>`\n ${baseStyles}\n ${extractStyles}\n ${(props) => extractSize(props, 'height')}\n ${(props) => extractSize(props, 'width')}\n ${(props) => `border-radius: ${props.borderRadius};`}\n`\n","import { forwardRef } from 'react'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport ArrowSvg from './images/arrow.module.svg'\nimport ChevronSvg from './images/chevron.module.svg'\nimport type { ArrowProps } from './types'\nimport { getArrowRotation } from './utils'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Arrow'\n\n/**\n * Button with arrow icon\n */\nconst Arrow = forwardRef<HTMLButtonElement, ArrowProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n const { size = 'l', onClick, ...configProps } = useConfigPriority<ArrowProps>(theme.components?.Arrow, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n const borderRadius = configProps.square ? '8px' : '50%'\n const Icon = brandPresetUsed ? ArrowSvg : ChevronSvg\n const iconStyles = getArrowRotation(configProps)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n\n if (!configProps.disabled && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n return (\n <Styled.Root\n {...configProps}\n ref={ref}\n type='button'\n size={size}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n onClick={handleClick}\n >\n <span>{<Icon style={iconStyles} />}</span>\n </Styled.Root>\n )\n})\n\nArrow.displayName = COMPONENT_NAME\n\nexport { Arrow, COMPONENT_NAME }\n\nexport type { ArrowProps }\n","import cx from 'clsx'\nimport { useFallbackTheme } from './use-theme'\n\nexport function useClassname(componentName: string, originalClassName?: string) {\n const theme = useFallbackTheme()\n return cx(`${theme.classNamePrefix}-${componentName}`, originalClassName)\n}\n","import type { ButtonForwardProp, ButtonRootProps, ButtonStaticSize } from './types'\n\nexport const FORWARD_PROPS: ButtonForwardProp[] = [\n 'id',\n 'to',\n 'target',\n 'ref',\n 'rel',\n 'href',\n 'type',\n 'disabled',\n 'className',\n 'style',\n 'form',\n 'onClick',\n 'onClickCapture',\n 'onMouseLeave',\n 'onMouseEnter',\n 'children',\n]\n\nexport const STATIC_SIZES: ButtonStaticSize[] = ['xl', 'l', 'm', 's', 'xs']\n\nexport const DEFAULT_PROPS_BY_SIZE: Record<ButtonStaticSize, Partial<ButtonRootProps>> = {\n xl: {\n fontSize: 'xl',\n height: 68,\n paddingLeft: 40,\n paddingRight: 40,\n paddingLeftM: 36,\n paddingRightM: 36,\n paddingLeftS: 32,\n paddingRightS: 32,\n },\n l: {\n fontSize: 'l',\n fontSizeM: 'm',\n height: 60,\n heightM: 56,\n heightS: 52,\n paddingLeft: 36,\n paddingRight: 36,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n fontSize: 'm',\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n fontSize: 's',\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n\nexport const BRAND_PROPS_BY_SIZE: Record<ButtonStaticSize, Partial<ButtonRootProps>> = {\n xl: {\n fontSize: 18,\n height: 56,\n paddingLeft: 32,\n paddingRight: 32,\n },\n l: {\n fontSize: 16,\n height: 48,\n paddingLeft: 26,\n paddingRight: 26,\n },\n m: {\n fontSize: 16,\n height: 44,\n paddingLeft: 28,\n paddingRight: 28,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 24,\n paddingRight: 24,\n },\n xs: {\n fontSize: 14,\n height: 32,\n paddingLeft: 16,\n paddingRight: 16,\n },\n}\n","import { css, DefaultTheme, FlattenSimpleInterpolation } from 'styled-components'\nimport { HEX, RGB, RGBA } from '../shared/interfaces'\nimport { ColorNames } from '../theme'\n\ntype ColorPropsProperties = 'color' | 'fontColor' | `${string}Color` | `color${string}`\nexport type ColorValue = keyof typeof ColorNames | RGB | RGBA | HEX\ntype ColorCalcProperty = (_color: ColorValue) => FlattenSimpleInterpolation | null\ntype ColorCssProperty = string | ColorCalcProperty\n\nexport type Color<T extends ColorPropsProperties = 'color'> = {\n /**\n * Color name, HEX, rgb or rgba\n */\n [key in `${T}`]?: RGB | RGBA | HEX | keyof typeof ColorNames // eslint-disable-line no-unused-vars\n}\n\nexport const getColor = (color: ColorValue, props: { theme: DefaultTheme }) => {\n if (typeof color === 'string' && (color.includes('#') || color.includes('rgb'))) return color\n\n if (props.theme.colors[color]) return props.theme.colors[color]\n\n return color\n}\n\nexport const color =\n (color?: ColorValue, cssProperty: ColorCssProperty = 'color') =>\n () =>\n (props: { theme: DefaultTheme }) => {\n const colorVal = color || props?.theme?.textColor || props?.theme?.fallbackColor\n const _color = getColor(colorVal as ColorValue, props)\n\n if (typeof cssProperty === 'function') {\n return cssProperty(_color)\n }\n\n return css`\n ${cssProperty}: ${_color};\n `\n }\n","<svg viewBox=\"0 0 20 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 7.611 6.923 12.5 18 1.5\" stroke=\"currentcolor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","<svg viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1.5V4m0 10v2.5M4 9H1.5m15 0H14M3.697 3.697l1.77 1.77m7.068 7.068 1.768 1.768m.001-10.607-1.767 1.767m-7.072 7.072-1.77 1.77\" stroke=\"currentcolor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { CalcProperty, property, responsiveNamedProperty, responsiveProperty } from 'mixins/responsive-property'\nimport { color as colorFn } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { FORWARD_PROPS, STATIC_SIZES } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { ButtonStaticSize, ButtonRootProps, ButtonForwardProp } from './types'\n\nconst WIDTHS: Record<ButtonStaticSize, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst DEFAULT_ROUND_SIZES: Record<ButtonStaticSize, number> = {\n xl: 60,\n l: 52,\n m: 48,\n s: 40,\n xs: 32,\n}\n\nconst BRAND_ROUND_SIZES: Record<ButtonStaticSize, number> = {\n xl: 18,\n l: 16,\n m: 16,\n s: 14,\n xs: 14,\n}\n\nconst baseStyles = css<ButtonRootProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n padding: ${props.basePadding};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before, \n &::after {\n transition-property: opacity;\n }\n &, \n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loading} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n\nconst getDefaultRoundSizes: CalcProperty = (size, sizing = 'px') => css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n font-size: ${0.44 * (size as number)}${sizing};\n line-height: ${0.44 * (size as number)}${sizing};\n padding: ${0.28 * (size as number)}${sizing};\n`\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n \n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let background = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: string = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let background = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: string = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<ButtonRootProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<ButtonRootProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<ButtonRootProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\n } \n `\n : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n \n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return colorFn(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return colorFn(props.fontColor, cssProperty)\n }}\n \n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n \n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n `,\n}\n\nconst extractStyles = (props: ThemedStyledProps<ButtonRootProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractFontSize = (props: ThemedStyledProps<ButtonRootProps, DefaultTheme>) => {\n if (STATIC_SIZES.includes(<ButtonStaticSize>props.size)) return ''\n return responsiveProperty('size', 'font-size')\n}\n\nconst extractRoundStyles = (props: ThemedStyledProps<ButtonRootProps, DefaultTheme>) => {\n if (!props.round) return ''\n\n if (STATIC_SIZES.includes(<ButtonStaticSize>props.size)) {\n return props.brandPresetUsed\n ? `font-size: ${BRAND_ROUND_SIZES[<ButtonStaticSize>props.size]}px;\n padding: 1em;`\n : property(DEFAULT_ROUND_SIZES[<ButtonStaticSize>props.size], getDefaultRoundSizes)\n }\n\n return 'padding: 1em;'\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(<ButtonForwardProp>prop) || prop.includes('data')\n },\n })\n .attrs(injectDefaultTheme)<ButtonRootProps>`\n ${baseStyles}\n ${extractStyles}\n ${extractFontSize}\n ${extractRoundStyles}\n\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n \n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { DEFAULT_PROPS_BY_SIZE, BRAND_PROPS_BY_SIZE, STATIC_SIZES } from './constants'\nimport type { ButtonProps, ButtonStaticSize } from './types'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n const staticSize = STATIC_SIZES.includes(size as ButtonStaticSize)\n\n if (staticSize && !configProps.round) {\n const propsBySize = brandPresetUsed ? BRAND_PROPS_BY_SIZE : DEFAULT_PROPS_BY_SIZE\n const sizeProps = propsBySize[size as ButtonStaticSize] ?? propsBySize.m\n configProps = mergeDeepLeft(configProps, sizeProps) as ButtonProps\n }\n\n let basePadding = '0px'\n if (!staticSize && !configProps.round) basePadding = '1em 1.6em'\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n basePadding={basePadding}\n fontBold={fontBold}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n","import { DefaultTheme } from 'styled-components'\nimport type { ButtonProps } from './types'\n\nexport function useComputedRel(theme: DefaultTheme, config: ButtonProps) {\n const relBuilder = theme.utils?.relBuilder\n\n let rel\n\n if (config.href) {\n rel = config.rel\n\n if (!rel && relBuilder && config.autoRel && (config.href || config.to)) {\n rel = relBuilder(config.href ?? config.to, config.target)\n }\n }\n\n return rel\n}\n\nexport function useComputedLinkProps(_as: ButtonProps['as'], disabled: boolean, config: ButtonProps) {\n let props = {}\n\n if (_as === undefined || disabled) return props\n\n if (_as === 'a') {\n props = { href: config.href || config.to, target: config.target }\n } else if (typeof _as !== 'string') {\n props = { to: config.to || config.href }\n }\n\n return props\n}\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\".455\" y=\".455\" width=\"19.091\" height=\"19.091\" rx=\"5\" fill=\"#fff\" stroke=\"#B8B8B8\"/><g fill=\"none\"><rect fill=\"#1A96F6\" width=\"20\" height=\"20\" rx=\"5\"/><path stroke=\"#fff\" stroke-width=\"2\" d=\"M6 9.99 9 13l6-6\"/></g></svg>","<svg viewBox=\"0 0 12 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.5 1.5 4.312 8 1.5 5.045\" stroke=\"currentcolor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport DefaultCheck from './images/check-default.module.svg'\nimport Check from './images/check.module.svg'\nimport type { CheckboxRootProps, CheckboxStaticSize, CheckboxGroupProps, CheckboxPalette } from './types'\n\nconst DEFAULT_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 12,\n xs: 12,\n small: 14,\n s: 14,\n medium: 16,\n m: 16,\n large: 18,\n l: 18,\n extraLarge: 20,\n xl: 20,\n}\n\nconst BRAND_SIZES: Record<CheckboxStaticSize, number> = {\n extraSmall: 16,\n xs: 16,\n small: 20,\n s: 20,\n medium: 24,\n m: 24,\n large: 28,\n l: 28,\n extraLarge: 32,\n xl: 32,\n}\n\nconst STATIC_SIZES: CheckboxStaticSize[] = [\n 'extraSmall',\n 'xs',\n 'small',\n 's',\n 'medium',\n 'm',\n 'large',\n 'l',\n 'extraLarge',\n 'xl',\n]\n\nconst baseStyles = css<CheckboxRootProps>`\n ${(props) => `\n &,\n & * {\n box-sizing: border-box;\n }\n position: relative;\n cursor: pointer;\n padding: ${props.background ? 12 : 0}px;\n display: ${props.inline ? 'inline-flex' : 'flex'};\n align-items: baseline;\n isolation: isolate;\n & + & {\n margin-left: 15px;\n }\n `}\n`\n\nexport const Input = styled.input`\n position: absolute;\n opacity: 0;\n z-index: -1;\n &:focus {\n outline: none;\n }\n`\n\nexport const Background = styled.span`\n border-radius: 8px;\n border: 1px solid;\n border-color: transparent;\n overflow: hidden;\n &::before {\n content: '';\n opacity: 0;\n }\n &,\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: border-color, background-color, opacity;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n`\n\nexport const DefaultMask = styled(DefaultCheck)`\n position: relative;\n top: 2px;\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n g {\n opacity: 0;\n transition: opacity 200ms ease;\n }\n`\n\nexport const BrandMask = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n border-radius: 4px;\n border: 1px solid;\n border-color: transparent;\n transition-property: border-color;\n transition-duration: 150ms;\n transition-timing-function: ease-in;\n`\n\nexport const CheckIcon = styled(Check)`\n width: 50%;\n opacity: 0;\n`\n\nexport const Content = styled.span`\n position: relative;\n margin-left: 10px;\n`\n\nconst template = (palette: CheckboxPalette) => `\n & > ${Content} {\n color: ${palette.fontColor};\n }\n & > ${BrandMask} {\n background-color: ${palette.bg};\n color: ${palette.color};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${BrandMask} {\n border-color: transparent;\n background-color: ${palette.bgChecked};\n }\n & > ${Input}:checked ~ ${BrandMask} > ${CheckIcon} {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${Content} {\n color: ${palette.colorDisabled};\n }\n &:hover > ${BrandMask} {\n border-color: ${palette.borderHover};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${BrandMask} {\n outline: 1px solid ${palette.outlineFocus};\n outline-offset: 2px;\n }\n`\n\nconst templateBackground = (palette: CheckboxPalette) => `\n & > ${Background} {\n background-color: ${palette.bg};\n border-color: ${palette.border};\n }\n & > ${Input}:checked ~ ${Background} {\n background-color: ${palette.bgChecked};\n border-color: ${palette.borderChecked};\n }\n &:hover > ${Background} {\n background-color: ${palette.bgHover};\n border-color: ${palette.borderHover};\n }\n &:hover > ${Background}::before {\n background-color: ${palette.beforeBgHover};\n opacity: 1;\n }\n`\n\nconst PRESET = {\n default: {\n regular: css<CheckboxRootProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-100'],\n borderChecked: props.theme.colors['border-brand-primary'],\n bgHover: props.theme.colors['bg-oncolor-hover'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n error: css<CheckboxRootProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-error'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n success: css<CheckboxRootProps>`\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-success'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n disabled: css<CheckboxRootProps>`\n cursor: auto;\n ${(props) =>\n template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-disabled-large'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-large'],\n borderChecked: props.theme.colors['bg-disabled-active'],\n bgHover: props.theme.colors['bg-disabled-large'],\n borderHover: props.theme.colors['border-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n onColored: {\n regular: css<CheckboxRootProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-brand-primary-basic'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['border-brand-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-onmain-primary'],\n color: props.theme.colors['content-brand-primary'],\n border: props.theme.colors['border-onmain-default-small'],\n bgChecked: props.theme.colors['bg-oncolor-primary'],\n borderHover: props.theme.colors['border-brand-primary'],\n outlineFocus: props.theme.colors['content-oncolor-primary'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-onmain-default-large'],\n bgChecked: props.theme.colors['bg-onmain-primary'],\n borderChecked: props.theme.colors['border-onmain-default-large'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-onmain-default-large'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n error: css<CheckboxRootProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-error-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-500'],\n borderHover: props.theme.colors['alert-error'],\n outlineFocus: props.theme.colors['alert-error'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-error-100'],\n border: props.theme.colors['alert-bg-error-500'],\n bgChecked: props.theme.colors['alert-bg-error-100'],\n borderChecked: props.theme.colors['alert-error'],\n bgHover: props.theme.colors['alert-bg-error-100'],\n borderHover: props.theme.colors['alert-error'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n success: css<CheckboxRootProps>`\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['alert-bg-success-100'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-500'],\n borderHover: props.theme.colors['alert-success'],\n outlineFocus: props.theme.colors['alert-success'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['alert-bg-success-100'],\n border: props.theme.colors['alert-bg-success-500'],\n bgChecked: props.theme.colors['alert-bg-success-100'],\n borderChecked: props.theme.colors['alert-success'],\n bgHover: props.theme.colors['alert-bg-success-100'],\n borderHover: props.theme.colors['alert-success'],\n beforeBgHover: props.theme.colors['bg-oncolor-hover'],\n })\n : null}\n `,\n disabled: css<CheckboxRootProps>`\n cursor: auto;\n ${(props) =>\n props.background\n ? template({\n fontColor: props.theme.colors['content-onmain-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-disabled'],\n })\n : template({\n fontColor: props.theme.colors['content-oncolor-primary'],\n bg: props.theme.colors['bg-disabled-large'],\n color: props.theme.colors['content-oncolor-primary'],\n border: props.theme.colors['border-disabled'],\n bgChecked: props.theme.colors['bg-disabled-active'],\n borderHover: props.theme.colors['border-disabled'],\n outlineFocus: props.theme.colors['border-disabled'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n })}\n ${(props) =>\n props.background\n ? templateBackground({\n bg: props.theme.colors['bg-onmain-secondary'],\n border: props.theme.colors['border-oncolor-disabled'],\n bgChecked: props.theme.colors['bg-onmain-secondary'],\n borderChecked: props.theme.colors['border-oncolor-disabled'],\n bgHover: props.theme.colors['bg-onmain-secondary'],\n borderHover: props.theme.colors['border-oncolor-disabled'],\n beforeBgHover: 'transparent',\n })\n : null}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<CheckboxRootProps>`\n ${(props) =>\n props.error\n ? `\n & > ${DefaultMask} > rect { \n fill: ${tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n stroke: ${props.theme.colors.pomegranate};\n } \n & > ${DefaultMask} g > rect {\n fill: ${props.theme.colors.pomegranate};\n }\n `\n : null}\n\n ${(props) => `\n color: ${props.disabled ? props.theme.colors.alto : props.theme.colors.mineShaft};\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n\n & > ${Input}:checked ~ ${DefaultMask} g {\n opacity: 1;\n }\n & > ${Input}:disabled ~ ${DefaultMask} > rect {\n fill: ${props.theme.colors.white};\n stroke: ${props.theme.colors.grey};\n }\n & > ${Input}:checked:disabled ~ ${DefaultMask} g > rect {\n fill: ${props.theme.colors.alto};\n }\n &:focus {\n outline: none;\n }\n & > ${Input}:focus-visible ~ ${DefaultMask} {\n outline: 1px solid ${props.theme.colors.accent};\n outline-offset: 2px;\n }\n `}\n `,\n}\n\nconst extractStyles = (props: CheckboxRootProps) => {\n if (props.brandPresetUsed) {\n if (props.disabled && !props.onColored) return PRESET.default.disabled\n if (props.disabled && props.onColored) return PRESET.onColored.disabled\n\n if (props.error && !props.success && !props.onColored) return PRESET.default.error\n if (props.error && !props.success && props.onColored) return PRESET.onColored.error\n\n if (props.success && !props.error && !props.onColored) return PRESET.default.success\n if (props.success && !props.error && props.onColored) return PRESET.onColored.success\n\n return props.onColored ? PRESET.onColored.regular : PRESET.default.regular\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractSizes = (props: CheckboxRootProps) => {\n const SIZES = props.brandPresetUsed ? BRAND_SIZES : DEFAULT_SIZES\n\n return STATIC_SIZES.includes(<CheckboxStaticSize>props.size)\n ? `font-size: ${SIZES[<CheckboxStaticSize>props.size]}px;`\n : responsiveProperty('size', 'font-size')\n}\n\nexport const Root = styled.label\n .withConfig({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'style'].includes(prop),\n })\n .attrs(injectDefaultTheme)<CheckboxRootProps>`\n ${baseStyles}\n ${extractStyles}\n ${extractSizes}\n\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? 'width: 100%;' : null)}\n`\n\nexport const Group = styled.div.withConfig<CheckboxGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n ${(props) =>\n props.inline\n ? css`\n display: flex;\n flex-direction: row;\n > ${Root}:first-child {\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n `\n : `\n display: flex;\n flex-direction: column;\n > ${Root}:first-child {\n margin-top: 0;\n margin-left: 0;\n }\n > ${Root}:not(:first-child) {\n margin-top: 15px;\n margin-left: 0;\n }\n `}\n`\n","import { forwardRef } from 'react'\nimport cx from 'clsx'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { CheckboxGroup } from './Group'\nimport type { CheckboxComponent, CheckboxProps } from './types'\n\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Checkbox'\n\nconst Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>((props, ref) => {\n const theme = useFallbackTheme()\n const baseClassName = useClassname(COMPONENT_NAME)\n\n const {\n preset,\n style,\n id,\n name,\n value,\n disabled,\n error,\n success,\n fluid,\n children,\n label,\n checked,\n defaultChecked,\n background,\n onColored,\n size = 'm',\n inline = true,\n width = theme.defaultInputControlsWidth,\n className: _className,\n onChange = () => undefined,\n ...configProps\n } = useConfigPriority<CheckboxProps>(theme.components?.Checkbox, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof preset === 'string') brandPresetUsed = preset === 'brand'\n\n const className = cx(baseClassName, _className, checked && `${baseClassName}--checked`)\n const labelClassName = `${baseClassName}__label`\n const inputProps = checked === undefined ? { defaultChecked } : { checked }\n\n return (\n <Styled.Root\n ref={ref}\n className={className}\n style={style}\n fluid={fluid}\n disabled={disabled}\n htmlFor={id || name}\n size={size}\n inline={inline}\n width={width}\n error={error}\n success={success}\n background={background}\n onColored={onColored}\n brandPresetUsed={brandPresetUsed}\n >\n <Styled.Input\n {...configProps}\n {...inputProps}\n id={id || name}\n name={name}\n type='checkbox'\n value={value}\n disabled={disabled}\n onChange={onChange}\n />\n {brandPresetUsed ? (\n <>\n {background && <Styled.Background />}\n <Styled.BrandMask>\n <Styled.CheckIcon />\n </Styled.BrandMask>\n </>\n ) : (\n <Styled.DefaultMask />\n )}\n {(label || children) && <Styled.Content className={labelClassName}>{label || children}</Styled.Content>}\n </Styled.Root>\n )\n}) as CheckboxComponent\n\nCheckbox.Group = CheckboxGroup\n\nCheckbox.displayName = COMPONENT_NAME\n\nexport { Checkbox, COMPONENT_NAME }\n\nexport type { CheckboxProps }\n","import * as Styled from './style'\nimport type { CheckboxGroupProps } from './types'\n\nconst CheckboxGroup = ({ children, ...props }: CheckboxGroupProps) => {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n\nexport { CheckboxGroup }\n","import { HEX, RGB, RGBA } from '../shared/interfaces'\n\nexport const baseColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-onmain-primary': '#f5f6f9',\n 'content-onmain-secondary': '#9698a6',\n 'content-onmain-tertiary': '#848694',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#f5f6f9cc',\n 'content-oncolor-tertiary': '#f5f6f999',\n 'content-oncolor-constant': '#25262c',\n 'content-oncolor-inverse': '#f5f6f9',\n 'content-disabled': '#6e707c',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#f16c65',\n 'content-link': '#8aafff',\n 'border-onmain-default-large': '#25262c',\n 'border-onmain-default-small': '#44454b',\n 'border-onmain-contrast': '#f5f6f9',\n 'border-oncolor-default': '#ffffff',\n 'border-disabled': '#494a50',\n 'border-oncolor-disabled': '#ffffff66',\n 'bg-onmain-main': '#000000',\n 'bg-onmain-primary': '#121316',\n 'bg-onmain-secondary': '#1a1b1f',\n 'bg-onmain-tertiary': '#25262c',\n 'bg-onmain-divider': '#25262c',\n 'bg-onmain-contrast': '#44454b',\n 'bg-onmain-inverse': '#ffffff',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-disabled-large': '#1a1b1f',\n 'bg-disabled-small': '#25262c',\n 'bg-disabled-active': '#494a50',\n 'bg-contrast-active': '#f5f6f9',\n 'bg-oncolor-hover': '#00000014',\n 'bg-oncontrast-hover': '#ffffff14',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'alert-bg-success-100': '#071d02',\n 'alert-bg-success-200': '#0a2603',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#241500',\n 'alert-bg-warning-200': '#2e1c00',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#2e0100',\n 'alert-bg-error-200': '#3d0004',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#63ab4f',\n 'alert-warning': '#f16f04',\n 'alert-error': '#fd655d',\n}\n\nexport const motherColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#ff8800',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#ff8800',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#241500',\n 'bg-brand-secondary-200': '#2e1c00',\n 'bg-brand-secondary-400': '#382300',\n 'bg-brand-secondary-500': '#422900',\n 'bg-brand-tertiary-100': '#202018',\n 'bg-brand-tertiary-200': '#26261c',\n 'bg-brand-quaternary-100': '#00222e',\n 'bg-brand-quaternary-200': '#002733',\n 'bg-brand-quaternary-400': '#054457',\n 'bg-brand-quaternary-500': '#05495c',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const babyColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#e594c5',\n 'content-brand-secondary': '#ffd333',\n 'border-brand-primary': '#e594c5',\n 'border-brand-secondary': '#ffd333',\n 'border-brand-primary-hover': '#e594c580',\n 'border-brand-primary-active': '#e594c5',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#47002d',\n 'bg-brand-primary-200': '#570f3a',\n 'bg-brand-primary-400': '#611a43',\n 'bg-brand-primary-500': '#6b244c',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#27282a',\n 'bg-brand-secondary-200': '#313235',\n 'bg-brand-secondary-400': '#393a3c',\n 'bg-brand-secondary-500': '#3e4041',\n 'bg-brand-tertiary-100': '#1d1f58',\n 'bg-brand-tertiary-200': '#282c67',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#47002d',\n 'bg-brand-primary-100-hover': '#47002d80',\n}\n\nexport const teenColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#c09eff',\n 'content-brand-secondary': '#d1f00a',\n 'border-brand-primary': '#c09eff',\n 'border-brand-secondary': '#d1f00a',\n 'border-brand-primary-hover': '#c09eff80',\n 'border-brand-primary-active': '#c09eff',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#1b0042',\n 'bg-brand-primary-200': '#240057',\n 'bg-brand-primary-400': '#2e0066',\n 'bg-brand-primary-500': '#37007a',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#003309',\n 'bg-brand-secondary-200': '#093910',\n 'bg-brand-secondary-400': '#144318',\n 'bg-brand-secondary-500': '#1c4a20',\n 'bg-brand-tertiary-100': '#00224d',\n 'bg-brand-tertiary-200': '#0c315f',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#1b0042',\n 'bg-brand-primary-100-hover': '#1b004280',\n}\n\nexport const adultColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#8fa9ff',\n 'content-brand-secondary': '#c1b8ff',\n 'border-brand-primary': '#8fa9ff',\n 'border-brand-secondary': '#c1b8ff',\n 'border-brand-primary-hover': '#8fa9ff80',\n 'border-brand-primary-active': '#8fa9ff',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#120075',\n 'bg-brand-primary-200': '#181b86',\n 'bg-brand-primary-400': '#1e2699',\n 'bg-brand-primary-500': '#2b36b6',\n 'bg-brand-secondary-basic': '#6e62bc',\n 'bg-brand-secondary-100': '#2c1461',\n 'bg-brand-secondary-200': '#351e71',\n 'bg-brand-secondary-400': '#402583',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#232900',\n 'bg-brand-tertiary-200': '#373e14',\n 'bg-brand-quaternary-100': '#241500',\n 'bg-brand-quaternary-200': '#2e1c00',\n 'bg-brand-quaternary-400': '#382300',\n 'bg-brand-quaternary-500': '#422900',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#120075',\n 'bg-brand-primary-100-hover': '#12007580',\n}\n","import type { DefaultTheme } from 'styled-components'\nimport { relBuilder } from 'shared/utils/rel-builder'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { COMPONENT_NAME as ARROW } from 'components/Arrow'\nimport { COMPONENT_NAME as BUTTON } from 'components/Button'\nimport { COMPONENT_NAME as CHECKBOX } from 'components/Checkbox'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\nimport { breakpoints } from './breakpoints'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n ...ColorsLight.baseColors,\n ...ColorsLight.motherColors,\n },\n borderRadius: '5px',\n textColor: 'mineShaft',\n fallbackColor: 'mineShaft',\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n defaultInputControlsWidth: SizeInput.l,\n utils: {\n relBuilder,\n },\n mode: 'light',\n preset: 'default',\n name: 'mother',\n components: {\n [ARROW]: {\n size: 'l',\n },\n [BUTTON]: {\n size: 'm',\n },\n [CHECKBOX]: {\n size: 'm',\n },\n },\n}\n\nexport const motherLightTheme: DefaultTheme = {\n ...defaultTheme,\n preset: 'brand',\n}\n\nexport const motherDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.motherColors,\n },\n mode: 'dark',\n preset: 'brand',\n}\n\nexport const babyLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.babyColors,\n },\n preset: 'brand',\n name: 'baby',\n}\n\nexport const babyDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.babyColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'baby',\n}\n\nexport const teenLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.teenColors,\n },\n preset: 'brand',\n name: 'teen',\n}\n\nexport const teenDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.teenColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'teen',\n}\n\nexport const adultLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.adultColors,\n },\n preset: 'brand',\n name: 'adult',\n}\n\nexport const adultDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.adultColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'adult',\n}\n","export const breakpoints = Object.freeze({\n xl: 1440,\n l: 1280,\n m: 1024,\n s: 768,\n xs: 374,\n xxs: 320,\n})\n","import { HEX, RGB, RGBA } from '../shared/interfaces'\n\nexport const baseColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-onmain-primary': '#25262c',\n 'content-onmain-secondary': '#25262cb3',\n 'content-onmain-tertiary': '#25262c8c',\n 'content-oncolor-primary': '#ffffff',\n 'content-oncolor-secondary': '#ecedf3cc',\n 'content-oncolor-tertiary': '#ecedf399',\n 'content-oncolor-inverse': '#25262c',\n 'content-oncolor-constant': '#25262c',\n 'content-disabled': '#9698a6',\n 'content-oncolor-disabled': '#f5f6f999',\n 'content-oncolor-hover': '#00000029',\n 'content-onmain-hover': '#ffffff29',\n 'content-discount': '#db3339',\n 'content-link': '#376af6',\n 'border-onmain-default-large': '#d5d7e1',\n 'border-onmain-default-small': '#babcc9',\n 'border-onmain-contrast': '#25262c',\n 'border-disabled': '#a6a8b5',\n 'border-oncolor-disabled': '#ffffff66',\n 'border-oncolor-default': '#ffffff',\n 'bg-onmain-main': '#f5f6f9',\n 'bg-onmain-primary': '#ffffff',\n 'bg-onmain-secondary': '#f5f6f9',\n 'bg-onmain-tertiary': '#ecedf3',\n 'bg-onmain-divider': '#d5d7e1',\n 'bg-onmain-contrast': '#25262c',\n 'bg-onmain-inverse': '#25262c',\n 'bg-oncolor-primary': '#ffffff',\n 'bg-oncolor-secondary': '#ffffff3d',\n 'bg-oncolor-tertiary': '#ffffff1f',\n 'bg-oncolor-hover': '#00000014',\n 'bg-disabled-large': '#ecedf3',\n 'bg-disabled-small': '#d5d7e1',\n 'bg-disabled-active': '#a6a8b5',\n 'bg-oncolor-disabled': '#ffffff1f',\n 'bg-contrast-active': '#25262c',\n 'bg-oncontrast-hover': '#ffffff14',\n 'alert-bg-success-100': '#ddf4cd',\n 'alert-bg-success-200': '#bce4aa',\n 'alert-bg-success-500': '#63ab4f',\n 'alert-bg-warning-100': '#ffebcc',\n 'alert-bg-warning-200': '#ffd294',\n 'alert-bg-warning-500': '#f16f04',\n 'alert-bg-error-100': '#ffe9e5',\n 'alert-bg-error-200': '#ffcbc7',\n 'alert-bg-error-500': '#e4494e',\n 'alert-success': '#488b32',\n 'alert-warning': '#db6300',\n 'alert-error': '#db3339',\n}\n\nexport const motherColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#db6300',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#db6300',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#ff9900',\n 'bg-brand-secondary-100': '#ffebcc',\n 'bg-brand-secondary-200': '#ffd294',\n 'bg-brand-secondary-400': '#ff9900',\n 'bg-brand-secondary-500': '#f16f04',\n 'bg-brand-tertiary-100': '#feffbd',\n 'bg-brand-tertiary-200': '#fffb80',\n 'bg-brand-quaternary-100': '#e1f5fe',\n 'bg-brand-quaternary-200': '#bddcea',\n 'bg-brand-quaternary-400': '#89b8cd',\n 'bg-brand-quaternary-500': '#61a3bd',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const babyColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#cc2e8d',\n 'content-brand-secondary': '#dbac00',\n 'border-brand-primary': '#cc2e8d',\n 'border-brand-secondary': '#dbac00',\n 'border-brand-primary-hover': '#cc2e8d80',\n 'border-brand-primary-active': '#cc2e8d',\n 'bg-brand-primary-basic': '#cc2e8d',\n 'bg-brand-primary-100': '#faebf7',\n 'bg-brand-primary-200': '#efcdea',\n 'bg-brand-primary-400': '#e594c5',\n 'bg-brand-primary-500': '#cc2e8d',\n 'bg-brand-secondary-basic': '#ffd333',\n 'bg-brand-secondary-100': '#fff4d1',\n 'bg-brand-secondary-200': '#ffde7a',\n 'bg-brand-secondary-400': '#ffd333',\n 'bg-brand-secondary-500': '#f4c10b',\n 'bg-brand-tertiary-100': '#ebefff',\n 'bg-brand-tertiary-200': '#cdd4f9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#cc2e8d',\n 'bg-brand-primary-100-active': '#faebf7',\n 'bg-brand-primary-100-hover': '#faebf780',\n}\n\nexport const teenColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#8a51e6',\n 'content-brand-secondary': '#83b200',\n 'border-brand-primary': '#8a51e6',\n 'border-brand-secondary': '#83b200',\n 'border-brand-primary-hover': '#8a51e680',\n 'border-brand-primary-active': '#8a51e6',\n 'bg-brand-primary-basic': '#8a51e6',\n 'bg-brand-primary-100': '#f1e5ff',\n 'bg-brand-primary-200': '#e1d4f7',\n 'bg-brand-primary-400': '#c09eff',\n 'bg-brand-primary-500': '#8a51e6',\n 'bg-brand-secondary-basic': '#d1f00a',\n 'bg-brand-secondary-100': '#eefad1',\n 'bg-brand-secondary-200': '#e9ff6b',\n 'bg-brand-secondary-400': '#afdb00',\n 'bg-brand-secondary-500': '#83b200',\n 'bg-brand-tertiary-100': '#e6f7fe',\n 'bg-brand-tertiary-200': '#cdebf9',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#8a51e6',\n 'bg-brand-primary-100-active': '#f1e5ff',\n 'bg-brand-primary-100-hover': '#f1e5ff80',\n}\n\nexport const adultColors: Readonly<Record<string, HEX | RGB | RGBA>> = {\n 'content-brand-primary': '#3d4eeb',\n 'content-brand-secondary': '#1b0047',\n 'border-brand-primary': '#3d4eeb',\n 'border-brand-secondary': '#1b0047',\n 'border-brand-primary-hover': '#3d4eeb80',\n 'border-brand-primary-active': '#3d4eeb',\n 'bg-brand-primary-basic': '#3d4eeb',\n 'bg-brand-primary-100': '#e5ecff',\n 'bg-brand-primary-200': '#ccdaff',\n 'bg-brand-primary-400': '#8fa9ff',\n 'bg-brand-primary-500': '#3d4eeb',\n 'bg-brand-secondary-basic': '#1b0047',\n 'bg-brand-secondary-100': '#e8e5ff',\n 'bg-brand-secondary-200': '#d6d1ff',\n 'bg-brand-secondary-400': '#b1a3ff',\n 'bg-brand-secondary-500': '#1b0047',\n 'bg-brand-tertiary-100': '#eaf9ae',\n 'bg-brand-tertiary-200': '#d8ea8b',\n 'bg-brand-quaternary-100': '#ffebcc',\n 'bg-brand-quaternary-200': '#ffd294',\n 'bg-brand-quaternary-400': '#ff9900',\n 'bg-brand-quaternary-500': '#f16f04',\n 'bg-brand-primary-basic-active': '#3d4eeb',\n 'bg-brand-primary-100-active': '#e5ecff',\n 'bg-brand-primary-100-hover': '#e5ecff80',\n}\n","function isExternalUrl(url = '', hostname: string): boolean {\n return /^((http|https):\\/\\/)/.test(url) && !new URL(url).hostname.endsWith(hostname)\n}\n\nexport function relBuilder(link?: string, target?: string): undefined | string {\n if (!link) return\n\n const relStr = []\n\n if (isExternalUrl(link, window.location.hostname)) {\n if (target === '_blank') relStr.push('noopener')\n relStr.push('nofollow')\n }\n\n if (relStr.length === 0) return\n\n return relStr.join(' ')\n}\n","import { css } from 'styled-components'\n\nexport interface VAlign {\n vAlign?: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline'\n}\n\nexport const vAlign = (vAlign: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline') => css`\n vertical-align: ${vAlign};\n`\n","import styled, { css } from 'styled-components'\nimport { vAlign } from '../../mixins/vAlign'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { IconProps } from './Icon'\n\nconst SIZES = {\n xxxl: 42,\n xxl: 38,\n xl: 34,\n lm: 32,\n l: 30,\n m: 26,\n s: 22,\n xs: 18,\n xxs: 14,\n xxxs: 10,\n}\n\nconst pointerStyle = css`\n cursor: pointer;\n`\n\nconst calcFontSize = (size: IconProps['size']) => {\n return typeof size === 'string' ? SIZES[size] : size\n}\n\nexport const Root = styled.div.withConfig<IconProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'dangerouslySetInnerHTML'].includes(prop),\n})`\n display: inline-block;\n flex-shrink: 0;\n vertical-align: baseline;\n width: 1em;\n height: 1em;\n svg {\n display: block;\n width: 100%;\n height: 100%;\n fill: currentColor;\n }\n ${(props) => (props.pointer ? pointerStyle : null)}\n ${(props) => (props.vAlign ? vAlign(props.vAlign) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(calcFontSize(props.size), 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({\n sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL },\n cssProperty: 'font-size',\n customSizeHandler: calcFontSize,\n })}\n`\n","<svg viewBox=\"0 0 20 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M3.275 2.11h-2.4v13.015h18.25v-13.015h-2.4v-1.235h-5.525c-.454 0-.871.163-1.2.433-.329-.27-.746-.433-1.2-.433h-5.525v1.235zm13.45 1.485h.95v10.044h-15.35v-10.044h.95v9.059h5.525c.258 0 .475.218.475.493v.125h1.45v-.125c0-.275.217-.493.475-.493h5.525v-9.059zm-6-.743c0-.275.217-.493.475-.493h4.075v8.809h-4.075c-.164 0-.323.021-.475.061v-8.377zm-6-.493h4.075c.258 0 .475.218.475.493v8.377c-.152-.04-.311-.061-.475-.061h-4.075v-8.809z\" stroke-width=\".25\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M4 4h2v2h-2v-2zM7 4h5v2h-5v-2zM4 7h2v2h-2v-2zM7 7h5v2h-5v-2z\" /><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16 0v13h-5l3 3h-2.828l-2.172-2.172v2.172h-2v-2.172l-2.172 2.172h-2.828l3-3h-5v-13h16zm-2 11v-9h-12v9h12z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 4v-2h16v2h-16zm0 5v-2h16v2h-16zm0 3v2h16v-2h-16z\"/></svg>\n","<svg enable-background=\"new 0 0 26 16\" viewBox=\"0 0 26 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m0 0h26v16h-26z\" fill=\"none\"/><path d=\"m20.8 4.6c-2.2-2.2-4.7-4.6-7.8-4.6s-5.6 2.4-7.8 4.6c-1.9 1.8-3.5 3.4-5.2 3.4 1.7 0 3.3 1.6 5.2 3.4 2.2 2.2 4.7 4.6 7.8 4.6s5.6-2.4 7.8-4.6c1.9-1.8 3.5-3.4 5.2-3.4-1.7 0-3.3-1.6-5.2-3.4zm-7.8 8.7c-2.9 0-5.2-2.4-5.2-5.3s2.3-5.3 5.2-5.3 5.2 2.4 5.2 5.3-2.3 5.3-5.2 5.3zm1.3-5.3c-.7 0-1.3-.6-1.3-1.3 0-.5.3-1 .8-1.2-.2-.1-.5-.1-.8-.1-1.4 0-2.6 1.2-2.6 2.7s1.2 2.7 2.6 2.7 2.6-1.2 2.6-2.7c0-.3 0-.5-.1-.8-.2.4-.7.7-1.2.7z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M0 1v14h16v-14h-16zm14 2v1.2l-6 4-6-4v-1.2h12zm-12 10v-6.4l6 4 6-4v6.4h-12z\"/></svg>\n","<svg width=\"14\" height=\"12\" viewBox=\"0 0 14 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2.5v-1.75h14v1.75h-14zm0 4.375v-1.75h10.5v1.75h-10.5zm0 2.625v1.75h7v-1.75h-7z\" /></svg>\n","<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2v-2h8v2h-8zm0 3v2h12v-2h-12zm0 5v2h10v-2h-10z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M12 9h-.6c.4-.6.6-1.3.6-2v-3c0-2.2-1.8-4-4-4s-4 1.8-4 4v3c0 .7.2 1.4.6 2h-.6c-2.2 0-4 1.8-4 4v3h16v-3c0-2.2-1.8-4-4-4zm-6-2v-3c0-1.1.9-2 2-2s2 .9 2 2v3c0 1.1-.9 2-2 2s-2-.9-2-2zm8 7h-12v-1c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 14 11\" enable-background=\"new 0 0 14 11\"><path d=\"M3.5.5h7.1l2.8 4.1-6.4 6.3-6.3-6.3 2.8-4.1zm1 2l-1.2 1.9 3.7 3.7 3.7-3.7-1.2-1.9h-5z\"/></svg>\n","<svg viewBox='0 0 19 16' xmlns='http://www.w3.org/2000/svg' fill='none'><path d='M0 6l3.8-6h11.4l3.8 6-9.5 10-9.5-10z' /></svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\"/><path d=\"m12.5 6.5h-5l-2 3 4.5 4.5 4.5-4.5z\" stroke=\"#fff\" stroke-width=\"2\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7 7h2v5h-2zM7 4h2v2h-2z\"/></svg>\n","<svg viewBox=\"0 0 16 12\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 0h-2v2h2v-2zm0 5h-2v2h2v-2zm-2 5h2v2h-2v-2zm16-10h-12v2h12v-2zm-12 5h12v2h-12v-2zm12 5h-12v2h12v-2z\" /></svg>\n","<svg viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.8852 9L5.5018 11.2929L6.97184 12.7071L11.8647 8L6.97184 3.29289L5.5018 4.70711L7.8852 7L-3.0598e-07 7L-3.93402e-07 9L7.8852 9ZM14.5526 14L9.35523 14L9.35523 16L16.6315 16L16.6315 7.26987e-07L9.35523 4.0893e-07L9.35523 2L14.5526 2L14.5526 14Z\" />\n</svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.414 7l2.293-2.293-1.414-1.414-4.707 4.707 4.707 4.707 1.414-1.414-2.293-2.293h7.586v-2h-7.586zm-6.414-5h5v-2h-7v16h7v-2h-5v-12z\" /></svg>\n","<svg viewBox=\"0 0 14 19\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7 19c3.866 0 7-3.224 7-7.2 0-6.792-6.444-5.8-4.5-11.8-2.472.152-5.5 1-6.5 4.5-.491 1.718.107 3.044.27 3.764.163.72-.211 1.343-.761 1.233-.548-.109-.762-.831-.548-2.247-1.96 1.231-1.96 3.518-1.96 4.55 0 3.976 3.134 7.2 7 7.2z\" /></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M15 6v-6h-14v6h-1v3h1v5h1v2h3v-2h6v2h3v-2h1v-5h1v-3h-1zm-2 6h-10v-1h10v1zm0-3h-10v-7h10v7zm-8-6h6v2h-6z\"/></svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 2h1.236l3 11h8.764v-2h-7.236l-.273-1h8.29l2-8h-9.781v2h7.219l-1 4h-7.274l-2.182-8h-2.764v2zm12 14c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm-6-1c0 .552-.448 1-1 1s-1-.448-1-1 .448-1 1-1 1 .448 1 1z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM7.4 7.8h-2.2v2h4.2v-5h-2z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M10 20c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10zm0-15h2v8h-6v-2h4v-6z\" fill=\"#48A1E6\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 0h-16v16h16v-16zm-14 14v-12h12v12h-12zm4.4-8.3l3.9 2.3-3.9 2.3v-4.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M.08 14.505l14.425-14.425 1.414 1.414-14.425 14.425zM3.2 6.4c1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2zm0-4.4c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2-1.2-.5-1.2-1.2.5-1.2 1.2-1.2zM12.8 9.6c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2 1.8 0 3.2-1.4 3.2-3.2 0-1.8-1.4-3.2-3.2-3.2zm0 4.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 4v-4h-13v6h2v3h-2v7h16v-12h-3zm-11-2h9v2h-9v-2zm3 4v3h-1v-3h1zm6 8h-9v-3h9v3zm3 0h-1v-3h1v3zm0-5h-7v-3h7v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M16 9v-2c0-3.9-3.1-7-7-7h-2c-3.9 0-7 3.1-7 7v9h5v-7h-3v-2c0-2.8 2.2-5 5-5h2c2.8 0 5 2.2 5 5v2h-3v7h5v-7zm-13 2v3h-1v-3h1zm11 3h-1v-3h1v3z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8.4 0h7.6000000000000005v7.6000000000000005l-.3.3-.2.2c1 2.4.4 5.1-1.3 6.4-1.3 1-2.7 1.2-3.9 1-.6-.1-1.1-.3-1.6-.7l-.4.4-.7.8-.7-.7-6.2-6.2-.7-.7.7-.7 7.4-7.4.3-.3zm2.4 4.2c1.3.4 2.4 1 3.2 1.8v-4h-4.8l-6.4 6.4 4.8 4.8 5.4-5.4c-.5-.6-1.2-1.1-2.2-1.5v.9h-1v-4.1h1v1.1zm2.2 8.7c.7-.5 1.2-1.8.9-3.2l-3.7 3.7c.1.1.3.1.5.2.7.1 1.5 0 2.3-.7z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 3.2h-2v-3.2h-8v3.1999999999999997h-4v12.8h16v-12.8h-2zm-8-1.2h4v.8h-4v-.8zm8 12h-12v-4h5v1.2h2v-1.2h5v4zm0-6h-12v-2.8h12v2.8z\"/></svg>\n","<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 2c4.418 0 8 3.582 8 8h2c0-5.523-4.477-10-10-10v2zm0 4c2.209 0 4 1.791 4 4h2c0-3.314-2.686-6-6-6v2zm2 7.75c.5-.625 1.25-.625 1.875 0 .25.25.486.5.722.75.472.5.944 1 1.528 1.5.625.625.625 1.375 0 2l-1.25 1.25c-.625.625-1.375.75-2.125.75-1.25-.125-2.375-.5-3.375-1-2.375-1.125-4.375-2.625-6-4.625-1.125-1.5-2.25-3.125-2.875-4.875-.375-.875-.5-1.75-.5-2.75 0-.5.25-1 .75-1.5.375-.375.875-.875 1.375-1.25.5-.625 1.25-.625 1.875 0 .375.25.75.625 1.125 1l.269.285c.25.273.484.529.856.715.625.625.625 1.375 0 2l-.481.51c-.291.319-.566.619-.894.865-.125.125-.125.25-.125.375.375.625.75 1.25 1.25 1.875 1 1.25 2 2.25 3.375 3.125.191.191.455.309.68.41l.195.09c.125 0 .25 0 .375-.125l1.375-1.375z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.7 5.5h-3.7l-2.1-4.7c-.3-.7-1.4-.7-1.7 0l-2.2 4.7h-3.7c-.8 0-1.3 1-.7 1.6l2.8 2.7-.7 4.8c-.1.8.8 1.4 1.5.9l3.8-2.8 3.8 2.9c.7.5 1.6-.1 1.5-.9l-.7-4.8 2.8-2.7c.6-.7.2-1.7-.7-1.7zm-4.3 3.6l.5 3.3-2.9-2.2-2.9 2.2.5-3.3-1.7-1.6h2.4l1.7-3.7 1.7 3.7h2.4l-1.7 1.6z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14.4 7.8l1.4-1.7-1.9-3.8-2.4.6-.8-.5-.5-2.4h-4.6l-.6 2.4-.8.5-2.3-.6-1.8 3.8 1.3 1.7v1.2l-1.3 2 1.9 3 2.3-.7.7.4.6 2.3h4.6l.6-2.3.7-.4 2.3.7 2-3-1.4-2c.1 0 .1-1.2 0-1.2zm-.8 3.3l-.4.6-1.7-.5-2.3 1.2-.5 1.6h-1.5l-.4-1.7-2.3-1.2-1.7.5-.3-.6 1-1.4v-2.4l-1-1.3.5-1.2 1.6.4 2.2-1.5.4-1.6h1.4l.4 1.6 2.2 1.5 1.7-.4.6 1.2-1 1.3v2.5l1.1 1.4zM7.9 5c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3-1.2-3-3-3zm0 4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.3 1-1 1z\"/></svg>\n","<svg viewBox=\"0 0 25 17\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M24.051 6.289l.254-.114-.254-.114-11.515-5.175-.051-.023-.051.023-11.485 5.175-.253.114.253.114 5.363 2.416v3.516c0 1.168.729 2.202 2.01 2.923 1.129.635 2.608.981 4.164.981 1.556 0 3.035-.346 4.164-.981 1.281-.72 2.01-1.755 2.01-2.923v-3.509l2.659-1.195 1.344-.604 1.388-.624zm-11.617 5.175l.051.023.051-.023 4.529-2.035v2.792c0 .228-.107.475-.325.723-.218.248-.54.489-.949.701-.82.423-1.976.718-3.305.718-1.329 0-2.485-.296-3.305-.718-.41-.211-.732-.453-.95-.701-.218-.248-.325-.496-.325-.723v-2.797l4.528 2.04zm.052-1.879l-7.568-3.41 7.568-3.41 7.587 3.41-7.587 3.41z\" stroke-width=\".25\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M8 14c3.3 0 6-2.7 6-6 0-.9-.2-1.8-.6-2.6l-1.2.9c.2.5.3 1.1.3 1.7 0 2.5-2 4.5-4.5 4.5s-4.5-2-4.5-4.5 2-4.5 4.5-4.5c1.1 0 2.2.4 3 1.1l1.2-.9c-1.1-1-2.5-1.7-4.2-1.7-3.3 0-6 2.7-6 6s2.7 6 6 6zm1.3-8.1c-.4-.3-.8-.4-1.3-.4-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.2 0-.4-.1-.5l-1.8 1.3c-.5.3-1.1.2-1.4-.2-.3-.5-.2-1.1.2-1.4l1.9-1.3zm5.7-1.7c.6 1.1 1 2.4 1 3.8 0 4.4-3.6 8-8 8s-8-3.6-8-8 3.6-8 8-8c2.3 0 4.4 1 5.9 2.6l.5-.4c.4-.3 1.1-.2 1.4.2.3.4.2 1.1-.2 1.4l-.6.4z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M13 0h-13v16h16v-16h-3zm-6 2h1v1l-.5-.2-.5.2v-1zm4 12h-9v-12h3v4l2.5-1 2.5 1v-4h1v12zm3 0h-1v-12h1v12z\"/></svg>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M14 0h-14v3c0 1.9 1.3 3.4 3 3.9v.1c0 2.4 1.7 4.4 4 4.9v2.1h-4v2h10v-2h-4v-2.1c2.3-.5 4-2.5 4-4.9v-.1c1.7-.4 3-2 3-3.9v-3h-2zm-11 4.7c-.6-.3-1-1-1-1.7v-1h1v2.7zm8 .3v2c0 1.7-1.3 3-3 3s-3-1.3-3-3v-5h6v3zm3-2c0 .7-.4 1.4-1 1.7v-2.7h1v1z\"/></svg>\n","<svg enable-background=\"new 0 0 16 16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m8.5 2c-3 0-5.5 2.5-5.5 5.5 0 .8.2 1.5.4 2.2l.2.3-.8 3.1 2.9-.9.3.2c.7.4 1.6.6 2.5.6 3 0 5.5-2.5 5.5-5.5s-2.5-5.5-5.5-5.5zm-7.5 5.5c0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5c-1.1 0-2.1-.2-3.1-.7l-5.4 1.7 1.5-5.9c-.3-.8-.5-1.7-.5-2.6z\" /></svg>","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\"><path d=\"M11 4v-4h-8c-1.7 0-3 1.3-3 3v13h16v-12h-5zm-8-2h6v2h-6c-.6 0-1-.4-1-1s.4-1 1-1zm11 12h-12v-8.2c.1 0 .2 0 .3.1h.2c.1.1.3.1.5.1h11v8z\"/><circle cx=\"11\" cy=\"10\" r=\"1\"/></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.5 0l4.243 4.243-11.5 11.757h-4.243v-4.243l11.5-11.757zm0 3l-9.5 9.586v1.414h1.414l9.5-9.586-1.414-1.414zm-2.5 11v2h7v-2h-7z\" /></svg>\n","<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5 2V4H3V0H16V13H12V11H14V2H5Z\" />\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13 3H0V16H13V3ZM2 14V5H11V14H2Z\" />\n</svg>\n","<svg fill=\"none\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><g><path d=\"m0 0v20h20v-20zm18 18h-16v-16h16z\"/><path d=\"m15 5h-10v2h10z\"/><path d=\"m15 9h-10v2h10z\"/><path d=\"m15 13h-10v2h10z\"/></g></svg>\n","<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"><path d=\"M13 4v-4h-10v4h-3v9h3v3h10v-3h3v-9h-3zm-8-2h6v2h-6v-2zm6 12h-6v-3h6v3zm3-3h-1v-2h-10v2h-1v-5h12v5zm-10.2-2.4c.442 0 .8-.358.8-.8 0-.442-.358-.8-.8-.8-.442 0-.8.358-.8.8 0 .442.358.8.8.8z\" /></svg>\n","<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" d=\"M7 0H0v15h15V8h-2v5H2V2h5V0zm0 10.9142l8.7072-8.7071L14.293.7928 7 8.0858l-2.2928-2.293L3.293 7.2071 7 10.9142z\" clip-rule=\"evenodd\"/></svg>\n","<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 18\" style=\"enable-background:new 0 0 16 18;\" xml:space=\"preserve\">\n<style type=\"text/css\">\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;}\n</style>\n<path class=\"st0\" d=\"M6.1,4.4c-0.4-0.9-1-1.7-1.4-2.1C4.4,2.1,4,2,3.7,2C3.5,2,3.3,2.1,3.2,2.2C3,2.4,3,2.6,3,2.9\n\tc0,0.3,0.2,0.6,0.5,0.9C4,4.1,4.9,4.6,5.8,4.9C6,4.9,6.2,5,6.3,5C6.3,4.8,6.2,4.6,6.1,4.4z M6.9,5C6.9,5,6.9,5,6.9,5\n\tC6.9,5,6.9,5,6.9,5z M6,0.9c0.7,0.6,1.5,1.7,2,2.8c0.5-1.1,1.3-2.2,2-2.8c1.4-1.2,3.4-1.1,4.4,0.1c1,1.1,0.8,2.9-0.3,4.1H16v2v2v2\n\th-1v5v2h-2H3H1v-2v-5H0V9V7V5h1.9C0.8,3.8,0.7,2.1,1.6,0.9C2.7-0.3,4.7-0.3,6,0.9z M9.9,4.4c0.4-0.9,1-1.7,1.4-2.1\n\tC11.6,2.1,12,2,12.3,2c0.3,0,0.5,0.1,0.6,0.2C13,2.4,13,2.6,13,2.9c0,0.3-0.2,0.6-0.5,0.9c-0.4,0.4-1.3,0.8-2.3,1.1\n\tC10,4.9,9.8,5,9.7,5C9.7,4.8,9.8,4.6,9.9,4.4z M9.1,5C9.1,5,9.1,5,9.1,5C9.1,5,9.1,5,9.1,5z M14,7H2v2h1h10h1V7z M3,11h10v5H3V11z\"\n\t/>\n</svg>\n","<svg viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path clip-rule=\"evenodd\" d=\"M3 10a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-6a6 6 0 1 0 0 12A6 6 0 0 0 7 4Zm5.333 11.963A8.034 8.034 0 0 0 14 13.873a4.002 4.002 0 0 0 0-7.747 8.034 8.034 0 0 0-1.668-2.09 6 6 0 1 1 0 11.927Z\"/></svg>\n","/* eslint-disable no-unused-vars */\nimport Book from './images/book.module.svg'\nimport BlackBoard from './images/blackBoard.module.svg'\nimport Burger from './images/burger.module.svg'\nimport Eye from './images/eye.module.svg'\nimport Email from './images/email.module.svg'\nimport Sort from './images/sort.module.svg'\nimport Unsort from './images/unsort.module.svg'\nimport Person from './images/person.module.svg'\nimport Diamond from './images/diamond.module.svg'\nimport DiamondFIlled from './images/diamondFilled.module.svg'\nimport DiamondSolid from './images/diamondSolid.module.svg'\nimport InfoInverse from './images/infoInverse.module.svg'\nimport List from './images/list.module.svg'\nimport Login from './images/login.module.svg'\nimport Logout from './images/logout.module.svg'\nimport Fire from './images/fire.module.svg'\nimport Camps from './images/camps.module.svg'\nimport Cart from './images/cart.module.svg'\nimport Clock from './images/clock.module.svg'\nimport ClockFilled from './images/clockFilled.module.svg'\nimport Courses from './images/courses.module.svg'\nimport Discount from './images/discount.module.svg'\nimport Externat from './images/externat.module.svg'\nimport Headphones from './images/headphones.module.svg'\nimport PriceTag from './images/priceTag.module.svg'\nimport Prof from './images/prof.module.svg'\nimport Phone from './images/phone.module.svg'\nimport Star from './images/star.module.svg'\nimport Settings from './images/settings.module.svg'\nimport Student from './images/student.module.svg'\nimport Target from './images/target.module.svg'\nimport Textbook from './images/textbook.module.svg'\nimport Trophy from './images/trophy.module.svg'\nimport Message from './images/message.module.svg'\nimport Wallet from './images/wallet.module.svg'\nimport Edit from './images/edit.module.svg'\nimport Copy from './images/copy.module.svg'\nimport Page from './images/page.module.svg'\nimport Print from './images/print.module.svg'\nimport Objective from './images/objective.module.svg'\nimport Present from './images/present.module.svg'\nimport Coins from './images/coins.module.svg'\n\nexport enum IconNames {\n book = 'book',\n blackBoard = 'blackBoard',\n burger = 'burger',\n eye = 'eye',\n email = 'email',\n sort = 'sort',\n unsort = 'unsort',\n person = 'person',\n diamond = 'diamond',\n diamondFilled = 'diamondFilled',\n diamondSolid = 'diamondSolid',\n infoInverse = 'infoInverse',\n list = 'list',\n login = 'login',\n logout = 'logout',\n fire = 'fire',\n camps = 'camps',\n cart = 'cart',\n clock = 'clock',\n clockFilled = 'clockFilled',\n courses = 'courses',\n discount = 'discount',\n externat = 'externat',\n headphones = 'headphones',\n page = 'page',\n priceTag = 'priceTag',\n phone = 'phone',\n prof = 'prof',\n star = 'star',\n settings = 'settings',\n student = 'student',\n target = 'target',\n textbook = 'textbook',\n trophy = 'trophy',\n message = 'message',\n wallet = 'wallet',\n edit = 'edit',\n copy = 'copy',\n print = 'print',\n objective = 'objective',\n present = 'present',\n coins = 'coins',\n calendar = 'calendar',\n calendar_simple = 'calendar_simple',\n chevronDown = 'chevronDown',\n chevronUp = 'chevronUp',\n chevronRight = 'chevronRight',\n chevronLeft = 'chevronLeft',\n cross = 'cross',\n dialog = 'dialog',\n dropDownArrow = 'dropDownArrow',\n externalLink = 'externalLink',\n file = 'file',\n fileBordered = 'fileBordered',\n lessons = 'lessons',\n pencil = 'pencil',\n phoneNoFill = 'phoneNoFill',\n radioChecked = 'radioChecked',\n radioNotChecked = 'radioNotChecked',\n search = 'search',\n tasks = 'tasks',\n tinyCross = 'tinyCross',\n sharpCross = 'sharpCross',\n plus = 'plus',\n plusThin = 'plusThin',\n play = 'play',\n reload = 'reload',\n checkCircle = 'checkCircle',\n info = 'info',\n check = 'check',\n home = 'home',\n questionFilled = 'questionFilled',\n document = 'document',\n cancel = 'cancel',\n playPause = 'playPause',\n video = 'video',\n}\n\ntype Icon = React.FC<React.SVGProps<SVGSVGElement>> | (() => JSX.Element)\n\nexport const defaultIcons: Record<IconNames, Icon> = {\n book: Book,\n blackBoard: BlackBoard,\n burger: Burger,\n eye: Eye,\n email: Email,\n sort: Sort,\n unsort: Unsort,\n person: Person,\n diamond: Diamond,\n diamondFilled: DiamondFIlled,\n diamondSolid: DiamondSolid,\n infoInverse: InfoInverse,\n list: List,\n login: Login,\n logout: Logout,\n fire: Fire,\n camps: Camps,\n cart: Cart,\n clock: Clock,\n clockFilled: ClockFilled,\n courses: Courses,\n discount: Discount,\n externat: Externat,\n headphones: Headphones,\n page: Page,\n priceTag: PriceTag,\n phone: Phone,\n prof: Prof,\n star: Star,\n settings: Settings,\n student: Student,\n target: Target,\n textbook: Textbook,\n trophy: Trophy,\n message: Message,\n wallet: Wallet,\n edit: Edit,\n copy: Copy,\n print: Print,\n objective: Objective,\n present: Present,\n coins: Coins,\n calendar: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='20' viewBox='0 0 21 20'>\n <path d='M.8 19.8h19.4c.4 0 .7-.3.7-.7V2.4a.7.7 0 0 0-.8-.8h-3.7V1A.7.7 0 1 0 15 1v.5H6V1a.7.7 0 1 0-1.4 0v.5H.8a.7.7 0 0 0-.7.8V19c0 .5.4.8.8.8zM1.5 3h3v.5a.7.7 0 1 0 1.5 0V3h9v.5a.7.7 0 1 0 1.5 0V3h3v2h-18V3zm0 3.5h18v12h-18v-12z' />\n <path d='M15.8 10H5.2a.7.7 0 0 0-.7.7c0 .4.3.8.7.8h10.6c.4 0 .7-.4.7-.8a.7.7 0 0 0-.7-.8zm-5.3 3.6H5.2a.7.7 0 0 0-.7.7c0 .5.3.8.7.8h5.3c.4 0 .7-.2.7-.7a.7.7 0 0 0-.7-.7z' />\n </svg>\n ),\n calendar_simple: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M13 2V0H11V2H5V0H3V2H0V4V5V16H16V5V4V2H13ZM14 14H2V6H14V14Z' />\n </svg>\n ),\n chevronDown: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 10.604l-7.74-8.297a1.42 1.42 0 0 1 0-1.911 1.201 1.201 0 0 1 1.783 0l6.848 7.342 6.848-7.342a1.202 1.202 0 0 1 1.783 0 1.421 1.421 0 0 1 0 1.911l-7.74 8.297a1.214 1.214 0 0 1-.89.396c-.323 0-.646-.132-.892-.396z' />\n </svg>\n ),\n chevronUp: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='21' height='13' viewBox='0 0 21 13'>\n <path d='M10.109 1.396l-7.74 8.297a1.42 1.42 0 0 0 0 1.911c.493.528 1.29.528 1.783 0l6.848-7.342 6.848 7.342c.492.528 1.29.528 1.783 0a1.421 1.421 0 0 0 0-1.911l-7.74-8.297a1.214 1.214 0 0 0-.89-.396c-.323 0-.646.132-.892.396z' />\n </svg>\n ),\n chevronRight: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M0 1.87054L1.39309 0.5L8 7L1.39309 13.5L0 12.1295L5.21383 7L0 1.87054Z' />\n </svg>\n ),\n chevronLeft: () => (\n <svg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 12.1295L6.60691 13.5L0 7L6.60691 0.5L8 1.87054L2.78617 7L8 12.1295Z' />\n </svg>\n ),\n cross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'>\n <path d='M17.333.668a1.845 1.845 0 0 0-2.61 0l-5.723 5.722-5.723-5.722a1.845 1.845 0 1 0-2.61 2.61l5.723 5.723-5.723 5.724a1.845 1.845 0 1 0 2.61 2.61l5.723-5.723 5.723 5.723c.36.36.832.54 1.305.54a1.845 1.845 0 0 0 1.305-3.151l-5.723-5.721 5.723-5.724a1.845 1.845 0 0 0 0-2.61z' />\n </svg>\n ),\n dialog: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'>\n <path d='M3.66 3.664a12.422 12.422 0 0 1 8.84-3.664c3.342 0 6.48 1.303 8.841 3.664 4.556 4.554 4.886 11.83.828 16.761.56 1.146 1.22 1.91 1.969 2.277.455.225.712.717.639 1.22a1.16 1.16 0 0 1-.974.979 5.953 5.953 0 0 1-.886.068c-1.534 0-3.147-.53-4.493-1.456a12.52 12.52 0 0 1-5.923 1.487 12.417 12.417 0 0 1-8.84-3.659 12.414 12.414 0 0 1-3.661-8.836c0-3.334 1.299-6.48 3.66-8.84zm1.001 16.672a11.02 11.02 0 0 0 7.84 3.245c1.98 0 3.922-.528 5.614-1.523.11-.063.236-.1.356-.1.152 0 .31.053.435.147 1.602 1.24 3.215 1.424 3.922 1.44-.843-.628-1.55-1.602-2.142-2.958a.711.711 0 0 1 .12-.753c3.876-4.377 3.672-11.045-.465-15.18a11.02 11.02 0 0 0-7.84-3.246 11.02 11.02 0 0 0-7.84 3.245c-4.326 4.33-4.326 11.365 0 15.683zM7.581 8.125h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 3.875h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625zm0 4h10.463c.392 0 .706.278.706.625s-.314.625-.706.625h-10.464c-.392 0-.706-.278-.706-.625s.32-.625.706-.625z' />\n </svg>\n ),\n dropDownArrow: () => (\n <svg width='11' height='7' viewBox='0 0 11 7'>\n <path d='M4.288 5.703l.117.139c.393.393.973.441 1.302.112l.009-.009.123-.105.104-.122 4.015-4.015c.38-.38.384-1.017-.007-1.408-.393-.393-1.025-.389-1.417.002l-3.412 3.412-3.419-3.419c-.388-.388-1.016-.388-1.409.005-.391.391-.393 1.021-.005 1.409l3.999 3.999z' />\n </svg>\n ),\n externalLink: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' enableBackground='new 0 0 16 16'>\n <path className='st0' d='M0 0h16v16h-16z' fillOpacity='0' />\n <path className='st1' d='M9 0v2h3.6l-7.3 7.3 1.4 1.4 7.3-7.3v3.6h2v-7zM14 14h-12v-12h4v-2h-6v16h16v-6h-2z' />\n </svg>\n ),\n file: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='17' height='20' viewBox='0 0 17 20'>\n <path d='M16.734 5.931c-.176-.416-.388-.745-.636-.988l-4.138-4.059c-.247-.242-.583-.45-1.007-.624-.425-.173-.814-.26-1.167-.26h-8.488a1.24 1.24 0 0 0-.901.364 1.192 1.192 0 0 0-.372.885v17.481c0 .347.124.642.372.885.247.242.548.364.901.364h14.429c.353 0 .654-.122.901-.364.248-.243.371-.538.371-.885v-11.654c0-.347-.088-.729-.265-1.145zm-6.524-4.161c.256.087.437.182.544.286l4.15 4.071c.106.104.204.282.292.534h-4.986v-4.892zm5.092 16.545h-13.58v-16.651h6.79v5.412c0 .347.124.642.372.884.247.243.548.365.901.365h5.517v9.989z' />\n </svg>\n ),\n fileBordered: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8.3 0H6H0V16H13H16V0H8.3ZM8 2.5L10.5 5H8V2.5ZM2 14V2H6V7H11V14H2ZM14 14H13V7V4.7L10.3 2H14V14Z' />\n </svg>\n ),\n lessons: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'>\n <path d='M21.8 8.4a1.8 1.8 0 0 0-.8-.8 2.4 2.4 0 0 0-1-.3h-2.3V5.5c0-.7-.3-1.3-.8-1.8a2.5 2.5 0 0 0-2-.8H9v-.4c0-.7-.2-1.3-.7-1.8A2.5 2.5 0 0 0 6.4 0H2.6C2 0 1.3.3.8.8S0 1.8 0 2.6v10.8c0 .7.3 1.3.8 1.8a2.5 2.5 0 0 0 1.8.8H15c.6 0 1 0 1.7-.4.6-.3 1-.6 1.3-1l3.4-4c.4-.6.6-1 .6-1.5a1.8 1.8 0 0 0-.2-.6zM1.5 2.6c0-.3 0-.6.3-.8.2-.2.5-.3.8-.3h3.7c.3 0 .5 0 .7.3.3.2.4.5.4.8v.7c0 .3 0 .5.3.8.2.3.5.4.8.4H15c.4 0 .7 0 1 .3l.2.8v1.8H7.4c-.6 0-1 0-1.6.4s-1 .6-1.4 1l-3 3.5V2.6zm18.8 7l-3.4 4-1 .7-1 .2H2.7c-.4 0-.6 0-.6-.4l.2-.3 3.4-4c.2-.4.4-.6.8-.7.3-.2.7-.3 1-.3H20c.3 0 .5.2.5.4 0 .3 0 .4-.2.6z' />\n </svg>\n ),\n pencil: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19'>\n <path d='M17.863 5.258l-4.113-4.122.283-.283a2.9 2.9 0 0 1 4.113.005 2.909 2.909 0 0 1 0 4.117l-.283.283zm-5.388-2.847l4.118 4.117-11.553 11.551-5.04.921.92-5.038 11.556-11.551z' />\n </svg>\n ),\n phoneNoFill: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'>\n <path d='M25.28 19.815c-.655-.682-1.445-1.047-2.282-1.047-.83 0-1.627.358-2.309 1.04l-2.133 2.127-.52-.27a8.579 8.579 0 0 1-.669-.358c-1.998-1.27-3.814-2.923-5.556-5.064-.844-1.066-1.41-1.964-1.822-2.876.553-.506 1.066-1.032 1.566-1.539l.567-.574c1.418-1.417 1.418-3.254 0-4.671l-1.843-1.843c-.21-.21-.425-.426-.628-.642-.405-.418-.83-.85-1.27-1.255-.654-.649-1.437-.993-2.26-.993-.824 0-1.621.344-2.296.993l-.014.013-2.295 2.316a4.94 4.94 0 0 0-1.465 3.138c-.162 1.971.419 3.808.864 5.01 1.094 2.95 2.728 5.684 5.165 8.614 2.957 3.53 6.514 6.319 10.579 8.283 1.552.736 3.625 1.607 5.94 1.755l.426.014c1.56 0 2.87-.56 3.895-1.674l.027-.034c.351-.425.756-.81 1.182-1.222.29-.277.587-.567.877-.87.669-.696 1.02-1.506 1.02-2.337 0-.837-.358-1.64-1.04-2.315l-3.706-3.72zm1.595 6.857c-.227.245-.46.465-.71.71-.377.36-.76.738-1.121 1.163-.588.628-1.28.924-2.187.924l-.267-.006c-1.727-.11-3.378-.572-4.581-1.148-1.565-.757-6.166-3.373-9.24-6.667-3.39-3.633-5.311-8.135-5.772-9.379a8.219 8.219 0 0 1-.51-3.704 2.67 2.67 0 0 1 .802-1.727l1.983-1.983c.285-.268.587-.413.884-.413.366 0 .663.22.849.407.372.349.71.692 1.064 1.058l.552.564 1.589 1.589c.616.616.616 1.186 0 1.802l-.5.5c-.489.5-1.206 1.178-1.712 1.631-.53.53-.436 1.018-.331 1.35.242.596 1.767 3.576 3.98 5.982 1.856 2.017 4.38 3.504 5.231 4.042.239.152.483.274.715.39.21.105.407.203.576.308l.07.04c.198.1.384.146.576.146.482 0 .785-.302.883-.401l2.241-2.2c.198-.198.512-.437.878-.437.361 0 .658.227.838.425l3.215 3.215c.6.593.6 1.204.006 1.82zm-9.589-19.063a8.56 8.56 0 0 1 4.659 2.417 8.606 8.606 0 0 1 2.417 4.658c.074.446.459.756.897.756l.156-.013c.5-.081.83-.554.75-1.054a10.413 10.413 0 0 0-2.924-5.637 10.413 10.413 0 0 0-5.637-2.923.916.916 0 0 0-1.053.743.902.902 0 0 0 .735 1.053zm14.664 6.501a17.13 17.13 0 0 0-4.814-9.283 17.13 17.13 0 0 0-9.282-4.813.908.908 0 0 0-1.047.743c-.08.5.25.965.75 1.053 3.146.533 6.015 2.025 8.297 4.3a15.294 15.294 0 0 1 4.3 8.297c.074.446.46.756.898.756a.894.894 0 0 0 .898-1.053z' />\n </svg>\n ),\n radioChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 5c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0-5c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n radioNotChecked: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10 0c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 18c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z'\n />\n </svg>\n ),\n search: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='29' height='30' viewBox='0 0 29 30'>\n <path d='M28.6 27.3l-7-7.4a12.2 12.2 0 0 0 2.7-8c0-6.6-5.3-12-12-12C6 0 .6 5.4.6 12c0 6.8 5.4 12.2 12 12.2 2.4 0 4.7-.7 6.7-2.2l7 7.5a1.5 1.5 0 0 0 2.3 0 1.6 1.6 0 0 0 0-2.2zm-16.2-24c5 0 8.8 4 8.8 8.8 0 5-4 9-8.8 9s-8.8-4-8.8-9c0-4.8 4-8.8 8.8-8.8z' />\n </svg>\n ),\n tasks: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='20' viewBox='0 0 18 20'>\n <path d='M17.2 2H13V.8c0-.4-.3-.7-.7-.7H5.8c-.5 0-.8.3-.8.7v4c0 .3.3.6.8.6h4.8c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-4V1.4h5V3c0 .3.2.6.7.6h4v15H1.7v-15h1.2c.4 0 .8-.3.8-.7 0-.5-.4-1-.8-1h-2C.4 2 0 2.6 0 3v16.3c0 .4.4.7.8.7h16.4c.4 0 .8-.3.8-.8V3c0-.5-.4-1-.8-1z' />\n <path d='M12.6 9a.8.8 0 0 0-1 0l-3.7 3.3L6.4 11a.8.8 0 0 0-1 0 .7.7 0 0 0 0 1l1.8 1.8c.2.2.4.2.6.2 0 0 .3 0 .4-.2l4.2-4a.7.7 0 0 0 0-1z' />\n </svg>\n ),\n tinyCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'>\n <path\n fillRule='evenodd'\n d='M10.7 12.8L1 22.4c-.5.6-.5 1.6 0 2.2.8.6 1.7.6 2.3 0L13 15l9.5 9.6c.6.6 1.6.6 2.2 0 .6-.6.6-1.6 0-2.2L15 12.8l9.6-9.5c.6-.6.6-1.6 0-2.2-.6-.5-1.6-.5-2.2 0L13 10.7 3.3 1C2.8.6 1.8.6 1.2 1c-.6.7-.6 1.7 0 2.3l9.5 9.5z'\n />\n </svg>\n ),\n sharpCross: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>\n <path d='M8 6.53l6.53-6.53 1.47 1.47-6.53 6.53 6.53 6.53-1.47 1.47-6.53-6.53-6.53 6.53-1.47-1.47 6.53-6.53-6.53-6.53 1.47-1.47z' />\n </svg>\n ),\n plus: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19'>\n <g fillRule='evenodd'>\n <rect width='18' height='3' y='8' rx='1.5' />\n <rect width='18' height='3' y='8' rx='1.5' transform='rotate(90 9 9.5)' />\n </g>\n </svg>\n ),\n plusThin: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'>\n <path fillRule='nonzero' d='M7.875 6.125H14v1.75H7.875V14h-1.75V7.875H0v-1.75h6.125V0h1.75v6.125z' />\n </svg>\n ),\n play: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'>\n <path d='M28.197 7.501c-4.173-7.173-13.414-9.63-20.64-5.489-7.227 4.141-9.703 13.314-5.53 20.486 4.172 7.174 13.413 9.632 20.639 5.49 7.227-4.142 9.704-13.314 5.53-20.487zm-7.042 17.889c-5.78 3.313-13.173 1.347-16.511-4.392-3.338-5.738-1.357-13.076 4.424-16.388 5.78-3.314 13.174-1.348 16.512 4.39 3.337 5.74 1.356 13.077-4.425 16.39zm-.604-11l-7.911-4.58c-.72-.418-1.302-.084-1.298.744l.04 9.091c.004.828.593 1.165 1.316.75l7.851-4.499c.722-.414.724-1.088.003-1.506z' />\n </svg>\n ),\n reload: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='19' height='20' viewBox='0 0 19 20'>\n <g fillRule='evenodd'>\n <path d='M1.638 8.346c.653 0 1.243-.386 1.495-.978a6.896 6.896 0 0 1 6.351-4.164c1.575 0 3.019.53 4.176 1.412l-.907.138a.702.702 0 0 0-.593.594.694.694 0 0 0 .411.729l4.99 2.208a.72.72 0 0 0 .673-.05.695.695 0 0 0 .325-.582l.026-5.408a.697.697 0 0 0-.501-.669.714.714 0 0 0-.796.28L16.6 2.873A10.202 10.202 0 0 0 9.484 0C5.284 0 1.672 2.523.132 6.109a1.586 1.586 0 0 0 .143 1.516c.303.45.815.72 1.363.72zM18.693 12.344a1.643 1.643 0 0 0-1.364-.721c-.652 0-1.242.385-1.494.977a6.896 6.896 0 0 1-6.351 4.165 6.872 6.872 0 0 1-4.176-1.412l.907-.138a.702.702 0 0 0 .593-.595.694.694 0 0 0-.411-.728l-4.99-2.208a.72.72 0 0 0-.673.05.695.695 0 0 0-.325.582l-.026 5.407a.697.697 0 0 0 .501.67c.3.09.623-.025.796-.28l.688-1.017a10.201 10.201 0 0 0 7.116 2.872c4.2 0 7.812-2.523 9.352-6.109a1.586 1.586 0 0 0-.143-1.515z' />\n </g>\n </svg>\n ),\n checkCircle: () => (\n <svg height='14' viewBox='0 0 14 14' width='14' xmlns='http://www.w3.org/2000/svg'>\n <path d='m4.13 5.67-.98.98 3.15 3.15 7-7-.98-.98-6.02 6.02zm8.47 1.33c0 3.08-2.52 5.6-5.6 5.6s-5.6-2.52-5.6-5.6 2.52-5.6 5.6-5.6c.56 0 1.05.07 1.54.21l1.12-1.12c-.84-.28-1.75-.49-2.66-.49-3.85 0-7 3.15-7 7s3.15 7 7 7 7-3.15 7-7z' />\n </svg>\n ),\n info: () => (\n <svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'>\n <path\n fillRule='evenodd'\n d='M10.986 6.995v-2.019h-1.972v2.02h1.972zm0 8.029v-6.01h-1.972v6.01h1.972zm-.986-15.024c1.827 0 3.518.457 5.072 1.37a9.478 9.478 0 0 1 3.558 3.558 9.835 9.835 0 0 1 1.37 5.072 9.835 9.835 0 0 1-1.37 5.072 9.478 9.478 0 0 1-3.558 3.558 9.835 9.835 0 0 1-5.072 1.37 9.835 9.835 0 0 1-5.072-1.37 9.657 9.657 0 0 1-3.558-3.582 9.79 9.79 0 0 1-1.37-5.048 9.79 9.79 0 0 1 1.37-5.048 9.842 9.842 0 0 1 3.582-3.582 9.79 9.79 0 0 1 5.048-1.37z'\n />\n </svg>\n ),\n check: () => (\n <svg width='20px' height='20px' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>\n <g stroke='none' strokeWidth='1' fill='none' fillRule='evenodd'>\n <g transform='translate(-675.000000, -7517.000000)' fill='#7FC92E'>\n <g transform='translate(675.000000, 7517.000000)'>\n <path d='M10,0 C15.5228475,-1.01453063e-15 20,4.4771525 20,10 C20,15.5228475 15.5228475,20 10,20 C4.4771525,20 6.76353751e-16,15.5228475 0,10 C-6.76353751e-16,4.4771525 4.4771525,1.01453063e-15 10,0 Z M14.2928932,6.29289322 L9,11.5857864 L6.70710678,9.29289322 L5.29289322,10.7071068 L9,14.4142136 L15.7071068,7.70710678 L14.2928932,6.29289322 Z' />\n </g>\n </g>\n </g>\n </svg>\n ),\n home: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <g>\n <rect width='16' height='16' fill='black' fillOpacity='0' />\n <path\n id='house_2'\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 16V11H9V16H15V5L8 0L1 5V16H7ZM5 14H3V6.02917L8 2.45776L13 6.02917V14H11V9H5V14Z'\n />\n </g>\n </svg>\n ),\n questionFilled: () => (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' enableBackground='new 0 0 20 20'>\n <path className='st0' fillOpacity='0' d='M0 0h20v20h-20z' />\n <path\n className='st1'\n d='M17.1 2.9c-1.9-1.8-4.4-2.9-7.1-2.9-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.7-1.1-5.2-2.9-7.1zm-6.1 12.1h-2v-2h2v2zm.5-4.5c-.3.2-.6.6-.5.9v.1h-2v-.1c0-1.1.6-2.2 1.7-2.7.5-.2.8-.8.8-1.3 0-.8-.7-1.4-1.5-1.4s-1.5.6-1.5 1.4h-2c0-1.9 1.6-3.4 3.5-3.4s3.5 1.5 3.5 3.4c0 1.3-.8 2.5-2 3.1z'\n />\n </svg>\n ),\n document: () => (\n <svg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M16.0004 4.50038L12.4648 0.964844L5.36865 8.06104L5.39378 11.5714L8.90418 11.5966L16.0004 4.50038ZM7.37459 8.88353L12.4648 3.79327L13.172 4.50038L8.08169 9.59063L7.37961 9.58561L7.37459 8.88353Z'\n />\n <path d='M13 15V10H15V17H0V2H7V4H2V15H13Z' />\n </svg>\n ),\n cancel: () => (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path d='M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8 14C4.7 14 2 11.3 2 8C2 4.7 4.7 2 8 2C11.3 2 14 4.7 14 8C14 11.3 11.3 14 8 14Z' />\n <path d='M9.7998 4.79999L7.9998 6.59999L6.1998 4.79999L4.7998 6.19999L6.5998 7.99999L4.7998 9.79999L6.1998 11.2L7.9998 9.39999L9.7998 11.2L11.1998 9.79999L9.3998 7.99999L11.1998 6.19999L9.7998 4.79999Z' />\n </svg>\n ),\n playPause: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M7 6L5.46341 4.68292L2 1.71429L0 0V2.63416V9.36584V12L2 10.2857L5.46341 7.31708L7 6ZM3.92682 6L2 4.34845V7.65155L3.92682 6ZM14 0H16V12H14V0ZM12 0H10V12H12V0Z'\n />\n </svg>\n ),\n video: () => (\n <svg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M2 2H9V10H2V2ZM0 0H2H9H11V2V6V10V12H9H2H0V10V2V0ZM11 6L12.6008 4.71938L14 3.6L16 2V4.56125V7.43875V10L14 8.4L12.6008 7.28062L11 6Z'\n />\n </svg>\n ),\n}\n","import { useClassname } from '../../hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { VAlign } from '../../mixins/vAlign'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nimport { defaultIcons, IconNames } from './icons'\n\nexport interface IconProps extends BaseProps, Color, VAlign, ResponsiveNamedProperty<'size'> {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Name of default icon\n */\n name?: keyof typeof IconNames\n /**\n * Object with icon's svg. Use for custom icon insertion with dangerouslySetInnerHTML\n */\n svg?: string\n /**\n * Object with icon's svg. Use for custom icon insertion\n */\n icon?: React.ReactNode\n /**\n * Show pointer cursor on hover?\n */\n pointer?: boolean\n}\n\nIcon.displayName = 'Icon'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`VAlign`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Icon(props: IconProps) {\n const {\n name,\n icon,\n svg,\n pointer,\n color,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n style,\n vAlign,\n children,\n } = props\n\n const _className = useClassname(Icon.displayName, className)\n\n if (name && defaultIcons[name]) {\n const Icon = defaultIcons[name]\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_className}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n <Icon />\n {children}\n </Styled.Root>\n )\n }\n\n if (svg) {\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_className}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n dangerouslySetInnerHTML={{ __html: svg || '' }}\n >\n {icon || null}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n vAlign={vAlign}\n color={color}\n pointer={pointer}\n className={_className}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n style={style}\n >\n {icon || null}\n {children}\n </Styled.Root>\n )\n}\n\nexport { IconNames }\n","import { css } from 'styled-components'\n\nexport interface Display {\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none'\n}\n\nexport const display =\n (display: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'table-cell' | 'inherit' | 'none') => () =>\n css`\n display: ${display};\n `\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { ActionBtnProps } from './ActionBtn'\n\nconst active = css`\n background: ${(props) => props.theme.colors.onahau};\n color: ${(props) => props.theme.colors.accent};\n`\n\nconst notDisabled = css`\n &:hover {\n background: ${(props) => props.theme.colors.mercury};\n }\n &:active {\n ${active}\n }\n`\n\nconst disabled = css`\n cursor: default;\n opacity: 0.6;\n`\n\nexport const Root = styled.div<ActionBtnProps>`\n padding: 4px;\n background: transparent;\n color: ${(props) => props.theme.colors.silver};\n transition: background 0.4s ease-out, color 0.6s ease-out;\n line-height: 0;\n cursor: pointer;\n border-radius: 5px;\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.disabled ? disabled : notDisabled)}\n ${(props) => (props.active ? active : null)}\n ${(props) =>\n props.display\n ? display(props.display)\n : css`\n display: inline-block;\n `}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Icon, IconNames } from './../Icon'\nimport * as Styled from './style'\n\nexport interface ActionBtnProps extends BaseProps, Display {\n /** Icon name (for inner Icon component) */\n icon?: keyof typeof IconNames\n disabled?: boolean\n active?: boolean\n onClick?(): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nActionBtn.displayName = 'ActionBtn'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function ActionBtn({ icon, disabled = false, onClick, children, className, active, style }: ActionBtnProps) {\n const _className = useClassname(ActionBtn.displayName, className)\n\n return (\n <Styled.Root className={_className} style={style} disabled={disabled} active={active} onClick={onClick}>\n {icon && <Icon size={16} name={icon} />}\n {children}\n </Styled.Root>\n )\n}\n","import { Text, TextProps } from '../Text'\n\n/* eslint-disable no-unused-vars */\nenum H {\n h1,\n h2,\n h3,\n h4,\n}\n/* eslint-enable no-unused-vars */\n\nconst PARAMS: Record<keyof typeof H, Partial<TextProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nexport interface TextHeadingProps extends Omit<TextProps, 'content' | 'as'> {\n h?: keyof typeof H\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nTextHeading.displayName = 'Text.Heading'\n\nexport function TextHeading({ h = 'h1', ...props }: TextHeadingProps) {\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} {...predefinedParams} {...props} />\n}\n","import styled from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'onClick'].includes(prop) || prop.includes('data-'),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpacerProps\n extends BaseProps,\n Display,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n}\n\nSpacer.displayName = 'Spacer'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Spacer(props: SpacerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { display } from '../../mixins/display'\nimport { AnchorProps } from './Anchor'\n\nconst wrapper = css`\n display: block;\n color: inherit;\n transition: none;\n &:hover {\n color: inherit;\n cursor: pointer;\n }\n`\n\nconst underline = css`\n text-decoration: underline;\n`\n\nconst pseudo = css`\n display: inline-block;\n color: ${(props) => props.theme.colors.accent};\n border-bottom: 1px dashed currentColor;\n`\n\nexport const Root = styled.div.withConfig<AnchorProps>({\n shouldForwardProp: (prop) =>\n !['wrapper', 'underline', 'pseudo', 'display', 'color'].includes(prop) && !prop.includes('size'),\n})`\n color: ${(props) => props.theme.colors.accent};\n text-decoration: none;\n transition: 0.2s;\n &:hover {\n cursor: pointer;\n color: ${(props) => props.theme.colors.primary};\n }\n ${(props) => (props.underline ? underline : null)}\n ${(props) => (props.pseudo ? pseudo : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${(props) => (props.wrapper ? wrapper : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { Link } from 'react-router-dom'\nimport { useTheme } from 'styled-components'\nimport { useMemo } from 'react'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport * as Styled from './style'\n\nexport interface AnchorProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Custom CSS class name\n */\n as?: 'div' | 'span' | 'a' | typeof Link\n /**\n * React router link to\n */\n to?: string\n /**\n * Link href\n */\n href?: string\n /**\n * Is display inline\n * */\n wrapper?: boolean\n /**\n * Pseudo link has dashed bottom border\n * */\n pseudo?: boolean\n /**\n * If link should be underlined\n * */\n underline?: boolean\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Primary content\n */\n content?: string\n /**\n * Onclick handler\n */\n onClick?: () => void\n target?: string\n rel?: string\n /**\n * Auto-generate rel. You must specify domain inside theme\n */\n autoRel?: boolean\n}\n\nAnchor.displayName = 'Anchor'\nAnchor.defaultProps = {\n display: 'inline-block',\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Anchor(props: typeof Anchor.defaultProps & AnchorProps) {\n const {\n as,\n to,\n href,\n wrapper,\n className,\n style,\n children,\n content,\n pseudo,\n underline,\n color,\n display,\n size,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n autoRel = true,\n ...rest\n } = props\n\n const _className = useClassname(Anchor.displayName, className)\n const theme = useTheme()\n\n let _display: Display['display']\n const _rel = useMemo(() => {\n return autoRel && theme.utils?.relBuilder ? theme.utils.relBuilder(props.href ?? props.to, props.target) : props.rel\n }, [autoRel, props.rel, props.href, props.to, props.target])\n\n if (as === 'div' && !display) _display = 'block'\n else _display = display\n\n let contentProps = {}\n\n if (content) {\n contentProps = {\n ...contentProps,\n dangerouslySetInnerHTML: { __html: content },\n }\n }\n\n if (as)\n return (\n <Styled.Root\n as={as}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n style={style}\n color={color}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n rel={as === 'a' ? props.rel ?? _rel : undefined}\n >\n {children}\n </Styled.Root>\n )\n\n if (pseudo)\n return (\n <Styled.Root\n as='div'\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n href={href}\n className={_className}\n color={color}\n style={style}\n size={size}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n >\n {children}\n </Styled.Root>\n )\n else if (to)\n return (\n <Styled.Root\n as={Link}\n to={to}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...rest}\n {...contentProps}\n rel={props.rel ?? _rel}\n >\n {children}\n </Styled.Root>\n )\n else\n return (\n <Styled.Root\n as='a'\n href={href}\n pseudo={pseudo}\n wrapper={wrapper}\n underline={underline}\n className={_className}\n color={color}\n size={size}\n style={style}\n display={_display}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n {...contentProps}\n {...rest}\n rel={props.rel ?? _rel}\n >\n {children}\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const Ul = styled.ul`\n padding: 0;\n margin: 0;\n list-style-position: inside;\n`\n\nexport const Li = styled.li`\n & + & {\n margin-top: 4px;\n }\n`\n","import { Component } from 'react'\nimport { Spacer } from '../Spacer/Spacer'\nimport { Anchor } from '../Anchor/Anchor'\nimport { Text, TextProps } from '../Text'\nimport * as Styled from './style'\n\nexport interface TextEllipseProps extends Omit<TextProps, 'content'> {\n /** Toggle text for folded state */\n moreText?: string\n /** Toggle text for unfolded state */\n lessText?: string\n /** Classname */\n className?: string\n /** Html content */\n content: string | string[]\n /** Characters quantity for ellipsed text */\n chars?: number\n /** Wrap text in quotes */\n quoted?: boolean\n /** Flag to show toggler */\n showToggler?: boolean\n}\n\ninterface TextEllipseState {\n isUnFolded: boolean\n isEllipsed: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class TextEllipse extends Component<TextEllipseProps, TextEllipseState> {\n static displayName = 'Text.Ellipse'\n\n constructor(props: TextEllipseProps) {\n super(props)\n\n this.state = {\n isUnFolded: false,\n isEllipsed: false,\n }\n }\n\n componentDidUpdate({ content }: TextEllipseProps) {\n if (content !== this.props.content && this.state.isUnFolded) {\n this.toggle()\n }\n }\n\n getContent = (props: Omit<TextEllipseProps, 'className' | 'moreText' | 'lessText' | 'showToggler'>) => {\n const { content, chars = 0 } = this.props\n\n if (!content) return ''\n\n let { isEllipsed } = this.state\n let text: string | string[] = typeof content === 'string' ? '' : []\n\n if (!this.state.isUnFolded) {\n if (typeof text === 'string') {\n isEllipsed = chars !== 0 && content.length > chars\n\n text = isEllipsed && chars !== 0 ? `${content.slice(0, chars)}...` : content\n } else {\n let leftChars = chars\n\n for (let index = 0; index < content.length; index++) {\n if (leftChars - content[index].length > 0) {\n leftChars -= content[index].length\n\n text[index] = content[index]\n } else {\n isEllipsed = true\n text[index] = `${content[index].slice(0, leftChars)}...`\n\n break\n }\n }\n }\n } else {\n text = content\n }\n\n if (this.state.isEllipsed !== isEllipsed) setTimeout(() => this.setState({ isEllipsed }))\n\n return typeof text === 'string' ? (\n <Text {...props} content={this.getQuted(text)} />\n ) : (\n <Styled.Ul>\n {text.map((item, index) => (\n <Styled.Li key={index}>\n <Text {...props} display='inline' content={item} />\n </Styled.Li>\n ))}\n </Styled.Ul>\n )\n }\n\n getQuted = (content: string) => (this.props.quoted ? `«${content}»` : content)\n\n toggle = () => {\n this.setState({ isUnFolded: !this.state.isUnFolded })\n }\n\n render() {\n const {\n className = '',\n style,\n moreText = 'Читать полностью',\n lessText = 'Свернуть',\n showToggler = true,\n ...restProps\n } = this.props\n const { isUnFolded, isEllipsed } = this.state\n\n return (\n <div className={className} style={style}>\n {this.getContent(restProps)}\n {showToggler && isEllipsed && (\n <Spacer marginTop={16} marginBottom={1}>\n <Anchor pseudo onClick={this.toggle}>\n {isUnFolded ? lessText : moreText}\n </Anchor>\n </Spacer>\n )}\n </div>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color, ColorValue } from '../../mixins/color'\nimport { responsiveNamedProperty, property } from '../../mixins/responsive-property'\nimport { TextProps } from './Text'\n\nconst WEIGHT_MAP = {\n lighter: 100,\n normal: 400,\n bold: 600,\n bolder: 800,\n}\n\nconst LINE_HEIGHT_MAP: Record<Exclude<TextProps['lineHeight'], undefined>, number> = {\n l: 1.5,\n m: 1.3,\n s: 1.15,\n xs: 1,\n}\n\nconst underlineLinksStyle = css`\n a {\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<TextProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'title', 'dangerouslySetInnerHTML'].includes(prop),\n})`\n line-height: inherit;\n margin: initial;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : color(props.theme.textColor as ColorValue))}\n ${(props) =>\n props.lineHeight\n ? css`\n line-height: ${typeof props.lineHeight === 'string' && LINE_HEIGHT_MAP[props.lineHeight]\n ? LINE_HEIGHT_MAP[props.lineHeight]\n : props.lineHeight};\n `\n : null}\n ${(props) =>\n props.fontStyle\n ? css`\n font-style: ${props.fontStyle};\n `\n : null}\n ${(props) =>\n props.weight\n ? css`\n font-weight: ${typeof props.lineHeight === 'string' && WEIGHT_MAP[props.weight]\n ? WEIGHT_MAP[props.weight]\n : props.weight};\n `\n : null}\n\n a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n ${(props) => (props.underlineLinks ? underlineLinksStyle : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n\n ${(props) => (props.size ? property(props.size, 'font-size') : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) =>\n responsiveNamedProperty({ sizes: { sizeXS, sizeS, sizeM, sizeL, sizeXL }, cssProperty: 'font-size' })}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { TextHeading } from '../../components/Text.Heading'\nimport { TextEllipse } from '../../components/Text.Ellipse'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface TextProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * An element type to render as (string).\n */\n as?: 'div' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'p'\n /**\n * Primary content\n */\n content?: string\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text font weight\n */\n weight?: 'lighter' | 'normal' | 'bold' | 'bolder' | number\n /**\n * Text font style\n */\n fontStyle?: 'normal' | 'italic'\n /**\n * Add underline to inline links\n */\n underlineLinks?: boolean\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right' | 'justify' | 'start' | 'end'\n /**\n * Line height\n */\n lineHeight?: 'l' | 'm' | 's' | 'xs' | number\n /**\n * Element title\n */\n title?: string\n}\n\nText.Heading = TextHeading\nText.Ellipse = TextEllipse\nText.displayName = 'Text'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Text(props: TextProps) {\n const {\n as = 'div',\n children,\n weight = 'normal',\n content,\n textAlign,\n underlineLinks,\n className: origClassName,\n style,\n lineHeight = 'm',\n fontStyle = 'normal',\n title,\n color,\n size = 'm',\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n display,\n } = props\n\n const className = useClassname(Text.displayName, origClassName)\n\n if (children) {\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n >\n {children}\n </Styled.Root>\n )\n }\n\n return (\n <Styled.Root\n as={as}\n color={color}\n className={className}\n title={title}\n weight={weight}\n lineHeight={lineHeight}\n textAlign={textAlign}\n fontStyle={fontStyle}\n underlineLinks={underlineLinks}\n size={size}\n sizeXS={sizeXS}\n sizeS={sizeS}\n sizeM={sizeM}\n sizeL={sizeL}\n sizeXL={sizeXL}\n display={display}\n style={style}\n dangerouslySetInnerHTML={{ __html: content || '' }}\n />\n )\n}\n","/* eslint-disable no-unused-vars */\nexport enum CurrencyCodes {\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYR = 'BYR',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EEK = 'EEK',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n FRF = 'FRF',\n GHC = 'GHC',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KGS = 'KGS',\n LAK = 'LAK',\n LVL = 'LVL',\n LBP = 'LBP',\n LRD = 'LRD',\n LTL = 'LTL',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n KPW = 'KPW',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUR = 'RUR',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n KRW = 'KRW',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TRL = 'TRL',\n TVD = 'TVD',\n UAH = 'UAH',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n}\n\nexport const CURRENCY_MAP: Readonly<Record<CurrencyCodes, string>> = Object.freeze({\n ALL: '\\u004C\\u0065\\u006b',\n AFN: '\\u060B',\n ARS: '\\u0024',\n AWG: '\\u0192',\n AUD: '\\u0024',\n AZN: '\\u20BC',\n BSD: '\\u0024',\n BBD: '\\u0024',\n BYR: '\\u0042\\u0072',\n BZD: '\\u0042\\u005a\\u0024',\n BMD: '\\u0024',\n BOB: '\\u0024\\u0062',\n BAM: '\\u004B\\u004d',\n BWP: '\\u0050',\n BGN: '\\u043B\\u0432',\n BRL: '\\u0052\\u0024',\n BND: '\\u0024',\n KHR: '\\u17DB',\n CAD: '\\u0043\\u0024',\n KYD: '\\u0024',\n CLP: '\\u0024',\n CNY: '\\u00A5',\n COP: '\\u0024',\n CRC: '\\u20A1',\n HRK: '\\u006B\\u006e',\n CUP: '\\u20B1',\n CZK: '\\u004B\\u010d',\n DKK: '\\u006B\\u0072',\n DOP: '\\u0052\\u0044\\u0024',\n XCD: '\\u0024',\n EGP: '\\u00A3',\n SVC: '\\u0024',\n EEK: '\\u006B\\u0072',\n EUR: '\\u20AC',\n FKP: '\\u00A3',\n FJD: '\\u0024',\n FRF: '\\u20A3',\n GHC: '\\u00A2',\n GIP: '\\u00A3',\n GTQ: '\\u0051',\n GGP: '\\u00A3',\n GYD: '\\u0024',\n HNL: '\\u004C',\n HKD: '\\u0024',\n HUF: '\\u0046\\u0074',\n ISK: '\\u006B\\u0072',\n INR: '\\u20A8',\n IDR: '\\u0052\\u0070',\n IRR: '\\uFDFC',\n IMP: '\\u00A3',\n ILS: '\\u20AA',\n JMD: '\\u004A\\u0024',\n JPY: '\\u00A5',\n JEP: '\\u00A3',\n KZT: '\\u20B8',\n KGS: '\\u004B\\u0047\\u0053',\n LAK: '\\u20AD',\n LVL: '\\u004C\\u0073',\n LBP: '\\u00A3',\n LRD: '\\u0024',\n LTL: '\\u004C\\u0074',\n MKD: '\\u0434\\u0435\\u043d',\n MYR: '\\u0052\\u004d',\n MUR: '\\u20A8',\n MXN: '\\u0024',\n MNT: '\\u20AE',\n MZN: '\\u004D\\u0054',\n NAD: '\\u0024',\n NPR: '\\u20A8',\n ANG: '\\u0192',\n NZD: '\\u0024',\n NIO: '\\u0043\\u0024',\n NGN: '\\u20A6',\n KPW: '\\u20A9',\n NOK: '\\u006B\\u0072',\n OMR: '\\uFDFC',\n PKR: '\\u20A8',\n PAB: '\\u0042\\u002f\\u002e',\n PYG: '\\u0047\\u0073',\n PEN: '\\u0053\\u002f\\u002e',\n PHP: '\\u20B1',\n PLN: '\\u007A\\u0142',\n QAR: '\\uFDFC',\n RON: '\\u006C\\u0065\\u0069',\n RUR: '\\u20BD',\n RUB: '\\u20BD',\n SHP: '\\u00A3',\n SAR: '\\uFDFC',\n RSD: '\\u0414\\u0438\\u043d\\u002e',\n SCR: '\\u20A8',\n SGD: '\\u0024',\n SBD: '\\u0024',\n SOS: '\\u0053',\n ZAR: '\\u0052',\n KRW: '\\u20A9',\n LKR: '\\u20A8',\n SEK: '\\u006B\\u0072',\n CHF: '\\u0043\\u0048\\u0046',\n SRD: '\\u0024',\n SYP: '\\u00A3',\n TWD: '\\u004E\\u0054\\u0024',\n THB: '\\u0E3F',\n TTD: '\\u0054\\u0054\\u0024',\n TRY: '\\u20A4',\n TRL: '\\u20A4',\n TVD: '\\u0024',\n UAH: '\\u20B4',\n GBP: '\\u00A3',\n USD: '\\u0024',\n UYU: '\\u0024\\u0055',\n UZS: '\\u043B\\u0432',\n VEF: '\\u0042\\u0073',\n VND: '\\u20AB',\n YER: '\\uFDFC',\n ZWD: '\\u005A\\u0024',\n})\n","import styled, { css } from 'styled-components'\nimport { AmountProps } from './Amount'\n\nconst crossedOut = css`\n text-decoration: line-through;\n`\n\nexport const Root = styled.span.withConfig<AmountProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n color: inherit;\n white-space: nowrap;\n ${(props) => (props.crossedOut ? crossedOut : null)}\n`\n","import { PureComponent } from 'react'\nimport cx from 'clsx'\nimport { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text/Text'\nimport { Display } from '../../mixins/display'\nimport { CurrencyCodes, CURRENCY_MAP } from './data'\nimport * as Styled from './style'\n\nexport interface AmountProps extends BaseProps, Color, ResponsiveNamedProperty<'size'>, Display {\n /**\n * Value for amount\n */\n value?: number\n /**\n * Digits after point\n */\n digitsAfterPoint?: number\n /**\n * Show zero minor part\n */\n showZeroMinorPart?: boolean\n /**\n * Separator of major and minor part of amount\n */\n separator?: string\n /**\n * International code of currency.\n */\n currency?: keyof typeof CurrencyCodes | string\n /**\n * Use Header component for display amount\n */\n isHeader?: boolean\n /**\n * Amount is not valid and will be crossed out with ```text-decoration: line-through```\n */\n crossedOut?: boolean\n /**\n * If need only currency symbol\n */\n onlyCurrency?: boolean\n}\n\nconst AMOUNT_MAJOR_PART_SIZE = 3\nconst ZERO_MINOR_PART_REGEXP = /^0+$/\nconst MINUS_SIGN_HTML_CODE = '\\u2212'\n\nfunction createSplitter(partSize: number): (_s: string) => string[] {\n const parts = (str: string): string[] => {\n const { length } = str\n\n if (length <= partSize) {\n return [str]\n }\n\n const from = length - partSize\n const to = length\n\n return [str.slice(from, to)].concat(parts(str.slice(0, from)))\n }\n\n return parts\n}\n\nfunction formatAmount(\n value: AmountProps['value'] = 0,\n digitsAfterPoint: AmountProps['digitsAfterPoint'],\n currencyCode: AmountProps['currency']\n) {\n const isNegative = value < 0\n\n const valueAbs = Math.abs(value)\n const valueAbsStr = valueAbs.toFixed(digitsAfterPoint)\n\n const numberParts = valueAbsStr.split('.')\n const majorPart = numberParts[0]\n const minorPart = numberParts[1]\n\n const amountSplitter = createSplitter(AMOUNT_MAJOR_PART_SIZE)\n\n const majorPartFormatted = amountSplitter(majorPart).reverse().join(' ')\n\n const formattedValueStr = majorPartFormatted + (minorPart ? `,${minorPart}` : '')\n\n return {\n majorPart: majorPartFormatted,\n minorPart,\n value: formattedValueStr,\n isNegative,\n currencySymbol: currencyCode ? Amount.getCurrencySymbol(currencyCode) : '',\n }\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport class Amount extends PureComponent<AmountProps> {\n static displayName = 'Amount'\n static defaultProps = {\n isHeader: false,\n showZeroMinorPart: false,\n crossedOut: false,\n digitsAfterPoint: 2,\n separator: ',',\n onlyCurrency: false,\n }\n\n static getCurrencySymbol(currencyCode: keyof typeof CurrencyCodes | string) {\n return CURRENCY_MAP[currencyCode] || currencyCode\n }\n\n renderMinorPart(minorPart: string) {\n const { showZeroMinorPart, separator } = this.props\n\n let needMinorPart = false\n\n if (minorPart) {\n needMinorPart = true\n\n if (!showZeroMinorPart && ZERO_MINOR_PART_REGEXP.test(minorPart)) {\n needMinorPart = false\n }\n }\n\n if (needMinorPart) {\n return (\n <span className='minor-container'>\n <span className='separator'>{separator}</span>\n <span className='minor'>{minorPart}</span>\n </span>\n )\n }\n\n return null\n }\n\n renderCurrencySymbol = (currencySymbol: string) => (\n <span style={{ position: 'relative' }}>\n {this.props.currency === 'RUR' ? (\n <span\n style={{\n position: 'absolute',\n width: 0,\n opacity: 0,\n visibility: 'hidden',\n }}\n >\n руб.\n </span>\n ) : null}\n <span>{` ${currencySymbol}`}</span>\n </span>\n )\n\n render() {\n const { value, digitsAfterPoint, currency, isHeader, className, style, crossedOut, onlyCurrency, ...rest } =\n this.props\n\n const { majorPart, minorPart, isNegative, currencySymbol } = formatAmount(value, digitsAfterPoint, currency)\n\n const classNames = cx('amount', className)\n\n const amountInner = (\n <Styled.Root className={classNames} style={style} crossedOut={crossedOut}>\n {!onlyCurrency ? (\n <>\n <span className='major'>\n {isNegative && MINUS_SIGN_HTML_CODE}\n {majorPart}\n </span>\n {this.renderMinorPart(minorPart)}\n </>\n ) : null}\n {currency && this.renderCurrencySymbol(currencySymbol)}\n </Styled.Root>\n )\n\n const Element = isHeader ? Text.Heading : Text\n\n return (\n <Element {...rest} as='span'>\n {amountInner}\n </Element>\n )\n }\n}\n","/**\n * Возвращает цвет по строке\n *\n * @param {string} string строка имени\n * @param {Array} colors массив цветов (hex коды или имёна)\n * @return {string | null} цвет из массива цветов\n */\nexport const getColorByString = (string: string, colors: string[]) => {\n let i = string.length\n let sum = 0\n\n while (i--) {\n sum += string.charCodeAt(i)\n }\n\n return colors ? colors[sum % colors.length] : null\n}\n\nconst pattern = /^[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+$/u\n\n/**\n * Определяет является ли текст emoji\n * @param {string} text\n * @return {boolean}\n */\nfunction isEmoji(text: string) {\n return pattern.test(text)\n}\n\n/**\n * Возвращает буквы из имени\n *\n * @param {string} title\n * @return {string}\n */\nexport const getAvatarText = (title: string) => {\n if (title && title.length) {\n const trimmedTitleArray = title.trim().split(' ')\n const titleArray = trimmedTitleArray.filter((item) => !isEmoji(item))\n\n if (titleArray.length === 1) {\n return titleArray[0][0]\n } else if (titleArray.length > 1) {\n return `${titleArray[0][0]}${titleArray[1][0]}`\n }\n }\n\n return '#'\n}\n","import styled, { css } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport { AvatarProps } from './Avatar'\nimport { getColorByString } from './utils'\n\nconst SIZES: Record<Exclude<AvatarProps['size'], undefined>, number> = {\n l: 120,\n m: 68,\n sm: 52,\n s: 40,\n xs: 32,\n}\n\nconst linearGenerator = (color: string | null) => {\n if (!color) return null\n\n return css`\n background-image: linear-gradient(40deg, ${tiny(color).lighten(20).toString()}, ${color});\n `\n}\n\nconst withPlaceholder = css`\n display: inline-flex;\n overflow: hidden;\n text-align: center;\n vertical-align: middle;\n text-transform: uppercase;\n pointer-events: none;\n align-content: center;\n justify-content: center;\n align-items: center;\n color: ${(props) => props.theme.colors.white};\n line-height: 0;\n font-family: -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n`\n\nconst WITH_PH_SIZE = {\n l: 36,\n m: 24,\n}\n\nexport const Root = styled.div<AvatarProps>`\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n border-radius: 100%;\n box-sizing: border-box;\n background: ${(props) => tiny(props.theme.colors.mercury).setAlpha(0.6).toString()} center center no-repeat;\n background-size: cover;\n transition: background 0.2s ease, box-shadow 0.2s ease;\n ${(props) => (props.color ? linearGenerator(props.theme.colors[props.color]) : null)}\n ${(props) =>\n props.size\n ? css`\n width: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n height: ${typeof props.size === 'string' && SIZES[props.size] ? SIZES[props.size] : props.size}px;\n `\n : null}\n ${(props) =>\n props.shadow\n ? css`\n &:not(:hover) {\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n }\n `\n : null}\n\n ${(props) =>\n props.autoColor && props.title\n ? linearGenerator(getColorByString(props.title, Object.values(props.theme.colors)))\n : null}\n ${(props) => (!props.src ? withPlaceholder : null)}\n ${(props) =>\n !props.src && props.size\n ? css`\n font-size: ${WITH_PH_SIZE[props.size] || 12}px;\n `\n : null}\n`\n","import { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport { getAvatarText } from './utils'\nimport * as Styled from './style'\n\nexport interface AvatarProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Title for avatar. Example user name. */\n title?: string\n /** Image source */\n src?: string\n /** Size of avatar */\n size?: 'l' | 'm' | 'sm' | 's' | 'xs' | number\n /** Shadow of avatar */\n shadow?: boolean\n /** Make ref func */\n ref?: React.LegacyRef<HTMLDivElement>\n /**\n * Generate color by title automatically\n *\n * `Performance Info`: Each render of component call getAvatarColor function on received title\n */\n autoColor?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n */\nexport class Avatar extends PureComponent<AvatarProps> {\n static defaultProps = {\n size: 'm',\n autoColor: false,\n }\n\n static displayName = 'Avatar'\n\n getAvatarText() {\n return getAvatarText(this.props.title || '')\n }\n\n render() {\n const { src, ref, ...restProps } = this.props\n\n const text = this.getAvatarText()\n\n if (src) {\n return (\n <Styled.Root\n {...restProps}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={\n src\n ? {\n backgroundImage: src && `url(${src})`,\n }\n : undefined\n }\n />\n )\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Styled.Root {...restProps} ref={this.props.ref as any}>\n {text}\n </Styled.Root>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { display } from '../../mixins/display'\nimport { BadgeProps } from './Badge'\n\nconst round = css`\n min-width: 16px;\n padding: 3px 4px 1px;\n border-radius: 100%;\n box-sizing: border-box;\n line-height: 0;\n\n .text {\n line-height: 12px;\n }\n`\n\nexport const Root = styled.div.withConfig<BadgeProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n background-color: currentColor;\n padding: 2px 12px 0px;\n border-radius: 3px;\n vertical-align: middle;\n text-align: center;\n\n &:not(:last-child) {\n margin-right: 8px;\n }\n\n .text {\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n }\n\n ${(props) => (props.round ? round : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Text, TextProps } from './../Text/Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, Color, Display {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({\n children,\n content,\n className,\n textProps,\n round,\n display = 'inline-block',\n ...restProps\n}: BadgeProps) {\n const _className = useClassname(Badge.displayName, className)\n return (\n <Styled.Root round={round} display={display} className={_className} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from '../../mixins/display'\nimport { color } from '../../mixins/color'\nimport { screenL, screenM, screenMaxS } from '../../mixins/screen'\nimport { ContainerProps } from './Container'\n\nexport const Root = styled.div.withConfig<ContainerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: 100%;\n max-width: ${(props) => props.theme.breakpoints.l - 100 + 2 * 50}px;\n margin: 0 auto;\n padding: 0 50px;\n box-sizing: border-box;\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) =>\n props.fluid\n ? css`\n max-width: 100%;\n `\n : null}\n ${screenL()`\n padding: 0 42px;\n `}\n ${screenM()`\n padding: 0 28px;\n `}\n ${screenMaxS()`\n padding: 0 20px;\n `}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ContainerProps extends BaseProps, Display, Color {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Container has no maximum width.\n */\n fluid?: boolean\n /**\n * Align container text.\n */\n textAlign?: 'left' | 'center' | 'right' | 'justified'\n}\n\nContainer.displayName = 'Container'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Container(props: ContainerProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { createGlobalStyle, css } from 'styled-components'\nimport ReactModal from 'react-modal'\nimport { property, PossibleValues } from 'mixins/responsive-property'\nimport { ModalProps } from './Modal'\nimport { ReactModalAdapter } from './adapter'\n\ninterface ReactModalProps extends ReactModal.Props {\n zIndex?: ModalProps['zIndex']\n valign?: ModalProps['valign']\n}\n\nconst WIDTHS = {\n xxxs: 100,\n xxs: 200,\n xs: 300,\n s: 400,\n m: 500,\n l: 600,\n xl: 740,\n xxl: 800,\n xxxl: 900,\n}\n\nconst chooseWidthValue = (props: ModalProps): PossibleValues => {\n if (typeof props.width === 'number') return props.width\n\n if (props.width && typeof props.width === 'string' && WIDTHS[props.width]) return WIDTHS[props.width]\n\n return 'auto'\n}\n\nconst getPosition = (valign: ModalProps['valign']) => {\n switch (valign) {\n case 'top':\n return 'flex-start'\n case 'bottom':\n return 'flex-end'\n case 'center':\n return 'center'\n default:\n return 'center'\n }\n}\n\nexport const Modal = styled(ReactModalAdapter)<ReactModalProps>`\n &__overlay {\n z-index: ${(props) => props.zIndex || props.theme.zIndex.modal};\n display: flex;\n flex-direction: row;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-x: none;\n overflow-y: auto;\n ${(props) =>\n props.valign\n ? css`\n align-items: ${getPosition(props.valign)};\n `\n : null}\n &.ReactModal__Overlay--after-open {\n ${(props) => {\n if (props.overlayClassName) return null\n\n if (props.blurredOverlay) {\n return css`\n background: rgba(246, 247, 251, 0.3);\n backdrop-filter: blur(3.5px);\n `\n }\n\n return css`\n background: rgba(246, 247, 251, 0.9);\n `\n }}\n }\n &.ReactModal__Overlay--before-close {\n }\n }\n\n &__content {\n width: 100%;\n max-height: 100%;\n position: relative;\n &:focus {\n outline: 0;\n }\n ${(props) => (props.width ? property(chooseWidthValue(props), 'max-width') : null)}\n &.ReactModal__Content--after-open {\n }\n &.ReactModal__Content--before-close {\n }\n }\n`\n\nexport const ModalClose = styled.span`\n opacity: 1;\n transition: 0.3s;\n position: absolute;\n right: 20px;\n top: 20px;\n cursor: pointer;\n z-index: 10;\n svg {\n width: 18px;\n height: 18px;\n }\n &:hover {\n opacity: 0.5;\n }\n`\n\nexport const GlobalRoot = createGlobalStyle`\n .bodyOpen {\n overflow: hidden;\n }\n`\n","import ReactModal from 'react-modal'\nimport cx from 'clsx'\nimport { ModalProps } from './Modal'\n\nexport const ReactModalAdapter: React.FC<ModalProps> = ({\n className,\n isOpen,\n overlayClassName,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n style: _style,\n ...props\n}: ModalProps) => {\n const contentClassName = `${className}__content`\n const overlayClassNameLocal = `${className}__overlay`\n\n return (\n <ReactModal\n portalClassName={className}\n className={contentClassName}\n isOpen={Boolean(isOpen)}\n overlayClassName={cx(overlayClassNameLocal, overlayClassName)}\n {...props}\n />\n )\n}\n","import ReactModal, { Classes } from 'react-modal'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ModalClose } from './Close'\nimport * as Styled from './style'\n\nfunction setAppModalElement() {\n const appElement = document.body\n\n if (appElement && appElement instanceof HTMLElement) ReactModal.setAppElement(appElement)\n}\n\n// eslint-disable-next-line prettier/prettier\nif (typeof window !== 'undefined') {\n setAppModalElement()\n}\n\nexport interface ModalProps extends BaseProps, ResponsiveNamedProperty<'width'> {\n /**\n * Primary content.\n */\n /**\n * Boolean indicating if the overlay background should be blurred\n */\n blurredOverlay?: boolean\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Modal class name\n */\n className?: string\n /**\n * Number indicating the milliseconds to wait before closing the modal.\n */\n closeTimeoutMS?: number\n /**\n * String indicating how the content container should be announced to screenreaders\n */\n contentLabel?: string\n /**\n * Boolean describing if the modal should be shown or not.\n */\n isOpen?: boolean\n /**\n * Function that will be run after the modal has opened.\n */\n onAfterOpen?(): void\n /**\n * Function that will be run when the modal is requested to be closed, prior to actually closing.\n */\n onRequestClose?(): void\n /**\n * Custom overlay CSS class name\n */\n overlayClassName?: string | Classes\n /**\n * String indicating the role of the modal, allowing the 'dialog' role to be applied if desired.\n */\n role?: string\n /**\n * Boolean indicating if the overlay should close the modal\n */\n shouldCloseOnOverlayClick?: boolean\n /**\n * Vertical align\n */\n valign?: 'top' | 'center' | 'bottom'\n /**\n * z-index\n */\n zIndex?: number\n}\n\nModal.defaultProps = {\n blurredOverlay: false,\n closeTimeoutMS: 0,\n zIndex: 9000,\n contentLabel: '',\n isOpen: false,\n role: 'dialog',\n shouldCloseOnOverlayClick: true,\n width: 'm',\n valign: 'center',\n className: 'modal',\n}\n\nModal.Close = ModalClose\nModal.displayName = 'Modal'\n\n/**\n * Основан на [react-modal](https://github.com/reactjs/react-modal).\n *\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n */\nexport function Modal(props: ModalProps) {\n const {\n blurredOverlay,\n children,\n closeTimeoutMS,\n contentLabel,\n isOpen,\n onAfterOpen,\n onRequestClose,\n overlayClassName,\n role,\n shouldCloseOnOverlayClick,\n width,\n valign,\n className,\n style,\n zIndex,\n } = props\n\n return (\n <Styled.Modal\n blurredOverlay={blurredOverlay}\n closeTimeoutMS={closeTimeoutMS}\n contentLabel={contentLabel}\n isOpen={Boolean(isOpen)}\n onAfterOpen={onAfterOpen}\n onRequestClose={onRequestClose}\n portalClassName={className}\n overlayClassName={overlayClassName}\n bodyOpenClassName='modal--open'\n role={role}\n zIndex={zIndex}\n valign={valign}\n width={width}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n >\n <div style={style}>{children}</div>\n </Styled.Modal>\n )\n}\n","import { Icon } from '../../components/Icon'\nimport * as Styled from './style'\n\nexport interface ModalCloseProps {\n className?: string\n onClick?: () => void\n}\n\nexport function ModalClose({ className, onClick }: ModalCloseProps) {\n return (\n <Styled.ModalClose className={className} onClick={onClick}>\n <Icon name='tinyCross' color='#D9D9D9' />\n </Styled.ModalClose>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { PaperProps } from './Paper'\n\nconst zDepth = {\n 0: css`\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.11);\n `,\n 1: css`\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);\n `,\n 2: css`\n box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.1);\n `,\n 3: css`\n box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.08);\n `,\n 4: css`\n box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.14);\n `,\n}\n\nconst circle = css`\n border-radius: 50%;\n justify-content: center;\n display: flex;\n align-items: center;\n min-width: 100px;\n min-height: 100px;\n`\n\nconst rounded = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const Root = styled(Spacer)<PaperProps>`\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n ${(props) => (typeof props.zDepth === 'number' && props.shadow ? zDepth[props.zDepth] : null)}\n ${(props) => (props.rounded ? rounded : null)}\n ${(props) => (props.circle ? circle : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { SpacerProps } from '../../components/Spacer'\nimport * as Styled from './style'\n\nexport interface PaperProps extends SpacerProps, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Set to true to generate a circlular paper container\n */\n circle?: boolean\n /**\n * Paper with rounded corners\n */\n rounded?: boolean\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: false | 0 | 1 | 2 | 3 | 4\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\nPaper.displayName = 'Paper'\n\n/**\n * Расширен:\n * - [`SpacerProps`](#/Разметка%20и%20позиционирование/Spacer)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Paper({ padding = 'm', rounded = true, shadow = true, className, ...props }: PaperProps) {\n const _className = useClassname(Paper.displayName, className)\n\n return <Styled.Root padding={padding} rounded={rounded} shadow={shadow} className={_className} {...props} />\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressSegmentedProps } from './Progress.Segmented'\n\nexport const Progress = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'percentColor'>>`\n height: 100%;\n border-radius: 10px;\n width: ${(props) => `${props.percent || 0}%`};\n ${(props) => (props.percentColor ? color(props.percentColor, 'background') : color('atlantis', 'background'))};\n`\n\nexport const Separators = styled.div`\n position: absolute;\n top: 0;\n display: flex;\n justify-content: space-between;\n width: 100%;\n height: 4px;\n z-index: 3;\n`\n\nexport const Separator = styled.div<Pick<ProgressSegmentedProps, 'separatorColor'>>`\n width: 2px;\n height: 100%;\n &:first-child,\n &:last-child {\n width: 0;\n }\n ${(props) => (props.separatorColor ? color(props.separatorColor, 'background') : color('white', 'background'))}\n`\n\nconst haveCircle = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n margin-left: 8px;\n border-radius: 0 10px 10px 0;\n & ${Progress} {\n border-radius: 0 10px 10px 0;\n }\n & ${Separator} {\n &:first-child {\n position: relative;\n &:before {\n position: absolute;\n display: block;\n content: '';\n left: -8px;\n top: -2px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: ${getColor(props.percentColor || 'atlantis', props)};\n }\n }\n }\n`\n\nconst isDone = (props: Pick<ProgressSegmentedProps, 'percentColor'> & { theme: DefaultTheme }) => css`\n & ${Separator} {\n &:last-child {\n position: relative;\n &:before {\n position: absolute;\n top: -6px;\n right: -6px;\n display: block;\n content: '';\n background: ${getColor(props.percentColor || 'atlantis', props)}\n url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjciIHZpZXdCb3g9IjAgMCA5IDciPgogICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNNi45MTQgMEw4IDEuMDQ1IDIuODQ4IDYgMCAzLjI2MWwxLjA4Ni0xLjA0NUwyLjg0OCAzLjkxeiIvPgo8L3N2Zz4K')\n center no-repeat;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n }\n }\n }\n`\n\nconst isEmpty = css`\n & ${Separator} {\n &:first-child {\n &:before {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n }\n`\n\nexport const Root = styled.div<Pick<ProgressSegmentedProps, 'percent' | 'haveCircle' | 'isActive' | 'percentColor'>>`\n position: relative;\n height: 4px;\n background: rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n ${(props) => (props.haveCircle ? haveCircle(props) : null)}\n ${(props) => (props.percent === 100 ? isDone(props) : null)}\n ${(props) => (props.percent === 0 ? isEmpty : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressSegmentedProps extends BaseProps, Color<'separatorColor'>, Color<'percentColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n /**\n * segments count\n */\n segments?: number\n /**\n * custom class\n */\n className?: string\n /**\n * circle in begin progress\n */\n haveCircle?: boolean\n /**\n * active state\n */\n isActive?: boolean\n}\n\nProgressSegmented.defaultProps = {\n percent: 0,\n percentColor: '#7fc92e',\n separatorColor: '#ffffff',\n segments: 9,\n haveCircle: true,\n}\n\nProgressSegmented.displayName = 'Progress.Segmented'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'separatorColor'>`](#/Миксины)\n * - [`Color<'percentColor'>`](#/Миксины)\n */\nexport function ProgressSegmented(props: typeof ProgressSegmented.defaultProps & ProgressSegmentedProps) {\n const { percent, segments, className, style, percentColor, separatorColor, haveCircle, isActive } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n percent={percent}\n haveCircle={haveCircle}\n percentColor={percentColor}\n isActive={isActive}\n >\n <Styled.Progress percent={percent} percentColor={percentColor} />\n <Styled.Separators>\n {Array.from(new Array(segments + 1).keys()).map((item, key) => (\n <Styled.Separator separatorColor={separatorColor} key={key} />\n ))}\n </Styled.Separators>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\nimport { color, getColor } from 'mixins/color'\nimport { ProgressCircleProps } from './Progress.Circle'\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<ProgressCircleProps, 'size' | 'resultColor' | 'strokeBGColor' | 'status'>>`\n position: relative;\n width: ${(props) => (props.size ? `${props.size}px` : '84px')};\n height: ${(props) => (props.size ? `${props.size}px` : '84px')};\n flex-shrink: 0;\n svg {\n width: 100%;\n height: 100%;\n font-size: 0px;\n }\n .line {\n fill: none;\n display: block;\n ${(props) => (props.resultColor ? color(props.resultColor, 'stroke') : null)}\n }\n .bg {\n stroke: ${(props) => (props.strokeBGColor ? getColor(props.strokeBGColor, props) : `rgba(0, 0, 0, 0.12)`)};\n fill: rgba(255, 255, 255, 0);\n &.fail {\n stroke: #f1512c;\n }\n &.success {\n stroke: #7bb909;\n }\n &.started {\n stroke: #459ff3;\n }\n }\n`\n\nexport const Content = styled.div`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n img {\n border-radius: 50%;\n }\n`\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nfunction polarToCartesian(centerX: number, centerY: number, radius: number, angleInDegrees: number) {\n const angleInRadians = ((angleInDegrees - 90) * Math.PI) / 180.0\n\n return {\n x: centerX + radius * Math.cos(angleInRadians),\n y: centerY + radius * Math.sin(angleInRadians),\n }\n}\n\nfunction describeArc(x: number, y: number, radius: number, startAngle: number, endAngle: number, reverse = false) {\n const start = polarToCartesian(x, y, radius, endAngle)\n const end = polarToCartesian(x, y, radius, startAngle)\n\n const diff = endAngle - startAngle\n const angleDiff = diff < 0 ? -diff : diff\n\n const sweep = angleDiff <= 180 ? '1' : '0'\n const arcSweep = reverse ? +!+sweep : sweep\n\n return ['M', start.x, start.y, 'A', radius, radius, 0, arcSweep, 0, end.x, end.y].join(' ')\n}\n\nexport interface ProgressCircleProps extends BaseProps, Color<'resultColor'>, Color<'strokeBGColor'> {\n /**\n * status ['fail', 'success', 'started']\n */\n status?: 'fail' | 'success' | 'started'\n /**\n * progress percent\n */\n progress?: number\n /**\n * width and height\n */\n size?: number\n /**\n * center content\n */\n htmlContent?: string\n /**\n * width progress line\n */\n strokeLineWidth?: number\n /**\n * width background line\n */\n strokeBGWidth?: number\n /**\n * start angle of progress\n */\n progressStartAngle?: number\n /**\n * content inside progress circle\n */\n content?: string | number\n}\n\ninterface ProgressCircleState {\n bgAngleDiff: number\n describeArcProgress: string | null\n describeArcBg: string | null\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color<'resultColor'>`](#/Миксины)\n * - [`Color<'strokeBGColor'>`](#/Миксины)\n */\nexport class ProgressCircle extends PureComponent<\n typeof ProgressCircle.defaultProps & ProgressCircleProps,\n ProgressCircleState\n> {\n static displayName = 'Progress.Circle'\n static defaultProps = {\n size: 84,\n progress: 0,\n strokeLineWidth: 2,\n strokeBGWidth: 2,\n resultColor: 'accent',\n progressStartAngle: 180,\n }\n\n constructor(props: typeof ProgressCircle.defaultProps & ProgressCircleProps) {\n super(props)\n this.state = {\n bgAngleDiff: 0,\n describeArcProgress: null,\n describeArcBg: null,\n }\n }\n\n componentDidMount() {\n this.renderSvg()\n }\n\n componentDidUpdate(prevProps: ProgressCircleProps) {\n const { progress, size } = this.props\n const { progress: prevProgress, size: prevSize } = prevProps\n\n if (progress !== prevProgress || size !== prevSize) {\n this.renderSvg()\n }\n }\n\n renderSvg = () => {\n const { size, progress, strokeLineWidth, strokeBGWidth, progressStartAngle } = this.props\n\n const thickness = strokeLineWidth > strokeBGWidth ? strokeLineWidth : strokeBGWidth\n\n const center = size / 2 + thickness / 2\n const progressGap = 0.5\n const progressEndAngle = progressStartAngle - progressGap + (+progress / 100) * 360\n const bgStartAngle = progressStartAngle\n const bgEndAngle = bgStartAngle - progressGap\n\n const centerX = center - thickness / 2\n const centerY = center - thickness / 2\n const radius = center - thickness\n const diff = bgStartAngle - bgEndAngle\n\n const describeArcProgress = describeArc(centerX, centerY, radius, progressStartAngle, progressEndAngle, true)\n\n const describeArcBg = describeArc(centerX, centerY, radius, bgStartAngle, bgEndAngle)\n\n const bgAngleDiff = diff < 0 ? -diff : diff\n\n this.setState({\n describeArcProgress,\n describeArcBg,\n bgAngleDiff,\n })\n }\n\n render() {\n const {\n size,\n htmlContent,\n content,\n strokeLineWidth,\n strokeBGWidth,\n resultColor,\n strokeBGColor,\n status,\n progress,\n className,\n style,\n } = this.props\n\n const { bgAngleDiff, describeArcProgress, describeArcBg } = this.state\n\n return (\n <Styled.Root\n className={className}\n style={style}\n size={size}\n strokeBGColor={strokeBGColor}\n resultColor={resultColor}\n status={status}\n >\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <g className={'pathBox'}>\n <path\n className='bg'\n d={bgAngleDiff < 360 && describeArcBg ? describeArcBg : ''}\n fill='none'\n strokeWidth={strokeBGWidth}\n strokeLinecap='round'\n />\n <path\n className='line'\n d={Boolean(+progress) && describeArcProgress ? describeArcProgress : ''}\n strokeWidth={strokeLineWidth}\n strokeLinecap='round'\n />\n </g>\n </svg>\n {htmlContent && <Styled.Content dangerouslySetInnerHTML={{ __html: htmlContent }} />}\n {content && <Styled.Content>{content}</Styled.Content>}\n </Styled.Root>\n )\n }\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { ProgressProps } from './Progress'\n\nconst move = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst bgColor = (color: string) => css`\n background-color: ${tinycolor(color).setAlpha(0.6).toString()};\n`\n\nconst isLoading = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.4) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.4) 50%,\n rgba(255, 255, 255, 0.4) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${move} 2s linear infinite;\n`\n\nexport const Root = styled.div<Pick<ProgressProps, 'backgroundColor' | 'color'>>`\n display: block;\n height: 4px;\n border-radius: 40px;\n overflow: hidden;\n ${(props) => (props.backgroundColor ? color(props.backgroundColor, bgColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n`\n\nexport const Bar = styled.div.withConfig<{ width: number; isLoading: boolean }>({\n shouldForwardProp: () => false,\n})`\n width: 0;\n transition: width 1s ease-in-out;\n height: 100%;\n border-radius: inherit;\n color: inherit;\n background-color: currentColor;\n ${(props) => (props.isLoading ? isLoading : null)}\n ${(props) =>\n props.width\n ? css`\n width: ${props.width}%;\n `\n : css`\n width: 0%;\n `}\n`\n","import { ProgressSegmented } from '../../components/Progress.Segmented'\nimport { ProgressCircle } from '../../components/Progress.Circle'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface ProgressProps extends BaseProps, Color, Color<'backgroundColor'> {\n /**\n * Current percent complete\n */\n percent?: number\n isLoading?: boolean\n}\n\nProgress.defaultProps = {\n percent: 0,\n color: 'green',\n backgroundColor: 'alto',\n isLoading: false,\n}\n\nProgress.Circle = ProgressCircle\nProgress.Segmented = ProgressSegmented\nProgress.displayName = 'Progress'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'backgroundColor'>`](#/Миксины)\n */\nexport function Progress(props: ProgressProps) {\n const { className, isLoading, backgroundColor, color, percent } = props\n\n let _percent: number = typeof percent === 'string' ? parseInt(percent, 10) : percent || 0\n\n if (_percent > 100) _percent = 100\n if (_percent < 0) _percent = 0\n\n return (\n <Styled.Root className={className} backgroundColor={backgroundColor} color={color}>\n <Styled.Bar width={_percent} isLoading={Boolean(isLoading)} />\n </Styled.Root>\n )\n}\n","import { PureComponent } from 'react'\nimport { Scrollbars, ScrollbarsProps } from 'rc-scrollbars'\nimport { DefaultTheme, withTheme } from 'styled-components'\n\nexport interface ScrollableProps extends Partial<ScrollbarsProps> {\n /**\n * Children react node\n */\n children: React.ReactNode[] | React.ReactNode\n /**\n * Enable auto-hide mode\n * @see See [github docs](https://github.com/sakhnyuk/rc-scrollbars) for description\n */\n autoHide?: boolean\n /**\n * Hide delay in ms.\n */\n autoHideTimeout?: number\n /**\n * Duration for hide animation in ms.\n */\n autoHideDuration?: number\n /**\n * Enable auto-height mode.\n */\n autoHeight?: boolean\n /**\n * Set a minimum height for auto-height mode\n */\n autoHeightMin?: number\n /**\n * Set a maximum height for auto-height mode\n */\n autoHeightMax?: number\n /**\n * Event handler\n */\n onScroll?(): void\n /**\n * Runs inside the animation frame.\n */\n onScrollFrame?(): void\n /**\n * Called when scrolling starts\n */\n onScrollStart?(): void\n /**\n * Called when scrolling stops\n */\n onScrollStop?(): void\n /**\n * Height of shadow\n */\n shadowHeight?: number\n /**\n * Show shadow in scrollable component\n */\n withShadow?: boolean\n /**\n * Color of shadow from #Colors\n */\n shadowColor?: string\n /**\n * Opacity of shadow\n */\n shadowOpacity?: number\n /**\n * Color of thumb\n */\n thumbColor?: string\n /**\n * Opacity of thumb\n */\n thumbOpacity?: number\n /**\n * Border radius of thumb (px)\n */\n thumbBorderRadius?: number\n /**\n /**\n * Border radius of thumb (px)\n */\n thumbWidth?: number\n /**\n * Color of track (HEX)\n */\n trackColor?: string\n /**\n * Opacity of track\n */\n trackOpacity?: number\n /**\n * Border radius of track (px)\n */\n trackBorderRadius?: number\n /**\n /**\n * Border radius of track (px)\n */\n trackWidth?: number\n /**\n * Style for scrollable container\n */\n style?: object\n /**\n * Classname of scrollable container\n */\n className?: string\n /**\n * Disable scrollbar and return div\n */\n disabled?: boolean\n /**\n * Prevent body scrolling when start|end touched\n */\n isolate?: boolean\n\n theme?: DefaultTheme\n}\n\ntype ScrollableState = {\n scrollTop: number\n scrollHeight: number\n clientHeight: number\n}\n\n// eslint-disable-next-line no-use-before-define\nclass Scrollable extends PureComponent<typeof Scrollable.defaultProps & ScrollableProps, ScrollableState> {\n static displayName = 'Scrollable'\n static defaultProps = {\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n withShadow: false,\n shadowHeight: 50,\n shadowOpacity: 0.15,\n shadowColor: 'mineShaft',\n thumbColor: 'mineShaft',\n thumbOpacity: 0.15,\n thumbBorderRadius: 1,\n thumbWidth: 4,\n trackColor: '#333333',\n trackOpacity: 0.15,\n trackBorderRadius: 1,\n trackWidth: 4,\n disabled: false,\n isolate: true,\n }\n\n scrollable: HTMLDivElement | null = null\n ts = 0\n\n state = {\n scrollTop: 0,\n scrollHeight: 0,\n clientHeight: 0,\n }\n\n componentDidMount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchstart', this.handleTouchStart, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchmove', this.handleTouchMove, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('wheel', this.handleScroll, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void,\n false\n )\n }\n\n componentWillUnmount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchstart', this.handleTouchStart)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchmove', this.handleTouchMove)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('wheel', this.handleScroll)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void\n )\n }\n\n handleTouchStart = (e: TouchEvent) => {\n this.ts = e.touches[0].clientY\n }\n\n handleTouchMove = (e: TouchEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const te = e.changedTouches[0].clientY\n const dir = this.ts > te ? -1 : 1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n Math.floor((scrollarea as HTMLDivElement).scrollTop) ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n this.ts = te\n }\n\n return true\n }\n\n handleScroll = (e: WheelEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const delta = e.deltaY || e.detail\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const dir = delta < 0 ? 1 : -1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n (scrollarea as HTMLDivElement).scrollTop ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n }\n\n return true\n }\n\n handleUpdate = (values: ScrollableState) => {\n const { scrollTop, scrollHeight, clientHeight } = values\n\n this.setState({\n scrollTop,\n scrollHeight,\n clientHeight,\n })\n }\n\n calculateShadowOffset() {\n const { scrollTop, scrollHeight, clientHeight } = this.state\n const { shadowHeight = 50 } = this.props\n\n const diffH = scrollHeight - clientHeight || 0\n\n const a = (scrollTop * 100) / (diffH <= 0 ? 1 : diffH)\n const b = (shadowHeight * a) / 100\n\n return Math.floor(-shadowHeight + b)\n }\n\n hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null\n }\n\n renderTrack = ({ style, ...props }: { style: React.CSSProperties }, dir: 'vertical' | 'horizontal') => {\n const { trackColor, trackOpacity, trackBorderRadius, trackWidth } = this.props\n\n const hex = trackColor ? this.hexToRgb(trackColor) : null\n\n const trackStyle = {\n background: hex ? `rgba(${hex.r}, ${hex.g}, ${hex.b}, ${trackOpacity})` : `rgba(255,255,255,0)`,\n borderRadius: `${trackBorderRadius}px`,\n zIndex: 14,\n ...(dir === 'vertical'\n ? {\n right: 4,\n top: 2,\n bottom: 2,\n width: `${trackWidth}px`,\n }\n : {\n bottom: 4,\n left: 2,\n right: 2,\n height: `${trackWidth}px`,\n }),\n }\n\n return (\n <div\n style={{\n ...style,\n ...trackStyle,\n }}\n {...props}\n />\n )\n }\n\n renderThumb = ({ style, ...scrollableProps }: { style: React.CSSProperties }) => {\n const { thumbColor, thumbOpacity, thumbBorderRadius, thumbWidth } = this.props\n\n const thumbStyle = {\n opacity: thumbOpacity,\n backgroundColor:\n (this.props.theme as DefaultTheme).colors[thumbColor] || (this.props.theme as DefaultTheme).colors[thumbColor],\n borderRadius: `${thumbBorderRadius}px`,\n width: `${thumbWidth}px`,\n }\n\n return <div style={{ ...style, ...thumbStyle }} {...scrollableProps} />\n }\n\n render() {\n const {\n children,\n withShadow,\n shadowHeight,\n shadowColor,\n shadowOpacity,\n className,\n thumbColor, // eslint-disable-line\n thumbOpacity, // eslint-disable-line\n thumbBorderRadius, // eslint-disable-line\n thumbWidth, // eslint-disable-line\n trackColor, // eslint-disable-line\n trackOpacity, // eslint-disable-line\n trackBorderRadius, // eslint-disable-line\n trackWidth, // eslint-disable-line\n isolate, // eslint-disable-line\n style,\n disabled,\n ...props\n } = this.props\n\n if (disabled) return <div>{children}</div>\n\n const { scrollHeight, clientHeight } = this.state\n\n const shadowOffset = this.calculateShadowOffset()\n\n return (\n <div\n style={{\n ...style,\n position: 'relative',\n }}\n className={className}\n >\n {withShadow && scrollHeight > clientHeight && shadowOffset !== -shadowHeight && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n top: `-${shadowHeight}px`,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to bottom, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n {withShadow && scrollHeight > clientHeight && shadowOffset < 0 && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to top, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n <Scrollbars\n renderTrackVertical={(nodeProps) => this.renderTrack({ ...nodeProps }, 'vertical')}\n renderTrackHorizontal={(nodeProps) => this.renderTrack({ ...nodeProps }, 'horizontal')}\n renderThumbHorizontal={this.renderThumb}\n renderThumbVertical={this.renderThumb}\n onUpdate={this.handleUpdate}\n hideTracksWhenNotNeeded\n {...props}\n >\n <div\n ref={(node) => {\n this.scrollable = node\n }}\n >\n {children}\n </div>\n </Scrollbars>\n </div>\n )\n }\n}\n\n/**\n * Scrollable component for create custom scrollable content\n *\n * Based on https://github.com/sakhnyuk/rc-scrollbars\n */\nconst withThemeScrollable = withTheme(Scrollable)\n\nwithThemeScrollable.displayName = 'Scrollable'\n\nexport { withThemeScrollable as Scrollable }\n","import styled, { css } from 'styled-components'\nimport { Spacer } from '../../components/Spacer'\nimport { color } from '../../mixins/color'\nimport { SectionProps } from './Section'\n\nconst zDepth = {\n 1: css`\n box-shadow: 0 15px 20px 0 rgba(27, 55, 147, 0.06);\n `,\n 2: css`\n box-shadow: rgba(0, 0, 0, 0.156863) 0px 3px 10px, rgba(0, 0, 0, 0.227451) 0px 3px 10px;\n `,\n 3: css`\n box-shadow: rgba(0, 0, 0, 0.188235) 0px 10px 30px, rgba(0, 0, 0, 0.227451) 0px 6px 10px;\n `,\n 4: css`\n box-shadow: rgba(0, 0, 0, 0.247059) 0px 14px 45px, rgba(0, 0, 0, 0.219608) 0px 10px 18px;\n `,\n 5: css`\n box-shadow: rgba(0, 0, 0, 0.298039) 0px 19px 60px, rgba(0, 0, 0, 0.219608) 0px 15px 20px;\n `,\n}\n\nexport const Root = styled(Spacer)<SectionProps>`\n display: block;\n color: #000;\n background-color: ${(props) => props.theme.colors.white};\n ${(props) =>\n props.textAlign\n ? css`\n text-align: ${props.textAlign};\n `\n : null}\n ${(props) => (typeof props.zDepth === 'number' ? zDepth[props.zDepth] : null)}\n ${(props) => (props.color ? color(props.color, 'background-color') : null)}\n`\n","import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SectionProps extends BaseProps, Display, Color, ResponsiveNamedProperty<'padding'> {\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: 1 | 2 | 3 | 4 | 5\n /**\n * Section content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text align\n */\n textAlign?: 'left' | 'right' | 'center'\n}\n\nSection.displayName = 'Section'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n */\nexport function Section(props: SectionProps) {\n return <Styled.Root {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport { color } from '../../mixins/color'\nimport { property, responsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Text as UiText } from '../Text'\nimport { SeparatorProps } from './Separator'\n\nconst WEIGHT_MAP = {\n 1: '0.05em',\n 2: '0.1em',\n 3: '0.15em',\n 4: '0.25em',\n 5: '0.3em',\n}\n\nexport const Text = styled(UiText)`\n position: absolute;\n z-index: 1;\n display: inline-block;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 0 12px;\n background-color: ${(props) => props.theme.colors.white};\n`\n\nexport const TextRoot = styled.div`\n display: block;\n width: auto;\n position: relative;\n z-index: 0;\n text-align: center;\n`\n\nexport const Root = styled.div.withConfig<SeparatorProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n display: block;\n width: auto;\n background-color: currentColor;\n ${(props) => css`\n height: ${WEIGHT_MAP[props.weight || 1]};\n `}\n ${(props) => (props.color ? color(props.color, 'color') : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n","import { Color } from '../../mixins/color'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { SeparatorText } from './SeparatorText'\nimport * as Styled from './style'\n\nexport interface SeparatorProps\n extends BaseProps,\n Color,\n ResponsiveNamedProperty<'top'>,\n ResponsiveNamedProperty<'right'>,\n ResponsiveNamedProperty<'bottom'>,\n ResponsiveNamedProperty<'left'>,\n ResponsiveNamedProperty<'padding'>,\n ResponsiveNamedProperty<'paddingTop'>,\n ResponsiveNamedProperty<'paddingRight'>,\n ResponsiveNamedProperty<'paddingBottom'>,\n ResponsiveNamedProperty<'paddingLeft'>,\n ResponsiveNamedProperty<'margin'>,\n ResponsiveNamedProperty<'marginTop'>,\n ResponsiveNamedProperty<'marginRight'>,\n ResponsiveNamedProperty<'marginBottom'>,\n ResponsiveNamedProperty<'marginLeft'> {\n /**\n * Separator weight\n */\n weight?: 1 | 2 | 3 | 4 | 5\n}\n\nSeparator.defaultProps = {\n margin: 's',\n color: 'grey',\n weight: 1,\n}\n\nSeparator.Text = SeparatorText\nSeparator.displayName = 'Separator'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'top'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'right'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'left'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Separator(props: typeof Separator.defaultProps & SeparatorProps) {\n return <Styled.Root {...props} />\n}\n","import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nexport function SeparatorText({ children, className, color, ...restProps }: SeparatorTextProps) {\n return (\n <Styled.TextRoot>\n <Separator className={className} color={color} {...restProps} />\n <Styled.Text color={color}>{children}</Styled.Text>\n </Styled.TextRoot>\n )\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport {\n responsiveNamedProperty,\n property,\n ResponsiveNamedProperty,\n CalcProperty,\n} from '../../mixins/responsive-property'\nimport { SpinnerProps } from './Spinner'\n\nconst SIZES = {\n l: 60,\n m: 40,\n s: 20,\n}\n\nconst spinner = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nconst fullscreen = css`\n height: 100vh;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst inline = css`\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n`\n\nconst sizeBuilder: CalcProperty = (size, sizing = 'px') => {\n if (size === 0) return null\n return css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n &:before {\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n margin-top: -${(size as number) / 2}${sizing};\n margin-left: -${(size as number) / 2}${sizing};\n }\n `\n}\n\nconst getSize = (size: ResponsiveNamedProperty<'size'>['size']): number => {\n if (!size || typeof size === 'boolean') return 0\n if (typeof size === 'number') return size\n if (SIZES[size]) return SIZES[size]\n return 0\n}\n\nexport const Root = styled.div.withConfig<SpinnerProps>({\n shouldForwardProp: (prop) => ['className', 'style'].includes(prop),\n})`\n display: block;\n position: relative;\n display: block;\n margin: 30px auto;\n &:before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n border: 2px solid #eee;\n border-top-color: #459ff3;\n animation: ${spinner} 0.6s linear infinite;\n }\n ${(props) => (props.inline ? inline : null)}\n\n ${(props) => (props.size ? property(SIZES[props.size] || props.size, sizeBuilder) : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) => {\n return responsiveNamedProperty({\n sizes: {\n sizeXS: getSize(sizeXS),\n sizeS: getSize(sizeS),\n sizeM: getSize(sizeM),\n sizeL: getSize(sizeL),\n sizeXL: getSize(sizeXL),\n },\n cssProperty: sizeBuilder,\n })\n }}\n\n ${(props) => (props.fullscreen ? fullscreen : null)}\n`\n","import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nexport function Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n","import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport { SwitcherProps } from './Switcher'\n\nconst switcherWidth = 60\nconst switcherHeight = 32\nconst borderRadius = 40\nconst dotSize = 24\nconst defaultBackground = '#eaecf3'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${switcherWidth}px;\n height: ${switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition: background 0.3s ease, background-image 0.3s ease;\n border-radius: ${borderRadius}px;\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: ${defaultBackground};\n flex: 0 0 auto;\n &:before {\n position: absolute;\n top: ${(switcherHeight - dotSize) / 2}px;\n left: ${(switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${dotSize}px;\n height: ${dotSize}px;\n content: '';\n transition: background 0.3s ease, left 0.3s ease;\n transform: translateZ(0);\n border-radius: 100%;\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);\n }\n\n &:active {\n &::before {\n box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);\n }\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n background-color: ${defaultBackground};\n box-shadow: none;\n &:before {\n background-color: ${(props) => props.theme.colors.white};\n box-shadow: none;\n }\n }\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checked = css`\n & ${Switcher} {\n &:before {\n left: ${switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nexport const Root = styled.div.withConfig<Omit<SwitcherProps, 'onChange'>>({\n shouldForwardProp: (prop) => ['className', 'style', 'children'].includes(prop),\n})`\n line-height: ${switcherHeight}px;\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${switcherHeight}px;\n vertical-align: middle;\n justify-content: flex-start;\n align-content: center;\n align-items: center;\n max-width: 100%;\n color: inherit;\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.value ? checked : null)}\n ${(props) =>\n props.value && props.color\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.color, props)).lighten(10).toString()},\n ${getColor(props.color, props)}\n );\n }\n `\n : props.inactiveColor\n ? css`\n & ${Switcher} {\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.inactiveColor, props)).lighten(10).toString()},\n ${getColor(props.inactiveColor, props)}\n );\n }\n `\n : null}\n`\n","import { createRef } from 'react'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SwitcherProps extends BaseProps, Color<'color'>, Color<'inactiveColor'> {\n /**\n * Id for swithcer\n */\n id?: string\n /**\n * Name of input\n */\n name?: string\n /**\n * Value of input\n */\n value?: boolean\n /**\n * Switcher is disabled\n */\n disabled?: boolean\n /**\n * Tabindex\n */\n tabIndex?: number\n /**\n * Label of switcher\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * onChange function\n */\n onChange?(_checked: boolean, _event: React.ChangeEvent<HTMLInputElement>): void\n}\n\nSwitcher.defaultProps = {\n value: false,\n disabled: false,\n color: 'atlantis',\n}\n\nSwitcher.displayName = 'Switcher'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'inactiveColor'>`](#/Миксины)\n */\nexport function Switcher(props: typeof Switcher.defaultProps & SwitcherProps) {\n const inputRef = createRef<HTMLInputElement>()\n const { id, value, name, children, tabIndex, onChange, ...restProps } = props\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!props.disabled && typeof onChange === 'function') {\n onChange(event.target.checked, event)\n }\n }\n\n return (\n <Styled.Root value={value} {...restProps}>\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n ref={inputRef}\n onChange={handleChange}\n />\n <Styled.Switcher htmlFor={id} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { color } from 'mixins/color'\nimport { responsiveProperty } from 'mixins/responsive-property'\nimport { TabsProps } from './Tabs'\nimport { TabProps } from './TabsTab'\n\nconst BEFORE_AFTER_SHADOW_WIDTH = 20\n\nconst borderColor = (color: string) => css`\n border-bottom: 1px solid ${color};\n`\n\nconst getThemedCss = (theme: TabProps['theme']) => {\n switch (theme) {\n case 'compact':\n return css`\n font-weight: normal;\n & + & {\n margin-left: 20px;\n }\n `\n case 'crispyCompact':\n return css`\n text-transform: uppercase;\n font-size: 12px;\n height: 16px;\n line-height: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid ${(props) => props.theme.colors.mercury};\n & + & {\n margin-left: 18px;\n }\n `\n case 'crispy':\n return css`\n height: 35px;\n text-transform: uppercase;\n font-size: 12px;\n & + & {\n margin-left: 32px;\n }\n `\n default:\n return null\n }\n}\n\nconst activeTab = css`\n color: ${(props) => props.theme.colors.primary};\n position: relative;\n &:after {\n width: initial;\n opacity: 1;\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => prop === 'children',\n})<Pick<TabsProps, 'noBorder' | 'borderColor' | 'color' | 'width'>>`\n color: rgba(247, 247, 247, 1);\n display: flex;\n align-items: flex-end;\n justify-content: center;\n flex-direction: row;\n ${(props) => (props.borderColor && !props.noBorder ? color(props.borderColor, borderColor) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n ${responsiveProperty('width')}\n`\n\nexport const Inner = styled.div`\n position: relative;\n display: block;\n width: auto;\n height: auto;\n padding: 0;\n margin: 0 -20px;\n box-sizing: border-box;\n background: transparent;\n overflow: visible;\n max-width: 100%;\n width: 100%;\n &::before,\n &::after {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n display: block;\n content: '';\n width: ${BEFORE_AFTER_SHADOW_WIDTH}px;\n height: 100%;\n }\n\n &::before {\n left: 0;\n background: linear-gradient(-90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n\n &::after {\n right: 0;\n background: linear-gradient(90deg, rgba(247, 247, 247, 0) 0%, currentColor 100%);\n }\n`\n\nexport const Content = styled.div<Pick<TabsProps, 'noBorder'>>`\n display: block;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n box-sizing: border-box;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n color: ${(props) => props.theme.colors.mineShaft};\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n height: 0;\n background: transparent;\n visibility: hidden;\n }\n\n &::-webkit-scrollbar-thumb {\n height: 0px;\n background: transparent;\n visibility: hidden;\n }\n\n ${(props) =>\n props.noBorder\n ? css`\n display: flex;\n justify-content: space-between;\n width: 100%;\n `\n : null}\n`\n\nexport const Tab = styled.div.withConfig<TabProps & { themeKey: TabProps['theme'] }>({\n shouldForwardProp: (prop) => !['themeKey', 'color', 'borderColor', 'active'].includes(prop),\n})`\n display: inline-block;\n margin-bottom: -1px;\n flex-shrink: 0;\n font-size: 16px;\n font-weight: bold;\n line-height: 20px;\n padding-bottom: 14px;\n text-decoration: none;\n cursor: pointer;\n z-index: 2;\n transition: color 0.2s ease-out;\n ${(props) => (props.color ? color(props.color) : null)}\n ${(props) => (props.borderColor ? color(props.borderColor, borderColor) : null)}\n &:after {\n opacity: 0;\n width: 0;\n content: '';\n height: 3px;\n position: absolute;\n bottom: -1px;\n z-index: 1;\n left: 0;\n right: 0;\n background-color: currentColor;\n transition: opacity 0.2s ease-out;\n }\n &:hover {\n color: ${(props) => props.theme.colors.primary};\n }\n & + & {\n margin-left: 60px;\n }\n ${(props) => (props.themeKey ? getThemedCss(props.themeKey) : null)}\n ${(props) => (props.active ? activeTab : null)}\n &.active {\n ${activeTab}\n }\n`\n","import { NavLink } from 'react-router-dom'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends Color, Color<'borderColor'> {\n /**\n * An element type to render as (string or function).\n */\n as?: 'div' | 'a' | 'button' | 'span' | typeof NavLink\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Active tab.\n */\n active?: boolean\n /**\n * Active tab.\n */\n activeClassName?: string\n /**\n * Active tab.\n */\n theme?: 'compact' | 'crispy' | 'crispyCompact'\n className?: string\n}\n\nTabsTab.defaultProps = {\n as: 'div',\n activeClassName: 'active',\n borderColor: 'alto',\n color: 'mineShaft',\n}\n\nexport function TabsTab(props: TabProps) {\n const { as, className, children, theme, ...rest } = props\n\n const linkProps = typeof as !== 'string' ? { activeClassName: 'active' } : {}\n\n return (\n <Styled.Tab as={as} className={className} themeKey={theme} {...linkProps} {...rest}>\n {children}\n </Styled.Tab>\n )\n}\n","import { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TabsTab } from './TabsTab'\nimport * as Styled from './style'\n\nexport interface TabsProps extends BaseProps, Color, Color<'borderColor'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n className?: string\n classNameInner?: string\n classNameContent?: string\n noBorder?: boolean\n width?: ResponsiveProperty<number>\n}\n\nTabs.defaultProps = {\n borderColor: 'alto',\n color: 'rgba(247, 247, 247, 1)',\n}\n\nTabs.Tab = TabsTab\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'borderColor'>`](#/Миксины)\n */\nexport function Tabs(props: TabsProps) {\n const { children, className, classNameInner, classNameContent, borderColor, color, noBorder, style, width } = props\n\n return (\n <Styled.Root\n className={className}\n style={style}\n width={width}\n borderColor={borderColor}\n color={color}\n noBorder={noBorder}\n >\n <Styled.Inner className={classNameInner}>\n <Styled.Content noBorder={noBorder} className={classNameContent}>\n {children}\n </Styled.Content>\n </Styled.Inner>\n </Styled.Root>\n )\n}\n","import { TooltipProps } from './Tooltip'\n\nconst zIndex = 100\n\nexport const tooltipStyles: TooltipProps['styles'] = {\n wrapper: {\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n WebkitFilter: 'drop-shadow(0 6px 6px rgba(0, 0, 0, 0.2))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 3,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 32,\n minWidth: 180,\n padding: '16px',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n borderBottom: '1px solid var(--mineShaft)',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: 18,\n marginBottom: 5,\n paddingBottom: 6,\n paddingRight: 18,\n },\n content: {\n fontSize: 12,\n lineHeight: '16px',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n color: '#fff',\n display: 'inline-flex',\n length: 6,\n position: 'absolute',\n spread: 12,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipStylesRounend: TooltipProps['styles'] = {\n wrapper: {\n cursor: 'pointer',\n display: 'inline-flex',\n flexDirection: 'column',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 100,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 10,\n backgroundColor: '#fff',\n color: 'var(--mineShaft)',\n minHeight: 20,\n minWidth: 58,\n padding: '2px 6px 1px',\n position: 'relative',\n display: 'flex',\n textAlign: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n title: {\n display: 'block',\n color: 'var(--mineShaft)',\n fontWeight: 'bold',\n fontSize: '12px',\n lineHeight: '17px',\n marginBottom: 0,\n paddingBottom: 0,\n paddingRight: 0,\n borderBottom: 'none',\n },\n content: {\n fontSize: '12px',\n lineHeight: '17px',\n textDecoration: 'none',\n },\n close: {\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n color: 'var(--mineShaft)',\n fontSize: 14,\n height: 10,\n lineHeight: '16px',\n outline: 'none',\n padding: 0,\n position: 'absolute',\n right: '4px',\n textAlign: 'center',\n top: '4px',\n WebkitAppearance: 'none',\n width: 10,\n },\n footer: {\n borderTop: '1px solid var(--mineShaft)',\n fontSize: 13,\n marginTop: 10,\n paddingTop: 5,\n },\n arrow: {\n display: 'none',\n length: 0,\n position: 'absolute',\n spread: 0,\n },\n options: {\n zIndex,\n },\n}\n\nexport const tooltipDisplayBlockStyles: TooltipProps['styles'] = {\n ...tooltipStyles,\n wrapper: {\n ...tooltipStyles.wrapper,\n display: 'block',\n },\n}\n","import Floater from 'react-floater'\nimport { mergeDeepRight } from 'ramda'\nimport { tooltipStyles, tooltipStylesRounend, tooltipDisplayBlockStyles } from './tooltip-styles'\n\nTooltip.defaultProps = {\n autoOpen: false,\n disableAnimation: false,\n disableFlip: false,\n disableHoverToClick: false,\n event: 'click',\n eventDelay: 0.4,\n offset: 15,\n placement: 'bottom',\n showCloseButton: false,\n styles: tooltipStyles,\n target: null,\n wrapperOptions: {\n position: false,\n },\n component: null,\n}\n\nTooltip.themes = {\n tooltipStyles,\n tooltipDisplayBlockStyles,\n tooltipStylesRounend,\n}\n\nTooltip.displayName = 'Tooltip'\n\ntype FloaterProps = Parameters<typeof Floater>[0]\n\nexport type TooltipProps = FloaterProps\n\n/**\n * Основан на [react-floater](https://github.com/gilbarbara/react-floater).\n */\nexport function Tooltip({ children, styles = {}, ...props }: TooltipProps) {\n const tooltipStyle = mergeDeepRight(tooltipStyles || {}, styles) as TooltipProps['styles']\n\n return (\n <Floater styles={tooltipStyle} {...props}>\n <span>{children}</span>\n </Floater>\n )\n}\n","import styled, { css } from 'styled-components'\nimport { display } from 'mixins/display'\nimport { color } from 'mixins/color'\nimport { property, PossibleValues, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { Text as UiText, TextProps } from '../Text/Text'\nimport { TagProps } from './Tag'\n\nconst WIDTHS: Record<Partial<Exclude<TagProps['size'], 'auto' | undefined>>, number> = {\n l: 220,\n m: 182,\n s: 100,\n xs: 60,\n}\n\nconst chooseWidthValue = (props: TagProps): PossibleValues => {\n if (props.width === 'auto') return 'auto'\n if (typeof props.width === 'number') return props.width\n\n if (props.size && WIDTHS[props.size]) return WIDTHS[props.size]\n\n return 'auto'\n}\n\nconst active = css`\n border-color: transparent;\n background-color: currentColor;\n`\n\nexport const Text = styled(UiText)<TextProps>`\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n vertical-align: middle;\n transition: color 0.25s ease;\n`\n\nconst disabled = css`\n cursor: not-allowed;\n background-color: rgba(0, 0, 0, 0.04);\n ${Text} {\n color: rgba(0, 0, 0, 0.16);\n }\n`\n\nexport const Root = styled.button.withConfig<TagProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor', 'className', 'style', 'onClick'].includes(prop),\n})`\n padding: 0px 16px;\n margin-bottom: 10px;\n border-radius: 3px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.whiteGray};\n box-sizing: border-box;\n vertical-align: middle;\n transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;\n cursor: pointer;\n text-align: center;\n touch-action: manipulation;\n min-width: 60px;\n\n ${(props) => (props.size ? property(chooseWidthValue(props), 'width') : null)}\n ${(props) => (props.height ? property(props.height, 'line-height') : null)}\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n ${({ heightXS, heightS, heightM, heightL, heightXL }) =>\n responsiveNamedProperty({ sizes: { heightXS, heightS, heightM, heightL, heightXL }, cssProperty: 'height' })}\n\n ${(props) => (props.width ? property(props.width, 'width') : null)}\n ${({ widthXS, widthS, widthM, widthL, widthXL }) =>\n responsiveNamedProperty({ sizes: { widthXS, widthS, widthM, widthL, widthXL }, cssProperty: 'width' })}\n\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) => (props.color ? color(props.color) : null)}\n\n &:not(:last-child) {\n margin-right: 20px;\n }\n\n ${(props) =>\n !props.disabled\n ? css`\n &:hover:not(:disabled) {\n border-color: currentColor;\n }\n &:active:not(:disabled) {\n ${active}\n ${Text} {\n color: ${(props) => props.theme.colors.white};\n }\n }\n `\n : null}\n\n ${(props) => (props.inverse || props.checked ? active : null)}\n\n &:disabled {\n ${disabled}\n }\n ${(props) => (props.disabled ? disabled : null)}\n`\n","import { ResponsiveNamedProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { BaseProps } from '../../shared/interfaces'\nimport { TextProps } from '../Text/Text'\nimport * as Styled from './style'\n\nexport interface TagProps\n extends BaseProps,\n Display,\n Color,\n ResponsiveNamedProperty<'height'>,\n ResponsiveNamedProperty<'width'> {\n as?: 'button' | 'div' | 'input' | 'label'\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Input type\n */\n inputType?: 'checkbox' | 'radio'\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * On click handler\n */\n onClick?(_e: React.MouseEvent<HTMLInputElement>): void\n /**\n * Whether or not Radio is checked\n */\n defaultChecked?: boolean\n /**\n * Value\n */\n value?: string | number\n /** Children are placed before Text */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /** Inner Text content */\n content?: React.ReactNode\n /** Inner Text component props */\n textProps?: TextProps\n /** Checked state */\n checked?: boolean\n /** Disabled state */\n disabled?: boolean\n /** Error state */\n error?: boolean\n /** If as = 'label' could provide for */\n htmlFor?: string\n /**\n * inverse\n */\n inverse?: boolean\n /**\n * Size\n */\n size?: 'l' | 'm' | 's' | 'xs'\n}\n\nTag.defaultProps = {\n display: 'inline-block',\n as: 'button',\n height: 40,\n}\n\nTagInput.defaultProps = {\n display: 'inline-block',\n height: 40,\n}\n\n// Prevent brakechanges\nTag.Input = TagInput\n\nTag.displayName = 'Tag'\n\nfunction TagInput(props: typeof TagInput.defaultProps & TagProps) {\n return <Tag as='input' {...props} />\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveNamedProperty<'width'>`](#/Миксины)\n * - [`ResponsiveNamedProperty<'height'>`](#/Миксины)\n */\nexport function Tag(props: typeof Tag.defaultProps & TagProps) {\n const {\n as,\n textProps,\n content,\n children,\n htmlFor,\n id,\n name,\n inputType,\n value,\n disabled,\n onChange,\n onClick,\n inverse,\n checked,\n ...restProps\n } = props\n\n const buttonProps = as === 'button' ? { type: 'button' } : {}\n const labelProps = as === 'label' ? { htmlFor } : {}\n const inputProps = as === 'input' ? { htmlFor: id || name } : {}\n\n return (\n <Styled.Root\n as={as === 'input' ? 'label' : as}\n inverse={inverse}\n checked={checked}\n disabled={disabled}\n onClick={as !== 'input' ? onClick : undefined}\n {...labelProps}\n {...buttonProps}\n {...inputProps}\n {...restProps}\n >\n {as === 'input' ? (\n <input\n id={id || name}\n name={name}\n type={inputType || 'checkbox'}\n tabIndex={0}\n onChange={(e) => {\n e.persist()\n\n return onChange && onChange(e)\n }}\n onClick={(e) => {\n e.persist()\n\n return onClick && onClick(e)\n }}\n defaultChecked={props.defaultChecked}\n checked={checked}\n value={value}\n disabled={disabled}\n hidden\n />\n ) : null}\n {children}\n <Styled.Text size={14} forwardedAs='span' color={checked && !inverse ? 'white' : 'mineShaft'} {...textProps}>\n {content}\n </Styled.Text>\n </Styled.Root>\n )\n}\n","import styled from 'styled-components'\n\nexport const HeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n text-transform: uppercase;\n`\n\nexport const SubHeadingRoot = styled.div`\n display: block;\n padding: 9px 20px 16px;\n user-select: none;\n`\n\nexport const ControlsRoot = styled.div`\n display: flex;\n justify-content: space-between;\n border-top: 1px solid ${(props) => props.theme.colors.mercury};\n user-select: none;\n`\n\nexport const ControlsItem = styled.div`\n padding: 12px 20px;\n cursor: pointer;\n`\n\nexport const MultilevelItems = styled.div`\n max-height: 170px;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n`\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface HeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function Heading({ children, content }: HeadingProps) {\n return (\n <Styled.HeadingRoot>\n {children}\n <Text size='s' lineHeight='s' weight='bold' color='mineShaft'>\n {content}\n </Text>\n </Styled.HeadingRoot>\n )\n}\n","import { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface SubHeadingProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: React.ReactNode\n}\n\nexport function SubHeading({ children, content }: SubHeadingProps) {\n return (\n <Styled.SubHeadingRoot>\n {children}\n <Text size='s' lineHeight='s' color='mineShaft'>\n {content}\n </Text>\n </Styled.SubHeadingRoot>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport { MultiLevelControls } from './ContextMenu.Multilevel'\nimport * as Styled from './style'\n\nexport interface ControlsProps extends BaseProps {\n /** Cancel Text element props */\n cancel?: MultiLevelControls['cancel']\n /** Confirm Text element props */\n confirm?: MultiLevelControls['confirm']\n}\n\nexport function Controls({ cancel, confirm, className, style }: ControlsProps) {\n return (\n <Styled.ControlsRoot className={className} style={style}>\n {cancel ? (\n <Styled.ControlsItem className='cancel' role='button' onClick={cancel.onClick}>\n <Text size='m' lineHeight='s' content={cancel.content} color={cancel.color || 'silver'} />\n </Styled.ControlsItem>\n ) : null}\n {confirm ? (\n <Styled.ControlsItem className='confirm' role='button' onClick={confirm.onClick}>\n <Text size='m' lineHeight='s' content={confirm.content} color={confirm.color || 'accent'} />\n </Styled.ControlsItem>\n ) : null}\n </Styled.ControlsRoot>\n )\n}\n","import { PureComponent } from 'react'\nimport { ColorNames } from '../../theme/colors'\nimport { Spacer } from '../../components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { BaseProps, HEX, RGB, RGBA } from '../../shared/interfaces'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: RGB | RGBA | HEX | keyof typeof ColorNames\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n","import styled, { css } from 'styled-components'\nimport { ContextMenuProps } from './ContextMenu'\nimport { ContextMenuItemProps } from './Item'\n\nconst isOpen = css`\n &:after {\n cursor: default;\n user-select: none;\n content: '';\n display: block;\n position: fixed;\n width: 100%;\n height: 100%;\n z-index: ${(props) => props.theme.zIndex.tooltip};\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n }\n`\n\nconst disabledItem = css`\n background-color: ${(props) => props.theme.colors.alabaster};\n opacity: 0.6;\n cursor: default;\n`\n\nconst notDisabledItem = css`\n &:hover {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n`\n\nexport const Root = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'style'].includes(prop),\n})<Pick<ContextMenuProps, 'isOpen' | 'hideOverlay'>>`\n display: inline-block;\n position: relative;\n [style*='cursor'] {\n cursor: default !important;\n }\n & + & {\n margin-left: 16px;\n }\n ${(props) => (props.isOpen && Boolean(props.hideOverlay) === false ? isOpen : null)}\n`\n\nexport const RootItem = styled.div.withConfig({\n shouldForwardProp: (prop) => ['className', 'onClick', 'children', 'data-id'].includes(prop),\n})<Pick<ContextMenuItemProps, 'active' | 'disabled'>>`\n display: block;\n padding: 8px 20px 7px;\n transition: background-color 0.4s ease-out;\n cursor: pointer;\n user-select: none;\n ${(props) =>\n props.active\n ? css`\n background-color: ${props.theme.colors.onahau};\n `\n : null}\n ${(props) => (props.disabled ? disabledItem : notDisabledItem)}\n`\n","import { BaseProps } from '../../shared/interfaces'\nimport { Text } from '../Text'\nimport * as Styled from './style'\n\nconst disabledHandler = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.preventDefault()\n e.stopPropagation()\n\n return false\n}\n\nexport interface ContextMenuItemProps extends BaseProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string\n active?: boolean\n disabled?: boolean\n onClick?: React.MouseEventHandler<HTMLDivElement>\n id?: string | number\n}\n\nContextMenuItem.displayName = 'ContextMenu.Item'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport function ContextMenuItem({\n children,\n id,\n content,\n active,\n disabled,\n onClick,\n className,\n style,\n}: ContextMenuItemProps) {\n return (\n <Styled.RootItem\n style={style}\n className={className}\n active={active}\n disabled={disabled}\n onClick={disabled ? disabledHandler : onClick}\n data-id={id}\n >\n {children}\n <Text size='s' lineHeight='s' color='mineShaft' content={content} />\n </Styled.RootItem>\n )\n}\n","/* eslint-disable no-use-before-define */\nimport { cloneElement, PureComponent } from 'react'\nimport { ContextMenuMultiLevel } from '../../components/ContextMenu.Multilevel'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Tooltip } from './../Tooltip'\nimport { ContextMenuItem } from './Item'\nimport * as Styled from './style'\nimport { tooltipStyles } from './tooltip-styles'\n\nexport interface ContextMenuProps extends BaseProps {\n /**\n * Children react node\n */\n children: React.ReactNode\n /** Indicates if button is active (e.g. when context menu is open) */\n onClick?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Manually controled state */\n isOpen?: boolean\n /** On open menu callback */\n onOpen?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** On close menu callback */\n onClose?: (_e: React.MouseEvent<HTMLDivElement>) => void\n /** Content */\n trigger?: React.ReactNode\n /** Properties for inner Tooltip component */\n tooltipProps?: Partial<Parameters<typeof Tooltip>[0]>\n /** Hide overlay for debug */\n hideOverlay?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenu extends PureComponent<ContextMenuProps, { isOpen: boolean }> {\n static Item = ContextMenuItem\n static MultiLevel = ContextMenuMultiLevel\n static displayName = 'ContextMenu'\n\n static defaultProps = {\n tooltipProps: {\n event: 'click',\n placement: 'left-start',\n offset: 2,\n showCloseButton: false,\n styles: tooltipStyles,\n },\n hideOverlay: false,\n }\n\n constructor(props: ContextMenuProps) {\n super(props)\n\n this.state = {\n isOpen: this.props.isOpen || false,\n }\n }\n\n getOpen = () => {\n const { isOpen } = this.props\n\n if (isOpen !== undefined) return isOpen\n\n return this.state.isOpen || false\n }\n\n openMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: true })\n\n const { onOpen } = this.props\n\n onOpen && onOpen(e)\n }\n\n closeMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n this.setState({ isOpen: false })\n\n const { onClose } = this.props\n\n onClose && onClose(e)\n }\n\n toggleMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n const { openMenu, closeMenu } = this\n const isOpen = this.getOpen()\n\n e.persist()\n e.preventDefault()\n e.stopPropagation()\n\n isOpen ? closeMenu(e) : openMenu(e)\n\n return false\n }\n\n render() {\n const { className, tooltipProps = {}, trigger, children, hideOverlay } = this.props\n const isOpen = this.getOpen()\n\n if (children) tooltipProps.content = children\n\n return (\n <Styled.Root className={className} isOpen={isOpen} onClick={this.toggleMenu} hideOverlay={hideOverlay}>\n <Tooltip {...tooltipProps} open={isOpen}>\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\n <div onClick={this.closeMenu}>{trigger && cloneElement(trigger as any, { active: isOpen })}</div>\n </Tooltip>\n </Styled.Root>\n )\n }\n}\n","const zIndex = 100\n\nexport const tooltipStyles = {\n wrapper: {\n display: 'inline-block',\n zIndex,\n },\n wrapperPosition: {\n left: -1000,\n position: 'absolute',\n top: -1000,\n visibility: 'hidden',\n },\n floater: {\n display: 'inline-block',\n filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n WebkitFilter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.08))',\n maxWidth: 300,\n minWidth: 200,\n opacity: 0,\n position: 'relative',\n transition: 'opacity 0.2s',\n visibility: 'hidden',\n zIndex: 99,\n },\n floaterOpening: {\n opacity: 1,\n visibility: 'visible',\n },\n floaterWithAnimation: {\n opacity: 1,\n transition: 'opacity 0.2s, transform 0.2s',\n visibility: 'visible',\n },\n floaterClosing: {\n opacity: 0,\n visibility: 'visible',\n },\n floaterCentered: {\n left: '50%',\n position: 'fixed',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n container: {\n boxSizing: 'border-box',\n borderRadius: 4,\n border: '1px solid #E9E9E9',\n color: '#333',\n backgroundColor: '#fff',\n minHeight: 32,\n minWidth: 180,\n padding: '0',\n position: 'relative',\n display: 'block',\n overflow: 'hidden',\n },\n content: {\n display: 'block',\n },\n arrow: {\n display: 'none',\n },\n}\n","import { PossibleValues } from '../../mixins/responsive-property'\nimport { SizeInput } from '../../shared/enums/sizeInput'\n\nexport const chooseWidthValue = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && SizeInput[width]) return SizeInput[width]\n\n return 'auto'\n}\n","import styled, { css, DefaultTheme } from 'styled-components'\nimport InputMask from 'react-input-mask'\nimport tinycolor from 'tinycolor2'\nimport { color } from 'mixins/color'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { chooseWidthValue } from '../../components/Input/helpers'\nimport { InputField } from '../../shared/interfaces'\nimport { InputProps } from './Input'\n\nexport const errorStyle = css`\n border: 1px solid ${(props) => props.theme.colors.pomegranate};\n background-color: ${(props) => tinycolor(props.theme.colors.pomegranate).setAlpha(0.1).toString()};\n`\n\nexport const disabledStyle = css`\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n &:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n border-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n`\n\nexport const focusStyle = css`\n &:focus {\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n`\n\nexport const roundedStyle = css`\n border-radius: ${(props) => props.theme.borderRadius};\n`\n\nexport const baseInputStyle = <T extends InputField>(props: T & { theme: DefaultTheme }) => css`\n box-sizing: border-box;\n display: block;\n background-color: ${props.theme.colors.white};\n border: solid 1px ${props.theme.colors.alto};\n width: auto;\n appearance: none;\n font-size: 16px;\n ${props.color ? color(props.color) : null};\n &::placeholder {\n ${props.placeholderColor ? color(props.placeholderColor) : null}\n }\n ${focusStyle}\n ${props.disabled ? disabledStyle : null}\n ${props.rounded ? roundedStyle : null}\n\n ${props.width\n ? property(chooseWidthValue(props.width), props.fluid && props.width !== 'auto' ? 'max-width' : 'width')\n : null}\n ${responsiveNamedProperty({\n sizes: {\n widthXS: props.widthXS,\n widthS: props.widthS,\n widthM: props.widthM,\n widthL: props.widthL,\n widthXL: props.widthXL,\n },\n cssProperty: props.fluid && props.width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: chooseWidthValue,\n })}\n ${props.fluid\n ? css`\n width: 100%;\n `\n : null}\n ${props.error ? errorStyle : null}\n`\n\nexport const Root = styled(InputMask).withConfig<InputProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n line-height: 24px;\n padding: 15px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import styled from 'styled-components'\nimport { baseInputStyle } from '../../components/Input/style'\nimport { TextareaProps } from './Textarea'\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n ${(props) => baseInputStyle(props)}\n`\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype TextAreaHTMLAttributes = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'cols' | 'rows' | 'color'>\n\nexport interface TextareaProps extends BaseProps, InputField, TextAreaHTMLAttributes {\n /**\n * Specifies the visible width of a text area\n */\n cols?: number\n /**\n * Specifies the visible number of lines in a text area\n */\n rows?: number\n /**\n * Specifies the visible max number of lines in a text area\n */\n maxRows?: number\n /**\n * Specifies the maximum number of characters allowed in the text area\n */\n maxLength?: number\n /**\n * On change handler\n */\n onChange?(_event: React.ChangeEvent<HTMLTextAreaElement>): void\n /**\n * Value\n */\n value?: string\n /**\n * Autosize for textarea\n */\n autosize?: boolean\n}\n\nTextarea.defaultProps = {\n onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n rounded: true,\n color: 'mineShaft',\n placeholderColor: 'silver',\n cols: 20,\n maxRows: 30,\n rows: 2,\n autosize: true,\n}\n\nTextarea.displayName = 'Textarea'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.TextareaHTMLAttributes<HTMLTextAreaElement>`\n */\nexport function Textarea({\n cols,\n disabled,\n error,\n fluid,\n name,\n onChange,\n maxLength,\n placeholder,\n required,\n rounded,\n rows,\n tabIndex,\n value,\n className,\n style,\n children,\n autosize,\n maxRows,\n color,\n placeholderColor,\n ...props\n}: typeof Textarea.defaultProps & TextareaProps) {\n const [tRows, setRows] = useState(rows)\n const textarea = useRef() as React.MutableRefObject<HTMLTextAreaElement>\n const theme = useTheme()\n\n const { width = theme.defaultInputControlsWidth } = props\n\n const onChangeHandler: React.ChangeEventHandler<HTMLTextAreaElement> = useCallback(\n (event) => {\n const { target } = event\n\n if (target instanceof HTMLTextAreaElement && autosize) {\n const rect = target.getBoundingClientRect()\n\n if (target.scrollHeight > rect.height && tRows < maxRows) {\n setRows(tRows + 1)\n } else if (!target.value || target.value === '') {\n setRows(rows)\n }\n }\n\n if (typeof onChange === 'function') {\n onChange(event)\n }\n },\n [onChange, tRows, maxRows, autosize]\n )\n\n useEffect(() => {\n if (!textarea || !textarea.current) return\n\n const el = textarea.current\n const rect = el.getBoundingClientRect()\n if (el.scrollHeight > rect.height) {\n const lh = parseInt(getComputedStyle(el).lineHeight, 10)\n const numberOfLines = Math.floor(el.scrollHeight / lh)\n if (numberOfLines <= maxRows && numberOfLines > rows) {\n setRows(numberOfLines)\n }\n }\n }, [])\n\n return (\n <Styled.Root\n ref={textarea}\n className={className}\n style={style}\n onChange={onChangeHandler}\n cols={cols}\n disabled={disabled}\n maxLength={maxLength}\n name={name}\n placeholder={placeholder}\n required={required}\n rows={tRows}\n tabIndex={tabIndex}\n value={value}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n fluid={fluid}\n error={error}\n width={width}\n {...props}\n >\n {children}\n </Styled.Root>\n )\n}\n","export const INITIAL_MASK = '99999999999999999999'\n\nexport const DEFAULT_MASK = `+${INITIAL_MASK}`\n\nexport const RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH = 10\n\nexport const COUNTRY_DATA: [string, string, string, RegExp][] = [\n ['Россия', '7', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Россия', '8', '+9 (999) 999-99-99', /^(\\+?7|8)([0-9()\\-\\s]{8,20})$/],\n ['Украина', '380', '+999 (99) 999-99-99', /^(\\+?380)([0-9()\\-\\s]{8,20})$/],\n ['Беларусь', '375', '+999 (999) 99-99-99', /^(\\+?375)([0-9()\\-\\s]{8,20})$/],\n ['Узбекистан', '998', '+999 (99) 999-99-99', /^(\\+?998)([0-9()\\-\\s]{8,20})$/],\n ['Молдова', '373', '+999 (99) 99-99-99', /^(\\+?373)([0-9()\\-\\s]{8,20})$/],\n ['Азербайджан', '994', '+999 (99) 999-99-99', /^(\\+?994)([0-9()\\-\\s]{8,20})$/],\n ['Киргизия', '996', '+999 (999) 99-99-99', /^(\\+?996)([0-9()\\-\\s]{8,20})$/],\n ['Болгария', '359', '+999 (999) 99-99-99', /^(\\+?359)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99 (999) 99999999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['США', '1', '+9 (999) 999-99-99', /^(\\+?1)([0-9()\\-\\s]{8,20})$/],\n ['Армения', '374', '+999 (99) 99-99-99', /^(\\+?374)([0-9()\\-\\s]{8,20})$/],\n ['Израиль', '972', '+999 (99) 999-99-99', /^(\\+?972)([0-9()\\-\\s]{8,20})$/],\n ['Испания', '34', '+99 (999) 99-99-99', /^(\\+?34)([0-9()\\-\\s]{8,20})$/],\n ['Латвия', '371', '+999 (99) 999-999', /^(\\+?371)([0-9()\\-\\s]{8,20})$/],\n ['Бахрейн', '973', '+999 (99) 999-999', /^(\\+?973)([0-9()\\-\\s]{8,20})$/],\n ['Турция', '90', '+99 (999) 999-9999', /^(\\+?90)([0-9()\\-\\s]{8,20})$/],\n ['Литва', '370', '+999 (999) 99999', /^(\\+?370)([0-9()\\-\\s]{8,20})$/],\n ['Великобритания', '44', '+99 (99) 9999-9999', /^(\\+?44)([0-9()\\-\\s]{8,20})$/],\n ['Индия', '91', '+99 (99) 99-999999', /^(\\+?91)([0-9()\\-\\s]{8,20})$/],\n ['Черногория', '382', '+999 (99) 999-999', /^(\\+?382)([0-9()\\-\\s]{8,20})$/],\n ['Мексика', '52', '+99 (999) 999-99-99', /^(\\+?52)([0-9()\\-\\s]{8,20})$/],\n ['Польша', '48', '+99 999999999', /^(\\+?48)([0-9()\\-\\s]{8,20})$/],\n ['Италия', '39', '+99 (999) 999-99-99', /^(\\+?39)([0-9()\\-\\s]{8,20})$/],\n ['Таиланд', '66', '+99 999-999-999', /^(\\+?66)([0-9()\\-\\s]{8,20})$/],\n ['Грузия', '995', '+999 (999) 999-999', /^(\\+?995)([0-9()\\-\\s]{8,20})$/],\n ['Шри-Ланка', '94', '+99 (99) 9999999', /^(\\+?94)([0-9()\\-\\s]{8,20})$/],\n ['Китай', '86', '+99 (999) 9999-9999', /^(\\+?86)([0-9()\\-\\s]{8,20})$/],\n ['Кипр', '357', '+999 (99) 999999', /^(\\+?357)([0-9()\\-\\s]{8,20})$/],\n ['ОАЭ', '971', '+999 99-999-9999', /^(\\+?971)([0-9()\\-\\s]{8,20})$/],\n ['Франция', '33', '+33(999)999-999', /^(\\+?33)([0-9()\\-\\s]{8,20})$/],\n ['Германия', '49', '+99(9999)999-9999', /^(\\+?49)([0-9()\\-\\s]{8,20})$/],\n ['Япония', '81', '+99 99-9999-9999', /^(\\+?81)([0-9()\\-\\s]{8,20})$/],\n ['Австрия', '43', '+99(999)999-99999', /^(\\+?43)([0-9()\\-\\s]{8,20})$/],\n ['Южная Корея', '82', '+99(999)999-9999', /^(\\+?82)([0-9()\\-\\s]{8,20})$/],\n]\n\nexport const REGEXPS = {\n FILLED: /^\\+\\d.*$/,\n FROM_8: /^\\+?8(.*)$/,\n FROM_9: /^\\+?9(.*)$/,\n NOT_NUMBERS: /\\D/gim,\n}\n","/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { InputState } from 'react-input-mask'\nimport { Input, InputProps } from '../Input/Input'\nimport {\n COUNTRY_DATA,\n DEFAULT_MASK,\n INITIAL_MASK,\n REGEXPS,\n RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH,\n} from './constants'\n\nconst onlyNumbers = (value = ''): string => value.replace(REGEXPS.NOT_NUMBERS, '')\n\nexport interface InputPhoneProps extends InputProps {\n /**\n * Settings for different country codes\n */\n countryData?: string[][]\n /**\n * Default field mask that is set when none of the countryData prop matches\n */\n defaultMask?: string\n /**\n * The default field mask when the phone field is empty is required to enable autocomplete in\n * the browser\n */\n initialMask?: string\n /** If event should return stripped phone value (not for redux forms) */\n stripValue?: boolean\n}\n\ninterface InputPhoneState {\n mask: string\n regexp?: RegExp | null\n}\n\n/**\n * Расширен:\n * - `InputProps`\n */\nexport class InputPhone extends PureComponent<typeof InputPhone.defaultProps & InputPhoneProps, InputPhoneState> {\n static displayName = 'Input.Phone'\n static defaultProps = {\n countryData: COUNTRY_DATA,\n defaultMask: DEFAULT_MASK,\n initialMask: INITIAL_MASK,\n placeholder: '+9 (999) 999-99-99',\n ...Input.defaultProps,\n }\n\n autocorrectOf8: boolean\n autocorrectOf9: boolean\n\n constructor(props: typeof InputPhone.defaultProps & InputPhoneProps) {\n super(props)\n\n this.autocorrectOf8 = true\n this.autocorrectOf9 = true\n\n const { mask } = this.getUpdates(props.value || '')\n\n this.state = { mask, regexp: null }\n }\n\n componentDidUpdate(nextProps: InputPhoneProps) {\n const { value } = this.props\n\n if (value !== nextProps.value) {\n this.change(value)\n }\n }\n\n getUpdates = (\n value: InputPhoneProps['value'],\n prevValue: InputPhoneProps['value'] = undefined\n ): {\n mask: string\n numbers: string\n startsFrom8: boolean\n startsFrom9: boolean\n regexp: RegExp | null\n } => {\n const { countryData, defaultMask, initialMask } = this.props\n const numbers = onlyNumbers(value as string)\n\n let mask = initialMask\n let regexp = null\n let startsFrom8 = false\n let startsFrom9 = false\n\n if (!numbers)\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n\n let isRussian = false\n\n for (let i = 0; i < countryData.length; i++) {\n if (numbers.startsWith(countryData[i][1])) {\n ;[, , mask, regexp] = countryData[i]\n isRussian = i === 0 || i === 1\n }\n }\n\n startsFrom8 = isRussian && REGEXPS.FROM_8.test(numbers) && this.autocorrectOf8\n startsFrom9 =\n (!mask || (numbers.length === RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH && prevValue === '')) &&\n this.autocorrectOf9 &&\n REGEXPS.FROM_9.test(numbers)\n\n if (startsFrom8) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf8 = false\n }\n\n if (startsFrom9) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf9 = false\n }\n\n if (!mask) {\n mask = defaultMask\n }\n\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n }\n\n change = (phone: InputPhoneProps['value']) => {\n const { mask } = this.getUpdates(phone)\n\n this.setState({ mask })\n }\n\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n e.persist()\n\n const { onChange, stripValue } = this.props\n\n if (onChange) {\n const _e = e\n if (stripValue) _e.target.value = onlyNumbers(e.target.value)\n onChange(_e)\n }\n }\n\n beforeMaskedValueChange = (newState: InputState, oldState: InputState) => {\n const { mask, numbers, startsFrom8, startsFrom9, regexp } = this.getUpdates(newState.value, oldState.value)\n\n this.setState({ mask, regexp })\n\n /**\n * For the correct caret position, when the user enters 9 in the phone field and it's replaced\n * by '+7 (9'\n */\n if (startsFrom9) {\n return {\n selection: numbers.length === 1 ? { start: 5, end: 5 } : newState.selection,\n value: newState.value.replace(REGEXPS.FROM_9, '+79$1'),\n }\n }\n\n if (startsFrom8) {\n return { selection: { start: 2, end: 2 }, value: newState.value.replace(REGEXPS.FROM_8, '+7$1') }\n }\n\n if (REGEXPS.FILLED.test(oldState.value) && numbers.length === 1) {\n return { selection: { start: 2, end: 2 }, value: newState.value }\n }\n\n if (!REGEXPS.FILLED.test(oldState.value) && REGEXPS.FILLED.test(newState.value)) {\n return {\n ...newState,\n selection: newState.selection ? { start: newState.selection.start + 1, end: newState.selection.end + 1 } : null,\n }\n }\n\n return newState\n }\n\n render() {\n const {\n /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */\n countryData,\n defaultMask,\n initialMask,\n stripValue,\n /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */\n ...props\n } = this.props\n const { mask, regexp } = this.state\n\n return (\n <Input\n {...props}\n beforeMaskedValueChange={this.beforeMaskedValueChange}\n mask={mask}\n dataset={{ 'data-regexp': `${regexp || ''}` }}\n onChange={this.handleChange}\n />\n )\n }\n}\n","import { InputState, MaskOptions } from 'react-input-mask'\nimport { useTheme } from 'styled-components'\nimport { InputPhone } from '../../components/Input.Phone'\nimport { BaseProps, InputField } from '../../shared/interfaces'\nimport * as Styled from './style'\n\ntype InputHTMLAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'color' | 'width'>\n\nexport interface InputProps extends BaseProps, InputField, InputHTMLAttributes {\n /**\n * Mask string. Format characters are:\n * * `9`: `0-9`\n * * `a`: `A-Z, a-z`\n * * `\\*`: `A-Z, a-z, 0-9`\n *\n * Any character can be escaped with backslash, which usually will appear as double backslash in JS strings.\n * For example, German phone mask with unremoveable prefix +49 will look like `mask=\"+4\\\\9 99 999 99\"` or `mask={\"+4\\\\\\\\9 99 999 99\"}`\n */\n mask?: string | Array<string | RegExp>\n /**\n * Character to cover unfilled editable parts of mask. Default character is \"_\". If set to null, unfilled parts will be empty, like in ordinary input.\n */\n maskChar?: string | null\n /**\n * Defines format characters with characters as keys and corresponding RegExp string as values. Default ones:\n * ```\n * {\n * \"9\": \"[0-9]\",\n * \"a\": \"[A-Za-z]\",\n * \"*\": \"[A-Za-z0-9]\"\n * }```\n */\n formatChars?: { [key: string]: string }\n /**\n * Show mask even in empty input without focus.\n */\n alwaysShowMask?: boolean\n /**\n * Use inputRef instead of ref if you need input node to manage focus, selection, etc.\n */\n inputRef?: React.Ref<HTMLInputElement>\n\n /**\n * In case you need to implement more complex masking behavior, you can provide\n * beforeMaskedValueChange function to change masked value and cursor position\n * before it will be applied to the input.\n */\n beforeMaskedValueChange?(\n _newState: InputState,\n _oldState: InputState,\n _userInput: string,\n _maskOptions: MaskOptions\n ): InputState\n /**\n * Input type\n */\n type?: string\n dataset?: Record<string, string>\n}\n\nInput.defaultProps = {\n rounded: true,\n type: 'text',\n color: 'mineShaft',\n mask: '',\n placeholderColor: 'silver',\n}\n\nInput.Phone = InputPhone\nInput.displayName = 'Input'\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`InputField`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Input(props: InputProps) {\n const theme = useTheme()\n\n const { width = theme.defaultInputControlsWidth } = props\n\n return <Styled.Root {...props} width={width} mask={props.mask || ''} />\n}\n","import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { responsiveProperty } from '../../mixins/responsive-property'\nimport { display } from '../../mixins/display'\nimport { RadioGroupProps } from './Group'\nimport { RadioProps } from './Radio'\n\nconst sizeRadio = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n & > span {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n circle {\n fill: #ffeef0;\n stroke: #ffa3a3;\n }\n circle:nth-child(2) {\n fill: #ffa3a3;\n }\n }\n`\n\nexport const Root = styled.label.withConfig<RadioProps>({\n shouldForwardProp: (prop) => ['children', 'htmlFor'].includes(prop),\n})`\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n width: auto;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n circle:nth-child(2) {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n circle:nth-child(2) {\n opacity: 1;\n transform: scale(1);\n }\n ${(props) =>\n !props.error\n ? css`\n circle:not(:disabled) {\n stroke: #48a1e6;\n }\n circle:not(:disabled):last-child {\n fill: #48a1e6;\n }\n `\n : null}\n }\n }\n > span {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' ? sizeRadio(14) : null)}\n ${(props) => (props.size === 'medium' ? sizeRadio(16) : null)}\n ${(props) => (props.size === 'large' ? sizeRadio(18) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) =>\n props.fluid\n ? css`\n width: 100%;\n `\n : null}\n`\n\nexport const Group = styled.div.withConfig<RadioGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n","import cx from 'clsx'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { SizeInput } from '../../shared/enums/sizeInput'\nimport { Display } from '../../mixins/display'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'width'>\n\nexport interface RadioProps extends BaseProps, Display, RadioInputHtmlAttributes {\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Radio label\n */\n label?: string\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A Radio can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not Radio is checked\n */\n checked?: boolean\n defaultChecked?: boolean\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large'\n /**\n * Value\n */\n value?: string | number\n fluid?: boolean\n /**\n * Width of label. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n display: 'inline-flex',\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nRadio.Group = RadioGroup\nRadio.displayName = 'Radio'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Radio(props: typeof Radio.defaultProps & RadioProps) {\n const uncontrolled = props.checked === undefined\n const theme = useTheme()\n\n const {\n children,\n disabled,\n error,\n id,\n name,\n size,\n value,\n label,\n className,\n width = theme.defaultInputControlsWidth,\n style,\n fluid,\n display,\n ...anotherProps\n } = props\n\n const baseClassName = useClassname(Radio.displayName)\n const _className = cx(baseClassName, className, props.checked && !uncontrolled ? `${baseClassName}--checked` : null)\n const _labelClassName = `${baseClassName}__label`\n\n const inputProps = uncontrolled ? { defaultChecked: props.defaultChecked } : { checked: props.checked }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n error={error}\n htmlFor={id || name}\n size={size}\n width={width}\n display={display}\n fluid={fluid}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>\n <circle cx='10' cy='10' r='9' stroke='#727D8A' strokeWidth='2' fill='#fff' />\n <circle cx='10' cy='10' r='5' fill='#727D8A' />\n </svg>\n {(label || children) && <span className={_labelClassName}>{label || children}</span>}\n </Styled.Root>\n )\n}\n","import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n","import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { display } from '../../mixins/display'\nimport { errorStyle } from '../../components/Input/style'\nimport { responsiveProperty } from '../../mixins/responsive-property'\nimport { SelectProps } from './Select'\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\nconst spin = keyframes`\n to {\n transform: rotate(1turn);\n }\n`\n\nconst fluid = css`\n width: 100%;\n .Select {\n max-width: 100%;\n width: 100%;\n }\n`\n\nconst error = css`\n .Select-control {\n ${errorStyle}\n }\n`\n\nexport const Root = styled.span.withConfig<SelectProps>({\n shouldForwardProp: (prop) => ['children'].includes(prop),\n})`\n .Select {\n position: relative;\n }\n .Select,\n .Select div,\n .Select input,\n .Select span {\n box-sizing: border-box;\n }\n .Select.is-disabled > .Select-control {\n cursor: not-allowed;\n background-color: #f5f5f5;\n }\n .Select.is-disabled .Select-value-label {\n color: rgba(0, 0, 0, 0.16) !important;\n }\n .Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n }\n .Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n }\n .Select.is-clearable {\n .Select-placeholder,\n &.Select--single > .Select-control .Select-value {\n padding-right: 70px;\n }\n }\n .Select-control {\n background-color: ${(props) => props.theme.colors.white};\n border: solid 1px ${(props) => props.theme.colors.alto};\n border-radius: 4px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 50px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n .Select-control .Select-input:focus {\n outline: none;\n }\n .is-searchable.is-open > .Select-control {\n cursor: text;\n }\n .is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border: 1px solid ${(props) => props.theme.colors.accent};\n outline: none;\n }\n .is-open > .Select-control .Select-arrow {\n transform: rotate(180deg);\n }\n .is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n }\n .is-focused:not(.is-open) > .Select-control {\n border: 1px solid ${(props) => props.theme.colors.accent};\n }\n .Select-placeholder,\n .Select--single > .Select-control .Select-value {\n bottom: 0;\n color: ${(props) => props.theme.colors.silver};\n left: 0;\n font-size: 16px;\n line-height: 50px;\n padding-left: 20px;\n padding-right: 35px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .has-value.Select--single > .Select-control .Select-value .Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n }\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n .has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n .has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n }\n .Select-input {\n height: 50px;\n padding-left: 20px;\n padding-right: 15px;\n vertical-align: middle;\n }\n .Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: 16px;\n margin: 0;\n outline: none;\n line-height: 30px;\n padding: 10px 0;\n -webkit-appearance: none;\n }\n .is-focused .Select-input > input {\n cursor: text;\n }\n .is-focused .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n }\n .Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n }\n .Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n }\n .Select-loading {\n animation: ${spin} 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ${(props) => props.theme.colors.alto};\n border-right-color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n position: relative;\n vertical-align: middle;\n }\n .Select-clear-zone {\n animation: ${fadeIn} 200ms;\n color: ${(props) => props.theme.colors.alto};\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n\n .Select-clear {\n position: relative;\n top: -1px;\n }\n }\n .Select-clear-zone:hover {\n color: #d0021b;\n }\n .Select-clear {\n display: inline-block;\n font-size: 0px;\n line-height: 1;\n color: transparent;\n overflow: hidden;\n width: 12px;\n height: 12px;\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz4KICA8cGF0aAogICAgZD0nTTExLjYgOS41TDE5LjIgMmMuNC0uNi40LTEuMyAwLTEuNy0uNC0uNC0xLjItLjQtMS42IDBMMTAgOCAyLjQuMkMyIDAgMS4yIDAgLjguMy40LjcuNCAxLjMuOCAybDcuNiA3LjUtOCA4Yy0uNS41LS41IDEuMiAwIDEuNy4yLjIuNC4zLjcuMy40IDAgLjcgMCAxLS4zbDgtOCA4IDhjLjMuMi42LjMgMSAuMy4yIDAgLjQgMCAuNy0uMy40LS41LjQtMS4yIDAtMS42bC04LTh6JwogICAgZmlsbD0nI0Q5RDlEOScKICAgIGZpbGxSdWxlPSdldmVub2RkJwogIC8+Cjwvc3ZnPgo=')\n no-repeat;\n background-size: cover;\n }\n .Select--multi .Select-clear-zone {\n width: 17px;\n }\n .Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 35px;\n line-height: 0;\n }\n .Select-arrow {\n background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNiOGI4YjgiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=')\n no-repeat;\n display: inline-block;\n background-size: 12px;\n height: 7px;\n width: 12px;\n position: relative;\n transition: 0.3s;\n transform: rotate(0deg);\n }\n .is-open .Select-arrow,\n .Select-arrow-zone:hover > .Select-arrow {\n background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxOCAxMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjAgMC4zMjg1NDI4NTcgMCAxMiAxOS45MDY5MTY3IDEyIDE5LjkwNjkxNjcgMC4zMjg1NDI4NTcgNy4yMjgwMTQ0OGUtMjAgMC4zMjg1NDI4NTciLz48L2RlZnM+PGcgaWQ9IlR1dG9yaWFsIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIuNzMyIj48ZyBpZD0i0YDQtdCz0LAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02NzYuMDAwMDAwLCAtNzA4LjAwMDAwMCkiPjxnIGlkPSJhcnJvdy1kb3duLXNpZ24tdG8tbmF2aWdhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3NC4wMDAwMDAsIDcwOC4wMDAwMDApIj48bWFzayBpZD0ibWFzay0yIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiLz48L21hc2s+PHBhdGggZD0iTTEwLjk1MzE1ODUsMTAuODI3MjY0OSBDMTAuNjMyMzI5MywxMC44MjcyNjQ5IDEwLjMxMTUwMDEsMTAuNzAwODE4IDEwLjA2NzcyOTksMTAuNDUwMDgyOSBMMi4zNjgxMjkwMSwyLjUzMDQ5MzQzIEMxLjg3NzI5MDMzLDIuMDI1NjMwNzkgMS44NzcyOTAzMywxLjIwODY2MDAxIDIuMzY4MTI5MDEsMC43MDUzMzk0IEMyLjg1NzQ2ODUsMC4yMDI5NDQwMSAzLjY1MTc0NTY0LDAuMjAyOTQ0MDEgNC4xNDEzODQ5NiwwLjcwNTMzOTQgTDEwLjk1MzE1ODUsNy43MTI5Njg2NiBMMTcuNzY2NDMxMiwwLjcwNjU3MzAyOSBDMTguMjU2MDcwNSwwLjIwMjk0NDAxIDE5LjA1MDA0NzgsMC4yMDI5NDQwMSAxOS41Mzk2ODcyLDAuNzA2NTczMDI5IEMyMC4wMjkzMjY1LDEuMjA5ODkzNjQgMjAuMDI5MzI2NSwyLjAyNjg2NDQxIDE5LjUzOTY4NzIsMi41MzA0OTM0MyBMMTEuODM5Nzg2NSwxMC40NTAwODI5IEMxMS41OTYzMTYxLDEwLjcwMjA1MTYgMTEuMjc0Mjg3NSwxMC44MjcyNjQ5IDEwLjk1MzE1ODUsMTAuODI3MjY0OSBMMTAuOTUzMTU4NSwxMC44MjcyNjQ5IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiM0OGExZTYiIG1hc2s9InVybCgjbWFzay0yKSIvPjwvZz48L2c+PC9nPjwvc3ZnPgo=');\n }\n .Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n padding-left: 20px;\n }\n .Select--multi .Select-multi-value-wrapper {\n .Select-placeholder + .Select-input {\n margin-left: 0;\n }\n }\n .Select--single {\n .Select-multi-value-wrapper {\n display: block;\n width: 100%;\n }\n .Select-input .react-select-2--value {\n display: block;\n width: 100%;\n }\n }\n .Select .Select-aria-only {\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n }\n .Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: ${(props) => props.theme.colors.white};\n border: 1px solid ${(props) => props.theme.colors.onahau};\n box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 270px;\n position: absolute;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n }\n .Select-menu {\n max-height: 226px;\n overflow-x: auto;\n overflow-y: auto;\n font-size: 16px;\n }\n .Select-option {\n box-sizing: border-box;\n background-color: ${(props) => props.theme.colors.white};\n line-height: 30px;\n color: ${(props) => props.theme.colors.mineShaft};\n cursor: pointer;\n display: block;\n padding: 10px 15px 10px 20px;\n transition: background 0.2s ease;\n }\n .Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n }\n .Select-option.is-selected {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-focused {\n background-color: ${(props) => props.theme.colors.onahau};\n }\n .Select-option.is-disabled {\n color: rgba(0, 0, 0, 0.16);\n cursor: not-allowed;\n }\n .Select-noresults {\n box-sizing: border-box;\n color: ${(props) => props.theme.colors.silver};\n cursor: default;\n display: block;\n padding: 10px 20px;\n }\n .Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n }\n .Select--multi.has-value .Select-input {\n margin-left: 5px;\n }\n .Select--multi .Select-value {\n background-color: ${(props) => props.theme.colors.nebula};\n background-color: ${(props) => tinycolor(props.theme.colors.nebula).setAlpha(0.1).toString()};\n border-radius: 4px;\n border: 1px solid ${(props) => props.theme.colors.onahau};\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: ${(props) => props.theme.colors.mineShaft};\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 4px;\n margin-top: 4px;\n vertical-align: top;\n }\n .Select--multi .Select-value-icon,\n .Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n }\n .Select--multi .Select-value-icon {\n font-size: 1.5em;\n line-height: 100%;\n vertical-align: middle;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n\n .Select--multi .Select-value-label {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n cursor: default;\n padding: 2px 4px;\n line-height: 1;\n max-width: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .Select--multi a.Select-value-label {\n color: ${(props) => props.theme.colors.accent};\n cursor: pointer;\n text-decoration: none;\n }\n .Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n }\n .Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n border-right: 1px solid ${(props) => props.theme.colors.onahau};\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n font-size: 1.5em;\n line-height: 100%;\n box-sizing: border-box;\n padding: 5px 4px 2px;\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:hover,\n .Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n background-color: rgba(0, 113, 230, 0.08);\n color: ${(props) => props.theme.colors.accent};\n }\n .Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n background-color: rgba(0, 126, 255, 0.24);\n }\n .Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: ${(props) => props.theme.colors.mineShaft};\n }\n .Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n }\n .Select--multi.is-disabled .Select-value-icon:hover,\n .Select--multi.is-disabled .Select-value-icon:focus,\n .Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n }\n\n width: auto;\n ${(props) => (props.error ? error : null)}\n ${(props) => (props.display ? display(props.display) : null)}\n ${(props) =>\n responsiveProperty(\n 'width',\n props.fluid && props.width !== 'auto' && !Array.isArray(props.width) ? 'max-width' : 'width'\n )}\n ${(props) => (props.fluid ? fluid : null)}\n`\n","import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { SizeInput } from '../../shared/enums/sizeInput'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps, Display {\n fluid?: boolean\n error?: boolean\n /**\n * Width of select. Default is `Theme.defaultInputControlsWidth`\n */\n width?: ResponsiveProperty<'auto' | number | keyof typeof SizeInput>\n}\n\nSelect.defaultProps = {\n allowCreate: false,\n searchable: true,\n clearable: false,\n addLabelText: 'Добавить \"{label}\"?',\n backspaceToRemoveMessage: 'Нажмите клавишу Backspace, чтобы удалить {last label}',\n clearAllText: 'Очистить все',\n clearValueText: 'Очистить значение',\n noResultsText: 'Результатов не найдено',\n placeholder: 'Выбрать ...',\n searchPromptText: 'Введите поисковый запрос',\n loadingPlaceholder: 'Загрузка...',\n autoload: true,\n loadOptions: false,\n display: 'inline-block',\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: SelectProps) {\n const theme = useTheme()\n const {\n fluid,\n error,\n className,\n style,\n display,\n width = theme.defaultInputControlsWidth,\n ...reactSelectProps\n } = props\n const _className = useClassname(Select.displayName, className)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const SelectElement: typeof ReactSelect & typeof Creatable = props.loadOptions\n ? props.allowCreate\n ? AsyncCreatable\n : Async\n : props.allowCreate\n ? Creatable\n : ReactSelect\n\n return (\n <Styled.Root className={_className} style={style} error={error} fluid={fluid} width={width} display={display}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n","/* eslint-disable no-unused-vars */\nimport { useCallback } from 'react'\nimport { DefaultTheme, ThemeProvider as StyledThemeProvider } from 'styled-components'\nimport { mergeDeepLeft } from 'ramda'\nimport { UiGlobalStyles } from './global-styled'\nimport { defaultTheme } from './themes'\n\ninterface ThemeProviderProps {\n theme: Partial<DefaultTheme> | ((topLevelTheme: DefaultTheme) => DefaultTheme)\n children: React.ReactNode\n}\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n const mergeTheme = useCallback(\n (topLevelTheme: DefaultTheme = defaultTheme): DefaultTheme => {\n const mergingTheme = props.theme\n\n if (typeof mergingTheme === 'function') {\n return mergingTheme(topLevelTheme)\n }\n\n if (typeof mergingTheme === 'object' && !Array.isArray(mergingTheme) && mergingTheme !== null) {\n return mergeDeepLeft(mergingTheme, topLevelTheme) as DefaultTheme\n }\n\n return topLevelTheme\n },\n [props.theme]\n )\n\n return (\n <StyledThemeProvider theme={mergeTheme}>\n <UiGlobalStyles />\n {props.children}\n </StyledThemeProvider>\n )\n}\n"],"names":["ColorNames","socialColors","Object","freeze","facebook","twitter","youtube","instagrammagenta","instagramblue","instagrampurple","instagramorange","instagramyellow","pinterest","googleplus","linkedin","vimeoblue","vimeogreen","vimeoorange","vimeopink","tumblr","snapchat","whatsappgreen","whatsappteal1","whatsappteal2","foursquarepink","foursquareblue","swarm","skypeblue","skypegreen","android","stumbleupon","flickrpink","flickrblue","yahoo","soundcloud","spotifygreen","spotifydarkgreen","dribbble","reddit","deviantart","pocket","quora","quorablue","slideshareorange","slideshareblue","telegram","fivehundredpx","listlyorange","listlyblue","vine","vk","ok","mailru","colors","white","black","tundora","paleSky","bostonBlue","atlantisBrightly","cinnabar","sail","bittersweet","turquoise","dodgerBlue","mantis","azure","bahamaBlue","shamrock","olive","copperRose","cyan","plum","hokeyPokey","monaLisa","mariner","heliotrope","dandelion","fruitSalad","fuchsiaBlue","persianGreen","watermelon","tropaz","lima","mintTulip","carnationPink","paleRose","deYork","peppermint","cornflowerBlue","colonialWhite","cherokee","supernova","picasso","bilobaFlower","linkWater","transparent","mineShaft","silver","alto","mercury","wildSand","whiteGray","alabaster","whiteLilac","atlantis","yellowOrange","mystic","pomegranate","oliveDrab","curious","orangePeel","nebula","seaNymph","chromeWhite","onahau","citrineWhite","coralReef","creemBrulee","frangipani","yourPink","periwinkleGray","baliHai","primary","accent","unitColors","profession","professionDark","camps","campsDark","courses","coursesDark","openLesson","openLessonDark","externat","externatDark","olympiad","olympiadDark","textbook","textbookDark","tutors","tutorsDark","training","trainingDark","mathematics","physics","informatics","chemistry","biology","english","russian","history","society","geography","developing","literature","intersubject","primarySchool","recommended","astronomy","ecology","technology","languages","art","physicalCulture","logic","businessLogic","rap","ikt","kids","fgos","blue","red","green","grey","darkgrey","lightgrey","superlightgrey","_colors","keys","map","colorName","css","_socialColors","_unitColors","UiGlobalStyles","createGlobalStyle","SizeInput","useFallbackTheme","contextTheme","useTheme","length","defaultTheme","useConfigPriority","minor","major","useMemo","minorConfig","majorConfig","Set","reduce","prioritized","key","finalVal","valid","value","Boolean","_path","_extends","assign","target","i","arguments","source","hasOwnProperty","call","apply","this","SvgArrowmodule","props","React","createElement","width","height","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","SvgChevronmodule","viewBox","DIR_MAP","top","right","bottom","left","injectDefaultTheme","config","theme","forwardedTheme","_objectSpread","default","CONDITIONS","MAX","maxWidth","breakpoints","point","MIN","minWidth","concat","RANGE","point1","point2","createMediaQuery","condition","_len","points","Array","_key","params","_len2","args","_key2","_props$theme$breakpoi","_props$theme","and","screenXs","screenS","screenM","screenL","screenXl","screenMaxXxs","screenMaxXs","screenMinXs","screenMaxS","screenMinS","screenMaxM","screenMinM","screenMaxL","screenMinL","screenMaxXl","screenMinXl","SIZES_LATIN","xxxl","xxl","xl","l","m","s","xs","xxs","xxxs","FONT_SIZES_LATIN","getLatinSizeMapByCssProperty","cssProperty","buildMediaQuery","property","screenQueryFunction","sizing","_sizeMap$value","sizeMap","size","o","t","includes","SCREEN_SIZE_MAP","XXS","XS","S","M","L","XL","SCREEN_SIZE_MAP_BY_DEVICE_ALIAS","desktop","tablet","mobile","getKey","endsWith","DEKSTOP_FIRST_KEYS","MOBILE_FIRST_KEYS","desktopFirst","a","b","aKey","bKey","findIndex","el","responsiveNamedProperty","_ref","sizes","customSizeHandler","sort","filter","item","responsiveProperty","propName","_props$propName","prop","_cssProperty","isArray","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","_templateObject4","_templateObject6","_templateObject9","TRANSIENT_PROPS","SIZES","DEFAULT_SIZES","pseudoBaseStyles","defaultDisabledStyles","PRESET","filled","disabled","onColored","_ref2","outline","_ref3","_ref4","PRESET_DEFAULT","_ref5","_ref6","inverse","_ref7","extractSize","brandPresetUsed","Root","styled","button","withConfig","shouldForwardProp","attrs","componentId","borderRadius","Arrow","forwardRef","ref","_theme$components","components","onClick","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","preset","square","Icon","ArrowSvg","ChevronSvg","iconStyles","arrowDir","isMultiDir","values","rotateDeg","acc","transform","_jsx","Styled.Root","type","event","preventDefault","children","jsx","style","useClassname","componentName","originalClassName","cx","classNamePrefix","displayName","FORWARD_PROPS","STATIC_SIZES","DEFAULT_PROPS_BY_SIZE","fontSize","paddingLeft","paddingRight","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","fontSizeM","heightM","heightS","BRAND_PROPS_BY_SIZE","getColor","color","_props$theme2","colorVal","textColor","fallbackColor","_color","WIDTHS","DEFAULT_ROUND_SIZES","BRAND_ROUND_SIZES","baseStyles","display","fontWeight","lineHeight","basePadding","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","getDefaultRoundSizes","fluidStyles","background","danger","success","backgroundBefore","boxShadow","backgroundAfter","fontBold","base","clear","fontColor","tiny","saturate","lighten","toString","inverted","basic","colorFn","round","padding","paddingTop","paddingBottom","margin","marginTop","marginRight","marginBottom","marginLeft","fluid","paddingXS","paddingS","paddingM","paddingL","paddingXL","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeL","fontSizeXL","_ref12","heightXS","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","CheckIcon","Button","rounded","as","_as","_type","className","_className","content","onClickCapture","onMouseEnter","onMouseLeave","staticSize","_propsBySize","propsBySize","sizeProps","mergeDeepLeft","classNameContent","rel","_theme$utils","relBuilder","utils","_config$href","href","autoRel","to","linkProps","undefined","Link","secondary","leftIcon","rightIcon","icon","Styled.SpinnerIcon","Styled.CheckIcon","_jsxs","innerRef","evt","Styled.IconSlot","Styled.Content","_rect","_g","extraSmall","small","medium","large","extraLarge","BRAND_SIZES","inline","Input","input","Background","DefaultMask","x","y","rx","BrandMask","div","template","palette","bg","border","bgChecked","colorDisabled","borderHover","outlineFocus","templateBackground","borderChecked","bgHover","beforeBgHover","regular","error","tinycolor","setAlpha","label","Group","Checkbox","baseClassName","id","name","checked","defaultChecked","defaultInputControlsWidth","onChange","labelClassName","inputProps","htmlFor","Styled.Input","jsxs","_Fragment","Styled.Background","Styled.BrandMask","Styled.DefaultMask","Styled.Group","baseColors","zIndex","modal","tooltip","link","relStr","e","r","url","hostname","test","URL","window","location","push","join","mode","motherLightTheme","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme","vAlign","lm","pointerStyle","calcFontSize","pointer","sizeXS","sizeS","sizeM","sizeL","sizeXL","_path2","_circle","IconNames","defaultIcons","book","blackBoard","clipRule","burger","eye","email","unsort","person","diamond","diamondFilled","diamondSolid","cy","infoInverse","list","login","logout","fire","cart","clock","clockFilled","discount","headphones","page","priceTag","phone","prof","star","settings","student","trophy","message","wallet","edit","copy","print","objective","fillRule","present","enableBackground","xmlSpace","coins","calendar","calendar_simple","chevronDown","chevronUp","chevronRight","chevronLeft","cross","dialog","dropDownArrow","externalLink","fillOpacity","file","fileBordered","lessons","pencil","phoneNoFill","radioChecked","radioNotChecked","search","tasks","tinyCross","sharpCross","plus","plusThin","play","reload","checkCircle","info","check","home","questionFilled","document","cancel","playPause","video","svg","dangerouslySetInnerHTML","__html","active","notDisabled","ActionBtn","H","PARAMS","h1","weight","h2","h3","h4","TextHeading","h","Text","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL","Spacer","wrapper","underline","pseudo","Anchor","_props$rel","_props$rel2","_props$rel3","rest","_display","_rel","_props$href","contentProps","defaultProps","Ul","ul","Li","li","TextEllipse","Component","constructor","super","getContent","chars","isEllipsed","state","text","isUnFolded","slice","leftChars","index","setTimeout","setState","getQuted","Styled.Ul","Styled.Li","quoted","toggle","componentDidUpdate","render","_this$props","moreText","lessText","showToggler","restProps","WEIGHT_MAP","lighter","normal","bold","bolder","LINE_HEIGHT_MAP","underlineLinksStyle","fontStyle","underlineLinks","textAlign","origClassName","title","CurrencyCodes","Heading","Ellipse","CURRENCY_MAP","ALL","AFN","ARS","AWG","AUD","AZN","BSD","BBD","BYR","BZD","BMD","BOB","BAM","BWP","BGN","BRL","BND","KHR","CAD","KYD","CLP","CNY","COP","CRC","HRK","CUP","CZK","DKK","DOP","XCD","EGP","SVC","EEK","EUR","FKP","FJD","FRF","GHC","GIP","GTQ","GGP","GYD","HNL","HKD","HUF","ISK","INR","IDR","IRR","IMP","ILS","JMD","JPY","JEP","KZT","KGS","LAK","LVL","LBP","LRD","LTL","MKD","MYR","MUR","MXN","MNT","MZN","NAD","NPR","ANG","NZD","NIO","NGN","KPW","NOK","OMR","PKR","PAB","PYG","PEN","PHP","PLN","QAR","RON","RUR","RUB","SHP","SAR","RSD","SCR","SGD","SBD","SOS","ZAR","KRW","LKR","SEK","CHF","SRD","SYP","TWD","THB","TTD","TRY","TRL","TVD","UAH","GBP","USD","UYU","UZS","VEF","VND","YER","ZWD","crossedOut","ZERO_MINOR_PART_REGEXP","createSplitter","partSize","parts","str","from","Amount","PureComponent","renderCurrencySymbol","currencySymbol","position","currency","opacity","visibility","static","currencyCode","renderMinorPart","minorPart","showZeroMinorPart","separator","needMinorPart","digitsAfterPoint","isHeader","onlyCurrency","majorPart","isNegative","numberParts","Math","abs","toFixed","split","majorPartFormatted","reverse","formattedValueStr","getCurrencySymbol","classNames","amountInner","pattern","sm","linearGenerator","withPlaceholder","WITH_PH_SIZE","shadow","autoColor","string","sum","charCodeAt","src","Avatar","getAvatarText","titleArray","trim","backgroundImage","Badge","textProps","Container","Modal","isOpen","overlayClassName","contentClassName","overlayClassNameLocal","ReactModal","portalClassName","valign","blurredOverlay","ModalClose","appElement","closeTimeoutMS","contentLabel","onAfterOpen","onRequestClose","role","shouldCloseOnOverlayClick","Styled.Modal","bodyOpenClassName","body","HTMLElement","setAppElement","Close","Styled.ModalClose","zDepth","circle","Paper","Progress","percent","percentColor","Separators","Separator","separatorColor","isEmpty","haveCircle","ProgressSegmented","segments","isActive","Styled.Progress","Styled.Separators","Styled.Separator","resultColor","strokeBGColor","polarToCartesian","centerX","centerY","radius","angleInDegrees","angleInRadians","PI","cos","sin","describeArc","startAngle","endAngle","start","end","diff","angleDiff","sweep","arcSweep","ProgressCircle","renderSvg","progress","strokeLineWidth","strokeBGWidth","progressStartAngle","thickness","center","bgStartAngle","bgEndAngle","describeArcProgress","describeArcBg","bgAngleDiff","componentDidMount","prevProps","prevProgress","prevSize","htmlContent","status","move","bgColor","isLoading","backgroundColor","Bar","_percent","parseInt","Styled.Bar","Circle","Segmented","Scrollable","scrollable","ts","scrollTop","scrollHeight","clientHeight","handleTouchStart","touches","clientY","handleTouchMove","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","floor","handleScroll","deltaY","detail","handleUpdate","hexToRgb","hex","result","exec","g","renderTrack","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","renderThumb","scrollableProps","_excluded2","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","thumbStyle","addEventListener","componentWillUnmount","removeEventListener","calculateShadowOffset","shadowHeight","diffH","withShadow","shadowColor","shadowOpacity","_excluded3","shadowOffset","Scrollbars","renderTrackVertical","nodeProps","renderTrackHorizontal","renderThumbHorizontal","renderThumbVertical","onUpdate","hideTracksWhenNotNeeded","node","autoHide","autoHideTimeout","autoHideDuration","autoHeight","withThemeScrollable","withTheme","Section","UiText","TextRoot","Styled.TextRoot","Styled.Text","spinner","fullscreen","sizeBuilder","getSize","Spinner","Label","Switcher","switcherWidth","switcherHeight","inactiveColor","inputRef","createRef","tabIndex","Styled.Switcher","Styled.Label","borderColor","activeTab","noBorder","Inner","Tab","themeKey","TabsTab","Styled.Tab","activeClassName","Tabs","classNameInner","Styled.Inner","tooltipStyles","flexDirection","wrapperPosition","floater","WebkitFilter","transition","floaterOpening","floaterWithAnimation","floaterClosing","floaterCentered","container","boxSizing","minHeight","justifyContent","borderBottom","close","WebkitAppearance","footer","borderTop","arrow","spread","options","tooltipDisplayBlockStyles","Tooltip","styles","tooltipStyle","mergeDeepRight","Floater","autoOpen","disableAnimation","disableFlip","disableHoverToClick","eventDelay","offset","placement","showCloseButton","wrapperOptions","component","themes","tooltipStylesRounend","cursor","textDecoration","TagInput","Tag","inputType","buttonProps","_onChange","_x","persist","_onClick","_x2","hidden","forwardedAs","HeadingRoot","SubHeadingRoot","ControlsRoot","ControlsItem","MultilevelItems","Styled.HeadingRoot","SubHeading","Styled.SubHeadingRoot","Controls","confirm","Styled.ControlsRoot","Styled.ControlsItem","ContextMenuMultiLevel","resetTimeout","onSelectItem","selectedItem","level","selectedItems","newSelectedItems","getCurrentConfig","levelId","_acc$items$find","items","find","reset","itemOnClickHandler","Error","currentTarget","dataset","preventClosing","stopPropagation","clearTimeout","tooltipProps","trigger","anotherProps","ContextMenu","onClose","heading","subheading","Styled.MultilevelItems","Item","controls","disabledItem","notDisabledItem","hideOverlay","RootItem","disabledHandler","ContextMenuItem","Styled.RootItem","getOpen","openMenu","onOpen","closeMenu","toggleMenu","open","cloneElement","MultiLevel","overflow","chooseWidthValue","errorStyle","disabledStyle","focusStyle","roundedStyle","baseInputStyle","placeholderColor","InputMask","textarea","Textarea","cols","maxLength","placeholder","required","rows","autosize","maxRows","tRows","setRows","useState","useRef","onChangeHandler","useCallback","HTMLTextAreaElement","rect","getBoundingClientRect","useEffect","current","lh","getComputedStyle","numberOfLines","console","log","DEFAULT_MASK","INITIAL_MASK","COUNTRY_DATA","REGEXPS","FILLED","FROM_8","FROM_9","NOT_NUMBERS","onlyNumbers","replace","InputPhone","_this","autocorrectOf8","autocorrectOf9","getUpdates","prevValue","countryData","defaultMask","initialMask","numbers","mask","regexp","startsFrom8","startsFrom9","isRussian","startsWith","change","handleChange","stripValue","_e","beforeMaskedValueChange","newState","oldState","selection","nextProps","Phone","sizeRadio","Radio","uncontrolled","_labelClassName","fadeIn","Select","reactSelectProps","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","promptTextCreator","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","searchPromptText","loadingPlaceholder","autoload","mergeTheme","topLevelTheme","mergingTheme","StyledThemeProvider"],"mappings":"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"}