{"version":3,"file":"SwatchRenderer.ker2rrbc.js","sources":["../../../wwwdev/scripts/autogen/translation-keys/trans-website-productvariantpicker.ts","../../../wwwdev/esm/components/product/Variants/Swatches/DiagonalLines.tsx","../../../wwwdev/esm/components/product/Variants/Swatches/shared/styles.ts","../../../wwwdev/esm/components/product/Variants/Swatches/ColorSwatch.tsx","../../../wwwdev/esm/components/product/Variants/Swatches/ImageSwatch.tsx","../../../wwwdev/esm/components/product/Variants/Swatches/TextSwatch.tsx","../../../wwwdev/esm/components/product/Variants/Swatches/SwatchRenderer.tsx"],"sourcesContent":["/* eslint-disable */\r\n/// This file is auto generated - do not edit manually\r\nexport const ChosenSizePrefix = 'Website.ProductVariantPicker.ChosenSizePrefix';\r\nexport const ChosenColorPrefix = 'Website.ProductVariantPicker.ChosenColorPrefix';\r\nexport const ChosenMiscellaneousPrefix = 'Website.ProductVariantPicker.ChosenMiscellaneousPrefix';\r\nexport const SelectButton = 'Website.ProductVariantPicker.SelectButton';\r\nexport const VariantImageAltText = 'Website.ProductVariantPicker.VariantImageAltText';\r\n","import React, { type HTMLAttributes } from 'react';\r\nimport styled from 'styled-components';\r\nimport type { SwatchSize } from './shared/types';\r\n\r\nconst Svg = styled.svg`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n opacity: 0.5;\r\n`;\r\n\r\nconst WhiteLine = styled.line`\r\n stroke: #ffffff;\r\n`;\r\n\r\nconst BlackLine = styled.line`\r\n stroke: #000000;\r\n`;\r\n\r\ntype DiagonalLinesProps = {\r\n size?: SwatchSize;\r\n} & HTMLAttributes;\r\n\r\nexport default function DiagonalLines({ size, ...restProps }: DiagonalLinesProps) {\r\n const lineWidth = size !== 'lg' ? 2 : 1;\r\n const lineWidthHalf = lineWidth / 2;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable import/prefer-default-export */\r\nimport type { VariantDisplayType } from 'autogen/swagger/all';\r\nimport { css } from 'styled-components';\r\nimport { ColorBrandBlue1, ColorNeutralWhite } from 'autogen/design-tokens/tokens';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport type { SwatchRendererType } from './types';\r\n\r\ntype SizeValue = {\r\n width: string | null;\r\n height: string;\r\n};\r\n\r\ntype ColorImageSizeValue = {\r\n width: string;\r\n height: string;\r\n};\r\n\r\n// Attention! These values can only be used for lg-sizes\r\nconst DisplayTypeSize: { [key in VariantDisplayType]: key extends 'Text' ? SizeValue : ColorImageSizeValue } = {\r\n Color: {\r\n width: '48px',\r\n height: '48px'\r\n },\r\n Image: {\r\n width: '56px',\r\n height: '72px'\r\n },\r\n Text: {\r\n width: '60px',\r\n height: '40px'\r\n }\r\n};\r\n\r\nfunction selectedStyling({ $size }: { $size: SwatchRendererType['size'] }) {\r\n return css`\r\n border: 0;\r\n ${\r\n $size === 'lg'\r\n ? css`\r\n outline: 2px solid ${ColorBrandBlue1};\r\n outline-offset: -2px;\r\n box-shadow: inset 0 0px 0 4px ${ColorNeutralWhite};\r\n `\r\n : css`\r\n outline: 1px solid ${ColorBrandBlue1};\r\n outline-offset: -1px;\r\n box-shadow: inset 0 0px 0 2px ${ColorNeutralWhite};\r\n `\r\n }\r\n `;\r\n}\r\n\r\nfunction swatchStateStyling({ $size }: { $size: SwatchRendererType['size'] }) {\r\n return css`\r\n &:focus-visible,\r\n &:active {\r\n text-decoration: none;\r\n ${selectedStyling({ $size })}\r\n }\r\n\r\n ${breakpoint.up(sizes.xl)} {\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n ${selectedStyling({ $size })}\r\n }\r\n }\r\n `;\r\n}\r\n\r\nexport { DisplayTypeSize, swatchStateStyling, selectedStyling };\r\n","import type { HTMLAttributes } from 'react';\r\nimport styled, { type RuleSet, css } from 'styled-components';\r\nimport Image from 'components/generic/Image';\r\nimport DiagonalLines from './DiagonalLines';\r\nimport type { SwatchRendererType } from './shared/types';\r\nimport { DisplayTypeSize, selectedStyling, swatchStateStyling } from './shared/styles';\r\nimport LinkAction from 'components/shared/Routing/components/LinkAction/LinkAction';\r\nimport { Spacing4 } from 'autogen/design-tokens/tokens';\r\nimport imageOverlayStyle from 'components/shared/style/imageOverlay';\r\n\r\ntype ColorSwatchProps = Pick<\r\n SwatchRendererType,\r\n 'colors' | 'unavailable' | 'isSelected' | 'size' | 'name' | 'linkAction'\r\n> & {\r\n fallbackImage?: SwatchRendererType['image'];\r\n};\r\n\r\ntype ColorStyleProps = {\r\n $colors: ColorSwatchProps['colors'];\r\n $isSelected: ColorSwatchProps['isSelected'];\r\n $size: ColorSwatchProps['size'];\r\n $isLink: boolean;\r\n};\r\n\r\nfunction getColorStyling($colors: ColorStyleProps['$colors']): RuleSet {\r\n switch ($colors.length) {\r\n case 0:\r\n return css``;\r\n case 1:\r\n return css`\r\n background-color: ${$colors[0]};\r\n `;\r\n case 2:\r\n return css`\r\n background-image: linear-gradient(\r\n 90deg,\r\n ${$colors[0]} 0%,\r\n ${$colors[0]} 50%,\r\n ${$colors[1]} 50%,\r\n ${$colors[1]} 100%\r\n );\r\n `;\r\n case 3:\r\n return css`\r\n background-image: linear-gradient(\r\n 90deg,\r\n ${$colors[0]} 0%,\r\n ${$colors[0]} 33%,\r\n ${$colors[1]} 33%,\r\n ${$colors[1]} 66%,\r\n ${$colors[2]} 66%,\r\n ${$colors[2]} 100%\r\n );\r\n `;\r\n case 4:\r\n default:\r\n return css`\r\n background-image: conic-gradient(\r\n from 270deg at 51% 49%,\r\n ${$colors[0]} 25%,\r\n ${$colors[1]} 25%,\r\n ${$colors[1]} 50%,\r\n ${$colors[2]} 50%,\r\n ${$colors[2]} 75%,\r\n ${$colors[3]} 75%,\r\n ${$colors[3]} 100%\r\n );\r\n `;\r\n }\r\n}\r\n\r\nconst LinkColorSwatch = styled(LinkAction)`\r\n position: relative;\r\n display: block;\r\n\r\n ${({ $colors }) => $colors && getColorStyling($colors)}\r\n\r\n ${({ $size }) =>\r\n $size === 'lg'\r\n ? css`\r\n width: ${DisplayTypeSize.Color.width};\r\n height: ${DisplayTypeSize.Color.height};\r\n `\r\n : css`\r\n width: 16px;\r\n height: 16px;\r\n `}\r\n\r\n ${({ $isSelected, $size }) => $isSelected && selectedStyling({ $size })}\r\n ${({ $size, $isLink }) => $isLink && swatchStateStyling({ $size })}\r\n`;\r\n\r\nconst StaticColorSwatch = styled.div>`\r\n position: relative;\r\n display: block;\r\n border: none;\r\n ${swatchStateStyling({ $size: 'lg' })}\r\n\r\n ${({ $colors }) => $colors && getColorStyling($colors)}\r\n\r\n ${({ $size }) =>\r\n $size === 'lg'\r\n ? css`\r\n width: ${DisplayTypeSize.Color.width};\r\n height: ${DisplayTypeSize.Color.height};\r\n `\r\n : css`\r\n width: 16px;\r\n height: 16px;\r\n `}\r\n\r\n ${({ $isSelected, $size }) => $isSelected && selectedStyling({ $size })}\r\n`;\r\n\r\nexport const ProductImageContainer = styled.div`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: ${Spacing4};\r\n width: 100%;\r\n height: 100%;\r\n\r\n &:after {\r\n content: '';\r\n ${imageOverlayStyle}\r\n }\r\n`;\r\n\r\nconst FallbackImage = styled(Image.WithScaling)`\r\n width: 100%;\r\n height: 100%;\r\n object-fit: contain;\r\n`;\r\n\r\nexport default function ColorSwatch({\r\n colors,\r\n isSelected,\r\n unavailable,\r\n size = 'lg',\r\n name,\r\n linkAction,\r\n onClick,\r\n fallbackImage,\r\n ...restProps\r\n}: ColorSwatchProps & HTMLAttributes) {\r\n const noColors = colors.length === 0;\r\n\r\n const content = (\r\n <>\r\n {noColors && fallbackImage && (\r\n \r\n \r\n \r\n )}\r\n {unavailable && }\r\n \r\n );\r\n\r\n if (onClick) {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n\r\n if (!linkAction) {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n}\r\n","import { ColorNeutralGrey3 } from 'autogen/design-tokens/tokens';\r\nimport Image from 'components/generic/Image';\r\nimport LinkAction from 'components/shared/Routing/components/LinkAction/LinkAction';\r\nimport imageOverlayStyle from 'components/shared/style/imageOverlay';\r\nimport type { HTMLAttributes } from 'react';\r\nimport styled from 'styled-components';\r\nimport DiagonalLines from './DiagonalLines';\r\nimport { DisplayTypeSize, selectedStyling, swatchStateStyling } from './shared/styles';\r\nimport type { SwatchRendererType } from './shared/types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { format } from 'modules/helpers/strings';\r\nimport { VariantImageAltText } from 'autogen/translation-keys/trans-website-productvariantpicker';\r\n\r\ntype ImageSwatchProps = Pick<\r\n SwatchRendererType,\r\n 'image' | 'unavailable' | 'isSelected' | 'size' | 'name' | 'linkAction'\r\n> &\r\n HTMLAttributes;\r\n\r\nconst Wrapper = styled.div<{ $isSelected: boolean }>`\r\n position: relative;\r\n display: block;\r\n width: ${DisplayTypeSize.Image.width};\r\n height: ${DisplayTypeSize.Image.height};\r\n border: 1px solid ${ColorNeutralGrey3};\r\n padding: 0;\r\n background: transparent;\r\n ${swatchStateStyling({ $size: 'lg' })}\r\n ${({ $isSelected }) => $isSelected && selectedStyling({ $size: 'lg' })}\r\n\r\n &:before {\r\n content: '';\r\n z-index: 1;\r\n ${imageOverlayStyle}\r\n }\r\n`;\r\n\r\nconst LinkWrapper = styled(LinkAction)<{ $isSelected: boolean }>`\r\n position: relative;\r\n display: block;\r\n width: ${DisplayTypeSize.Image.width};\r\n height: ${DisplayTypeSize.Image.height};\r\n border: 1px solid ${ColorNeutralGrey3};\r\n ${swatchStateStyling({ $size: 'lg' })}\r\n ${({ $isSelected }) => $isSelected && selectedStyling({ $size: 'lg' })}\r\n\r\n &:before {\r\n content: '';\r\n z-index: 1;\r\n ${imageOverlayStyle}\r\n }\r\n`;\r\n\r\nconst Img = styled(Image.WithScaling)`\r\n width: 100%;\r\n height: 100%;\r\n object-fit: contain;\r\n`;\r\n\r\nexport default function ImageSwatch({\r\n image,\r\n name,\r\n isSelected,\r\n unavailable,\r\n linkAction,\r\n onClick,\r\n size = 'lg',\r\n ...restProps\r\n}: ImageSwatchProps) {\r\n const { t } = useTranslation();\r\n\r\n if (!image) return null;\r\n\r\n const content = (\r\n <>\r\n \r\n {unavailable && }\r\n \r\n );\r\n\r\n if (onClick) {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n\r\n if (!linkAction) {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n}\r\n","import {\r\n ColorNeutralGrey3,\r\n ColorNeutralWhite,\r\n FontSize10,\r\n Spacing12,\r\n Spacing2,\r\n Spacing4,\r\n Spacing8\r\n} from 'autogen/design-tokens/tokens';\r\nimport styled, { css } from 'styled-components';\r\nimport type { HTMLAttributes } from 'react';\r\nimport DiagonalLines from './DiagonalLines';\r\nimport type { SwatchRendererType } from './shared/types';\r\nimport { DisplayTypeSize, selectedStyling, swatchStateStyling } from './shared/styles';\r\nimport LinkAction from 'components/shared/Routing/components/LinkAction/LinkAction';\r\n\r\ntype TextSwatchProps = Pick &\r\n HTMLAttributes;\r\n\r\n// #region Styles\r\nconst xsStyling = css`\r\n font-size: ${FontSize10};\r\n padding: 0 ${Spacing4};\r\n`;\r\n\r\nconst smStyling = css`\r\n ${xsStyling}\r\n\r\n padding: ${Spacing2} ${Spacing4};\r\n`;\r\n\r\nconst lgStyling = css`\r\n height: ${DisplayTypeSize.Text.height};\r\n min-width: ${DisplayTypeSize.Text.width};\r\n padding: ${Spacing12} ${Spacing8};\r\n`;\r\n\r\nconst sizeStyling = {\r\n xs: xsStyling,\r\n sm: smStyling,\r\n lg: lgStyling\r\n};\r\n\r\nconst baseWrapperStyles = css`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n outline: 1px solid ${ColorNeutralGrey3};\r\n outline-offset: -1px;\r\n white-space: nowrap;\r\n text-align: center;\r\n background-color: ${ColorNeutralWhite};\r\n`;\r\n\r\nconst LinkWrapper = styled(LinkAction)<{ $isSelected: boolean; $size: TextSwatchProps['size']; $isLink: boolean }>`\r\n ${baseWrapperStyles}\r\n\r\n ${({ $size }) => $size && sizeStyling[$size]}\r\n\r\n ${({ $isSelected, $size }) => $isSelected && selectedStyling({ $size })}\r\n ${({ $size, $isLink }) => $isLink && swatchStateStyling({ $size })}\r\n`;\r\n\r\nconst Wrapper = styled.div<{ $isSelected: boolean; $size: TextSwatchProps['size'] }>`\r\n ${baseWrapperStyles}\r\n\r\n ${({ $size }) => $size && sizeStyling[$size]}\r\n\r\n ${({ $isSelected, $size }) => $isSelected && selectedStyling({ $size })}\r\n`;\r\n\r\nconst EllipsesContainer = styled.div`\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`;\r\n\r\n// #endregion Styles\r\n\r\nexport default function TextSwatch({\r\n name,\r\n isSelected,\r\n unavailable,\r\n size,\r\n linkAction,\r\n onClick,\r\n ...restProps\r\n}: TextSwatchProps) {\r\n if (onClick) {\r\n return (\r\n \r\n {name}\r\n {unavailable && }\r\n \r\n );\r\n }\r\n\r\n if (!linkAction) {\r\n return (\r\n \r\n {name}\r\n {unavailable && }\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {name}\r\n {unavailable && }\r\n \r\n );\r\n}\r\n","import ColorSwatch from './ColorSwatch';\r\nimport ImageSwatch from './ImageSwatch';\r\nimport TextSwatch from './TextSwatch';\r\nimport type { SwatchRendererType } from './shared/types';\r\n\r\nexport default function SwatchRenderer(props: SwatchRendererType) {\r\n const {\r\n displayType,\r\n colors,\r\n image,\r\n name,\r\n unavailable,\r\n isSelected,\r\n linkAction,\r\n size = 'lg',\r\n onClick,\r\n ...restProps\r\n } = props;\r\n\r\n switch (displayType) {\r\n case 'Color':\r\n return (\r\n \r\n );\r\n case 'Image':\r\n return (\r\n \r\n );\r\n case 'Text':\r\n return (\r\n \r\n );\r\n default:\r\n throw new Error(`\"${displayType}\" is not recognized as a valid type`);\r\n }\r\n}\r\n"],"names":["ChosenSizePrefix","ChosenColorPrefix","ChosenMiscellaneousPrefix","SelectButton","VariantImageAltText","Svg","styled","svg","withConfig","displayName","componentId","WhiteLine","line","BlackLine","DiagonalLines","size","restProps","lineWidth","lineWidthHalf","jsxs","jsx","DisplayTypeSize","Color","width","height","Image","Text","selectedStyling","$size","css","ColorBrandBlue1","ColorNeutralWhite","swatchStateStyling","breakpoint","up","sizes","xl","getColorStyling","$colors","length","LinkColorSwatch","LinkAction","$isSelected","$isLink","StaticColorSwatch","div","ProductImageContainer","Spacing4","imageOverlayStyle","FallbackImage","WithScaling","ColorSwatch","colors","isSelected","unavailable","name","linkAction","onClick","fallbackImage","noColors","content","Number","parseInt","Wrapper","ColorNeutralGrey3","LinkWrapper","Img","ImageSwatch","image","t","useTranslation","Fragment","format","xsStyling","FontSize10","smStyling","Spacing2","lgStyling","Spacing12","Spacing8","sizeStyling","xs","sm","lg","baseWrapperStyles","EllipsesContainer","TextSwatch","SwatchRenderer","props","displayType","undefined","Error"],"mappings":"wMAEO,MAAMA,GAAmB,gDACnBC,GAAoB,iDACpBC,GAA4B,yDAC5BC,GAAe,4CACfC,EAAsB,mDCF7BC,EAAMC,EAAOC,IAAGC,WAAA,CAAAC,YAAA,qBAAAC,YAAA,aAAA,CAOrB,EAAA,CAAA,oEAAA,CAAA,EAEKC,EAAYL,EAAOM,KAAIJ,WAAA,CAAAC,YAAA,2BAAAC,YAAA,aAAA,CAE5B,EAAA,CAAA,iBAAA,CAAA,EAEKG,EAAYP,EAAOM,KAAIJ,WAAA,CAAAC,YAAA,2BAAAC,YAAA,aAAA,CAE5B,EAAA,CAAA,iBAAA,CAAA,EAMD,SAAwBI,EAAc,CAAEC,KAAAA,EAAM,GAAGC,CAA8B,EAAG,CACxEC,MAAAA,EAAYF,IAAS,KAAO,EAAI,EAChCG,EAAgBD,EAAY,EAG9B,OAAAE,EAAA,KAACd,EAAQW,CAAAA,GAAAA,EACL,SAAA,CAACI,EAAAA,IAAAP,EAAA,CACG,GAAI,GAAGK,CAAa,IACpB,GAAI,GAAGA,CAAa,IACpB,GAAI,GAAG,IAAMA,CAAa,IAC1B,GAAI,GAAG,IAAMA,CAAa,IAC1B,YAAa,GAAGD,CAAS,EAC3B,CAAA,EACFG,EAAAA,IAACT,GACG,GAAI,IAAIO,CAAa,IACrB,GAAI,IAAIA,CAAa,IACrB,GAAI,GAAG,IAAMA,CAAa,IAC1B,GAAI,GAAG,IAAMA,CAAa,IAC1B,YAAa,GAAGD,CAAS,EAC3B,CAAA,CAAA,EACN,CAER,CC7BA,MAAMI,EAAyG,CAC3GC,MAAO,CACHC,MAAO,OACPC,OAAQ,MACZ,EACAC,MAAO,CACHF,MAAO,OACPC,OAAQ,MACZ,EACAE,KAAM,CACFH,MAAO,OACPC,OAAQ,MAAA,CAEhB,EAEA,SAASG,EAAgB,CAAEC,MAAAA,CAA6C,EAAG,CAChEC,OAAAA,EAGCD,CAAAA,YAAAA,EAAAA,EAAAA,IAAU,KACJC,EAAG,CAAA,qBAAA,qDAAA,GAAA,EACkBC,EAEWC,CAAiB,EAEjDF,kFACqBC,EAEWC,CAAiB,CACpD,CAGf,CAEA,SAASC,EAAmB,CAAEJ,MAAAA,CAA6C,EAAG,CAC1E,OAAOC,EAIGF,CAAAA,iDAAAA,IAAAA,yCAAAA,IAAAA,EAAAA,EAAgB,CAAEC,MAAAA,CAAAA,CAAO,EAG7BK,EAAWC,GAAGC,EAAMC,EAAE,EAIdT,EAAgB,CAAEC,MAAAA,CAAAA,CAAO,CAAC,CAI5C,CC5CA,SAASS,EAAgBC,EAA8C,CACnE,OAAQA,EAAQC,OAAM,CAClB,IAAK,GACMV,OAAAA,EAAG,CAAA,EAAA,CAAA,EACd,IAAK,GACD,OAAOA,EAAG,CAAA,oBAAA,GAAA,EACcS,EAAQ,CAAC,CAAC,EAEtC,IAAK,GACD,OAAOT,iFAGGS,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,CAAC,EAGxB,IAAK,GACMT,OAAAA,EAAG,CAAA,2CAAA,OAAA,QAAA,QAAA,QAAA,QAAA,UAAA,EAGAS,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,CAAC,EAGxB,IAAK,GACL,QACI,OAAOT,EAAG,CAAA,2DAAA,QAAA,QAAA,QAAA,QAAA,QAAA,QAAA,UAAA,EAGAS,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,EACTA,EAAQ,CAAC,CAAC,CAAA,CAIhC,CAEA,MAAME,EAAkBlC,EAAOmC,CAAU,EAACjC,WAAA,CAAAC,YAAA,+BAAAC,YAAA,cAAA,CAAA,EAAA,CAAA,mCAAA,IAAA,IAAA,IAAA,EAAA,EAIpC,CAAC,CAAE4B,QAAAA,CAAQ,IAAMA,GAAWD,EAAgBC,CAAO,EAEnD,CAAC,CAAEV,MAAAA,CAAM,IACPA,IAAU,KACJC,EAAG,CAAA,SAAA,WAAA,GAAA,EACUR,EAAgBC,MAAMC,MACrBF,EAAgBC,MAAME,MAAM,EAE1CK,EAGC,CAAA,yBAAA,CAAA,EAET,CAAC,CAAEa,YAAAA,EAAad,MAAAA,CAAM,IAAMc,GAAef,EAAgB,CAAEC,MAAAA,CAAM,CAAC,EACpE,CAAC,CAAEA,MAAAA,EAAOe,QAAAA,CAAQ,IAAMA,GAAWX,EAAmB,CAAEJ,MAAAA,CAAM,CAAC,CAAC,EAGhEgB,EAAoBtC,EAAOuC,IAAGrC,WAAA,CAAAC,YAAA,iCAAAC,YAAA,cAAA,CAAA,EAAA,CAAA,+CAAA,IAAA,IAAA,IAAA,EAAA,EAI9BsB,EAAmB,CAAEJ,MAAO,IAAK,CAAC,EAElC,CAAC,CAAEU,QAAAA,CAAQ,IAAMA,GAAWD,EAAgBC,CAAO,EAEnD,CAAC,CAAEV,MAAAA,CAAM,IACPA,IAAU,KACJC,EAAG,CAAA,SAAA,WAAA,GAAA,EACUR,EAAgBC,MAAMC,MACrBF,EAAgBC,MAAME,MAAM,EAE1CK,EAGC,CAAA,yBAAA,CAAA,EAET,CAAC,CAAEa,YAAAA,EAAad,MAAAA,CAAM,IAAMc,GAAef,EAAgB,CAAEC,MAAAA,CAAM,CAAC,CAAC,EAG9DkB,EAAwBxC,EAAOuC,IAAGrC,WAAA,CAAAC,YAAA,qCAAAC,YAAA,cAAA,CAKhCqC,EAAAA,CAAAA,oFAAAA,8CAAAA,GAAAA,EAAAA,EAMLC,CAAiB,EAIrBC,EAAgB3C,EAAOmB,EAAMyB,WAAW,EAAC1C,WAAA,CAAAC,YAAA,6BAAAC,YAAA,cAAA,CAI9C,EAAA,CAAA,4CAAA,CAAA,EAED,SAAwByC,EAAY,CAChCC,OAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAvC,KAAAA,EAAO,KACPwC,KAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,cAAAA,EACA,GAAG1C,CAC6C,EAAG,CAC7C2C,MAAAA,EAAWP,EAAOb,SAAW,EAE7BqB,EAEGD,EAAAA,KAAAA,EAAAA,SAAAA,CAAAA,SAAAA,CAAYD,GAAAA,SACRZ,EACG,CAAA,SAAA1B,EAAA,IAAC6B,GACG,IAAKS,EACL,IAAI,GACJ,MAAOG,OAAOC,SAASzC,EAAgBC,MAAMC,KAAK,EAClD,cAAc,cACd,UAAU,UACZ,CACN,CAAA,EAEH+B,GAAgBlC,EAAA,IAAAN,EAAA,CAAc,KAAAC,CAAW,CAAA,CAAA,EAC9C,EAGJ,OAAI0C,QAEKb,EACG,CAAA,aAAYW,EACZ,MAAOA,EACP,QAASH,EACT,YAAaC,EACb,MAAOtC,EACP,QAAA0C,EACA,GAAG,SACH,GAAIzC,EAEH4C,SACLA,EAAA,EAIHJ,EAgBDpC,EAAA,IAACoB,GACG,OAAQgB,EACR,aAAYD,EACZ,MAAOA,EACP,QAASH,EACT,YAAaC,EACb,MAAOtC,EACP,QAAS,CAAC,CAACyC,EACX,GAAIxC,EAEH4C,SACLA,EAAA,EAzBKxC,EAAAA,IAAAwB,EAAA,CACG,aAAYW,EACZ,MAAOA,EACP,QAASH,EACT,YAAaC,EACb,MAAOtC,EACHC,GAAAA,EAEH4C,SACLA,EAAA,CAkBZ,CChMA,MAAMG,EAAUzD,EAAOuC,IAAGrC,WAAA,CAAAC,YAAA,uBAAAC,YAAA,YAAA,CAAA,EAAA,CAAA,yCAAA,WAAA,qBAAA,qCAAA,IAAA,kCAAA,GAAA,EAGbW,EAAgBI,MAAMF,MACrBF,EAAgBI,MAAMD,OACZwC,EAGlBhC,EAAmB,CAAEJ,MAAO,IAAK,CAAC,EAClC,CAAC,CAAEc,YAAAA,CAAY,IAAMA,GAAef,EAAgB,CAAEC,MAAO,IAAK,CAAC,EAK/DoB,CAAiB,EAIrBiB,EAAc3D,EAAOmC,CAAU,EAACjC,WAAA,CAAAC,YAAA,2BAAAC,YAAA,YAAA,CAAA,EAAA,CAAA,yCAAA,WAAA,qBAAA,IAAA,IAAA,kCAAA,GAAA,EAGzBW,EAAgBI,MAAMF,MACrBF,EAAgBI,MAAMD,OACZwC,EAClBhC,EAAmB,CAAEJ,MAAO,IAAK,CAAC,EAClC,CAAC,CAAEc,YAAAA,CAAY,IAAMA,GAAef,EAAgB,CAAEC,MAAO,IAAK,CAAC,EAK/DoB,CAAiB,EAIrBkB,EAAM5D,EAAOmB,EAAMyB,WAAW,EAAC1C,WAAA,CAAAC,YAAA,mBAAAC,YAAA,YAAA,CAIpC,EAAA,CAAA,4CAAA,CAAA,EAED,SAAwByD,EAAY,CAChCC,MAAAA,EACAb,KAAAA,EACAF,WAAAA,EACAC,YAAAA,EACAE,WAAAA,EACAC,QAAAA,EACA1C,KAAAA,EAAO,KACP,GAAGC,CACW,EAAG,CACX,KAAA,CAAEqD,EAAAA,GAAMC,EAAe,EAEzB,GAAA,CAACF,EAAc,OAAA,KAEnB,MAAMR,EAEEzC,EAAAA,KAAAoD,EAAA,SAAA,CAAA,SAAA,CAACnD,EAAAA,IAAA8C,EAAA,CACG,IAAKE,EACL,MAAOP,OAAOC,SAASzC,EAAgBI,MAAMF,KAAK,EAClD,IAAKiD,EAAOH,EAAEjE,CAAmB,CAAC,EAAEmD,CAAI,GAAK,GAC7C,MAAOA,EACP,cAAc,cACd,UAAU,SACZ,CAAA,EACDD,GAAgBlC,EAAA,IAAAN,EAAA,CAAc,KAAAC,CAAW,CAAA,CAAA,EAC9C,EAGJ,OAAI0C,EAEIrC,EAAA,IAAC2C,EAAQ,CAAA,aAAYR,EAAM,YAAaF,EAAY,QAAAI,EAAkB,GAAG,SAAS,GAAIzC,EACjF4C,SACLA,CAAA,CAAA,EAIHJ,EASDpC,EAAA,IAAC6C,EAAY,CAAA,OAAQT,EAAY,aAAYD,EAAM,YAAaF,EAAY,GAAIrC,EAC3E4C,SACLA,CAAA,CAAA,EATIxC,MAAC2C,GAAQ,aAAYR,EAAM,YAAaF,EAAgBrC,GAAAA,EACnD4C,SACLA,CAAA,CAAA,CASZ,CCxFA,MAAMa,EAAY5C,mCACD6C,EACA3B,CAAQ,EAGnB4B,EAAY9C,EAAG,CAAA,GAAA,YAAA,IAAA,GAAA,EACf4C,EAESG,EAAY7B,CAAQ,EAG7B8B,EAAYhD,gDACJR,EAAgBK,KAAKF,OAClBH,EAAgBK,KAAKH,MACvBuD,EAAaC,CAAQ,EAG9BC,EAAc,CAChBC,GAAIR,EACJS,GAAIP,EACJQ,GAAIN,CACR,EAEMO,EAAoBvD,2NAODmC,EAIDjC,CAAiB,EAGnCkC,GAAc3D,EAAOmC,CAAU,EAACjC,WAAA,CAAAC,YAAA,0BAAAC,YAAA,cAAA,CAChC0E,EAAAA,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,EAAAA,EAAAA,EAEA,CAAC,CAAExD,MAAAA,CAAM,IAAMA,GAASoD,EAAYpD,CAAK,EAEzC,CAAC,CAAEc,YAAAA,EAAad,MAAAA,CAAM,IAAMc,GAAef,EAAgB,CAAEC,MAAAA,CAAM,CAAC,EACpE,CAAC,CAAEA,MAAAA,EAAOe,QAAAA,CAAQ,IAAMA,GAAWX,EAAmB,CAAEJ,MAAAA,CAAM,CAAC,CAAC,EAGhEmC,EAAUzD,EAAOuC,IAAGrC,WAAA,CAAAC,YAAA,sBAAAC,YAAA,cAAA,CACpB0E,EAAAA,CAAAA,GAAAA,IAAAA,IAAAA,EAAAA,EAAAA,EAEA,CAAC,CAAExD,MAAAA,CAAM,IAAMA,GAASoD,EAAYpD,CAAK,EAEzC,CAAC,CAAEc,YAAAA,EAAad,MAAAA,CAAM,IAAMc,GAAef,EAAgB,CAAEC,MAAAA,CAAM,CAAC,CAAC,EAGrEyD,EAAoB/E,EAAOuC,IAAGrC,WAAA,CAAAC,YAAA,gCAAAC,YAAA,cAAA,CAInC,EAAA,CAAA,wDAAA,CAAA,EAID,SAAwB4E,GAAW,CAC/B/B,KAAAA,EACAF,WAAAA,EACAC,YAAAA,EACAvC,KAAAA,EACAyC,WAAAA,EACAC,QAAAA,EACA,GAAGzC,CACU,EAAG,CAChB,OAAIyC,EAEItC,EAAA,KAAC4C,EAAQ,CAAA,YAAaV,EAAY,MAAOtC,EAAM,QAAA0C,EAAkB,GAAG,SAAS,GAAIzC,EAC7E,SAAA,CAAAI,EAAAA,IAACiE,GAAmB9B,SAAKA,CAAA,CAAA,EACxBD,GAAgBlC,EAAA,IAAAN,EAAA,CAAc,KAAAC,CAAW,CAAA,CAAA,EAC9C,EAIHyC,EAUArC,EAAAA,KAAA8C,GAAA,CAAY,OAAQT,EAAY,QAAS,CAAC,CAACA,EAAY,YAAaH,EAAY,MAAOtC,EAAUC,GAAAA,EAC9F,SAAA,CAAAI,EAAAA,IAACiE,GAAmB9B,SAAKA,CAAA,CAAA,EACxBD,GAAgBlC,EAAA,IAAAN,EAAA,CAAc,KAAAC,CAAW,CAAA,CAAA,EAC9C,SAXKgD,EAAQ,CAAA,YAAaV,EAAY,MAAOtC,EAAUC,GAAAA,EAC/C,SAAA,CAAAI,EAAAA,IAACiE,GAAmB9B,SAAKA,CAAA,CAAA,EACxBD,GAAgBlC,EAAA,IAAAN,EAAA,CAAc,KAAAC,CAAW,CAAA,CAAA,EAC9C,CAUZ,CC9GA,SAAwBwE,GAAeC,EAA2B,CACxD,KAAA,CACFC,YAAAA,EACArC,OAAAA,EACAgB,MAAAA,EACAb,KAAAA,EACAD,YAAAA,EACAD,WAAAA,EACAG,WAAAA,EACAzC,KAAAA,EAAO,KACP0C,QAAAA,EACA,GAAGzC,CAAAA,EACHwE,EAEJ,OAAQC,EAAW,CACf,IAAK,QACD,OACKrE,EAAAA,IAAA+B,EAAA,CACG,OAAAC,EACA,cAAegB,EACf,YAAAd,EACA,WAAAD,EACA,KAAAE,EACA,WAAYE,EAAUiC,OAAYlC,EAClC,KAAAzC,EACA,QAAA0C,EACA,GAAIzC,EACN,EAEV,IAAK,QACD,OACKI,EAAA,IAAA+C,EAAA,CACG,MAAAC,EACA,KAAAb,EACA,YAAAD,EACA,WAAAD,EACA,WAAYI,EAAUiC,OAAYlC,EAClC,QAAAC,EACA,GAAIzC,CACN,CAAA,EAEV,IAAK,OACD,OACKI,EAAA,IAAAkE,GAAA,CACG,KAAA/B,EACA,YAAAD,EACA,WAAAD,EACA,WAAYI,EAAUiC,OAAYlC,EAClC,KAAAzC,EACA,QAAA0C,EACA,GAAIzC,CACN,CAAA,EAEV,QACI,MAAM,IAAI2E,MAAM,IAAIF,CAAW,qCAAqC,CAAA,CAEhF"}